pi-roundtable-web 0.29.1 → 0.29.2
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/CHANGELOG.md +15 -0
- package/dist/chunk-account-dq0nhfvj.js +1 -0
- package/dist/{chunk-action-menu-ap5xn7bf.js → chunk-action-menu-37zgbhje.js} +1 -1
- package/dist/chunk-agent-yqe6reej.js +1 -0
- package/dist/chunk-arranged-rooms-sx6xg9df.js +1 -0
- package/dist/{chunk-attachments-p5v9gqyt.js → chunk-attachments-3vbj05g5.js} +2 -2
- package/dist/chunk-bulk-actions-6pehrsgb.js +1 -0
- package/dist/{chunk-character-creator-m7tw20ef.js → chunk-character-creator-bg3tdc8p.js} +2 -2
- package/dist/chunk-codeeditor-102wa9bj.js +2 -0
- package/dist/chunk-confirm-ghxga720.js +1 -0
- package/dist/chunk-connectors-0jzzren3.js +37 -0
- package/dist/chunk-conversations-3276jq4q.js +1 -0
- package/dist/chunk-council-sheet-7m884s44.js +2 -0
- package/dist/chunk-council-view-rkzcxeg8.js +1 -0
- package/dist/{chunk-drag-d1bpy8w6.js → chunk-drag-sw692nr3.js} +1 -1
- package/dist/chunk-entry-mb6jd983.js +1 -0
- package/dist/chunk-folder-list-g7st6p1e.js +1 -0
- package/dist/chunk-folds-rb1b069h.js +1 -0
- package/dist/{chunk-gate-dt91egcd.js → chunk-gate-3rxxyfev.js} +1 -1
- package/dist/chunk-host-icons-cyj62pwp.js +1 -0
- package/dist/chunk-host-picture-9wnhqckv.js +1 -0
- package/dist/chunk-host-state-b858k3p8.js +1 -0
- package/dist/chunk-host-ui-j6wvj0pe.js +1 -0
- package/dist/{chunk-index-6s2pqwna.js → chunk-index-0qzqzp6t.js} +2 -2
- package/dist/{chunk-index-w17wgjby.js → chunk-index-0t68az7d.js} +3 -3
- package/dist/chunk-index-0xdptr30.js +2 -0
- package/dist/{chunk-index-8wpvj7k5.js → chunk-index-1tkzdy4s.js} +2 -2
- package/dist/chunk-index-2s48qyrs.js +2 -0
- package/dist/chunk-index-33cqx9v2.js +2 -0
- package/dist/chunk-index-36m3knsk.js +2 -0
- package/dist/{chunk-index-7mrkq793.js → chunk-index-50syrmaq.js} +2 -2
- package/dist/{chunk-index-5j1v2q7w.js → chunk-index-50w6yq2d.js} +1 -1
- package/dist/{chunk-index-ce7hsda9.js → chunk-index-5fyqxh0r.js} +2 -2
- package/dist/chunk-index-5x3h176v.js +2 -0
- package/dist/{chunk-index-6btdp13p.js → chunk-index-6cs1wvhy.js} +1 -1
- package/dist/{chunk-index-yr758n6t.js → chunk-index-6m25qpa7.js} +2 -2
- package/dist/{chunk-index-d4mx2vvf.js → chunk-index-6nja2vd8.js} +2 -2
- package/dist/{chunk-index-wgrx2ybn.js → chunk-index-6q3dx093.js} +2 -2
- package/dist/{chunk-index-6rdywten.js → chunk-index-6ycrvwzs.js} +2 -2
- package/dist/{chunk-index-1kb8tv4v.js → chunk-index-6yfcfcc8.js} +2 -2
- package/dist/{chunk-index-4a1tdadd.js → chunk-index-7gk2sdf4.js} +3 -3
- package/dist/{chunk-index-q4k9vk04.js → chunk-index-7p31pda8.js} +3 -3
- package/dist/chunk-index-91wnf1k9.js +1 -0
- package/dist/chunk-index-9ehqccfe.js +2 -0
- package/dist/chunk-index-ar1x9fhw.js +2 -0
- package/dist/chunk-index-axw4wkqq.js +2 -0
- package/dist/chunk-index-b5patef1.js +2 -0
- package/dist/chunk-index-dagc92hw.js +2 -0
- package/dist/chunk-index-ddssgba9.js +2 -0
- package/dist/chunk-index-dpgn7kzp.js +2 -0
- package/dist/{chunk-index-cmzvq3nf.js → chunk-index-e8535c4h.js} +2 -2
- package/dist/{chunk-index-vpq2cj14.js → chunk-index-edjyj761.js} +1 -1
- package/dist/chunk-index-eez0kbk4.js +2 -0
- package/dist/chunk-index-ekp5mmvp.js +2 -0
- package/dist/{chunk-index-en728705.js → chunk-index-eyythjdx.js} +2 -2
- package/dist/chunk-index-fdg2qd3f.js +2 -0
- package/dist/chunk-index-g0sdxjxr.js +2 -0
- package/dist/{chunk-index-prq011b6.js → chunk-index-gmbk3sra.js} +1 -1
- package/dist/chunk-index-hsc9yz2x.js +2 -0
- package/dist/{chunk-index-ffnd0jcj.js → chunk-index-jrj09r5c.js} +2 -2
- package/dist/chunk-index-kvztbfqj.js +2 -0
- package/dist/{chunk-index-53fwc7sc.js → chunk-index-m7wzrmcd.js} +2 -2
- package/dist/{chunk-index-cfesmk1f.js → chunk-index-m8bv51r9.js} +2 -2
- package/dist/{chunk-index-v9jqyr1f.js → chunk-index-mey1p7h8.js} +3 -3
- package/dist/{chunk-index-0h99xcs3.js → chunk-index-mzw7nmkc.js} +2 -2
- package/dist/{chunk-index-3tksdmx7.js → chunk-index-n2v2bz8d.js} +2 -2
- package/dist/chunk-index-nncy9wxw.js +2 -0
- package/dist/chunk-index-p2e7rwac.js +2 -0
- package/dist/chunk-index-p98tt12y.js +2 -0
- package/dist/chunk-index-qdtmetsy.js +120 -0
- package/dist/{chunk-index-ysv36nbk.js → chunk-index-qedt9szy.js} +2 -2
- package/dist/{chunk-index-gdh7wsd5.js → chunk-index-qk7rp7fk.js} +11 -11
- package/dist/{chunk-index-nr275sa7.js → chunk-index-qq86fxda.js} +2 -2
- package/dist/{chunk-index-xbj816p0.js → chunk-index-qw9a7ken.js} +2 -2
- package/dist/chunk-index-s356ybxk.js +50 -0
- package/dist/{chunk-index-dr0jr7d3.js → chunk-index-sk8cvb4e.js} +3 -3
- package/dist/{chunk-index-m76gdwnk.js → chunk-index-syxwqhry.js} +2 -2
- package/dist/{chunk-index-ze9p4npm.js → chunk-index-tasbd41t.js} +2 -2
- package/dist/chunk-index-vxqzavgz.js +2 -0
- package/dist/{chunk-index-fn6305vn.js → chunk-index-x5xq9g9a.js} +3 -3
- package/dist/chunk-index-xx0kecz9.js +2 -0
- package/dist/{chunk-index-sz381vda.js → chunk-index-y1xv3dxs.js} +100 -4
- package/dist/{chunk-index-8pbwr3rs.js → chunk-index-yn1vvxj2.js} +1 -1
- package/dist/chunk-lang-css-rwkzd784.js +1 -0
- package/dist/{chunk-lang-dockerfile-y24eejnh.js → chunk-lang-dockerfile-e87ssppx.js} +1 -1
- package/dist/{chunk-lang-go-qzgv1161.js → chunk-lang-go-kbcbn346.js} +2 -2
- package/dist/chunk-lang-html-zhngbs9v.js +1 -0
- package/dist/chunk-lang-javascript-bk2s6a56.js +1 -0
- package/dist/{chunk-lang-json-99v80v88.js → chunk-lang-json-4pe1fv7e.js} +1 -1
- package/dist/{chunk-lang-markdown-gn8he877.js → chunk-lang-markdown-67cm3tjx.js} +5 -5
- package/dist/{chunk-lang-python-prsw4p4k.js → chunk-lang-python-mnfhcvww.js} +2 -2
- package/dist/{chunk-lang-rust-g6xqta16.js → chunk-lang-rust-e4a9s76x.js} +1 -1
- package/dist/{chunk-lang-shell-dmpnzc6w.js → chunk-lang-shell-43nea8tq.js} +1 -1
- package/dist/{chunk-lang-sql-wz7ca27b.js → chunk-lang-sql-28364npv.js} +2 -2
- package/dist/{chunk-lang-toml-160prtq4.js → chunk-lang-toml-a83hr7bw.js} +1 -1
- package/dist/chunk-lang-typescript-r5npc6zf.js +1 -0
- package/dist/{chunk-lang-xml-9htkz2dd.js → chunk-lang-xml-2hv5xc8n.js} +1 -1
- package/dist/{chunk-lang-yaml-08749wd5.js → chunk-lang-yaml-vw22drt8.js} +1 -1
- package/dist/chunk-layout-actions-rw5myg2t.js +1 -0
- package/dist/chunk-menu-items-q0hy5kzd.js +1 -0
- package/dist/chunk-mode-toggle-yk2t0tcy.js +1 -0
- package/dist/{chunk-note-row-28e5x7n8.js → chunk-note-row-c0trzayj.js} +3 -3
- package/dist/chunk-notes-0xcmm938.js +1 -0
- package/dist/chunk-notice-bell-f9nhxg71.js +1 -0
- package/dist/{chunk-notices-d0cwvk27.js → chunk-notices-gkaqncqz.js} +1 -1
- package/dist/chunk-onboarding-fkq9ptcw.js +1 -0
- package/dist/{chunk-overview-9sb3ywa8.js → chunk-overview-yssxbg0d.js} +1 -1
- package/dist/{chunk-palette-5sfhrv4x.js → chunk-palette-w6qbr7zp.js} +1 -1
- package/dist/chunk-placement-items-wcwy91mp.js +1 -0
- package/dist/chunk-profile-9sjgayrx.js +1 -0
- package/dist/chunk-prompt-history-kn42sf8y.js +1 -0
- package/dist/chunk-prompts-824fwgvh.js +1 -0
- package/dist/chunk-room-confirms-hvs9tra4.js +1 -0
- package/dist/{chunk-room-menu-hwkjyxwe.js → chunk-room-menu-pkd0487m.js} +1 -1
- package/dist/chunk-rooms-menu-button-w5hfhsfv.js +1 -0
- package/dist/chunk-schedules-m9mn68gt.js +1 -0
- package/dist/{chunk-seat-menu-n2bcw0mf.js → chunk-seat-menu-3tdcr44t.js} +1 -1
- package/dist/chunk-section-fold-g0tx68cj.js +1 -0
- package/dist/chunk-settings-18qmhcyr.js +1 -0
- package/dist/chunk-sheet-hosts-tsppnmvv.js +29 -0
- package/dist/{chunk-shortcut-help-434sqnxc.js → chunk-shortcut-help-wnm0cm8n.js} +2 -2
- package/dist/chunk-shortcuts-qee393s5.js +1 -0
- package/dist/{chunk-skill-editor-98492yrt.js → chunk-skill-editor-pryntvpr.js} +2 -2
- package/dist/{chunk-skills-mfv8ppfh.js → chunk-skills-sap3rysr.js} +1 -1
- package/dist/{chunk-start-over-line-m526193z.js → chunk-start-over-line-azexcxj1.js} +2 -2
- package/dist/chunk-switcher-list-6hacxjfe.js +1 -0
- package/dist/{chunk-tab-dot-tzjkahj5.js → chunk-tab-dot-h0eskhrt.js} +1 -1
- package/dist/{chunk-table-xbtbex2z.js → chunk-table-jtn49c2m.js} +1 -1
- package/dist/chunk-table2d-vy4w4r5k.js +1 -0
- package/dist/{chunk-table3d-5a7vbgyj.js → chunk-table3d-0a62jerb.js} +24 -24
- package/dist/chunk-thread-actions-31scmndt.js +1 -0
- package/dist/{chunk-thread-cards-n0n603vf.js → chunk-thread-cards-mwxzy02t.js} +1 -1
- package/dist/{chunk-thread-list-7bkdn51x.js → chunk-thread-list-52mx2m9p.js} +2 -2
- package/dist/chunk-transcript-p5q2m795.js +1 -0
- package/dist/{chunk-waiting-chip-y83c90v3.js → chunk-waiting-chip-wvkbsnw5.js} +2 -2
- package/dist/chunk-waiting-s7nm3q0p.js +1 -0
- package/dist/chunk-where-j99f8pb8.js +1 -0
- package/dist/{chunk-workspace-dw71mshw.js → chunk-workspace-ne2nkf4h.js} +2 -2
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-account-66e6ezdq.js +0 -1
- package/dist/chunk-agent-sapt5qhn.js +0 -1
- package/dist/chunk-arranged-rooms-n6bk696f.js +0 -1
- package/dist/chunk-bulk-actions-aze4ewc4.js +0 -1
- package/dist/chunk-codeeditor-yy6pq8mv.js +0 -2
- package/dist/chunk-confirm-0cajsfhk.js +0 -1
- package/dist/chunk-connectors-tw0tbm21.js +0 -37
- package/dist/chunk-conversations-wkm23m5r.js +0 -1
- package/dist/chunk-council-sheet-mz7s23nq.js +0 -2
- package/dist/chunk-council-view-zgvzxtgn.js +0 -1
- package/dist/chunk-entry-7zr5b1fp.js +0 -1
- package/dist/chunk-folder-list-bs4eh3g9.js +0 -1
- package/dist/chunk-folds-eez1q41c.js +0 -1
- package/dist/chunk-host-icons-nfe2t8tk.js +0 -1
- package/dist/chunk-host-picture-4rtswxwa.js +0 -1
- package/dist/chunk-host-state-1vxzmmq6.js +0 -1
- package/dist/chunk-host-ui-x38bf0et.js +0 -1
- package/dist/chunk-index-24cggw6k.js +0 -50
- package/dist/chunk-index-2g8xtwqg.js +0 -2
- package/dist/chunk-index-3n38xe7m.js +0 -2
- package/dist/chunk-index-55ps4x5n.js +0 -2
- package/dist/chunk-index-5w6tb7p0.js +0 -2
- package/dist/chunk-index-6m7dwsmv.js +0 -1
- package/dist/chunk-index-7xcbpeqz.js +0 -2
- package/dist/chunk-index-88wh5eyj.js +0 -2
- package/dist/chunk-index-97dcp1vh.js +0 -1
- package/dist/chunk-index-a7e6rhxy.js +0 -2
- package/dist/chunk-index-bxf8eq1s.js +0 -2
- package/dist/chunk-index-c8gm1crh.js +0 -120
- package/dist/chunk-index-d74tpnkd.js +0 -2
- package/dist/chunk-index-fb3kzyyp.js +0 -2
- package/dist/chunk-index-mr391t49.js +0 -2
- package/dist/chunk-index-n3khm9fq.js +0 -2
- package/dist/chunk-index-nn4w6a04.js +0 -2
- package/dist/chunk-index-pgxgq61x.js +0 -2
- package/dist/chunk-index-rgdaec7y.js +0 -2
- package/dist/chunk-index-rjs1can6.js +0 -2
- package/dist/chunk-index-s4a8e4qm.js +0 -2
- package/dist/chunk-index-vsaggfns.js +0 -2
- package/dist/chunk-index-wsv46y9p.js +0 -2
- package/dist/chunk-index-zfdvyrjt.js +0 -2
- package/dist/chunk-lang-css-3h22se37.js +0 -1
- package/dist/chunk-lang-html-9rvrmmpg.js +0 -1
- package/dist/chunk-lang-javascript-4kv8s3tk.js +0 -1
- package/dist/chunk-lang-typescript-mp0yw903.js +0 -1
- package/dist/chunk-layout-actions-tdx896xf.js +0 -1
- package/dist/chunk-menu-items-trhybv1g.js +0 -1
- package/dist/chunk-mode-toggle-4dtfphq4.js +0 -1
- package/dist/chunk-notes-5nkayhw8.js +0 -1
- package/dist/chunk-notice-bell-xz8a04am.js +0 -1
- package/dist/chunk-onboarding-zs4rtea9.js +0 -1
- package/dist/chunk-placement-items-e2neja55.js +0 -1
- package/dist/chunk-profile-jffhtpqf.js +0 -1
- package/dist/chunk-prompt-history-1jz2gk3v.js +0 -1
- package/dist/chunk-prompts-0t30ttd0.js +0 -1
- package/dist/chunk-room-confirms-6595921h.js +0 -1
- package/dist/chunk-rooms-menu-button-k0eq1tcr.js +0 -1
- package/dist/chunk-schedules-e12y8fw2.js +0 -1
- package/dist/chunk-sheet-hosts-myvm2vhd.js +0 -29
- package/dist/chunk-shortcuts-mjxph0g7.js +0 -1
- package/dist/chunk-switcher-list-5ngjar24.js +0 -1
- package/dist/chunk-table2d-61bvrykm.js +0 -1
- package/dist/chunk-thread-actions-bf6vf2mt.js +0 -1
- package/dist/chunk-transcript-8ztrkt6g.js +0 -1
- package/dist/chunk-waiting-s273kcgz.js +0 -1
- package/dist/chunk-where-jr791gzj.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.29.2] - 2026-10-31
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- The groups you pick a room from fold like Discord's categories: the owners' folders, and the headings Pinned, Ungrouped, Knights and Groups in the room list, and the same headings and folders in a phone's room drawer. Tap the heading (a chevron, `aria-expanded`) to fold it; a folded group shows how many rooms it holds. The fold is kept per device in `localStorage`, shared by the list and the drawer for the same folder, Pinned and Ungrouped. Home and the drawer's "Waiting for you" never fold.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- A tap or Enter on a podium in the council's chat-mode strip mentions that knight in the council's message box instead of opening the knight's room: `@<name> ` goes in at the caret when the box is the one being typed in, and after the text when it is not, and the box takes the focus. The strip's podiums now have the knight's menu too (a long press, a right click or the Menu key), where "Private chat" opens the knight's own room. The animated scene is as it was: a tap turns the camera.
|
|
17
|
+
- A folded group keeps its open room under the heading, plus any room with a card waiting for an answer or messages unread, as a Discord category keeps the selected and the unread channels. A folded folder used to open in full while it held the open room; now only that room stays and the others fold away behind the folder's picture stack. Alt+↑/↓ step over the rooms a fold hides. A search (the drawer's field, the room palette) still finds rooms in a folded group.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- In the council's chat-mode strip the room header no longer cuts the figures off at the chin. The figures were drawn larger than the 120 px strip, so only mouths and bodies showed; the podiums now size to the strip (a podium at most 67 px wide, 46 px at the narrowest) and every head stands whole under the header, from two members to eight, at desktop and 390 px width. The strip is as high as before.
|
|
22
|
+
|
|
8
23
|
## [0.29.1] - 2026-10-31
|
|
9
24
|
|
|
10
25
|
### Added
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p,T,v,e,x}from"./chunk-index-s356ybxk.js";var a={profile:v(()=>(p("9sjgayrx"),import("./chunk-profile-9sjgayrx.js")).then((o)=>({default:o.ProfilePage}))),notices:v(()=>(p("gkaqncqz"),import("./chunk-notices-gkaqncqz.js")).then((o)=>({default:o.NoticesPage}))),onboarding:v(()=>(p("fkq9ptcw"),import("./chunk-onboarding-fkq9ptcw.js")).then((o)=>({default:o.OnboardingPage})))};function n({pane:o}){let t=a[o];return t?e(T,{fallback:e(x,{}),children:e(t,{})}):null}export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{s,Pe,a,r,g,e,n,o,kt,xs}from"./chunk-index-s356ybxk.js";import{C}from"./chunk-index-e8535c4h.js";var L=()=>typeof matchMedia==="function"&&matchMedia("(max-width: 719px)").matches,k={rtMenu:!0},x=()=>Boolean(window.history.state?.rtMenu),w=8,E=(t)=>t?.isConnected?t:null;function M(t){return t.items.map((i)=>n("button",{type:"button",role:i.checked===void 0?"menuitem":"menuitemcheckbox",...i.checked===void 0?{}:{"aria-checked":i.checked},className:"menu-item menu-link","data-tone":i.tone,onClick:()=>t.onChoose(i),children:[i.icon?e("span",{className:"menu-icon","data-tone":i.tone,children:e(o,{name:i.icon,size:18})}):null,e("span",{className:"menu-text",children:e("strong",{children:i.label})}),i.checked?e(o,{name:"check",size:18,className:"menu-check"}):null]},i.id))}function H({menu:t}){let i=a(void 0);if(t)i.current=t;let l=i.current,m=a(!1),h=a(void 0),p=t?.serial;return s(()=>{if(p===void 0)return;return window.history.pushState(k,"",window.location.href),m.current=!0,()=>{if(m.current)m.current=!1,window.history.back()}},[p]),s(()=>{let f=()=>{if(!m.current||x())return;m.current=!1,kt();let y=h.current;h.current=void 0,y?.()};return window.addEventListener("popstate",f),()=>window.removeEventListener("popstate",f)},[]),e(C,{open:t!==void 0,title:l?.title??"",onClose:kt,restoreFocus:()=>E(l?.source??null),children:l?e("div",{className:"menu action-items",role:"menu","aria-label":l.title,children:e(M,{items:l.items,onChoose:(f)=>{if(!m.current){kt(),f.run();return}h.current=f.run,window.history.back()}})}):null})}function T({menu:t}){let i=a(null),[l,m]=r(t.at),{source:h}=t,p=(u)=>{E(h)?.focus(),kt(),u?.()},f=a(p);f.current=p,Pe(()=>{let u=i.current;if(!u)return;let d={left:u.style.left,top:u.style.top};u.style.left="0px",u.style.top="0px";let c={width:u.offsetWidth,height:u.offsetHeight};u.style.left=d.left,u.style.top=d.top,m({x:Math.max(w,Math.min(t.at.x,window.innerWidth-c.width-w)),y:Math.max(w,Math.min(t.at.y,window.innerHeight-c.height-w))}),u.querySelector('[role^="menuitem"]')?.focus()},[t.serial]),s(()=>{let u=(c)=>{if(c.target instanceof Node&&i.current?.contains(c.target))return;kt()},d=()=>kt();return document.addEventListener("pointerdown",u,!0),document.addEventListener("wheel",u,{capture:!0,passive:!0}),document.addEventListener("touchmove",u,{capture:!0,passive:!0}),window.addEventListener("resize",d),()=>{document.removeEventListener("pointerdown",u,!0),document.removeEventListener("wheel",u,!0),document.removeEventListener("touchmove",u,!0),window.removeEventListener("resize",d)}},[]);let y=(u)=>{let d=[...i.current?.querySelectorAll('[role^="menuitem"]')??[]],c=d.indexOf(document.activeElement),v=(b)=>{u.preventDefault(),d[(b+d.length)%d.length]?.focus()};switch(u.key){case"Escape":u.preventDefault(),u.stopPropagation(),f.current();return;case"ArrowDown":return v(c+1);case"ArrowUp":return v(c<0?-1:c-1);case"Tab":return v(u.shiftKey?c<0?-1:c-1:c+1);case"Home":return v(0);case"End":return v(-1)}};return e("div",{ref:i,className:"action-popover",role:"menu","aria-label":t.title,tabIndex:-1,style:{left:`${l.x}px`,top:`${l.y}px`},onKeyDown:y,children:e(M,{items:t.items,onChoose:(u)=>p(u.run)})})}function O(){let t=xs(),i=a(void 0);if(t&&i.current?.serial!==t.serial)i.current={serial:t.serial,sheet:L()};let l=Boolean(t&&i.current?.sheet);return n(g,{children:[e(H,{menu:l?t:void 0}),t&&!l?e(T,{menu:t},t.serial):null]})}export{O as ActionMenuHost};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s,e,X,u,x,Ke}from"./chunk-index-s356ybxk.js";function c({name:o}){let i=u((t)=>t.listed),r=u((t)=>Object.values(t.rooms).find((m)=>m.view?.kind==="agent"&&m.view.name===o)?.view?.key,o);return s(()=>{if(r)X("room",r,{replace:!0}),Ke(o);else if(i)X("rooms",void 0,{replace:!0})},[r,i,o]),e("div",{className:"page",children:e(x,{})})}export{c as AgentPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p,T,v,ee,R,a,t,g,e,n,o,Le,u,k,_,Oe,Jt,_n,te,Ae,Pr,Ni,ao,It,Li,lo}from"./chunk-index-s356ybxk.js";import"./chunk-index-50w6yq2d.js";import"./chunk-index-qq86fxda.js";import{mn,rr}from"./chunk-index-y1xv3dxs.js";import{De}from"./chunk-index-axw4wkqq.js";import{_i}from"./chunk-index-p98tt12y.js";import{mi}from"./chunk-index-33cqx9v2.js";import{wi}from"./chunk-index-dpgn7kzp.js";import{Yt}from"./chunk-index-ddssgba9.js";import"./chunk-index-xx0kecz9.js";import"./chunk-index-6m25qpa7.js";import{lt}from"./chunk-index-6ycrvwzs.js";mn();var O=v(()=>(p("g7st6p1e"),import("./chunk-folder-list-g7st6p1e.js")).then((i)=>({default:i.FolderList}))),Z=ee(function(m){let{view:r}=m,h=Yt(()=>Jt(r.key),r.home?void 0:wi(r.key));return e(ao,{...m,press:h,item:{...r.home?{}:{"data-drop-item":"","data-key":r.key},...m.arranging?{"data-arranging":""}:{}},after:m.arranging?e("button",{type:"button",className:"icon-button row-more","aria-haspopup":"menu","aria-label":t("Room menu"),onClick:(s)=>{let c=s.currentTarget;Jt(r.key).then((l)=>{if(!l)return;let N=c.getBoundingClientRect();Oe({...l,at:{x:N.left,y:N.bottom},via:"key",source:c})},()=>{return})},children:e(o,{name:"more",size:18})}):null})});function L(i){let{now:m}=te(),{timeZone:r}=_(),h=It(i.rooms);return e("ul",{className:"room-list",children:h.map(({key:s,...c})=>{let l=i.threads[s];return e(Z,{...c,active:s===i.active,now:m,timeZone:r,arranging:i.arranging,...l?{threads:e(Li,{open:l.open,closed:l.closed,active:i.active,parent:s})}:{}},s)})})}function y(i){let r=It(i.rooms).length===0;if(r&&i.zone?.kind!=="pinned")return null;let h=i.zone?{"data-drop-zone":i.zone.kind,"data-zone-id":i.zone.id}:{},s=(c)=>e(L,{rooms:c,threads:i.threads,active:i.active,arranging:i.arranging});if(i.fold&&!r)return e(rr,{id:i.fold,title:i.title,rooms:i.rooms,active:i.active,attrs:h,children:s});return n("section",{className:"stack",...r?{"data-empty":""}:{},...h,children:[e("h2",{className:"section-title",children:i.title}),r?null:s(i.rooms)]})}function le(i){let m=Boolean(_().kinds?.length),r=u((d)=>JSON.stringify({listed:d.listed,...lt(d,(M)=>Le(d,M))})),h=_i(),s=a(r);if(!h)s.current=r;let c=s.current,{listed:l,...N}=R(()=>JSON.parse(c),[c]),{home:S,pinned:A,folders:w,restAgents:P,restGroups:D,rest:C,threads:F,orphans:f}=N,z=Pr(),K=S.length+A.length+C.length===0&&w.every((d)=>d.rooms.length===0)&&f.open.length+f.closed.length===0,b={threads:F,active:i.active,arranging:z};return n("div",{className:"page","data-column":i.active?"":void 0,"data-drop-root":"",children:[n("header",{className:"page-head",children:[e("h1",{children:t("Rooms")}),n("div",{className:"actions",children:[n("button",{type:"button",className:"header-button search-button",onClick:i.onSearch,children:[e(o,{name:"search",size:16}),e("span",{children:t("Find a room")}),e("kbd",{children:"⌘K"})]}),l?e("button",{type:"button",className:"header-button icon-button","aria-haspopup":"menu","aria-label":t("Folders and order"),onClick:(d)=>mi(d.currentTarget),children:e(o,{name:"more",size:18})}):null,e("button",{type:"button",className:"header-button icon-button","aria-label":t("Add"),"aria-haspopup":"menu",onClick:(d)=>_n(d.currentTarget),children:e(o,{name:"plus"})})]})]}),z?n("div",{className:"arrange-bar",children:[n("button",{type:"button",className:"secondary",onClick:()=>De({kind:"new"}),children:[e(o,{name:"plus",size:16}),e("span",{children:t("Add a folder")})]}),e("button",{type:"button",onClick:()=>Ni(!1),children:t("Done")})]}):null,l&&K&&!m?e(k,{children:t("No rooms yet. Rooms appear when the team has a knight.")}):null,!l?n("div",{className:"stack","aria-busy":"true",children:[e("div",{className:"skeleton"}),e("div",{className:"skeleton"}),e("div",{className:"skeleton"})]}):null,e(y,{title:t("Home"),rooms:S,...b}),e(y,{title:t("Pinned"),rooms:A,zone:{kind:"pinned",id:"pinned"},fold:Ae("pinned"),...b}),w.length>0?e("div",{className:"stack folder-list","data-folder-list":"",children:e(T,{fallback:e("div",{className:"skeleton","aria-busy":"true"}),children:e(O,{folders:w,active:i.active,listed:l,rooms:(d)=>e(L,{rooms:d,threads:F,active:i.active,arranging:z})})})}):null,w.length>0?e(y,{title:t("Ungrouped"),rooms:C,zone:{kind:"rest",id:"rest"},fold:Ae("rest"),...b}):n(g,{children:[e(y,{title:t("Knights"),rooms:P,zone:{kind:"rest",id:"rest-agents"},fold:Ae("agents"),...b}),e(y,{title:t("Groups"),rooms:D,zone:{kind:"rest",id:"rest-groups"},fold:Ae("groups"),...b})]}),f.open.length+f.closed.length>0?n("section",{className:"stack",children:[e("h2",{className:"section-title",children:t("Dispatch threads")}),e(Li,{open:f.open,closed:f.closed,active:i.active})]}):null,e(lo,{active:i.active})]})}export{le as ArrangedRoomsPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Pe,a,r,t,B,e,n,o,we,Ht,gs,Me,Nt,Ps}from"./chunk-index-s356ybxk.js";import{Y}from"./chunk-index-d941ae7c.js";var u=`
|
|
2
2
|
.attachments {
|
|
3
3
|
margin-top: var(--space-3);
|
|
4
4
|
padding: var(--space-2);
|
|
@@ -99,4 +99,4 @@ import{Te,a,r,t,G,e,n,s,Se,Wt,ls,Pe,$t,Os}from"./chunk-index-24cggw6k.js";import
|
|
|
99
99
|
color: inherit;
|
|
100
100
|
text-decoration: underline;
|
|
101
101
|
}
|
|
102
|
-
`;function h({file:
|
|
102
|
+
`;function h({file:s}){let i=Nt(()=>Ps(s));return s.type.startsWith("image/")?e("li",{children:e("a",{...i,href:Ht(s),target:"_blank",rel:"noreferrer noopener",children:e("img",{src:Ht(s),alt:s.name,loading:"lazy",decoding:"async",className:"file-image"})})}):e("li",{children:n("a",{...i,className:"file-chip",href:Ht(s),download:s.name,title:s.name,children:[e(o,{name:"file",size:16}),e("span",{className:"file-name",children:s.name}),e("span",{className:"file-size",children:Me(s.size)})]})})}function f(s){Y("attachments",u);let{files:i,message:m}=s;return n("section",{className:"attachments","aria-label":t("Attachments ({count})",{count:i.length}),children:[n("div",{className:"attachments-head",children:[e(o,{name:"attach",size:16}),e("span",{children:t("Attachments ({count})",{count:i.length})}),m&&i.length>=2?n("a",{className:"link-button",href:gs(m),download:!0,children:[e(o,{name:"download",size:16}),t("Download all")]}):null]}),e("ul",{className:"files",children:i.map((c)=>e(h,{file:c},c.id))})]})}var g=0.9;function A({count:s}){Y("attachments",u);let i=a(null),[m,c]=r(!1);return Pe(()=>{let l=i.current?.closest(".bubble");if(!l)return;let d=()=>c(l.getBoundingClientRect().height>window.innerHeight*g);d(),window.addEventListener("resize",d);let p=typeof ResizeObserver==="function"?new ResizeObserver(d):void 0;return p?.observe(l),()=>{window.removeEventListener("resize",d),p?.disconnect()}},[]),n("button",{ref:i,type:"button",className:"link-button attachments-jump",hidden:!m,onClick:(l)=>{l.stopPropagation(),i.current?.closest(".bubble")?.querySelector(".attachments")?.scrollIntoView({behavior:we()?"auto":"smooth",block:"start"})},children:[e(o,{name:"attach",size:14}),B(s,"{count} attachment","{count} attachments")]})}export{A as AttachmentsJump,f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t,B,O,l,f}from"./chunk-index-s356ybxk.js";import{ln}from"./chunk-index-qq86fxda.js";import"./chunk-index-50w6yq2d.js";import{En,mo}from"./chunk-index-qedt9szy.js";import{Ro}from"./chunk-index-xx0kecz9.js";import{re}from"./chunk-index-6q3dx093.js";import"./chunk-index-6m25qpa7.js";var s=500,c=(n)=>{let r=[];for(let e=0;e<n.length;e+=s)r.push(n.slice(e,e+s));return r},i=()=>O.dispatch({type:"changed"});async function w(n){let r=Ro(n),e=Object.keys(r);if(e.length===0)return;let a=[];try{for(let o of c(e))a.push(...(await En.readAll(o)).moved)}catch(o){f(l(o),"danger"),i();return}ln(Object.fromEntries(e.map((o)=>[o,0]))),f(B(e.length,"Marked {count} room as read","Marked {count} rooms as read"),"info",a.length?{label:t("Undo"),run:()=>void m(a,r)}:void 0)}async function m(n,r){try{for(let e of c(n)){let{restored:a}=await En.unreadAll(e);ln(Object.fromEntries(a.map((o)=>[o,r[o]??0])))}}catch(e){f(l(e),"danger")}i()}var P=(n)=>mo(n);async function d(n){try{await En.restoreHelpers(n)}catch(r){f(l(r),"danger")}i()}async function R(n){let r;try{r=(await En.archiveFinishedHelpers(n)).archived.flatMap((a)=>a.names)}catch(e){f(l(e),"danger"),i();return}if(i(),r.length===0)return;f(B(r.length,"Archived {count} temp knight","Archived {count} temp knights"),"info",{label:t("Undo"),run:()=>void d(r)})}async function T(n,r){try{await re.archiveAgent(n)}catch(e){f(l(e),"danger"),i();return}i(),f(t("Archived {name}",{name:r}),"info",{label:t("Undo"),run:()=>void d([n])})}export{T as archiveHelper,P as clearAllFinished,R as clearFinishedHelpers,w as markAllRead,d as putBackHelpers};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Je,tn,W,Xi,Cn}from"./chunk-index-50syrmaq.js";import{ee,Hr,s,A,R,a,r,t,c,g,e,n,Qi,fe,y,l,f,Re,Tn,he,et}from"./chunk-index-s356ybxk.js";import{D}from"./chunk-index-6cs1wvhy.js";import{C}from"./chunk-index-e8535c4h.js";import{Y}from"./chunk-index-d941ae7c.js";var ue={"hat.none":"No hat","hat.goggcap":"Leather cap","hat.tallcap":"Burgundian felt cap","hat.softcap":"Soft cap","hat.hardhat":"Iron skullcap","hat.fcap":"Hunter's cap","hat.winghelm":"Winged helm","hat.helm":"Helm","hat.mortar":"Biretta","hat.beret":"Chaperon","hat.goggles":"Pointed cap","hat.tricorn":"Pilgrim hat","hat.sailor":"Straw hat","hat.kettle":"Kettle hat","hat.cavalier":"Feathered hat","hat.toque":"Linen cook's cap","hair.none":"No hair","beard.none":"No beard","accessory.none":"No accessory","prop.beads":"Prayer beads","prop.marotte":"Marotte","prop.map":"Chart","prop.flask":"Alchemist's phial","prop.telescope":"Astrolabe","prop.wrench":"Dividers","outfit.surplice":"Surplice","outfit.overalls":"Work jerkin","outfit.armor":"Mail hauberk","outfit.apron":"Smith's apron","outfit.chef":"Cook's tunic","outfit.coat":"Doublet","outfit.vest":"Pourpoint","outfit.sailor":"Mariner's tunic","hair.bob":"Bob","hair.bun":"Bun","hair.ponytail":"Ponytail"},X=(i)=>i.charAt(0).toUpperCase()+i.slice(1);function x(i,d){let h=`character.${i}.${d}`,p=t(h);if(p!==h)return p;if(i==="class")return W.classes[d]?.label??X(d);return ue[`${i}.${d}`]??X(d)}function Z(i){let d=`character.jobs.${i}`,h=t(d);return h!==d?h:W.classes[i]?.jobs??""}var ae=`
|
|
2
2
|
.creator {
|
|
3
3
|
display: grid;
|
|
4
4
|
gap: var(--space-5);
|
|
@@ -222,4 +222,4 @@ dialog.sheet dialog.sheet .creator-field > h3 {
|
|
|
222
222
|
.creator-actions {
|
|
223
223
|
flex-wrap: wrap;
|
|
224
224
|
}
|
|
225
|
-
`;var K=[{field:"hat",title:
|
|
225
|
+
`;var K=[{field:"hat",title:c("Hat"),ids:W.hats},{field:"outfit",title:c("Outfit"),ids:W.outfits},{field:"prop",title:c("Prop"),ids:W.props},{field:"hair",title:c("Hair"),ids:W.hair},{field:"beard",title:c("Beard"),ids:["none",...W.beards]},{field:"accessory",title:c("Accessory"),ids:["none",...W.accessories]}],pe=new Set(["class","colors","palette","build","skin","hairColor",...K.map((i)=>i.field)]),oe=Object.keys(W.palettes),te={idle:c("Idle"),thinking:c("Thinking"),working:c("Working"),waiting:c("Waiting for you"),done:c("Done"),error:c("Error"),sleepy:c("Sleepy")},ge={slim:c("Slim"),regular:c("Regular"),stout:c("Stout")};function M(i){return{class:i.class,outfit:i.outfit,hat:i.hat,prop:i.prop,hair:i.hair,beard:i.beard,accessory:i.accessory,build:i.build,skin:i.skin,hairColor:i.hairColor,colors:{...i.colors}}}var re=(i)=>JSON.stringify(M(i)),k=(i)=>i[Math.floor(Math.random()*i.length)];function be(){return{class:k(Je),outfit:k(W.outfits),hat:k(W.hats),prop:k(W.props),hair:k(W.hair),beard:k(["none",...W.beards]),accessory:k(["none",...W.accessories]),build:k(["slim","regular","stout"]),skin:k([0,1,2,3,4,5]),hairColor:k(W.hairColors),palette:k(oe)}}var ne=ee(function(d){return n("button",{type:"button",className:"creator-tile","aria-pressed":d.pressed,title:d.hint?`${d.label} — ${d.hint}`:d.label,onClick:d.onPick,...d.data,children:[e(he,{spec:d.spec,size:d.size,live:!1}),e("span",{children:d.label})]})});function ve(i,d,h){let p=JSON.stringify({...i,[d]:0});return R(()=>h.map((m)=>({...i,[d]:m})),[p,d,h])}function ye(){let i=a(null),[d,h]=r();return s(()=>{let p=i.current;if(!p)return;let m=()=>{let S=p.scrollLeft>1,P=p.scrollLeft+p.clientWidth<p.scrollWidth-1;h(S&&P?"both":P?"end":S?"start":void 0)};m(),p.addEventListener("scroll",m,{passive:!0});let b=typeof ResizeObserver>"u"?void 0:new ResizeObserver(m);return b?.observe(p),()=>{p.removeEventListener("scroll",m),b?.disconnect()}},[]),[i,d]}function ke(i){let{part:d}=i,h=ve(i.shown,d.field,d.ids),[p,m]=ye();return e("div",{className:"creator-strip",ref:p,"data-more":m,children:d.ids.map((b,S)=>e(ne,{data:{[`data-${d.field}`]:b},spec:h[S],size:44,label:x(d.field,b),pressed:i.draft[d.field]===b,onPick:()=>i.onPick(b)},b))})}function H(i){return e("button",{type:"button",className:"creator-swatch","aria-pressed":i.pressed,"aria-label":i.label,title:i.label,style:{background:i.background},onClick:i.onPick,...i.data})}function N(i){return n("div",{className:"creator-field","data-field":i.field,children:[i.title?e("h3",{children:i.title}):null,i.children,i.error?e("p",{className:"field-error",role:"alert",children:i.error}):null]})}function _e(i){Y("creator",ae);let[d,h]=r(i.character),p=Hr(d),[m,b]=r({}),[S,P]=r(!1),[I,se]=r("idle"),[_,T]=r(),[z,j]=r(),U=Re("(max-width: 719px)"),G=a(null),F=A(),le=et(d),ce=Tn(),L=re(d)!==re(i.character);s(()=>h(i.character),[i.character]),s(()=>{if(!L||i.onPick)return;let o=(v)=>v.preventDefault(),u=(v)=>{if(v.button!==0||v.metaKey||v.ctrlKey||v.shiftKey||v.altKey)return;let E=v.target instanceof Element?v.target.closest("a"):null;if(!E||E.target||E.hasAttribute("download"))return;if(G.current?.contains(E))return;v.preventDefault(),v.stopPropagation(),T({kind:"link",anchor:E})},B=Qi((v)=>T({kind:"navigate",proceed:v}));return window.addEventListener("beforeunload",o),document.addEventListener("click",u,!0),()=>{B(),window.removeEventListener("beforeunload",o),document.removeEventListener("click",u,!0)}},[L,i.onPick]);let w=(o)=>{b({}),h((u)=>Xi(o,u))},de=async()=>{if(i.onPick){i.onPick(M(d),d);return}P(!0),b({});try{let o=await y.setCharacter(i.name,M(d));i.onSaved?.(o),f(t("Saved."))}catch(o){let u=o instanceof fe&&o.field?o.field.split(".")[0]:void 0,B=u&&pe.has(u)?u:"*";b({[B]:l(o)})}finally{P(!1)}},me=async()=>{let o=_;if(h(i.character),b({}),o?.kind==="link")setTimeout(()=>o.anchor.click(),0);else if(o?.kind==="navigate")o.proceed()},J=e(N,{field:"class",title:t("Class"),error:m.class,children:e("div",{className:"creator-grid",children:Je.map((o)=>e(Ce,{id:o,base:p,pressed:d.class===o,onPick:()=>w({class:o,colors:d.colors})},o))})}),V=n(N,{field:"colors",title:t("Colors"),error:m.colors??m.palette,children:[n("fieldset",{className:"creator-swatches",children:[e("legend",{className:"visually-hidden",children:t("Palette")}),oe.map((o)=>{let u=W.palettes[o];return e(H,{data:{"data-palette":o},label:x("palette",o),pressed:d.palette===o,background:`linear-gradient(135deg, ${u.primary} 52%, ${u.trim} 52%)`,onPick:()=>w({palette:o})},o)})]}),e("div",{className:"creator-custom",children:["primary","secondary","trim"].map((o)=>n("label",{children:[e("span",{children:o==="primary"?t("Primary (the accent)"):o==="secondary"?t("Secondary"):t("Trim")}),e("input",{type:"color",value:d.colors[o],onChange:(u)=>w({colors:{[o]:u.target.value}})})]},o))})]}),q=K.map((o)=>e(N,{field:o.field,title:t(o.title),error:m[o.field],children:e(ke,{part:o,draft:d,shown:p,onPick:(u)=>w({[o.field]:u})})},o.field)),Q=n(g,{children:[e(N,{field:"build",title:t("Build"),error:m.build,children:n("fieldset",{className:"segmented",children:[e("legend",{className:"visually-hidden",children:t("Build")}),["slim","regular","stout"].map((o)=>n("label",{"data-checked":d.build===o,children:[e("input",{type:"radio",name:`${F}-build`,checked:d.build===o,onChange:()=>w({build:o})}),ie(o)]},o))]})}),e(N,{field:"skin",title:t("Skin tone"),error:m.skin,children:n("fieldset",{className:"creator-swatches",children:[e("legend",{className:"visually-hidden",children:t("Skin tone")}),(ce??W.skins).map((o,u)=>e(H,{data:{"data-skin":String(u)},label:t("Skin tone {n}",{n:u+1}),pressed:d.skin===u,background:o,onPick:()=>w({skin:u})},u))]})}),e(N,{field:"hairColor",title:t("Hair color"),error:m.hairColor,children:n("fieldset",{className:"creator-swatches",children:[e("legend",{className:"visually-hidden",children:t("Hair color")}),W.hairColors.map((o,u)=>e(H,{data:{"data-hair-color":o},label:t("Hair color {n}",{n:u+1}),pressed:d.hairColor===o,background:o,onPick:()=>w({hairColor:o})},o)),e("input",{type:"color","aria-label":t("Hair color"),value:d.hairColor,onChange:(o)=>w({hairColor:o.target.value})})]})})]}),O=[{id:"class",title:t("Class"),summary:x("class",d.class),error:m.class,node:J},{id:"colors",title:t("Colors"),summary:d.palette?x("palette",d.palette):d.colors.primary,error:m.colors??m.palette,node:V},...K.map((o,u)=>({id:o.field,title:t(o.title),summary:x(o.field,d[o.field]),error:m[o.field],node:q[u]})),{id:"body",title:t("Body"),summary:ie(d.build),error:m.build??m.skin??m.hairColor,node:Q}];return n("form",{ref:G,className:"creator",style:le,"aria-labelledby":F,onSubmit:(o)=>{if(o.preventDefault(),(L||i.onPick)&&!S)de()},children:[e("h2",{id:F,className:"visually-hidden",children:t("Character of {name}",{name:i.displayName})}),n("div",{className:"creator-preview",children:[e(he,{spec:d,name:i.name,state:I,size:176,label:t("{name}, {state}",{name:i.displayName,state:t(te[I])})}),e("button",{type:"button",className:"secondary","data-action":"cycle",onClick:()=>se((o)=>tn[(tn.indexOf(o)+1)%tn.length]??"idle"),children:t("Preview states")}),e("span",{className:"meta","aria-live":"polite",children:t(te[I])})]}),n("div",{className:"creator-body",children:[m["*"]?e("p",{className:"field-error",role:"alert","data-field":"*",children:m["*"]}):null,U?e("ul",{className:"creator-sections",children:O.map((o)=>e("li",{children:n("button",{type:"button",className:"creator-section secondary",onClick:()=>j(o.id),children:[e("strong",{children:o.title}),e("span",{className:"meta",children:o.summary}),o.error?e("span",{className:"field-error",role:"alert",children:o.error}):null]})},o.id))}):n(g,{children:[J,V,q,Q]}),n("div",{className:"actions creator-actions",children:[e("button",{type:"button",className:"secondary","data-action":"suggest",onClick:()=>{b({}),h(Cn({name:i.name,displayName:i.displayName,prompt:i.prompt}))},children:t("Suggest from role")}),e("button",{type:"button",className:"secondary","data-action":"randomize",onClick:()=>w(be()),children:t("Randomize")}),e("button",{type:"button",className:"secondary","data-action":"cancel",onClick:()=>{if(i.onCancel)i.onCancel();else if(L)T({kind:"cancel"})},children:t("Cancel")}),e("button",{type:"submit","data-action":"save",disabled:!L&&!i.onPick||S,children:S?t("Saving…"):i.onPick?t("Use this look"):t("Save")})]})]}),e(C,{open:U&&z!==void 0,title:O.find((o)=>o.id===z)?.title??"",onClose:()=>j(void 0),children:e("div",{className:"stack",children:O.find((o)=>o.id===z)?.node})}),e(D,{open:_!==void 0,title:t("Discard your changes?"),confirmLabel:t("Discard"),cancelLabel:t("Keep editing"),tone:"danger",onClose:()=>T(void 0),onConfirm:me,children:e("p",{children:t("The new look for {name} has not been saved.",{name:i.displayName})})})]})}var ie=(i)=>t(ge[i]);function Ce(i){let d=i.base.colors,h=R(()=>Xi({class:i.id,colors:d}),[i.id,d]);return e(ne,{data:{"data-class":i.id},spec:h,size:56,label:x("class",i.id),hint:Z(i.id),pressed:i.pressed,onPick:i.onPick})}export{_e as CharacterCreator};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{F,ye,Gi,Uo,Zi,mt,be,d,w,Ne,Fe,qt,Ge,Z,le,ce,q,vt,xt,Ze,ve,z,se,Ie,b,Tt,Vo,qo,Bo,Wi,ci,Fo,Go,Zo,Wo,Q,i,I,it,Gt,fi,Lr,Ln,Xn,jo,Ko,Ot}from"./chunk-index-qk7rp7fk.js";import{p}from"./chunk-index-s356ybxk.js";var nn=(e)=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Ce(e.state,n.from);return r.line?rn(e):r.block?ln(e):!1};function ke(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);if(!o)return!1;return r(n.update(o)),!0}}var rn=ke(an,0);var on=ke(je,0);var ln=ke((e,t)=>je(e,t,cn(t)),0);function Ce(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}var N=50;function sn(e,{open:t,close:n},r,o){let l=e.sliceDoc(r-N,r),s=e.sliceDoc(o,o+N),c=/\s*$/.exec(l)[0].length,a=/^\s*/.exec(s)[0].length,h=l.length-c;if(l.slice(h-t.length,h)==t&&s.slice(a,a+n.length)==n)return{open:{pos:r-c,margin:c&&1},close:{pos:o+a,margin:a&&1}};let u,f;if(o-r<=2*N)u=f=e.sliceDoc(r,o);else u=e.sliceDoc(r,r+N),f=e.sliceDoc(o-N,o);let m=/^\s*/.exec(u)[0].length,L=/\s*$/.exec(f)[0].length,v=f.length-L-n.length;if(u.slice(m,m+t.length)==t&&f.slice(v,v+n.length)==n)return{open:{pos:r+m+t.length,margin:/\s/.test(u.charAt(m+t.length))?1:0},close:{pos:o-L-n.length,margin:/\s/.test(f.charAt(v-1))?1:0}};return null}function cn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);if(o.from>r.from&&o.from==n.to)o=n.to==r.to+1?r:e.doc.lineAt(n.to-1);let l=t.length-1;if(l>=0&&t[l].to>r.from)t[l].to=o.to;else t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function je(e,t,n=t.selection.ranges){let r=n.map((l)=>Ce(t,l.from).block);if(!r.every((l)=>l))return null;let o=n.map((l,s)=>sn(t,r[s],l.from,l.to));if(e!=2&&!o.every((l)=>l))return{changes:t.changes(n.map((l,s)=>{if(o[s])return[];return[{from:l.from,insert:r[s].open+" "},{from:l.to,insert:" "+r[s].close}]}))};else if(e!=1&&o.some((l)=>l)){let l=[];for(let s=0,c;s<o.length;s++)if(c=o[s]){let a=r[s],{open:h,close:u}=c;l.push({from:h.pos-a.open.length,to:h.pos+h.margin},{from:u.pos-u.margin,to:u.pos+a.close.length})}return{changes:l}}return null}function an(e,t,n=t.selection.ranges){let r=[],o=-1;e:for(let{from:l,to:s}of n){let c=r.length,a=1e9,h;for(let u=l;u<=s;){let f=t.doc.lineAt(u);if(h==null){if(h=Ce(t,f.from).line,!h)continue e}if(f.from>o&&(l==s||s>f.from)){o=f.from;let m=/^\s*/.exec(f.text)[0].length,L=m==f.length,v=f.text.slice(m,m+h.length)==h?m:-1;if(m<f.text.length&&m<a)a=m;r.push({line:f,comment:v,token:h,indent:m,empty:L,single:!1})}u=f.to+1}if(a<1e9){for(let u=c;u<r.length;u++)if(r[u].indent<r[u].line.text.length)r[u].indent=a}if(r.length==c+1)r[c].single=!0}if(e!=2&&r.some((l)=>l.comment<0&&(!l.empty||l.single))){let l=[];for(let{line:c,token:a,indent:h,empty:u,single:f}of r)if(f||!u)l.push({from:c.from+h,insert:a+" "});let s=t.changes(l);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some((l)=>l.comment>=0)){let l=[];for(let{line:s,comment:c,token:a}of r)if(c>=0){let h=s.from+c,u=h+a.length;if(s.text[u-s.from]==" ")u++;l.push({from:h,to:u})}return{changes:l}}return null}var ge=Ge.define(),un=Ge.define(),hn=w.define(),Xe=w.define({combine(e){return vt(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),Ye=Ne.define({create(){return A.empty},update(e,t){let n=t.state.facet(Xe),r=t.annotation(ge);if(r){let a=y.fromTransaction(t,r.selection),h=r.side,u=h==0?e.undone:e.done;if(a)u=K(u,u.length,n.minDepth,a);else u=nt(u,t.startState.selection);return new A(h==0?r.rest:u,h==0?u:r.rest)}let o=t.annotation(un);if(o=="full"||o=="before")e=e.isolate();if(t.annotation(le.addToHistory)===!1)return!t.changes.empty?e.addMapping(t.changes.desc):e;let l=y.fromTransaction(t),s=t.annotation(le.time),c=t.annotation(le.userEvent);if(l)e=e.addChanges(l,s,c,n,t);else if(t.selection)e=e.addSelection(t.startState.selection,s,c,n.newGroupDelay);if(o=="full"||o=="after")e=e.isolate();return e},toJSON(e){return{done:e.done.map((t)=>t.toJSON()),undone:e.undone.map((t)=>t.toJSON())}},fromJSON(e){return new A(e.done.map(y.fromJSON),e.undone.map(y.fromJSON))}});function et(e={}){return[Ye,Xe.of(e),b.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?j:t.inputType=="historyRedo"?V:null;if(!r)return!1;return t.preventDefault(),r(n)}})]}function H(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(Ye,!1);if(!o)return!1;let l=o.pop(e,n,t);if(!l)return!1;return r(l),!0}}var j=H(0,!1),V=H(1,!1),fn=H(0,!0),dn=H(1,!0);class y{constructor(e,t,n,r,o){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=o}setSelAfter(e){return new y(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((r)=>r.toJSON())}}static fromJSON(e){return new y(e.changes&&be.fromJSON(e.changes),[],e.mapped&&mt.fromJSON(e.mapped),e.startSelection&&d.fromJSON(e.startSelection),e.selectionsAfter.map(d.fromJSON))}static fromTransaction(e,t){let n=S;for(let r of e.startState.facet(hn)){let o=r(e);if(o.length)n=n.concat(o)}if(!n.length&&e.changes.empty)return null;return new y(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,S)}static selection(e){return new y(void 0,S,void 0,void 0,e)}}function K(e,t,n,r){let o=t+1>n+20?t-n-1:0,l=e.slice(o,t);return l.push(r),l}function mn(e,t){let n=[],r=!1;return e.iterChangedRanges((o,l)=>n.push(o,l)),t.iterChangedRanges((o,l,s,c)=>{for(let a=0;a<n.length;){let h=n[a++],u=n[a++];if(c>=h&&s<=u)r=!0}}),r}function pn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function tt(e,t){return!e.length?t:!t.length?e:e.concat(t)}var S=[],gn=200;function nt(e,t){if(!e.length)return[y.selection([t])];else{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-gn));if(r.length&&r[r.length-1].eq(t))return e;return r.push(t),K(e,e.length-1,1e9,n.setSelAfter(r))}}function yn(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 pe(e,t){if(!e.length)return e;let n=e.length,r=S;while(n){let o=xn(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let l=e.slice(0,n);return l[n-1]=o,l}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[y.selection(r)]:S}function xn(e,t,n){let r=tt(e.selectionsAfter.length?e.selectionsAfter.map((c)=>c.map(t)):S,n);if(!e.changes)return y.selection(r);let o=e.changes.map(t),l=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(l):l;return new y(o,Z.mapEffects(e.effects,t),s,e.startSelection.map(l),r)}var Sn=/^(input\.type|delete)($|\.)/;class A{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 A(this.done,this.undone):this}addChanges(e,t,n,r,o){let l=this.done,s=l[l.length-1];if(s&&s.changes&&!s.changes.empty&&e.changes&&(!n||Sn.test(n))&&(!s.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(o,mn(s.changes,e.changes))||n=="input.type.compose"))l=K(l,l.length-1,r.minDepth,new y(e.changes.compose(s.changes),tt(Z.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,S));else l=K(l,l.length,r.minDepth,e);return new A(l,S,t,n)}addSelection(e,t,n,r){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:S;if(o.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&pn(o[o.length-1],e))return this;return new A(nt(this.done,e),this.undone,t,n)}addMapping(e){return new A(pe(this.done,e),pe(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let o=r[r.length-1],l=o.selectionsAfter[0]||(o.startSelection?o.startSelection.map(o.changes.invertedDesc,1):t.selection);if(n&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:ge.of({side:e,rest:yn(r),selection:l}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});else if(!o.changes)return null;else{let s=r.length==1?S:r.slice(0,r.length-1);if(o.mapped)s=pe(s,o.mapped);return t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:ge.of({side:e,rest:s,selection:l}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}}}A.empty=new A(S,S);var rt=[{key:"Mod-z",run:j,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:V,preventDefault:!0},{linux:"Ctrl-Shift-z",run:V,preventDefault:!0},{key:"Mod-u",run:fn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:dn,preventDefault:!0}];function W(e,t){return d.create(e.ranges.map(t),e.mainIndex)}function C(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function M({state:e,dispatch:t},n){let r=W(e.selection,n);if(r.eq(e.selection,!0))return!1;return t(C(e,r)),!0}function X(e,t){return d.cursor(t?e.to:e.from)}function ot(e,t){return M(e,(n)=>n.empty?e.moveByChar(n,t):X(n,t))}function g(e){return e.textDirectionAt(e.state.selection.main.head)==se.LTR}var lt=(e)=>ot(e,!g(e)),st=(e)=>ot(e,g(e));function ct(e,t){return M(e,(n)=>n.empty?e.moveByGroup(n,t):X(n,t))}var kn=(e)=>ct(e,!g(e)),vn=(e)=>ct(e,g(e));var Jr=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function bn(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 Y(e,t,n){let r=I(e).resolveInner(t.head),o=n?Q.closedBy:Q.openedBy;for(let a=t.head;;){let h=n?r.childAfter(a):r.childBefore(a);if(!h)break;if(bn(e,h,o))r=h;else a=n?h.to:h.from}let l=r.type.prop(o),s,c;if(l&&(s=n?Ot(e,r.from,1):Ot(e,r.to,-1))&&s.matched)c=n?s.end.to:s.end.from;else c=n?r.to:r.from;return d.cursor(c,n?-1:1)}var Cn=(e)=>M(e,(t)=>Y(e.state,t,!g(e))),Mn=(e)=>M(e,(t)=>Y(e.state,t,g(e)));function at(e,t){return M(e,(n)=>{if(!n.empty)return X(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}var ut=(e)=>at(e,!1),ht=(e)=>at(e,!0);function ft(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let l of e.state.facet(b.scrollMargins)){let s=l(e);if(s===null||s===void 0?void 0:s.top)n=Math.max(s===null||s===void 0?void 0:s.top,n);if(s===null||s===void 0?void 0:s.bottom)r=Math.max(s===null||s===void 0?void 0:s.bottom,r)}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function dt(e,t){let n=ft(e),{state:r}=e,o=W(r.selection,(s)=>s.empty?e.moveVertically(s,t,n.height):X(s,t));if(o.eq(r.selection))return!1;let l;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),c=e.scrollDOM.getBoundingClientRect(),a=c.top+n.marginTop,h=c.bottom-n.marginBottom;if(s&&s.top>a&&s.bottom<h)l=b.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-a})}return e.dispatch(C(r,o),{effects:l}),!0}var Ue=(e)=>dt(e,!1),xe=(e)=>dt(e,!0);function B(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from))o=e.moveToLineBoundary(t,n,!1);if(!n&&o.head==r.from&&r.length){let l=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;if(l&&t.head!=r.from+l)o=d.cursor(r.from+l)}return o}var An=(e)=>M(e,(t)=>B(e,t,!0)),Bn=(e)=>M(e,(t)=>B(e,t,!1)),Dn=(e)=>M(e,(t)=>B(e,t,!g(e))),En=(e)=>M(e,(t)=>B(e,t,g(e))),Tn=(e)=>M(e,(t)=>e.moveToLineBoundary(t,!1,!1)),wn=(e)=>M(e,(t)=>e.moveToLineBoundary(t,!0,!1));function Wn(e,t,n){let r=!1,o=W(e.selection,(l)=>{let s=Ot(e,l.head,-1)||Ot(e,l.head,1)||l.head>0&&Ot(e,l.head-1,1)||l.head<e.doc.length&&Ot(e,l.head+1,-1);if(!s||!s.end)return l;r=!0;let c=s.start.from==l.head?s.end.to:s.end.from;return n?d.range(l.anchor,c):d.cursor(c)});if(!r)return!1;return t(C(e,o)),!0}var Rn=({state:e,dispatch:t})=>Wn(e,t,!1);function k(e,t,n){let r=W(e.state.selection,(o)=>{if(o.undirectional&&o.head>=o.anchor!=t)o=d.range(o.head,o.anchor);let l=n(o);return d.range(o.anchor,l.head,l.goalColumn,l.bidiLevel||void 0,l.assoc)});if(r.eq(e.state.selection))return!1;return e.dispatch(C(e.state,r)),!0}function pt(e,t){return k(e,t,(n)=>e.moveByChar(n,t))}var gt=(e)=>pt(e,!g(e)),yt=(e)=>pt(e,g(e));function St(e,t){return k(e,t,(n)=>e.moveByGroup(n,t))}var On=(e)=>St(e,!g(e)),Fn=(e)=>St(e,g(e));var In=(e)=>{let t=!g(e);return k(e,t,(n)=>Y(e.state,n,t))},Pn=(e)=>{let t=g(e);return k(e,t,(n)=>Y(e.state,n,t))};function kt(e,t){return k(e,t,(n)=>e.moveVertically(n,t))}var bt=(e)=>kt(e,!1),Ct=(e)=>kt(e,!0);function Mt(e,t){return k(e,t,(n)=>e.moveVertically(n,t,ft(e).height))}var ze=(e)=>Mt(e,!1),_e=(e)=>Mt(e,!0),Nn=(e)=>k(e,!0,(t)=>B(e,t,!0)),qn=(e)=>k(e,!1,(t)=>B(e,t,!1)),Vn=(e)=>{let t=!g(e);return k(e,t,(n)=>B(e,n,t))},Gn=(e)=>{let t=g(e);return k(e,t,(n)=>B(e,n,t))},Un=(e)=>k(e,!1,(t)=>d.cursor(e.lineBlockAt(t.head).from)),zn=(e)=>k(e,!0,(t)=>d.cursor(e.lineBlockAt(t.head).to)),Je=({state:e,dispatch:t})=>(t(C(e,{anchor:0})),!0),$e=({state:e,dispatch:t})=>(t(C(e,{anchor:e.doc.length})),!0),Ke=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:0})),!0),He=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),_n=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Jn=({state:e,dispatch:t})=>{let n=ee(e).map(({from:r,to:o})=>d.undirectionalRange(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:d.create(n),userEvent:"select"})),!0},$n=({state:e,dispatch:t})=>{let n=W(e.selection,(r)=>{let o=I(e),l=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);if(s.node.from>=l.node.from&&s.node.to<=l.node.to)l=s}for(let s=l;s;s=s.next){let{node:c}=s;if((c.from<r.from&&c.to>=r.to||c.to>r.to&&c.from<=r.from)&&s.next)return d.undirectionalRange(c.from,c.to)}return r});if(n.eq(e.selection))return!1;return t(C(e,n)),!0};function At(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let l of n.selection.ranges){let s=n.doc.lineAt(l.head);if(t?s.to<e.state.doc.length:s.from>0)for(let c=l;;){let a=e.moveVertically(c,t);if(a.head<s.from||a.head>s.to){if(!o.some((h)=>h.head==a.head))o.push(a);break}else if(a.head==c.head)break;else c=a}}if(o.length==r.ranges.length)return!1;return e.dispatch(C(n,d.create(o,o.length-1))),!0}var Kn=(e)=>At(e,!1),Hn=(e)=>At(e,!0),Qn=({state:e,dispatch:t})=>{let n=e.selection,r=null;if(n.ranges.length>1)r=d.create([n.main]);else if(!n.main.empty)r=d.create([d.cursor(n.main.head)]);if(!r)return!1;return t(C(e,r)),!0};function G(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange((l)=>{let{from:s,to:c}=l;if(s==c){let a=t(l);if(a<s)n="delete.backward",a=J(e,a,!1);else if(a>s)n="delete.forward",a=J(e,a,!0);s=Math.min(s,a),c=Math.max(c,a)}else s=J(e,s,!1),c=J(e,c,!0);return s==c?{range:l}:{changes:{from:s,to:c},range:d.cursor(s,s<l.head?-1:1)}});if(o.changes.empty)return!1;return e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?b.announce.of(r.phrase("Selection deleted")):void 0})),!0}function J(e,t,n){if(e instanceof b)for(let r of e.state.facet(b.atomicRanges).map((o)=>o(e)))r.between(t,t,(o,l)=>{if(o<t&&l>t)t=n?l:o});return t}var Lt=(e,t,n)=>G(e,(r)=>{let o=r.from,{state:l}=e,s=l.doc.lineAt(o),c,a;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(c=s.text.slice(0,o-s.from))){if(c[c.length-1]=="\t")return o-1;let h=Ze(c,l.tabSize),u=h%Gt(l)||Gt(l);for(let f=0;f<u&&c[c.length-1-f]==" ";f++)o--;a=o}else if(a=ye(s.text,o-s.from,t,t)+s.from,a==o&&s.number!=(t?l.doc.lines:1))a+=t?1:-1;else if(!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(a-s.from,o-s.from)))a=ye(s.text,a-s.from,!1,!1)+s.from;return a}),Se=(e)=>Lt(e,!1,!0);var Bt=(e)=>Lt(e,!0,!1),Dt=(e,t)=>G(e,(n)=>{let r=n.head,{state:o}=e,l=o.doc.lineAt(r),s=o.charCategorizer(r);for(let c=null;;){if(r==(t?l.to:l.from)){if(r==n.head&&l.number!=(t?o.doc.lines:1))r+=t?1:-1;break}let a=ye(l.text,r-l.from,t)+l.from,h=l.text.slice(Math.min(r,a)-l.from,Math.max(r,a)-l.from),u=s(h);if(c!=null&&u!=c)break;if(h!=" "||r!=n.head)c=u;r=a}return r}),Et=(e)=>Dt(e,!1),jn=(e)=>Dt(e,!0);var Yn=(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)});var Zn=(e)=>G(e,(t)=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),er=(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)});var tr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>({changes:{from:r.from,to:r.to,insert:F.of(["",""])},range:d.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},nr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,l=e.doc.lineAt(o),s=o==l.from?o-1:ye(l.text,o-l.from,!1)+l.from,c=o==l.to?o+1:ye(l.text,o-l.from,!0)+l.from;return{changes:{from:s,to:c,insert:e.doc.slice(o,c).append(e.doc.slice(s,o))},range:d.cursor(c)}});if(n.changes.empty)return!1;return t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0};function ee(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=e.doc.lineAt(r.to);if(!r.empty&&r.to==l.from)l=e.doc.lineAt(r.to-1);if(n>=o.number){let s=t[t.length-1];s.to=l.to,s.ranges.push(r)}else t.push({from:o.from,to:l.to,ranges:[r]});n=l.number+1}return t}function wt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let l of ee(e)){if(n?l.to==e.doc.length:l.from==0)continue;let s=e.doc.lineAt(n?l.to+1:l.from-1),c=s.length+1;if(n){r.push({from:l.to,to:s.to},{from:l.from,insert:s.text+e.lineBreak});for(let a of l.ranges)o.push(d.range(Math.min(e.doc.length,a.anchor+c),Math.min(e.doc.length,a.head+c)))}else{r.push({from:s.from,to:l.from},{from:l.to,insert:e.lineBreak+s.text});for(let a of l.ranges)o.push(d.range(a.anchor-c,a.head-c))}}if(!r.length)return!1;return t(e.update({changes:r,scrollIntoView:!0,selection:d.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0}var rr=({state:e,dispatch:t})=>wt(e,t,!1),or=({state:e,dispatch:t})=>wt(e,t,!0);function Wt(e,t,n){if(e.readOnly)return!1;let r=[];for(let l of ee(e))if(n)r.push({from:l.from,insert:e.doc.slice(l.from,l.to)+e.lineBreak});else r.push({from:l.to,insert:e.lineBreak+e.doc.slice(l.from,l.to)});let o=e.changes(r);return t(e.update({changes:o,selection:e.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var lr=({state:e,dispatch:t})=>Wt(e,t,!1),ir=({state:e,dispatch:t})=>Wt(e,t,!0),sr=(e)=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ee(t).map(({from:o,to:l})=>{if(o>0)o--;else if(l<t.doc.length)l++;return{from:o,to:l}})),r=W(t.selection,(o)=>{let l=void 0;if(e.lineWrapping){let s=e.lineBlockAt(o.head),c=e.coordsAtPos(o.head,o.assoc||1);if(c)l=s.bottom+e.documentTop-c.bottom+e.defaultLineHeight/2}return e.moveVertically(o,!0,l)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function cr(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),l;if(r&&o&&r.to<=t&&o.from>=t&&(l=r.type.prop(Q.closedBy))&&l.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from)))return{from:r.to,to:o.from};return null}var Qe=Rt(!1),ar=Rt(!0);function Rt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange((o)=>{let{from:l,to:s}=o,c=t.doc.lineAt(l),a=!e&&l==s&&cr(t,l);if(e)l=s=(s<=c.to?c:t.doc.lineAt(s)).to;let h=new Ln(t,{simulateBreak:l,simulateDoubleBreak:!!a}),u=Lr(h,l);if(u==null)u=Ze(/^\s*/.exec(t.doc.lineAt(l).text)[0],t.tabSize);while(s<c.to&&/\s/.test(c.text[s-c.from]))s++;if(a)({from:l,to:s}=a);else if(l>c.from&&l<c.from+100&&!/\S/.test(c.text.slice(0,l)))l=c.from;let f=["",fi(t,u)];if(a)f.push(fi(t,h.lineIndent(c.from,-1)));return{changes:{from:l,to:s,insert:F.of(f)},range:d.cursor(l+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Me(e,t){let n=-1;return e.changeByRange((r)=>{let o=[];for(let s=r.from;s<=r.to;){let c=e.doc.lineAt(s);if(c.number>n&&(r.empty||r.to>c.from))t(c,o,r),n=c.number;s=c.to+1}let l=e.changes(o);return{changes:o,range:d.range(l.mapPos(r.anchor,1),l.mapPos(r.head,1))}})}var ur=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Ln(e,{overrideIndentation:(l)=>{let s=n[l];return s==null?-1:s}}),o=Me(e,(l,s,c)=>{let a=Lr(r,l.from);if(a==null)return;if(!/\S/.test(l.text))a=0;let h=/^\s*/.exec(l.text)[0],u=fi(e,a);if(h!=u||c.from<l.from+h.length)n[l.from]=a,s.push({from:l.from,to:l.from+h.length,insert:u})});if(!o.changes.empty)t(e.update(o,{userEvent:"indent"}));return!0},te=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Me(e,(n,r)=>{r.push({from:n.from,insert:e.facet(it)})}),{userEvent:"input.indent"})),!0},Ft=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Me(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let l=Ze(o,e.tabSize),s=0,c=fi(e,Math.max(0,l-Gt(e)));while(s<o.length&&s<c.length&&o.charCodeAt(s)==c.charCodeAt(s))s++;r.push({from:n.from+s,to:n.from+o.length,insert:c.slice(s)})}),{userEvent:"delete.dedent"})),!0},hr=(e)=>(e.setTabFocusMode(),!0);var fr=[{key:"Ctrl-b",run:lt,shift:gt,preventDefault:!0},{key:"Ctrl-f",run:st,shift:yt},{key:"Ctrl-p",run:ut,shift:bt},{key:"Ctrl-n",run:ht,shift:Ct},{key:"Ctrl-a",run:Tn,shift:Un},{key:"Ctrl-e",run:wn,shift:zn},{key:"Ctrl-d",run:Bt},{key:"Ctrl-h",run:Se},{key:"Ctrl-k",run:Yn},{key:"Ctrl-Alt-h",run:Et},{key:"Ctrl-o",run:tr},{key:"Ctrl-t",run:nr},{key:"Ctrl-v",run:xe}],dr=[{key:"ArrowLeft",run:lt,shift:gt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:kn,shift:On,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Dn,shift:Vn,preventDefault:!0},{key:"ArrowRight",run:st,shift:yt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:vn,shift:Fn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:En,shift:Gn,preventDefault:!0},{key:"ArrowUp",run:ut,shift:bt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Je,shift:Ke},{mac:"Ctrl-ArrowUp",run:Ue,shift:ze},{key:"ArrowDown",run:ht,shift:Ct,preventDefault:!0},{mac:"Cmd-ArrowDown",run:$e,shift:He},{mac:"Ctrl-ArrowDown",run:xe,shift:_e},{key:"PageUp",run:Ue,shift:ze},{key:"PageDown",run:xe,shift:_e},{key:"Home",run:Bn,shift:qn,preventDefault:!0},{key:"Mod-Home",run:Je,shift:Ke},{key:"End",run:An,shift:Nn,preventDefault:!0},{key:"Mod-End",run:$e,shift:He},{key:"Enter",run:Qe,shift:Qe},{key:"Mod-a",run:_n},{key:"Backspace",run:Se,shift:Se,preventDefault:!0},{key:"Delete",run:Bt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Et,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:jn,preventDefault:!0},{mac:"Mod-Backspace",run:Zn,preventDefault:!0},{mac:"Mod-Delete",run:er,preventDefault:!0}].concat(fr.map((e)=>({mac:e.key,run:e.run,shift:e.shift}))),It=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Cn,shift:In},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Mn,shift:Pn},{key:"Alt-ArrowUp",run:rr},{key:"Shift-Alt-ArrowUp",run:lr},{key:"Alt-ArrowDown",run:or},{key:"Shift-Alt-ArrowDown",run:ir},{key:"Mod-Alt-ArrowUp",run:Kn},{key:"Mod-Alt-ArrowDown",run:Hn},{key:"Escape",run:Qn},{key:"Mod-Enter",run:ar},{key:"Alt-l",mac:"Ctrl-l",run:Jn},{key:"Mod-i",run:$n,preventDefault:!0},{key:"Mod-[",run:Ft},{key:"Mod-]",run:te},{key:"Mod-Alt-\\",run:ur},{key:"Shift-Mod-k",run:sr},{key:"Shift-Mod-\\",run:Rn},{key:"Mod-/",run:nn},{key:"Alt-A",mac:"Ctrl-A",run:on},{key:"Ctrl-m",mac:"Shift-Alt-m",run:hr}].concat(dr),Pt={key:"Tab",run:te,shift:Ft};var Nt=typeof String.prototype.normalize=="function"?(e)=>e.normalize("NFKD"):(e)=>e;class E{constructor(e,t,n=0,r=e.length,o,l){this.test=l,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=o?(s)=>o(Nt(s)):Nt,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 Gi(this.buffer,this.bufferPos)}next(){while(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=Uo(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Zi(e);let r=this.normalize(t);if(r.length)for(let o=0,l=n,s=!0;;o++){let c=r.charCodeAt(o),a=this.match(c,l,s,this.bufferPos+this.bufferStart,o==r.length-1);if(a)return this.value=a,this;if(o==r.length-1)break;if(s&&o<t.length&&t.charCodeAt(o)==c)l++;else s=!1}}}match(e,t,n,r,o){let l=null;for(let s=0;s<this.matches.length;){let c=this.matches[s],a=!1;if(this.query.charCodeAt(c.index)==e)if(c.index==this.query.length-1)l={from:c.from,to:r,precise:o&&c.precise};else c.index++,a=!0;if(a)s++;else this.matches.splice(s,1)}if(this.query.charCodeAt(0)==e)if(this.query.length==1)l={from:t,to:r,precise:n&&o};else this.matches.push({from:t,index:1,precise:n});if(l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart))l=null;return l}}if(typeof Symbol<"u")E.prototype[Symbol.iterator]=function(){return this};var zt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},De="gm"+(/x/.unicode==null?"":"u");class Ee{constructor(e,t,n,r=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=zt,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Te(e,t,n,r,o);this.re=new RegExp(t,De+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.iter=e.iter();let l=e.lineAt(r);this.curLineStart=l.from,this.matchPos=ie(e,r),this.getLine(this.curLineStart)}getLine(e){if(this.iter.next(e),this.iter.lineBreak)this.curLine="";else{if(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(){if(this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to)this.curLine="";else 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=ie(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length)this.nextLine();if((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}}}var Ae=new WeakMap;class P{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=Ae.get(e);if(!r||r.from>=n||r.to<=t){let s=new P(t,e.sliceString(t,n));return Ae.set(e,s),s}if(r.from==t&&r.to==n)return r;let{text:o,from:l}=r;if(l>t)o=e.sliceString(t,l)+o,l=t;if(r.to<n)o+=e.sliceString(r.to,n);return Ae.set(e,new P(l,o)),new P(t,o.slice(t-l,n-l))}}class Te{constructor(e,t,n,r,o){this.text=e,this.to=o,this.done=!1,this.value=zt,this.matchPos=ie(e,r),this.re=new RegExp(t,De+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.flat=P.get(e,r,this.chunkEnd(r+5000))}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);if(t){let n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this.matchPos=ie(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=P.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}if(typeof Symbol<"u")Ee.prototype[Symbol.iterator]=Te.prototype[Symbol.iterator]=function(){return this};function mr(e){try{return new RegExp(e,De),!0}catch(t){return!1}}function ie(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;while(t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344)t++;return t}var pr=(e)=>{let t=Go(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");if(s)s.select();return!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:o,result:l}=Fo(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 l.then((s)=>{let c=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!c){e.dispatch({effects:o});return}let a=n.doc.lineAt(n.selection.main.head),[,h,u,f,m]=c,L=f?+f.slice(1):0,v=u?+u:a.number;if(u&&m){let me=v/100;if(h)me=me*(h=="-"?-1:1)+a.number/n.doc.lines;v=Math.round(n.doc.lines*me)}else if(u&&h)v=v*(h=="-"?-1:1)+a.number;let qe=n.doc.line(Math.max(1,Math.min(n.doc.lines,v))),Ve=d.cursor(qe.from+Math.max(0,Math.min(L,qe.length)));e.dispatch({effects:[o,b.scrollIntoView(Ve.from,{y:"center"})],selection:Ve})}),!0},gr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},_t=w.define({combine(e){return vt(e,gr,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Jt(e){let t=[vr,kr];if(e)t.push(_t.of(e));return t}var yr=z.mark({class:"cm-selectionMatch"}),xr=z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Vt(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=ce.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=ce.Word)}function Sr(e,t,n,r){return e(t.sliceDoc(n,n+1))==ce.Word&&e(t.sliceDoc(r-1,r))==ce.Word}var kr=Ie.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){if(e.selectionSet||e.docChanged||e.viewportChanged)this.decorations=this.getDeco(e.view)}getDeco(e){let t=e.state.facet(_t),{state:n}=e,r=n.selection;if(r.ranges.length>1)return z.none;let o=r.main,l,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return z.none;let a=n.wordAt(o.head);if(!a)return z.none;s=n.charCategorizer(o.head),l=n.sliceDoc(a.from,a.to)}else{let a=o.to-o.from;if(a<t.minSelectionLength||a>200)return z.none;if(t.wholeWords){if(l=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(Vt(s,n,o.from,o.to)&&Sr(s,n,o.from,o.to)))return z.none}else if(l=n.sliceDoc(o.from,o.to),!l)return z.none}let c=[];for(let a of e.visibleRanges){let h=new E(n.doc,l,a.from,a.to);while(!h.next().done){let{from:u,to:f}=h.value;if(!s||Vt(s,n,u,f)){if(o.empty&&u<=o.from&&f>=o.to)c.push(xr.range(u,f));else if(u>=o.to||f<=o.from)c.push(yr.range(u,f));if(c.length>t.maxMatches)return z.none}}}return z.set(c)}},{decorations:(e)=>e.decorations}),vr=b.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),br=({state:e,dispatch:t})=>{let{selection:n}=e,r=d.create(n.ranges.map((o)=>e.wordAt(o.head)||d.cursor(o.head)),n.mainIndex);if(r.eq(n))return!1;return t(e.update({selection:r})),!0};function Cr(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),l=o&&o.from==n.from&&o.to==n.to;for(let s=!1,c=new E(e.doc,t,r[r.length-1].to);;)if(c.next(),c.done){if(s)return null;c=new E(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some((a)=>a.from==c.value.from))continue;if(l){let a=e.wordAt(c.value.from);if(!a||a.from!=c.value.from||a.to!=c.value.to)continue}return c.value}}var Mr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some((l)=>l.from===l.to))return br({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some((l)=>e.sliceDoc(l.from,l.to)!=r))return!1;let o=Cr(e,r);if(!o)return!1;return t(e.update({selection:e.selection.addRange(d.range(o.from,o.to),!1),effects:b.scrollIntoView(o.to)})),!0},T=w.define({combine(e){return vt(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:(t)=>new Zt(t),scrollToMatch:(t)=>b.scrollIntoView(t)})}});function $t(e){return e?[T.of(e),Be]:Be}class we{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||mr(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,(t,n)=>n=="n"?`
|
|
2
|
+
`:n=="r"?"\r":n=="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 Ht(this):new Kt(this)}getCursor(e,t=0,n){let r=e.doc?e:q.create({doc:e});if(n==null)n=r.doc.length;return this.regexp?O(this,r,t,n):R(this,r,t,n)}}class We{constructor(e){this.spec=e}}function Ar(e,t,n){return(r,o,l,s)=>{if(n&&!n(r,o,l,s))return!1;let c=r>=s&&o<=s+l.length?l.slice(r-s,o-s):t.doc.sliceString(r,o);return e(c,t,r,o)}}function R(e,t,n,r){let o;if(e.wholeWord)o=Br(t.doc,t.charCategorizer(t.selection.main.head));if(e.test)o=Ar(e.test,t,o);return new E(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:(l)=>l.toLowerCase(),o)}function Br(e,t){return(n,r,o,l)=>{if(l>n||l+o.length<r)l=Math.max(0,n-2),o=e.sliceString(l,Math.min(e.length,r+2));return(t(ae(o,n-l))!=ce.Word||t(ue(o,n-l))!=ce.Word)&&(t(ue(o,r-l))!=ce.Word||t(ae(o,r-l))!=ce.Word)}}class Kt extends We{constructor(e){super(e)}nextMatch(e,t,n){let r=R(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);r=R(this.spec,e,0,o).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let o=Math.max(t,r-1e4-this.spec.unquoted.length),l=R(this.spec,e,o,r),s=null;while(!l.nextOverlapping().done)s=l.value;if(s)return s;if(o==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);if(!r)r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length);return r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=R(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=R(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}function Dr(e,t,n){return(r,o,l)=>(!n||n(r,o,l))&&e(l[0],t,r,o)}function O(e,t,n,r){let o;if(e.wholeWord)o=Er(t.charCategorizer(t.selection.main.head));if(e.test)o=Dr(e.test,t,o);return new Ee(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:o},n,r)}function ae(e,t){return e.slice(ye(e,t,!1),t)}function ue(e,t){return e.slice(t,ye(e,t))}function Er(e){return(t,n,r)=>!r[0].length||(e(ae(r.input,r.index))!=ce.Word||e(ue(r.input,r.index))!=ce.Word)&&(e(ue(r.input,r.index+r[0].length))!=ce.Word||e(ae(r.input,r.index+r[0].length))!=ce.Word)}class Ht extends We{nextMatch(e,t,n){let r=O(this.spec,e,n,e.doc.length).next();if(r.done)r=O(this.spec,e,0,t).next();return r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let o=Math.max(t,n-r*1e4),l=O(this.spec,e,o,n),s=null;while(!l.next().done)s=l.value;if(s&&(o==t||s.from>o+10))return s;if(o==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 r=n.length;r>0;r--){let o=+n.slice(0,r);if(o>0&&o<e.match.length)return e.match[o]+n.slice(r)}return t})}matchAll(e,t){let n=O(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=O(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}var U=Z.define(),Re=Z.define(),D=Ne.define({create(e){return new oe(Le(e).create(),null)},update(e,t){for(let n of t.effects)if(n.is(U))e=new oe(n.value.create(),e.panel);else if(n.is(Re))e=new oe(e.query,n.value?Oe:null);return e},provide:(e)=>ci.from(e,(t)=>t.panel)});class oe{constructor(e,t){this.query=e,this.panel=t}}var Tr=z.mark({class:"cm-searchMatch"}),wr=z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Wr=Ie.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(D))}update(e){let t=e.state.field(D);if(t!=e.startState.field(D)||e.docChanged||e.selectionSet||e.viewportChanged)this.decorations=this.highlight(t)}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return z.none;let{view:n}=this,r=new xt;for(let o=0,l=n.visibleRanges,s=l.length;o<s;o++){let{from:c,to:a}=l[o];while(o<s-1&&a>l[o+1].from-500)a=l[++o].to;e.highlight(n.state,c,a,(h,u)=>{let f=n.state.selection.ranges.some((m)=>m.from==h&&m.to==u);r.add(h,u,f?wr:Tr)})}return r.finish()}},{decorations:(e)=>e.decorations});function _(e){return(t)=>{let n=t.state.field(D,!1);return n&&n.query.spec.valid?e(t,n):de(t)}}var he=_((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let o=d.single(r.from,r.to),l=e.state.facet(T);return e.dispatch({selection:o,effects:[Pe(e,r),l.scrollToMatch(o.main,e)],userEvent:"select.search"}),jt(e),!0}),fe=_((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,o=t.prevMatch(n,r,r);if(!o)return!1;let l=d.single(o.from,o.to),s=e.state.facet(T);return e.dispatch({selection:l,effects:[Pe(e,o),s.scrollToMatch(l.main,e)],userEvent:"select.search"}),jt(e),!0}),Rr=_((e,{query:t})=>{let n=t.matchAll(e.state,1000);if(!n||!n.length)return!1;return e.dispatch({selection:d.create(n.map((r)=>d.range(r.from,r.to))),userEvent:"select.search.matches"}),!0}),Or=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,l=[],s=0;for(let c=new E(e.doc,e.sliceDoc(r,o));!c.next().done;){if(l.length>1000)return!1;if(c.value.from==r)s=l.length;l.push(d.range(c.value.from,c.value.to))}return t(e.update({selection:d.create(l,s),userEvent:"select.search.matches"})),!0},Ut=_((e,{query:t})=>{let{state:n}=e,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let l=t.nextMatch(n,r,r);if(!l)return!1;let s=l,c=[],a,h,u=[];if(!s.precise)s=t.nextMatch(n,s.from,s.to);else if(s.from==r&&s.to==o)h=n.toText(t.getReplacement(s)),c.push({from:s.from,to:s.to,insert:h}),s=t.nextMatch(n,s.from,s.to),u.push(b.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."));let f=e.state.changes(c);if(s)a=d.single(s.from,s.to).map(f),u.push(Pe(e,s)),u.push(n.facet(T).scrollToMatch(a.main,e));return e.dispatch({changes:f,selection:a,effects:u,userEvent:"input.replace"}),!0}),Fr=_((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let o of t.matchAll(e.state,1e9)){let{from:l,to:s,precise:c}=o;if(c)n.push({from:l,to:s,insert:t.getReplacement(o)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:b.announce.of(r),userEvent:"input.replace.all"}),!0});function Oe(e){return e.state.facet(T).createPanel(e)}function Le(e,t){var n,r,o,l,s;let c=e.selection.main,a=c.empty||c.to>c.from+100?"":e.sliceDoc(c.from,c.to);if(t&&!a)return t;let h=e.facet(T);return new we({search:((n=t===null||t===void 0?void 0:t.literal)!==null&&n!==void 0?n:h.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(r=t===null||t===void 0?void 0:t.caseSensitive)!==null&&r!==void 0?r:h.caseSensitive,literal:(o=t===null||t===void 0?void 0:t.literal)!==null&&o!==void 0?o:h.literal,regexp:(l=t===null||t===void 0?void 0:t.regexp)!==null&&l!==void 0?l:h.regexp,wholeWord:(s=t===null||t===void 0?void 0:t.wholeWord)!==null&&s!==void 0?s:h.wholeWord})}function Qt(e){let t=Wi(e,Oe);return t&&t.dom.querySelector("[main-field]")}function jt(e){let t=Qt(e);if(t&&t==e.root.activeElement)t.select()}var de=(e)=>{let t=e.state.field(D,!1);if(t&&t.panel){let n=Qt(e);if(n&&n!=e.root.activeElement){let r=Le(e.state,t.query.spec);if(r.valid)e.dispatch({effects:U.of(r)});n.focus(),n.select()}}else e.dispatch({effects:[Re.of(!0),t?U.of(Le(e.state,t.query.spec)):Z.appendConfig.of(Be)]});return!0},Xt=(e)=>{let t=e.state.field(D,!1);if(!t||!t.panel)return!1;let n=Wi(e,Oe);if(n&&n.dom.contains(e.root.activeElement))e.focus();return e.dispatch({effects:Re.of(!1)}),!0},Yt=[{key:"Mod-f",run:de,scope:"editor search-panel"},{key:"F3",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Or},{key:"Mod-Alt-g",run:pr},{key:"Mod-d",run:Mr,preventDefault:!0}];class Zt{constructor(e){this.view=e;let t=this.query=e.state.field(D).query.spec;this.commit=this.commit.bind(this),this.searchField=ve("input",{value:t.search,placeholder:x(e,"Find"),"aria-label":x(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ve("input",{value:t.replace,placeholder:x(e,"Replace"),"aria-label":x(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ve("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=ve("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=ve("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,o,l){return ve("button",{class:"cm-button",name:r,onclick:o,type:"button"},l)}this.dom=ve("div",{onkeydown:(r)=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>he(e),[x(e,"next")]),n("prev",()=>fe(e),[x(e,"previous")]),n("select",()=>Rr(e),[x(e,"all")]),ve("label",null,[this.caseField,x(e,"match case")]),ve("label",null,[this.reField,x(e,"regexp")]),ve("label",null,[this.wordField,x(e,"by word")]),...e.state.readOnly?[]:[ve("br"),this.replaceField,n("replace",()=>Ut(e),[x(e,"replace")]),n("replaceAll",()=>Fr(e),[x(e,"replace all")])],ve("button",{name:"close",onclick:()=>Xt(e),"aria-label":x(e,"close"),type:"button"},["×"])])}commit(){let e=new we({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});if(!e.eq(this.query))this.query=e,this.view.dispatch({effects:U.of(e)})}keydown(e){if(Vo(this.view,e,"search-panel"))e.preventDefault();else if(e.keyCode==13&&e.target==this.searchField)e.preventDefault(),(e.shiftKey?fe:he)(this.view);else if(e.keyCode==13&&e.target==this.replaceField)e.preventDefault(),Ut(this.view)}update(e){for(let t of e.transactions)for(let n of t.effects)if(n.is(U)&&!n.value.eq(this.query))this.setQuery(n.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(T).top}}function x(e,t){return e.state.phrase(t)}var ne=30,re=/[\s\.,:;?!]/;function Pe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),o=e.state.doc.lineAt(n).to,l=Math.max(r.from,t-ne),s=Math.min(o,n+ne),c=e.state.sliceDoc(l,s);if(l!=r.from){for(let a=0;a<ne;a++)if(!re.test(c[a+1])&&re.test(c[a])){c=c.slice(a);break}}if(s!=o){for(let a=c.length-1;a>c.length-ne;a--)if(!re.test(c[a-1])&&re.test(c[a])){c=c.slice(0,a);break}}return b.announce.of(`${e.state.phrase("current match")}. ${c} ${e.state.phrase("on line")} ${r.number}.`)}var Ir=b.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"}}),Be=[D,Fe.low(Wr),Ir];var Pr=b.theme({"&":{color:"var(--code-fg)",backgroundColor:"var(--code-bg)",height:"100%",fontSize:"var(--code-size, 13px)"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:"var(--font-mono)",lineHeight:"1.55",overflow:"auto"},".cm-content":{caretColor:"var(--code-fg)",padding:"0.5rem 0"},".cm-line":{padding:"0 0.75rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--code-fg)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--code-selection)"},".cm-activeLine":{backgroundColor:"var(--code-active-line)"},".cm-gutters":{backgroundColor:"var(--code-gutter-bg)",color:"var(--code-gutter)",border:"none",borderRight:"1px solid var(--border)"},".cm-activeLineGutter":{backgroundColor:"var(--code-active-line)",color:"var(--code-fg)"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 0.5rem",minWidth:"2.25rem"},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:"var(--code-selection)",outline:"1px solid var(--border-strong)"},".cm-searchMatch":{backgroundColor:"var(--warn-soft)",outline:"1px solid var(--warn)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--accent-soft)",outline:"1px solid var(--accent)"},".cm-panels":{backgroundColor:"var(--surface-2)",color:"var(--text)",borderColor:"var(--border)",fontFamily:"var(--font)"},".cm-panels-top":{borderBottom:"1px solid var(--border)"},".cm-panel.cm-search":{padding:"0.5rem 2rem 0.5rem 0.5rem"},".cm-panel.cm-search input, .cm-panel.cm-search button, .cm-panel.cm-search label":{fontSize:"0.875rem"},".cm-panel.cm-search input[type=text]":{backgroundColor:"var(--surface)",color:"var(--text)",border:"1px solid var(--control-border)",borderRadius:"var(--radius-sm)",padding:"0.25rem 0.5rem"},".cm-panel.cm-search button":{backgroundColor:"var(--surface-3)",color:"var(--text)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",backgroundImage:"none",padding:"0.25rem 0.625rem"},".cm-panel.cm-search [name=close]":{color:"var(--muted)"}}),Nr=Xn.define([{tag:[i.keyword,i.modifier,i.operatorKeyword,i.controlKeyword],color:"var(--code-keyword)"},{tag:[i.string,i.regexp,i.special(i.string),i.inserted],color:"var(--code-string)"},{tag:[i.number,i.bool,i.null,i.atom,i.literal],color:"var(--code-number)"},{tag:[i.comment,i.lineComment,i.blockComment,i.docComment],color:"var(--code-comment)",fontStyle:"italic"},{tag:[i.typeName,i.className,i.namespace,i.tagName,i.standard(i.tagName)],color:"var(--code-type)"},{tag:[i.function(i.variableName),i.function(i.propertyName),i.definition(i.variableName),i.labelName],color:"var(--code-function)"},{tag:[i.meta,i.processingInstruction,i.annotation,i.attributeName,i.propertyName,i.heading],color:"var(--code-meta)"},{tag:i.heading,fontWeight:"bold"},{tag:i.strong,fontWeight:"bold"},{tag:i.emphasis,fontStyle:"italic"},{tag:i.strikethrough,textDecoration:"line-through"},{tag:i.link,color:"var(--code-function)",textDecoration:"underline"},{tag:i.url,color:"var(--code-function)"},{tag:i.invalid,color:"var(--danger)"},{tag:i.deleted,color:"var(--danger)"}]),en=[Pr,jo(Nr)];var qr={typescript:()=>(p("r5npc6zf"),import("./chunk-lang-typescript-r5npc6zf.js")),javascript:()=>(p("bk2s6a56"),import("./chunk-lang-javascript-bk2s6a56.js")),json:()=>(p("4pe1fv7e"),import("./chunk-lang-json-4pe1fv7e.js")),markdown:()=>(p("67cm3tjx"),import("./chunk-lang-markdown-67cm3tjx.js")),css:()=>(p("rwkzd784"),import("./chunk-lang-css-rwkzd784.js")),html:()=>(p("zhngbs9v"),import("./chunk-lang-html-zhngbs9v.js")),python:()=>(p("mnfhcvww"),import("./chunk-lang-python-mnfhcvww.js")),yaml:()=>(p("vw22drt8"),import("./chunk-lang-yaml-vw22drt8.js")),go:()=>(p("kbcbn346"),import("./chunk-lang-go-kbcbn346.js")),rust:()=>(p("e4a9s76x"),import("./chunk-lang-rust-e4a9s76x.js")),sql:()=>(p("28364npv"),import("./chunk-lang-sql-28364npv.js")),xml:()=>(p("2hv5xc8n"),import("./chunk-lang-xml-2hv5xc8n.js")),shell:()=>(p("43nea8tq"),import("./chunk-lang-shell-43nea8tq.js")),toml:()=>(p("a83hr7bw"),import("./chunk-lang-toml-a83hr7bw.js")),dockerfile:()=>(p("e87ssppx"),import("./chunk-lang-dockerfile-e87ssppx.js"))};async function tn(e){if(e==="plain")return;try{return(await qr[e]()).language()}catch(t){console.warn("a language for the editor failed to load",t);return}}function Vr(e){if(typeof e.attachShadow!=="function"||typeof CSSStyleSheet>"u"||!("adoptedStyleSheets"in Document.prototype))return{parent:e,root:void 0};let t=e.shadowRoot??e.attachShadow({mode:"open"}),n=new CSSStyleSheet;return n.replaceSync(":host{display:flex;flex-direction:column;min-height:0}.cm-editor{flex:1;min-height:0}"),t.adoptedStyleSheets=[...t.adoptedStyleSheets,n],{parent:t,root:t}}async function ao(e){let t=new qt,n=new qt,r=new qt,o=await tn(e.language),l=(f)=>[q.readOnly.of(!f),b.editable.of(f)],s={editable:e.editable,wrap:e.wrap,language:o??[]},c,a=(f)=>[Zo(),Bo(),Wo(),et(),qo(),Ko(),Jt(),$t({top:!0}),it.of(" "),q.phrases.of(e.phrases),en,Tt.of([{key:"Mod-s",preventDefault:!0,run:()=>(e.onSave(),!0)},{key:"Escape",run:()=>(e.onEscape(),!0)},Pt,...Yt,...rt,...It]),q.lineSeparator.of(f),t.of(l(s.editable)),n.of(s.wrap?b.lineWrapping:[]),r.of(s.language),b.updateListener.of((m)=>{if(m.docChanged)e.onChange()})],h=Vr(e.parent),u=new b({parent:h.parent,root:h.root,state:q.create({doc:e.text,extensions:a(e.eol)})});return c=u.state.doc,{text:()=>u.state.doc.sliceString(0,void 0,u.state.lineBreak),dirty:()=>c===void 0||!u.state.doc.eq(c),snapshot:()=>u.state.doc,markSaved:(f)=>{c=f??u.state.doc},replace:(f,m)=>{let L=u.scrollDOM.scrollTop;u.setState(q.create({doc:f,extensions:a(m)})),c=u.state.doc,u.scrollDOM.scrollTop=L},setEditable:(f)=>{s.editable=f,u.dispatch({effects:t.reconfigure(l(f))})},setWrap:(f)=>{s.wrap=f,u.dispatch({effects:n.reconfigure(f?b.lineWrapping:[])})},setLanguage:async(f)=>{s.language=await tn(f)??[],u.dispatch({effects:r.reconfigure(s.language)})},undo:()=>{j(u)},redo:()=>{V(u)},find:()=>{de(u)},tab:()=>{te(u)},focus:()=>u.focus(),scrollTop:()=>u.scrollDOM.scrollTop,scrollTo:(f)=>{u.scrollDOM.scrollTop=f},destroy:()=>u.destroy()}}export{ao as createEditor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D}from"./chunk-index-6cs1wvhy.js";import"./chunk-index-e8535c4h.js";export{D as Confirm};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import{s,r,t,g,e,n,h,y,l,f,x,m,k,P,_,oe}from"./chunk-index-s356ybxk.js";import{D}from"./chunk-index-6cs1wvhy.js";import{un}from"./chunk-index-eez0kbk4.js";import{Se}from"./chunk-index-b5patef1.js";import{Ee}from"./chunk-index-sk8cvb4e.js";import{H}from"./chunk-index-9ehqccfe.js";import"./chunk-index-e8535c4h.js";import{Y}from"./chunk-index-d941ae7c.js";var T=(a,o)=>({method:a,body:JSON.stringify(o)}),U=encodeURIComponent,L={list:()=>h("connectors/managed"),add:(a)=>h("connectors/managed",T("POST",a)),describe:(a,o)=>h(`connectors/managed/${U(a)}`,T("PATCH",{description:o})),remove:(a)=>h(`connectors/managed/${U(a)}`,{method:"DELETE"}),grants:()=>h("connectors/grants"),channels:()=>h("connectors/grants/channels"),authorize:(a)=>h("connectors/grants",T("POST",a)),describeGrant:(a,o,i)=>h(`connectors/grants/${U(a)}/${U(o)}`,T("PATCH",i)),revoke:(a,o)=>h(`connectors/grants/${U(a)}/${U(o)}`,{method:"DELETE"}),rotate:(a)=>h(`connectors/grants/${U(a)}/rotate`,{method:"POST"})};var F={name:"",url:"",description:"",header:"",token:""};function J(a){let[o,i]=r(F),[d,b]=r(),[v,C]=r(!1),p=(c)=>(R)=>i((E)=>({...E,[c]:R}));return n("form",{className:"stack",onSubmit:async(c)=>{c.preventDefault(),C(!0),b(void 0);try{let{connector:R,skipped:E}=await L.add({name:o.name,url:o.url,description:o.description,...o.header.trim()?{header:o.header}:{},...o.token?{token:o.token}:{}});i(F),f(E.length?t("Added {name}. Left out tools whose names are too long: {tools}",{name:R.name,tools:E.join(", ")}):t("Added {name}.",{name:R.name})),a.onDone()}catch(R){b(l(R))}finally{C(!1)}},autoComplete:"off",children:[n("label",{children:[t("Name"),e("input",{value:o.name,maxLength:12,placeholder:"notion",required:!0,onChange:(c)=>p("name")(c.target.value)}),e("span",{className:"meta",children:t("Lowercase letters, digits and -, up to 12; it becomes the prefix of its tool names.")})]}),n("label",{children:[t("MCP URL"),e("input",{type:"url",value:o.url,maxLength:500,placeholder:"https://mcp.example.com/mcp",required:!0,onChange:(c)=>p("url")(c.target.value)}),e("span",{className:"meta",children:t("A Streamable HTTP endpoint; one ending in /sse uses SSE. A credential may be part of the URL.")})]}),n("label",{children:[t("Purpose"),e("textarea",{value:o.description,maxLength:1000,rows:3,required:!0,onChange:(c)=>p("description")(c.target.value)}),e("span",{className:"meta",children:t("The knights decide from this text when to use the connector.")})]}),n("div",{className:"form-row",children:[n("label",{children:[t("Header name (optional)"),e("input",{value:o.header,maxLength:100,placeholder:"X-API-Key",onChange:(c)=>p("header")(c.target.value)}),e("span",{className:"meta",children:t("Leave empty to send Authorization: Bearer <token>.")})]}),n("label",{children:[t("Token (optional)"),e("input",{type:"password",value:o.token,maxLength:4000,autoComplete:"new-password",onChange:(c)=>p("token")(c.target.value)}),e("span",{className:"meta",children:t("Stored encrypted by the gateway and never shown again; leave empty if the credential is in the URL.")})]})]}),d?e(m,{message:d}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:v,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:v,children:t("Add connector")})]})]})}function K(a){let[o,i]=r(a.connector.description),[d,b]=r(),[v,C]=r(!1);return n("form",{className:"stack",onSubmit:async(w)=>{w.preventDefault(),C(!0),b(void 0);try{await L.describe(a.connector.name,o),f(t("Purpose updated.")),a.onDone()}catch(c){b(l(c))}finally{C(!1)}},children:[n("label",{children:[t("Purpose"),e("textarea",{value:o,maxLength:1000,rows:4,required:!0,onChange:(w)=>i(w.target.value)}),e("span",{className:"meta",children:t("From the next message on, the knights follow the new purpose.")})]}),d?e(m,{message:d}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:v,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:v,children:t("Save")})]})]})}function G(){let{data:a,error:o,reload:i}=un(()=>L.list()),[d,b]=r(!1),[v,C]=r(),[p,w]=r();return n("section",{className:"stack","aria-labelledby":"connectors-mine",children:[n("div",{className:"card-head",children:[e("h3",{id:"connectors-mine",children:t("MCP connectors")}),e("button",{type:"button",onClick:()=>b(!0),children:t("Add connector")})]}),o?e(m,{message:o}):null,!a&&!o?e(x,{}):null,a?.length===0?e(k,{children:t("No connectors yet.")}):null,a?.map((c)=>n("article",{className:"card connector-card",children:[n("div",{className:"card-head",children:[e("strong",{children:c.name}),c.tools===void 0?e(P,{tone:"warn",children:t("Tools unreadable")}):e(P,{children:t("{count} tools",{count:c.tools})})]}),e("p",{className:"meta connector-url",children:c.displayUrl??t("(the URL cannot be parsed)")}),e("p",{children:c.description}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>C(c),children:t("Edit purpose")}),e("button",{type:"button",className:"danger",onClick:()=>w(c),children:t("Remove")})]})]},c.name)),e(H,{open:d,title:t("Add an MCP connector"),onClose:()=>b(!1),children:d?e(J,{onCancel:()=>b(!1),onDone:()=>{b(!1),i()}}):null}),e(H,{open:v!==void 0,title:t("Edit purpose of {name}",{name:v?.name??""}),onClose:()=>C(void 0),children:v?e(K,{connector:v,onCancel:()=>C(void 0),onDone:()=>{C(void 0),i()}},v.name):null}),e(D,{open:p!==void 0,title:t("Remove connector"),confirmLabel:t("Remove"),tone:"danger",onClose:()=>w(void 0),onConfirm:async()=>{if(!p)return;await L.remove(p.name),f(t("Removed {name}.",{name:p.name})),i()},children:e("p",{children:t("Remove {name} and its token? From the next message on, the knights no longer use it.",{name:p?.name??""})})})]})}var V=" new",X=(a,o)=>a.map((i)=>o.find((d)=>d.id===i)?.label??i).join(", ");function Z(a){return e(H,{open:a.shown!==void 0,title:t("MCP URL of {bundle}",{bundle:a.shown?.bundle??""}),onClose:a.onClose,children:n("div",{className:"stack",children:[e("p",{children:t("This URL is the access credential and is shown only this once. Add a remote MCP server in the AI client and paste it; no separate token is needed.")}),e("input",{readOnly:!0,"aria-label":t("MCP URL"),className:"mcp-url",value:a.shown?.url??"",onFocus:(o)=>o.target.select()}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard?.writeText(a.shown?.url??"").then(()=>f(t("Copied")))},children:t("Copy")}),e("button",{type:"button",onClick:a.onClose,children:t("Done")})]})]})})}function Q(a){return n("fieldset",{className:"field",children:[e("legend",{children:t("Allowed operations")}),e("ul",{className:"menu",children:a.operations.map((o)=>{let i=a.chosen.includes(o.id);return e("li",{children:n("label",{className:"menu-item menu-toggle",children:[e("input",{type:"checkbox",checked:i,onChange:()=>a.onChange(i?a.chosen.filter((d)=>d!==o.id):[...a.chosen,o.id])}),e("span",{className:"menu-text",children:e("strong",{children:o.label})})]})},o.id)})})]})}function ee(a){let{view:o}=a,[i,d]=r(),[b,v]=r(o.bundles[0]?.name??V),[C,p]=r(""),[w,c]=r(""),[R,E]=r([]),[M,N]=r(""),[A,j]=r(""),[I,B]=r(),[O,z]=r(!1);return s(()=>{L.channels().then((u)=>{d(u),c((S)=>S||u[0]?.id||"")},(u)=>B(l(u)))},[]),n("form",{className:"stack",onSubmit:async(u)=>{u.preventDefault(),z(!0),B(void 0);try{let S=await L.authorize({bundle:b===V?C:b,channelId:w,operations:R,...M.trim()?{displayName:M}:{},...A.trim()?{description:A}:{}});f(t("Authorized the channel in {bundle}.",{bundle:S.bundle})),a.onDone(S.url?{bundle:S.bundle,url:S.url}:void 0)}catch(S){B(l(S))}finally{z(!1)}},children:[n("label",{htmlFor:"mcp-bundle",children:[t("Bundle"),n(Ee,{id:"mcp-bundle",value:b,onChange:(u)=>v(u.target.value),children:[o.bundles.map((u)=>e("option",{value:u.name,children:u.name},u.name)),e("option",{value:V,children:t("New bundle…")})]})]}),b===V?n("label",{children:[t("New bundle name"),e("input",{value:C,maxLength:80,required:!0,onChange:(u)=>p(u.target.value)}),e("span",{className:"meta",children:t("Channels in one bundle share one MCP URL.")})]}):null,n("label",{htmlFor:"mcp-channel",children:[t("Channel"),i===void 0&&!I?e(x,{}):e(Ee,{id:"mcp-channel",value:w,required:!0,onChange:(u)=>c(u.target.value),children:(i??[]).map((u)=>e("option",{value:u.id,children:`${u.guild} › #${u.name}`},u.id))})]}),e(Q,{operations:o.operations,chosen:R,onChange:E}),n("label",{children:[t("Name outside AI clients see (optional)"),e("input",{value:M,maxLength:100,onChange:(u)=>N(u.target.value)})]}),n("label",{children:[t("Purpose (optional)"),e("textarea",{value:A,maxLength:1000,rows:2,onChange:(u)=>j(u.target.value)})]}),I?e(m,{message:I}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:O,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:O||!w||R.length===0,children:t("Authorize")})]})]})}function ne(a){let{bundle:o,grant:i}=a.target,[d,b]=r(i.displayName),[v,C]=r(i.description),[p,w]=r(),[c,R]=r(!1);return n("form",{className:"stack",onSubmit:async(M)=>{M.preventDefault(),R(!0),w(void 0);try{await L.describeGrant(o,i.channelId,{displayName:d,description:v}),f(t("Updated what outside AI clients see.")),a.onDone()}catch(N){w(l(N))}finally{R(!1)}},children:[n("label",{children:[t("Name outside AI clients see"),e("input",{value:d,maxLength:100,required:!0,onChange:(M)=>b(M.target.value)})]}),n("label",{children:[t("Purpose"),e("textarea",{value:v,maxLength:1000,rows:3,onChange:(M)=>C(M.target.value)}),e("span",{className:"meta",children:t("The channel's name and topic on Discord stay as they are.")})]}),p?e(m,{message:p}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:c,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:c,children:t("Save")})]})]})}function te(a){let{grant:o}=a,{timeZone:i}=_();return n("li",{className:"grant",children:[n("div",{className:"card-head",children:[e("strong",{children:o.displayName}),o.visible?null:e(P,{tone:"warn",children:t("Not visible now")})]}),e("p",{className:"meta",children:`${o.guildName} › #${o.channelName}`}),e("p",{children:o.description||t("No purpose set.")}),e("p",{className:"meta",children:t("Allowed: {operations}",{operations:X(o.operations,a.operations)})}),o.audit.length?n("details",{children:[e("summary",{children:t("Recent activity")}),e("ul",{className:"audit",children:o.audit.map((d)=>n("li",{children:[e("time",{dateTime:d.at,children:oe(d.at,i)})," ",e("code",{children:d.tool})," ",d.status]},`${d.at}-${d.tool}`))})]}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:a.onDescribe,children:t("Rename / purpose")}),e("button",{type:"button",className:"danger",onClick:a.onRevoke,children:t("Revoke")})]})]})}function q(){let{data:a,error:o,reload:i}=un(()=>L.grants()),[d,b]=r(!1),[v,C]=r(),[p,w]=r(),[c,R]=r(),[E,M]=r();return n("section",{className:"stack","aria-labelledby":"mcp-grants",children:[n("div",{className:"card-head",children:[n("div",{children:[e("h3",{id:"mcp-grants",children:t("MCP authorizations")}),e("p",{className:"hint",children:t("Which channels outside AI clients may use through each bundle's MCP URL, and with which operations.")})]}),e("button",{type:"button",disabled:!a,onClick:()=>b(!0),children:t("Authorize a channel")})]}),o?e(m,{message:o}):null,!a&&!o?e(x,{}):null,a?.bundles.length===0?e(k,{children:t("There are no authorizations yet.")}):null,a?.bundles.map((N)=>n("article",{className:"card bundle-card",children:[n("div",{className:"card-head",children:[e("strong",{children:N.name}),e("button",{type:"button",className:"secondary",onClick:()=>R(N.name),children:t("New URL")})]}),N.grants.length===0?e(k,{children:t("No channels")}):null,e("ul",{className:"grants",children:N.grants.map((A)=>e(te,{bundle:N.name,grant:A,operations:a.operations,onDescribe:()=>C({bundle:N.name,grant:A}),onRevoke:()=>w({bundle:N.name,grant:A})},A.channelId))})]},N.name)),e(H,{open:d,title:t("Authorize a channel"),onClose:()=>b(!1),children:d&&a?e(ee,{view:a,onCancel:()=>b(!1),onDone:(N)=>{if(b(!1),N)M(N);i()}}):null}),e(H,{open:v!==void 0,title:t("What outside AI clients see"),onClose:()=>C(void 0),children:v?e(ne,{target:v,onCancel:()=>C(void 0),onDone:()=>{C(void 0),i()}},`${v.bundle}/${v.grant.channelId}`):null}),e(D,{open:p!==void 0,title:t("Revoke the channel"),confirmLabel:t("Revoke"),tone:"danger",onClose:()=>w(void 0),onConfirm:async()=>{if(!p)return;await L.revoke(p.bundle,p.grant.channelId),f(t("Revoked.")),i()},children:e("p",{children:t("Remove {channel} from bundle {bundle}? Its other channels and its URL keep working; operations already sent are not undone.",{channel:p?.grant.displayName??"",bundle:p?.bundle??""})})}),e(D,{open:c!==void 0,title:t("Replace the MCP URL"),confirmLabel:t("Replace URL"),tone:"danger",onClose:()=>R(void 0),onConfirm:async()=>{if(!c)return;let{bundle:N,url:A}=await L.rotate(c);if(A)M({bundle:N,url:A});i()},children:e("p",{children:t("Replace the URL of bundle {bundle}? The old URL stops working at once; every channel setting stays.",{bundle:c??""})})}),e(Z,{...E?{shown:E}:{},onClose:()=>M(void 0)})]})}var ae=`
|
|
2
|
+
/* The Connectors page's management: an address never breaks the layout, a bundle's channels sit as rows. */
|
|
3
|
+
.connector-url,
|
|
4
|
+
.connectors-page .grant .meta {
|
|
5
|
+
overflow-wrap: anywhere;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.connectors-page .grants,
|
|
9
|
+
.connectors-page .audit {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
list-style: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.connectors-page .grant {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: var(--space-1);
|
|
21
|
+
padding: var(--space-3) 0;
|
|
22
|
+
border-top: 1px solid var(--border);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.connectors-page .grant p {
|
|
26
|
+
margin: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.connectors-page .audit {
|
|
30
|
+
gap: var(--space-1);
|
|
31
|
+
font-size: var(--text-sm);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.mcp-url {
|
|
35
|
+
font-family: var(--font-mono);
|
|
36
|
+
}
|
|
37
|
+
`,W=()=>Y("connectors",ae);function _e(){W();let{connectorAdminUrl:a,connectorParts:o}=_(),i=o??{gateways:!0};return n("section",{className:"stack connectors-page",children:[n("header",{className:"page-head",children:[e("h1",{children:t("Connectors")}),a?e("a",{href:a,target:"_blank",rel:"noreferrer",children:t("Open connector admin")}):null]}),e("p",{className:"hint",children:t("Upstream MCP gateways and virtual servers used by the knights.")}),i.manage?e(G,{}):null,i.grants?e(q,{}):null,i.gateways?e(se,{}):null]})}function se(){let{data:a,error:o}=Se(()=>y.connectors(),"connectors");return n("section",{className:"stack",children:[o?e(m,{message:o}):null,!a&&!o?e(x,{}):null,a?n(g,{children:[e("h3",{children:t("Upstream gateways")}),a.gateways.length===0?e(k,{children:t("No gateways.")}):null,a.gateways.map((i)=>e("article",{className:"card",children:n("div",{className:"card-head",children:[e("strong",{children:i.name}),e(P,{children:i.enabled?t("Enabled"):t("Disabled")}),e(P,{tone:i.reachable?"plain":"warn",children:i.reachable?t("Reachable"):t("Unreachable")}),e(P,{children:t("{count} tools",{count:i.tools})})]})},i.name)),e("h3",{children:t("Virtual servers")}),a.servers.length===0?e(k,{children:t("No virtual servers.")}):null,a.servers.map((i)=>n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:i.name}),e(P,{children:t("{count} tools",{count:i.tools.length})})]}),n("p",{children:[t("Used by"),": ",i.usedBy.join(", ")||t("None")]}),n("details",{children:[e("summary",{children:t("Tool list")}),e("ul",{children:i.tools.map((d)=>e("li",{children:d},d))})]})]},i.name))]}):null]})}export{_e as ConnectorsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t,c,g,e,n,S,y,x,m,k,P,_,ke,oe,Me,vn,Ci,te}from"./chunk-index-s356ybxk.js";import{Se}from"./chunk-index-b5patef1.js";var u=[{kind:"owner",title:c("Owner channels"),note:c("Direct messages and channels where the owner talks to a knight.")},{kind:"agent",title:c("Bot server channels"),note:c("The bot server's one-to-one channels.")},{kind:"group",title:c("Group channels"),note:c("The bot server's group channels.")},{kind:"outside",title:c("Outside AI clients"),note:c("Conversations an outside AI client holds over MCP.")},{kind:"plugin",title:c("Plugin conversations"),note:c("Conversations a plugin runs, such as a web chat, as the host recorded them.")}];function T(){let{timeZone:o}=_(),{now:i}=te(),{data:a,error:s}=Se(()=>y.conversations(),"conversations"),d=a?.conversations;if(!d)return s?e(m,{message:s}):e(x,{});return n(g,{children:[s?e(m,{message:s}):null,u.map((r)=>{let h=d.filter((l)=>l.kind===r.kind);return n("section",{className:"stack",children:[e("h2",{children:t(r.title)}),e("p",{className:"hint",children:t(r.note)}),h.length===0?e(k,{children:t("None stored.")}):null,h.map((l)=>e(v,{item:l,now:i,timeZone:o},l.key))]},r.kind)})]})}function v(o){let{item:i}=o,a=vn(i.channel,i.id),s=Ci(i);return n("a",{className:"card card-link",href:S("conversations",i.key),children:[n("div",{className:"card-head",children:[e("strong",{children:s}),i.busy>0?e(P,{tone:"busy",children:t("running")}):null,i.liveBytes===0?e(P,{children:t("archived only")}):null]}),n("p",{className:"meta",children:[(i.kind==="outside"||i.kind==="plugin")&&i.startedAt?`${t("Started")} ${oe(i.startedAt,o.timeZone)} · `:a.detail?`${a.detail} · `:"",i.principal?`${i.visibility==="private"?t("Private to {name}",{name:i.principal.name}):t("Shared · {name}",{name:i.principal.name})} · `:"",t("Last active")," ",ke(i.lastActive,o.now,o.timeZone)," ·"," ",Me(i.liveBytes)," ·"," ",t("{count} archived",{count:i.archives})]})]})}export{T as ConversationsPage};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s,A,R,r,t,g,e,n,X,l,f,m,qe}from"./chunk-index-s356ybxk.js";import"./chunk-index-nncy9wxw.js";import"./chunk-index-tasbd41t.js";import"./chunk-index-5fyqxh0r.js";import"./chunk-index-qq86fxda.js";import{yi}from"./chunk-index-qdtmetsy.js";import{Zt}from"./chunk-index-n2v2bz8d.js";import{C}from"./chunk-index-e8535c4h.js";import{rn,ni,ko,Di,qs,Bs,Fs,Gs,Zs}from"./chunk-index-g0sdxjxr.js";import{re,ze}from"./chunk-index-6q3dx093.js";var Q=(a)=>X("table",a.name,{replace:!0});function W(a){let{view:i}=a;return e("li",{children:n("button",{type:"button",className:"menu-item council-row","aria-current":a.current||void 0,onClick:a.onPick,children:[e(qe,{view:i,size:40}),n("span",{className:"menu-text",children:[e("strong",{children:i.displayName}),e("span",{className:"meta",children:t("{count} knights",{count:i.members?.length??0})})]})]})})}function Y(a){let{council:i}=a,w=Di(),d=yi(),[v,M]=r([]),[y,O]=r(),[D,S]=r(""),[I,j]=r(!1),[P,z]=r(""),[b,k]=r(!1),[E,G]=r(),F=A(),x=i?.name,H=i?.members?.join(`
|
|
2
|
+
`);s(()=>{if(!a.open)return;if(G(void 0),j(i===void 0),z(""),k(!1),O(void 0),S(""),M(i?[...i.members??[]]:qs(d)),!x)return;let o=!0;return re.group(x).then((c)=>{if(!o)return;O(c),S(c.host)},()=>{return}),()=>{o=!1}},[a.open,x,H]);let L=R(()=>new Set(d.map((o)=>o.name)),[d]),U=d.find((o)=>o.home)?.name,u=Fs(v,(o)=>L.has(o)),h=Gs(u,D||void 0,U),_=(o)=>d.find((c)=>c.name===o)?.displayName??o,T=u.length>=rn,N=u.length>=ni,q=i===void 0||u.join(",")!==(i.members??[]).join(",")||y!==void 0&&h!==y.host,B=async(o)=>{k(!0),G(void 0);try{await o(),await ze()}catch(c){return G(l(c)),k(!1),!1}return k(!1),!0},J=async()=>{if(!i)return;if(!await B(async()=>{await re.updateGroup(i.name,{...u.join(",")!==(i.members??[]).join(",")?{members:u}:{},...y&&h!==y.host?{host:h}:{}})}))return;f(t("Saved.")),a.onClose()},K=async()=>{let o=P.trim();if(o==="")return;let c=new Set([...d.map((V)=>V.name),...w.map((V)=>V.name)]),p;if(!await B(async()=>{p=await re.createGroup({name:Zs(o,c),displayName:o,members:u,host:h})})||!p)return;ko(p.room),a.go({key:p.room,name:p.name}),f(t("Made {name}.",{name:p.displayName})),a.onClose()};return n("div",{className:"stack council-sheet",children:[w.length>0?n("section",{className:"stack","aria-label":t("Councils"),children:[e("h3",{children:t("Councils")}),e("ul",{className:"menu",children:w.map((o)=>e(W,{view:o,current:o.key===i?.key,onPick:()=>{ko(o.key),a.go(o),a.onClose()}},o.key))})]}):null,n("fieldset",{className:"field council-pick",children:[e("legend",{children:i?t("Edit this council"):t("Pick who sits")}),n("span",{className:"meta council-count","aria-live":"polite",children:[t("{count} of {max} picked",{count:u.length,max:rn}),T?` · ${t("At most {max} knights",{max:rn})}`:""]}),e("ul",{className:"menu",children:d.map((o)=>{let c=v.includes(o.name);return e("li",{children:n("label",{className:"menu-item menu-toggle seat-row",children:[e("input",{type:"checkbox",checked:c,disabled:!c&&T,onChange:()=>M(Bs(v,o.name,rn))}),e(qe,{view:o,size:32}),e("span",{className:"menu-text",children:e("strong",{children:o.displayName})})]})},o.key)})})]}),N?e(Zt,{label:t("Host"),value:h,onChange:S,options:u.map((o)=>({value:o,label:_(o)}))}):e("span",{className:"meta",children:t("A council needs at least {min} knights.",{min:ni})}),I?n("label",{htmlFor:F,children:[t("Council name"),e("input",{id:F,value:P,autoComplete:"off",onChange:(o)=>z(o.target.value)})]}):null,E?e(m,{message:E}):null,e("div",{className:"actions",children:i&&!I?n(g,{children:[e("button",{type:"button",className:"secondary",disabled:!N||b,onClick:()=>j(!0),children:t("Save as a new council")}),e("button",{type:"button",disabled:!N||!q||b,onClick:J,children:b?t("Saving…"):t("Done")})]}):e("button",{type:"button",disabled:!N||P.trim()===""||b,onClick:K,children:b?t("Saving…"):i?t("Save as a new council"):t("Make council")})})]})}function fe(a){return e(C,{open:a.open,title:t("Council"),onClose:a.onClose,size:"default",children:e(Y,{open:a.open,council:a.council,onClose:a.onClose,go:a.go??Q})})}export{fe as CouncilSheet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ji,Ki,zr}from"./chunk-index-qdtmetsy.js";import"./chunk-index-5fyqxh0r.js";import"./chunk-index-tasbd41t.js";import"./chunk-index-e8535c4h.js";import"./chunk-index-nncy9wxw.js";import"./chunk-index-qq86fxda.js";export{ji as CouncilChip,zr as CouncilView,Ki as useCouncilSheet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{eo}from"./chunk-index-s356ybxk.js";import{qr}from"./chunk-index-p98tt12y.js";import{As,Ns,vo,xo,Ls,Xs}from"./chunk-index-ar1x9fhw.js";var re=eo,ie=(s)=>{for(let n=s;n;n=n.parentElement){let{overflowY:a}=getComputedStyle(n);if((a==="auto"||a==="scroll")&&n.scrollHeight>n.clientHeight)return n}return document.scrollingElement??document.documentElement};function de(s){let{item:n,root:a,key:f,mode:C}=s,m=ie(a),O=m===document.scrollingElement||m===document.documentElement,A=()=>O?0:m.getBoundingClientRect().top,j=()=>O?window.innerHeight:m.clientHeight,x=(e)=>e-A()+m.scrollTop,c=(e)=>{let t=e.getBoundingClientRect();return{top:x(t.top),height:t.height}},u=document.createElement("div");u.className="drop-line",u.setAttribute("aria-hidden","true");let z=[],P=[],v=[],g=[],R=[],B={top:0,bottom:0},D=()=>{let e=[...a.querySelectorAll("[data-drop-item], [data-folder-block]")].map((t)=>[t,t.style.transform]);for(let[t]of e)t.style.removeProperty("transform");try{G()}finally{for(let[t,r]of e)if(r)t.style.transform=r}},G=()=>{if(C==="room"){P=[...a.querySelectorAll("[data-drop-zone]")],z=P.map((t)=>{let{top:r,height:T}=c(t);return{id:t.dataset.zoneId??"",kind:t.dataset.dropZone,...t.dataset.folder?{folder:t.dataset.folder}:{},top:r,bottom:r+T,items:t.dataset.collapsed===void 0?[...t.querySelectorAll("[data-drop-item]")].map((o)=>({key:o.dataset.key??"",...c(o)})):[]}});return}v=[...a.querySelectorAll(":scope > [data-folder-block]")],g=v.map((t)=>({key:t.dataset.key??"",...c(t)})),R=v.map((t)=>({key:t.dataset.key??"",...c(t.querySelector("[data-folder-head]")??t)}));let e=c(a);B={top:e.top,bottom:e.top+e.height}};qr(!0);let J=n.getBoundingClientRect().top;n.setAttribute("data-lifted",""),a.setAttribute("data-reordering","");let F=n.getBoundingClientRect().top-J;if(F)m.scrollTop+=F;D();let Q=x(s.y),I={x:0,y:s.y},Z=!1,p=0,h,d,q={type:"cancel"};try{n.setPointerCapture(s.pointerId)}catch{}let _=()=>{p=0;let e=x(I.y),t=e-Q;if(Math.abs(t)>re)Z=!0;n.style.transform=`translate3d(0, ${t}px, 0)`;let r;if(C==="room"){let o=As(z,f,e);q=o?{type:"room",drop:o}:{type:"cancel"};let H=o?z.indexOf(o.zone):-1;r=P[H];let y=r?.contains(n)??!1,E=o?.zone.kind!=="rest";if(!E&&y)r=void 0;let i=o&&E?o.zone.items:[],M=y?[...r.querySelectorAll("[data-drop-item]")]:[],U=i.findIndex((l)=>l.key===f),ee=o?xo(i.map((l)=>l.key),f,o.before):0,te=i.length>1?Math.max(0,(i[1]?.top??0)-(i[0]?.top??0)-(i[0]?.height??0)):0,X=y&&U>=0?vo(i,U,ee,te):[];for(let l of document.querySelectorAll("[data-drop-item]:not([data-lifted])"))l.style.removeProperty("transform");if(M.forEach((l,k)=>{if(X[k])l.style.transform=`translate3d(0, ${X[k]}px, 0)`}),r&&o&&!y&&E){let l=o.before===null?void 0:o.zone.items.find((ne)=>ne.key===o.before),k=c(r).top,oe=l?l.top-k:o.zone.items.length?c(r).height:0;u.style.top=`${oe}px`,r.append(u)}else u.remove();if(o?.zone.kind==="folder"&&o.zone.items.length===0&&r?.dataset.collapsed!==void 0){if(d?.zone!==o.zone.id){if(d)clearTimeout(d.timer);let l=o.zone.folder??"";d={zone:o.zone.id,timer:setTimeout(()=>{s.open(l),requestAnimationFrame(()=>requestAnimationFrame(()=>{D(),w()}))},Xs)}}}else if(d)clearTimeout(d.timer),d=void 0}else{let o=Ns(R,B,f,e);q=o?{type:"folder",before:o.before}:{type:"cancel"};let H=g.findIndex((i)=>i.key===f),y=o?xo(g.map((i)=>i.key),f,o.before):H,E=vo(g,H,y,12);v.forEach((i,M)=>{if(i!==n)i.style.transform=E[M]?`translate3d(0, ${E[M]}px, 0)`:""})}if(r!==h)h?.removeAttribute("data-drop-target"),r?.setAttribute("data-drop-target",""),h=r;let T=Ls(I.y,A(),A()+j());if(T)m.scrollTop+=T,w()},w=()=>{if(!p)p=requestAnimationFrame(_)},L=(e)=>{W(),s.done(e)},S=(e)=>e.pointerId===s.pointerId,K=(e)=>{if(!S(e))return;e.stopPropagation(),e.preventDefault(),I={x:e.clientX,y:e.clientY},w()},N=(e)=>{if(!S(e))return;if(e.stopPropagation(),p)cancelAnimationFrame(p),_();L(Z?q:{type:"tap"})},V=(e)=>{if(S(e))L({type:"cancel"})},Y=(e)=>{if(e.key!=="Escape")return;e.preventDefault(),e.stopPropagation(),L({type:"cancel"})},b=(e)=>e.preventDefault();function W(){if(qr(!1),window.removeEventListener("pointermove",K,!0),window.removeEventListener("pointerup",N,!0),window.removeEventListener("pointercancel",V,!0),window.removeEventListener("keydown",Y,!0),window.removeEventListener("touchmove",b,!0),window.removeEventListener("contextmenu",b,!0),p)cancelAnimationFrame(p);if(d)clearTimeout(d.timer);h?.removeAttribute("data-drop-target"),u.remove(),n.removeAttribute("data-lifted"),n.style.removeProperty("transform"),a.removeAttribute("data-reordering");for(let e of a.querySelectorAll("[data-drop-item], [data-folder-block]"))e.style.removeProperty("transform");try{n.releasePointerCapture(s.pointerId)}catch{}}return window.addEventListener("pointermove",K,!0),window.addEventListener("pointerup",N,!0),window.addEventListener("pointercancel",V,!0),window.addEventListener("keydown",Y,!0),window.addEventListener("touchmove",b,{capture:!0,passive:!1}),window.addEventListener("contextmenu",b,!0),w(),()=>L({type:"cancel"})}export{de as lift};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Et,Wt}from"./chunk-index-0xdptr30.js";import{p}from"./chunk-index-s356ybxk.js";function H(){try{let c=document.createElement("canvas");return!!(c.getContext("webgl2")||c.getContext("webgl"))}catch{return!1}}function x(c,n){return[c,n.includes("?")?n.slice(n.indexOf("?")):""].some((m)=>{let d=new URLSearchParams(m).get("nogl");return d!==null&&d!=="0"&&d!=="false"})}async function I(c,n,T){let m=n.variant==="compact",d=n.labels??Wt,l=new Map,E=(e)=>{l.clear();for(let t of e)l.set(t.id,{...t})};E(n.seats);let f={t:n.theme,s:n.scheme},a=null,o=document.createElement("div");o.className="rt-table",o.dataset.variant=m?"compact":"full";let g=document.createElement("div");g.className="rt-table-stage",o.appendChild(g);let r=null,y=!1,A=()=>!m&&(Boolean(n.listBelow)||y);c.appendChild(o);let u=new Map,S=()=>{if(!A()){r?.remove(),r=null,u.clear(),delete o.dataset.list;return}if(!r)r=document.createElement("ul"),r.className="rt-table-list",r.setAttribute("aria-label",d.table),o.appendChild(r),o.dataset.list="";for(let e of[...u.keys()])if(!l.has(e))u.delete(e);for(let e of l.values()){let t=u.get(e.id);if(!t){t=document.createElement("button"),t.type="button",t.dataset.seat=e.id;let s=e.id;t.addEventListener("click",(i)=>{let b=l.get(s);if(b)n.onSeatClick({id:b.id,name:b.name,at:Et(i,i.currentTarget)})}),u.set(e.id,t)}t.textContent=d.seat(e.name,e.state??"idle"),t.style.setProperty("--seat",e.color)}r.replaceChildren(...[...l.values()].map((e)=>{let t=document.createElement("li"),s=u.get(e.id);if(s)t.appendChild(s);return t}))};S();let w=(e)=>{y=!e,S(),n.onNames?.(e)},v=async()=>{let{createTable2D:e}=await (p("vy4w4r5k"),import("./chunk-table2d-vy4w4r5k.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()]}),w(!0)},C=async()=>{let{createTable3D:e}=await (p("0a62jerb"),import("./chunk-table3d-0a62jerb.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()],onNames:w},()=>{a?.dispose(),v()})};if(m||T==="svg"||T!=="webgl"&&(x(location.search,location.hash)||!H()))await v();else try{await C()}catch{await v()}let M,L=n.onSeatMenu;if(L){let{attachSeatMenu:e}=await (p("3tdcr44t"),import("./chunk-seat-menu-3tdcr44t.js"));M=e(o,(t,s,i)=>{let b=t instanceof Element?t.closest("[data-seat]")?.dataset.seat:void 0,h=l.get(b??a?.seatAt?.(s,i)??"");return h?{id:h.id,name:h.name}:void 0},L)}return{get kind(){return a.kind},setTheme(e,t){f={t:e,s:t},a.setTheme(e,t)},setSeats(e){E(e),S(),a.setSeats(e)},setState(e,t){let s=l.get(e);if(s)s.state=t;S(),a.setState(e,t)},setMark:(e,t)=>a.setMark(e,t),setAvatar(e,t,s){let i=l.get(e);if(i)if(i.avatarSvg=t,s===void 0)delete i.talkSvg;else i.talkSvg=s;return a.setAvatar(e,t,s)},setReducedMotion:(e)=>a.setReducedMotion(e),resetCamera:()=>a.resetCamera(),focus:(e,t)=>a.focus(e,t),focused:()=>a.focused(),seatAt:(e,t)=>a.seatAt?.(e,t)??null,getStats:()=>a.getStats(),dispose(){M?.(),a?.dispose(),o.remove()}}}export{I as mountRoundTable};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p,s,A,t,B,g,e,n,o,Qe,u,Oe,zt,Kn,ro,oo,qe,ei,Rn}from"./chunk-index-s356ybxk.js";import"./chunk-index-qq86fxda.js";import"./chunk-index-50w6yq2d.js";import{nr}from"./chunk-index-y1xv3dxs.js";import{Yt}from"./chunk-index-ddssgba9.js";import{Fi}from"./chunk-index-6ycrvwzs.js";var N=()=>(p("rw5myg2t"),import("./chunk-layout-actions-rw5myg2t.js")),b=(a)=>(p("wcwy91mp"),import("./chunk-placement-items-wcwy91mp.js")).then((r)=>r.folderMenu(a)),F=(a)=>({mode:"folder",key:a,item:(r)=>r.closest("[data-folder-block]"),root:(r)=>r.closest("[data-folder-block]")?.parentElement??null,onDrop:(r)=>{if(r.type==="folder")N().then((l)=>l.placeFolderBefore(a,r.before))},open:ro});function k(a){let{id:r,name:l}=a,i=!a.folded,d=A(),m=Yt(()=>b(r),F(r)),f=(c)=>{b(r).then((y)=>{if(!y)return;let h=c.getBoundingClientRect();Oe({...y,at:{x:h.left,y:h.bottom},via:"key",source:c})},()=>{return})};return n("section",{className:"folder","aria-label":l,"data-folder-block":"","data-key":r,"data-drop-zone":"folder","data-zone-id":r,"data-folder":r,"data-collapsed":i?void 0:"",children:[n("header",{className:"folder-head","data-folder-head":"",...m,children:[n("button",{type:"button",className:"folder-toggle","aria-expanded":i,"aria-controls":d,"aria-label":i?t("Collapse {name}",{name:l}):t("Expand {name}",{name:l}),onClick:()=>Kn(r),children:[e(o,{name:"chevron",size:16,className:"folder-chevron","data-open":i||void 0}),e("strong",{children:l}),e("span",{className:"meta",children:B(a.count,"{count} room","{count} rooms")}),i?null:a.stack]}),a.muted==="none"?null:e(o,{name:"bell-off",size:14,className:"muted-mark","data-partial":a.muted==="some"||void 0,role:"img","aria-hidden":!1,"aria-label":a.muted==="all"?t("Notifications are off"):t("Some notifications are off")}),i?null:a.summary,e("button",{type:"button",className:"icon-button folder-more","aria-haspopup":"menu","aria-label":t("Folder menu"),onClick:(c)=>f(c.currentTarget),children:e(o,{name:"more",size:18})})]}),e("div",{id:d,className:"folder-body",hidden:!i&&a.shown===0,children:i&&a.count===0?e("p",{className:"meta folder-empty",children:t("No rooms in this folder yet.")}):a.shown>0?a.children:null})]})}var w=4;function S(a){let r=a.rooms.slice(0,w),l=u((d)=>r.map((m)=>d.rooms[m]?.view),r.join(",")),i=a.rooms.length-r.length;return n("span",{className:"folder-stack","aria-hidden":"true",children:[l.map((d)=>d?e("span",{className:"folder-stack-item",children:e(qe,{view:d,size:28})},d.key):null),i>0?n("span",{className:"folder-stack-more",children:["+",i]}):null]})}function v(a){let r=u((l)=>({waiting:a.rooms.reduce((i,d)=>i+Qe(l,d),0),typing:a.rooms.some((i)=>l.rooms[i]?.typing)}),a.rooms.join(","));return n(g,{children:[r.typing?e(ei,{}):null,r.waiting?e(Rn,{count:r.waiting}):null]})}function R(a){return u((r)=>Fi(a,(l)=>r.rooms[l]?.view?.muted===!0),a.join(","))}function U(a){let r=a.folders.map((l)=>l.id).join(",");return s(()=>{if(a.listed)oo(r?r.split(","):[])},[a.listed,r]),e(g,{children:a.folders.map((l)=>e(M,{folder:l,...a},l.id))})}function M(a){let{folder:r}=a,l=R(r.rooms),i=zt().has(r.id),d=nr(r.rooms,a.active),m=i?d:r.rooms,f=i?r.rooms.filter((c)=>!d.includes(c)):[];return e(k,{id:r.id,name:r.name,count:r.rooms.length,folded:i,shown:m.length,muted:l,summary:e(v,{rooms:f}),stack:f.length>0?e(S,{rooms:f}):null,children:a.rooms(m)})}export{U as FolderList};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ae,zt,io,Kn,ro,oo}from"./chunk-index-s356ybxk.js";export{io as collapsedNow,ro as expandFolder,oo as pruneCollapsed,Ae as sectionFold,Kn as toggleCollapsed,zt as useCollapsed};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t,e,n,
|
|
1
|
+
import{t,e,n,o,S}from"./chunk-index-s356ybxk.js";import{Un,dn}from"./chunk-index-1tkzdy4s.js";function l({steps:s}){return n("div",{className:"page",children:[e("header",{className:"page-head",children:e("h1",{children:t("Finish setting up")})}),e("p",{className:"meta",children:t("These steps come first. The rest of the app opens when they are done.")}),e("ul",{className:"menu",children:s.map((a)=>e("li",{children:n("a",{className:"menu-item menu-link",href:S(a.open.page),children:[n("span",{className:"menu-text",children:[e("strong",{children:Un(a)}),dn(a)?e("span",{className:"meta",children:dn(a)}):null]}),e(o,{name:"chevron",size:16})]})},a.id))})]})}export{l as GatePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-index-yn1vvxj2.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ut}from"./chunk-index-7p31pda8.js";export{ut as HostPicture};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Eo,me,Rr,Ao,$o,No,Lo,ln,Cr,Xo,Da}from"./chunk-index-qq86fxda.js";export{Xo as keepCards,Cr as keepReads,Lo as noCards,No as noReads,Da as onFrame,ln as seedUnread,Eo as subscribeHost,Ao as totalUnread,$o as unreadCounts,Rr as unreadOf,me as useHost};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ee,E,s,A,Pe,R,a,r,t,B,g,e,n,o,S,yn,O,u,fe,l,f,x,m,k,P,jt,Wn,At,_,Kr,ke,Kt,xn,$t,fr,Re,Sn,Xt,no,te,Qn,vr,xr,Sr,Xe}from"./chunk-index-s356ybxk.js";import{Bn}from"./chunk-index-tasbd41t.js";import{or,ps,He,sr}from"./chunk-index-5fyqxh0r.js";import{D}from"./chunk-index-6cs1wvhy.js";import{me,No,Lo,ln,Cr,Xo}from"./chunk-index-qq86fxda.js";import{ct,ut}from"./chunk-index-7p31pda8.js";import{Br}from"./chunk-index-7gk2sdf4.js";import"./chunk-index-yn1vvxj2.js";import{Ee}from"./chunk-index-sk8cvb4e.js";import{H}from"./chunk-index-9ehqccfe.js";import"./chunk-index-e8535c4h.js";function Ke(c){let i={};for(let d of c)if(d.type==="multiselect")i[d.name]=[...Oe(d.initial)];else i[d.name]=Oe(d.initial)[0]??"";return i}var Oe=(c)=>c===void 0?[]:typeof c==="string"?[c]:[...c];function et(c,i){let d={};for(let p of c){let y=i[p.name];if(y===void 0||y===""||y.length===0)continue;d[p.name]=y}return d}function tt(c){let{field:i,value:d}=c,[p,y]=r(""),w=i.search?i.options.filter((h)=>h.label.toLowerCase().includes(p.trim().toLowerCase())):i.options,N=i.search?e("input",{type:"search",value:p,placeholder:t("Search…"),"aria-label":t("Search {name}",{name:i.label}),onChange:(h)=>y(h.target.value)}):null;if(i.type==="select")return n(g,{children:[N,n(Ee,{id:c.id,value:String(d),required:i.required===!0,"aria-describedby":c.described,...i.search?{size:6}:{},onChange:(h)=>c.onChange(h.target.value),children:[i.required?null:e("option",{value:"",children:t("None")}),w.map((h)=>e("option",{value:h.value,children:h.label},h.value))]})]});let b=new Set(Array.isArray(d)?d:[]);return n(g,{children:[N,e("fieldset",{"aria-describedby":c.described,children:w.map((h)=>n("label",{children:[e("input",{type:"checkbox",checked:b.has(h.value),onChange:(T)=>{let v=new Set(b);if(T.target.checked)v.add(h.value);else v.delete(h.value);c.onChange(i.options.filter((V)=>v.has(V.value)).map((V)=>V.value))}}),h.label]},h.value))})]})}function nt(c){let{field:i,value:d}=c,p=A(),y="hint"in i?i.hint:void 0,w=c.error||y?`${p}-note`:void 0,N;if("options"in i)N=e(tt,{field:i,id:p,value:d,described:w,onChange:c.onChange});else if(i.type==="textarea")N=e("textarea",{id:p,rows:5,value:String(d),maxLength:i.max??8000,required:i.required===!0,"aria-describedby":w,onChange:(b)=>c.onChange(b.target.value)});else N=e("input",{id:p,type:i.type==="url"?"url":"text",value:String(d),maxLength:i.max??500,required:i.required===!0,"aria-describedby":w,onChange:(b)=>c.onChange(b.target.value)});return n("div",{className:"host-field",children:[i.type==="multiselect"?e("span",{className:"field-label",children:i.label}):e("label",{htmlFor:p,children:i.label}),N,c.error||y?e("span",{id:`${p}-note`,className:c.error?"field-error":"hint",role:c.error?"alert":void 0,children:c.error??y}):null]})}function pe(c){let{spec:i}=c,[d,p]=r(()=>Ke(i.fields)),[y,w]=r(!1),[N,b]=r();return n("form",{className:"host-form",onSubmit:async(T)=>{if(T.preventDefault(),y)return;w(!0),b(void 0);try{b(await c.onSubmit(et(i.fields,d)))}catch(v){b({error:l(v)})}finally{w(!1)}},children:[i.fields.map((T)=>e(nt,{field:T,value:d[T.name]??"",error:N?.field===T.name?N.error:void 0,onChange:(v)=>p((V)=>({...V,[T.name]:v}))},T.name)),N&&!i.fields.some((T)=>T.name===N.field)?e(m,{message:N.error}):null,n("div",{className:"actions",children:[c.onCancel?e("button",{type:"button",className:"secondary",disabled:y,onClick:c.onCancel,children:t("Cancel")}):null,e("button",{type:"submit",disabled:y,children:i.submit})]})]})}function rt(c){if(!c.ok)return{error:or(c.error),...c.field?{field:c.field}:{}};if(c.notice)f(c.notice);if(c.open)sr(c.open);return}function oe(c){let[i,d]=r(),[p,y]=r(!1),w=async(b,h)=>rt(await c.run(b,h)),N=async(b)=>{if(b.form||b.confirm){d(b);return}y(!0);try{let h=await w(b,{});if(h)f(h.error,"danger")}catch(h){f(l(h),"danger")}finally{y(!1)}};if(c.actions.length===0)return null;return n("div",{className:c.className??"host-actions",children:[c.actions.map((b)=>e("button",{type:"button",className:b.style==="danger"?"danger":b.style==="secondary"?"secondary":"",disabled:p,onClick:()=>N(b),children:b.label},b.id)),i?.form?e(H,{open:!0,title:i.form.title,onClose:()=>d(void 0),children:e(pe,{spec:i.form,onCancel:()=>d(void 0),onSubmit:async(b)=>{let h=await w(i,b);if(!h)d(void 0);return h}})}):i?e(D,{open:!0,title:i.label,confirmLabel:i.label,tone:i.style==="danger"?"danger":"primary",onConfirm:async()=>{let b=await w(i,{});if(b)throw Error(b.error)},onClose:()=>d(void 0),children:e("p",{children:i.confirm})}):null]})}var _e=/^file:([A-Za-z0-9_-]{1,64})$/;function qe(c){let i=URL.parse(c,document.baseURI);return i!==null&&i.origin===window.location.origin}function ot({id:c,alt:i}){return e("img",{className:"file-image",src:`api/files/${encodeURIComponent(c)}`,alt:i,loading:"lazy",decoding:"async",onError:(d)=>{let p=document.createElement("span");p.textContent=i||t("Image"),d.currentTarget.replaceWith(p)}})}var re=ee(function({source:i}){return e("div",{className:"prose",children:e(jt,{remarkPlugins:[At],urlTransform:(d)=>_e.test(d)?d:Wn(d),components:{a:({href:d,children:p})=>d&&/^https?:\/\//.test(d)&&!qe(d)?e("a",{href:d,target:"_blank",rel:"noreferrer noopener",children:p}):d&&qe(d)?e("a",{href:d,children:p}):e("span",{children:p}),img:({src:d,alt:p})=>{let y=typeof d==="string"?_e.exec(d):null;return y?.[1]?e(ot,{id:y[1],alt:p??""}):e("span",{children:p})},pre:Kr,table:({children:d})=>e("div",{className:"table-wrap",children:e("table",{children:d})})},children:i})})});function st(c){switch(c??"open"){case"working":return t("Working…");case"done":return t("Done");case"superseded":return t("Replaced");case"expired":return t("Expired");default:return""}}var Se=(c)=>(c.state??"open")==="open";function ae(c){let{card:i}=c,d=st(i.state);return n("article",{className:"host-card","data-tone":i.tone??"note","data-state":i.state??"open",children:[n("header",{children:[e("h3",{children:i.title}),d?e(P,{tone:i.state==="working"?"busy":"plain",children:d}):null]}),i.body?e(re,{source:i.body}):null,i.links?.length?e("div",{className:"host-card-links",children:i.links.map((p)=>e("a",{href:p.url,...p.url.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:p.label},`${p.url}`))}):null,Se(i)&&i.buttons?.length?e(oe,{actions:i.buttons,run:c.run}):null]})}ct();function it(){let[c,i]=r(()=>Bn().toString());return s(()=>{let d=()=>i(Bn().toString());return window.addEventListener("popstate",d),window.addEventListener("hashchange",d),()=>{window.removeEventListener("popstate",d),window.removeEventListener("hashchange",d)}},[]),c}function at(c){if(!c.ok)return{error:or(c.error),...c.field?{field:c.field}:{}};if(c.notice)f(c.notice);if(c.open)sr(c.open);return}function lt(c){let{section:i}=c;switch(i.kind){case"markdown":return e(re,{source:i.text});case"card":return e(ae,{card:i.card,run:c.run});case"form":return n("section",{className:"stack",children:[e("h2",{className:"section-title",children:i.form.title}),e(pe,{spec:i.form,onSubmit:(d)=>c.submit(i.action,d)})]});case"list":return n("section",{className:"stack",children:[i.title?e("h2",{className:"section-title",children:i.title}):null,i.rows.length===0?e(k,{children:t("Nothing here.")}):null,e("ul",{className:"host-list",children:mt(i.rows).map(([d,p])=>n("li",{children:[p.attention?e("span",{className:"attention-dot",role:"img","aria-label":t("Needs attention")}):null,n("div",{className:"host-list-main",children:[p.open?e("a",{href:p.open,...p.open.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:p.title}):e("strong",{children:p.title}),p.subtitle?e("span",{children:p.subtitle}):null]}),p.actions?.length?e(oe,{actions:p.actions,run:c.run}):null]},d))})]})}}function dt({routeKey:c}){let i=c??"",d=it(),p=me((v)=>v.pages[i]??0),[y,w]=r(0),[N,b]=r({});s(()=>{let v=!0;return He.page(i,Object.fromEntries(new URLSearchParams(d))).then((V)=>v&&b({page:V}),(V)=>{if(!v)return;let q=V instanceof fe&&V.status===404;b((z)=>({...q||!z.page?{}:{page:z.page},error:l(V),gone:q}))}),()=>{v=!1}},[i,d,p,y]);let h=async(v,V)=>{let q=await He.pageAct(i,{action:v,input:V}),z=at(q);if(!z)w((I)=>I+1);return z},T=async(v,V)=>{let q=await He.pageAct(i,{action:v.id,input:V});if(q.ok)w((z)=>z+1);return q};if(N.gone)return e("div",{className:"page",children:e(k,{children:t("This page is not available.")})});if(!N.page)return e("div",{className:"page",children:N.error?e(m,{message:N.error}):e(x,{})});return n("div",{className:"page",children:[e("header",{className:"page-head",children:e("h1",{children:N.page.title})}),N.error?e(m,{message:N.error}):null,N.page.sections.map((v,V)=>e(lt,{section:v,run:T,submit:h},V))]})}function mt(c){let i=new Map;return c.map((d)=>{let p=i.get(d.title)??0;return i.set(d.title,p+1),[`${d.title}:${p}`,d]})}function ze(c){let i=me((T)=>T.cards[c.room]??Lo),d=Re("(min-width: 720px) and (min-height: 760px)"),[p,y]=r();if(i.length===0)return null;let w=i.filter((T)=>Se(T)||T.state==="working"),N=i.filter((T)=>!w.includes(T)),b=p??(d&&w.length>0),h=w[0];return n("div",{className:"host-cards","data-open":b||void 0,children:[n("button",{type:"button",className:"host-cards-toggle","aria-expanded":b,onClick:()=>y(!b),children:[e(o,{name:"chevron",size:14}),h?n("span",{children:[e("strong",{children:B(w.length,"{count} card waiting","{count} cards waiting")}),`: ${h.title}`]}):e("span",{children:t("Earlier cards ({count})",{count:N.length})})]}),b?n("div",{className:"host-cards-body",children:[w.map((T)=>e(ae,{card:T,run:c.run(T.id)},T.id)),N.length?n("details",{className:"host-cards-older",children:[e("summary",{children:t("Earlier cards ({count})",{count:N.length})}),N.map((T)=>e(ae,{card:T,run:c.run(T.id)},T.id))]}):null]}):null]})}var ft=/https?:\/\/[^\s<>"']+/g,pt=/[.,;:!?)\]}\u3001\u3002\uff0c\uff1b\uff1a\uff01\uff1f\uff09\u300d\u300f]+$/;function gt(c){let i=c.replace(pt,""),d=URL.parse(i);return d&&(d.protocol==="https:"||d.protocol==="http:")?i:""}function De({text:c}){let i=[],d=0;for(let p of c.matchAll(ft)){let y=gt(p[0]);if(y==="")continue;let w=p.index;if(w>d)i.push(c.slice(d,w));i.push(e("a",{href:y,target:"_blank",rel:"noreferrer noopener",children:y},`${w}`)),d=w+y.length}if(d<c.length)i.push(c.slice(d));return e("span",{className:"plain",children:i})}var Ue=ee(function(i){let{message:d}=i,p=d.authorKind??"external";if(p==="notice")return n("li",{className:"host-notice","data-mid":d.id,"data-highlight":i.highlighted||void 0,"data-enter":i.enter||void 0,children:[e(o,{name:"bell",size:14}),e(re,{source:d.text}),e("time",{dateTime:d.at,children:Kt(d.at,i.timeZone)})]});let y=p==="member"&&d.principalId!==void 0&&d.principalId===i.me;return n("li",{className:"message","data-mid":d.id,"data-author":p,"data-mine":y||void 0,"data-header":i.header||void 0,"data-enter":i.enter||void 0,"data-unread":i.unread||void 0,"data-highlight":i.highlighted||void 0,children:[y?null:e("span",{className:"message-avatar",children:i.header?e(ut,{picture:d.picture,name:d.author}):null}),n("div",{className:"message-main",children:[i.header?n("div",{className:"message-meta",children:[e("strong",{children:d.author}),d.authorLabel?e("span",{className:"label-chip",children:d.authorLabel}):null,e("time",{dateTime:d.at,children:Kt(d.at,i.timeZone)})]}):null,n("div",{className:"bubble",children:[e(no,{files:d.files}),d.text?p==="assistant"?e(re,{source:d.text}):e(De,{text:d.text}):null,e(Xt,{files:d.files,message:d}),d.expiredFiles?e("p",{className:"message-expired",children:B(d.expiredFiles,"{count} file was removed","{count} files were removed")}):null]}),d.edited?e("span",{className:"message-edited",children:t("edited")}):null]})]})});var ht=1500,bt=96,ge=new Set,Ae=new Map;function yt(c){if(document.visibilityState!=="visible")return!1;return!c||c.scrollHeight-c.scrollTop-c.clientHeight<bt}function $e(c){if(!(c instanceof Element))return;let i=c.closest("[data-unread][data-mid]");return i?Number(i.dataset.mid):void 0}function Be(c){let{room:i,scroller:d,messages:p,began:y,enterAfter:w,me:N,shared:b}=c,h=a({seen:void 0,watched:new Set}),[,T]=r(0),v=Ae.get(i)??ge;if(w!==void 0&&p){let M=h.current;M.seen??=w;let F=yt(d.current),Z=M.seen;for(let L of p){if(L.id<=M.seen)continue;if(F)M.watched.add(L.id);Z=Math.max(Z,L.id)}M.seen=Z}let V=R(()=>{if(y===void 0||w===void 0||!p)return ge;let M=new Set;for(let F of p){if(F.id===0||F.id<=y)continue;if(F.kind==="system"||F.note)continue;if(F.authorKind==="notice")continue;if(F.principalId===void 0?F.kind==="owner"&&!b:F.principalId===N)continue;if(h.current.watched.has(F.id)||v.has(F.id))continue;M.add(F.id)}return M.size===0?ge:M},[p,y,w,N,b,v]),q=E((M)=>{let F=Ae.get(i)??ge;if(F.has(M))return;Ae.set(i,new Set(F).add(M)),T((Z)=>Z+1)},[i]),z=V.size>0;s(()=>{let M=d.current;if(!M||!z)return;let F=(L)=>{if(L.pointerType==="touch")return;let W=$e(L.target);if(W!==void 0)q(W)},Z=(L)=>{let W=$e(L.target);if(W!==void 0)q(W)};return M.addEventListener("pointerover",F,{passive:!0}),M.addEventListener("focusin",Z,{passive:!0}),M.addEventListener("click",Z,{passive:!0}),()=>{M.removeEventListener("pointerover",F),M.removeEventListener("focusin",Z),M.removeEventListener("click",Z)}},[d,q,z]);let I=a(new Map),G=[...V].join(",");return s(()=>{let M=d.current,F=I.current;for(let[Q,Y]of F)if(!V.has(Q))clearTimeout(Y),F.delete(Q);if(!M||!z||typeof IntersectionObserver!=="function"||!matchMedia("(pointer: coarse)").matches)return;let Z=(Q)=>{let Y=F.get(Q);if(Y===void 0)return;clearTimeout(Y),F.delete(Q)},L=new IntersectionObserver((Q)=>{for(let Y of Q){let ne=Number(Y.target.dataset.mid),le=Y.rootBounds;if(!(Y.isIntersecting&&(Y.intersectionRatio>=0.5||le!==null&&Y.intersectionRect.height>=le.height*0.5))){Z(ne);continue}if(F.has(ne))continue;F.set(ne,setTimeout(()=>{if(F.delete(ne),document.visibilityState==="visible")q(ne)},ht))}},{root:M,threshold:[0,0.25,0.5,0.75,1]}),W=[...M.querySelectorAll("[data-unread][data-mid]")];for(let Q of W)L.observe(Q);let j=()=>{if(document.visibilityState!=="visible")return;for(let Q of W)L.unobserve(Q),L.observe(Q)};return document.addEventListener("visibilitychange",j),()=>{document.removeEventListener("visibilitychange",j),L.disconnect()}},[d,q,z,G]),s(()=>{let M=I.current;return()=>{for(let F of M.values())clearTimeout(F);M.clear()}},[]),V}ct();var vt=3;function wt({marks:c}){let[i,d]=r(!1);return n("li",{className:"seen",children:[n("button",{type:"button",className:"seen-toggle","aria-expanded":i,onClick:()=>d((p)=>!p),children:[c.slice(0,vt).map((p)=>e(ut,{picture:{principal:p.principal},name:p.name,size:16},p.principal)),e("span",{children:t("Seen by {count}",{count:c.length})})]}),i?e("span",{className:"seen-names",children:c.map((p)=>p.name).join(t(", "))}):null]})}function kt(c,i){let d=Xe(),p=u((y)=>y.connects);s(()=>{let y=i.current;if(!y)return;let w=0,N=0,b,h,T=()=>{if(h=void 0,document.visibilityState!=="visible")return;let q=y.getBoundingClientRect(),z=0;for(let G of y.querySelectorAll("[data-mid]")){let M=G.getBoundingClientRect();if(M.bottom>q.top&&M.top<q.bottom-4)z=Math.max(z,Number(G.dataset.mid))}if(z<=w)return;let I=N+1000-Date.now();if(I>0){clearTimeout(b),b=setTimeout(v,I);return}if(d.send({type:"read",room:c,upTo:z}))w=z,N=Date.now()},v=()=>{if(h===void 0)h=requestAnimationFrame(T)};y.addEventListener("scroll",v,{passive:!0}),document.addEventListener("visibilitychange",v),window.addEventListener("resize",v);let V=new MutationObserver(v);return V.observe(y,{childList:!0,subtree:!0}),v(),()=>{if(y.removeEventListener("scroll",v),document.removeEventListener("visibilitychange",v),window.removeEventListener("resize",v),V.disconnect(),clearTimeout(b),h!==void 0)cancelAnimationFrame(h)}},[d,c,i,p])}function he(c){let{roomKey:i}=c;kt(i,c.scroller);let d=u((v)=>v.principal?.id),p=u((v)=>v.rooms[i]?.messages),y=me((v)=>v.reads[i]??No),w=me((v)=>v.cursor[i]),N=a(void 0);if(N.current===void 0&&w!==void 0)N.current=w;let b=u((v)=>v.rooms[i]?.view?.notes===!0),h=Be({room:i,scroller:c.scroller,messages:p,began:N.current,enterAfter:c.enterAfter,me:d,shared:c.host===!0||b}),T=R(()=>{let V=(p??[]).filter((I)=>I.kind!=="system"),q=N.current===void 0?void 0:V.find((I)=>I.id>(N.current??0)&&(I.principalId===void 0||I.principalId!==d))?.id,z=new Map;for(let I of y){if(I.principal===d)continue;let G=V.findLast((M)=>M.id<=I.upTo);if(G)z.set(G.id,[...z.get(G.id)??[],I])}return{before:(I)=>I.id===q?e("li",{className:"new-divider",children:e("span",{children:t("New messages")})}):null,after:(I)=>{let G=z.get(I.id);return G?e(wt,{marks:G}):null},unread:(I)=>h.has(I.id),...c.host?{message:(I,G)=>I.kind==="system"&&I.authorKind===void 0?void 0:e(Ue,{message:I,header:G.header,enter:G.enter,unread:G.unread,timeZone:G.timeZone,me:d,highlighted:c.highlight===I.id})}:{}}},[p,y,d,c.host,c.highlight,h]);return e(Qn,{roomKey:i,enterAfter:c.enterAfter,quotable:c.quotable,decor:T})}ct();var Nt=20,Ht=2600,Ge;function Rt(c,i,d){let p=u((b)=>b.connects),y=me((b)=>b.rooms[c]??0),[w,N]=r({view:void 0,error:void 0,gone:!1});return s(()=>{let b=!0;return He.open(i,d).then((h)=>{if(!b)return;O.dispatch({type:"history_loaded",room:c,messages:h.messages,more:h.more,older:!1}),Cr(c,h.reads,h.cursor),Xo(c,h.cards),N({view:h,error:void 0,gone:!1})},(h)=>{if(!b)return;let T=h instanceof fe&&h.status===404;N((v)=>({view:T?void 0:v.view,error:l(h),gone:T}))}),()=>{b=!1}},[c,i,d,p,y]),w}function St(c){let{header:i}=c;return n(g,{children:[i.banner?e("p",{className:"host-banner","data-tone":i.banner.tone,role:"status",children:i.banner.text}):null,i.fields.length?e("dl",{className:"host-head-fields",children:i.fields.map((d)=>n("div",{children:[e("dt",{children:d.label}),e("dd",{children:d.link?e("a",{href:d.link,...d.link.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:d.value}):d.value})]},`${d.label}:${d.value}`))}):null,e(oe,{className:"host-actions bar",actions:i.actions,run:c.run})]})}function Et({roomKey:c}){let i=Xe(),d=ps(c),p=d?.kind??"",y=d?.id??"",{view:w,error:N,gone:b}=Rt(c,p,y),h=u((C)=>C.rooms[c]),T=u((C)=>C.limits),v=u((C)=>C.connects),V=u((C)=>C.connection==="open"),q=a(null),z=a(null),{away:I,onScroll:G,onGrow:M,toEnd:F}=Sr(q),[Z,L]=r(!1),[W,j]=r(),[Q,Y]=r(Ge),[ne,le]=r(!1),[Le,Te]=r(),ye=a(void 0),se=a(void 0),J=w!==void 0,ce=vr(!Re("(min-width: 1024px)"));if(s(()=>{if(!d||b||!J)return;return i.send({type:"subscribe",room:c}),i.focus(c),()=>{i.focus(void 0),i.send({type:"unsubscribe",room:c})}},[i,c,v,b,J]),J&&ye.current===void 0)ye.current=h?.messages.at(-1)?.id??0;Pe(()=>{if(J)F(!1)},[J]),Pe(()=>{let C=q.current;if(C&&se.current!==void 0)C.scrollTop+=C.scrollHeight-se.current,se.current=void 0},[h?.messages[0]?.id]),s(()=>{let C=z.current;if(!C||typeof ResizeObserver>"u")return;let U=new ResizeObserver(M);return U.observe(C),()=>U.disconnect()},[M]);let ve=E(async()=>{let C=O.getState().rooms[c]?.messages[0];if(!C)return!1;let U=await He.older(p,y,C.id,yn);return O.dispatch({type:"history_loaded",room:c,messages:U.messages,more:U.more,older:!0}),Cr(c,U.reads,void 0),U.more},[c,p,y]),de=a(void 0);s(()=>{let C=()=>{let U=Number(Bn().get("message"));de.current=Number.isSafeInteger(U)&&U>0?U:void 0};return C(),window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[]);let we=h?.messages[0]?.id,Me=h?.more===!0;s(()=>{let C=de.current,U=q.current;if(!J||C===void 0||!U)return;let X=U.querySelector(`[data-mid="${C}"]`);if(X){de.current=void 0,X.scrollIntoView({block:"center"}),Te(C),requestAnimationFrame(()=>U.dispatchEvent(new Event("scroll"))),setTimeout(()=>Te(void 0),Ht);return}if(we!==void 0&&C<we&&Me){let ie=0;(async()=>{if(ie+=1,!await ve().catch(()=>!1)||ie>=Nt)de.current=void 0})()}},[J,we,Me,h?.messages.length,ve]);let Fe=(C,U={},X)=>He.act(p,y,{action:C.id,...X===void 0?{}:{card:X},input:U}),Qe=(C,U)=>Fe(C,U),Ye=(C)=>(U,X)=>Fe(U,X,C);if(b||!J&&!N&&!d)return e("section",{className:"room",children:n("div",{className:"page",children:[e(k,{children:t("This room is not available.")}),e("a",{className:"back",href:S("rooms"),children:t("Back to rooms")})]})});let K=w?.access.send??[],Ne=K.length>1,xe=Ne&&ne,Ie=Q&&K.includes(Q)?Q:K.includes("turn")?"turn":K[0],Ve=xe||Ie==="turn",Je=Ve?w?.wording?.turn?.placeholder??t("Ask AI…"):w?.wording?.note?.placeholder??t("Write an internal note…"),ue=w?.header.title??c,je=h?.messages??[];return n("section",{className:"room",...ce.surface,onDragOver:(C)=>{if(K.length&&C.dataTransfer.types.includes("Files"))C.preventDefault()},onDrop:(C)=>{if(!K.length||!C.dataTransfer.files.length)return;C.preventDefault(),j([...C.dataTransfer.files])},children:[n("header",{className:"room-head",children:[e("a",{className:"icon-button room-back",href:S("rooms"),"aria-label":t("Back to rooms"),children:e(o,{name:"back"})}),e(fr,{open:ce.enabled?ce.show:void 0,children:e(ut,{name:ue,size:40})}),n("div",{className:"room-title",children:[e("h1",{children:ue}),e("span",{className:"room-status","data-working":h?.typing||void 0,children:h?.typing?t("Working…"):t("Host room")})]})]}),!V?n("div",{className:"offline-banner",role:"status",children:[e("span",{className:"spinner","aria-hidden":"true"}),t("Reconnecting… messages wait here until it is back.")]}):null,w?e(St,{header:w.header,run:Qe}):null,e("div",{className:"room-scroll",ref:q,onScroll:G,children:n("div",{className:"room-content",ref:z,children:[N?e(m,{message:N}):null,!J&&!N?e(x,{}):null,h?.more?e("button",{type:"button",className:"secondary older",disabled:Z,onClick:async()=>{L(!0),se.current=q.current?.scrollHeight;try{await ve()}catch(C){se.current=void 0,f(l(C),"danger")}finally{L(!1)}},children:Z?t("Loading…"):t("Load earlier messages")}):null,J&&je.length===0?e(k,{children:t("No messages yet.")}):null,e(he,{roomKey:c,enterAfter:ye.current,quotable:!1,scroller:q,host:!0,highlight:Le}),h?.typing?e(Sn,{name:ue,progress:h.progress}):null]})}),I?n("button",{type:"button",className:"to-end",onClick:()=>F(!0),children:[e(o,{name:"send",size:16,style:{transform:"rotate(180deg)"}}),t("Latest")]}):null,w?e(ze,{room:c,run:Ye}):null,w&&K.length===0?e("p",{className:"room-note",children:t("You can read this room but not write in it.")}):null,w&&K.length>0?e(g,{children:e($t,{draftKey:c,name:ue,placeholder:Je,onAddressed:le,...Ne?{above:e(Br,{on:Ve,label:w?.wording?.turn?.label??t("@AI"),...xe?{locked:t("The message starts with @AI, so the knight answers.")}:{},onChange:(C)=>{let U=C?"turn":"note";Ge=U,Y(U)}})}:{},limits:T,stoppable:Boolean(h?.stoppable),onSend:(C,U,X)=>{if(Ne&&X){let ie=xn(C);i.say(c,ie===""&&U.length===0?C:ie,U,"turn")}else i.say(c,C,U,Ie);F(!0)},onStop:()=>i.send({type:"stop",room:c}),...W?{incoming:W,onIncomingTaken:()=>j(void 0)}:{}},c)}):null,e(xr,{...ce.drawer,current:c})]})}ct();function be({room:c}){let i=me((d)=>d.unread[c]??0);if(i<=0)return null;return e("span",{className:"unread-mark",role:"img","aria-label":B(i,"{count} unread message","{count} unread messages"),children:i>99?"99+":i})}ct();var Ct=6,Lt=250;function Ce(c){let{kind:i}=c,{timeZone:d}=_(),{now:p}=te(),y=u((L)=>L.connects),w=me((L)=>L.lists[i]??0),[N,b]=r(""),[h,T]=r(""),[v,V]=r(),[q,z]=r(),[I,G]=r(),[M,F]=r(!1);s(()=>{let L=setTimeout(()=>T(N.trim()),Lt);return()=>clearTimeout(L)},[N]),s(()=>{let L=!0;return He.list(i,h||void 0).then((W)=>{if(!L)return;ln(Object.fromEntries(W.rooms.map((j)=>[j.key,j.unread??0]))),V(W.rooms),z(W.cursor),G(void 0)},(W)=>L&&G(l(W))),()=>{L=!1}},[i,h,y,w]);let Z=async()=>{if(!q||M)return;F(!0);try{let L=await He.list(i,h||void 0,q);ln(Object.fromEntries(L.rooms.map((W)=>[W.key,W.unread??0]))),V((W)=>[...W??[],...L.rooms]),z(L.cursor)}catch(L){G(l(L))}finally{F(!1)}};return n("section",{className:"stack",children:[n("h2",{className:"section-title",children:[c.icon?e(o,{name:c.icon,size:14,className:"section-icon"}):null,c.label]}),v&&(v.length>=Ct||h||N)?e("input",{type:"search",className:"kind-filter",value:N,placeholder:t("Search {name}",{name:c.label}),"aria-label":t("Search {name}",{name:c.label}),onChange:(L)=>b(L.target.value)}):null,I?e(m,{message:I}):null,!v&&!I?n("div",{className:"stack","aria-busy":"true",children:[e("div",{className:"skeleton"}),e("div",{className:"skeleton"})]}):null,v&&v.length===0?e(k,{children:h?t("Nothing matches."):t("No rooms yet.")}):null,v&&v.length>0?e("ul",{className:"room-list",children:v.map((L)=>e("li",{children:n("a",{className:"room-row",href:S("room",L.key),"aria-current":L.key===c.active?"page":void 0,children:[n("span",{className:"kind-row-picture",children:[e(ut,{picture:L.picture,name:L.title,size:44}),L.attention?e("span",{className:"attention-dot",role:"img","aria-label":t("Needs attention")}):null]}),n("span",{className:"room-row-main",children:[n("span",{className:"room-row-top",children:[e("strong",{children:L.title}),e(be,{room:L.key}),e("span",{className:"room-row-time",children:L.lastAt?ke(L.lastAt,p,d):""})]}),e("span",{className:"room-row-preview",children:e("span",{children:L.subtitle??""})})]}),e(o,{name:"chevron",size:16,className:"room-row-chevron"})]})},L.key))}):null,q?e("button",{type:"button",className:"secondary",disabled:M,onClick:Z,children:M?t("Loading…"):t("Show more")}):null]})}function We(c){return c.kinds.map((i)=>e(Ce,{kind:i.kind,label:i.label,...i.icon?{icon:i.icon}:{},active:c.active},i.kind))}function Ze(){let c=(_().pages??[]).filter((i)=>i.place==="settings");if(c.length===0)return null;return n("section",{className:"card stack",children:[e("h2",{children:t("More settings")}),c.map((i)=>n("a",{className:"menu-item menu-link",href:S("p",i.id),children:[e("span",{className:"menu-text",children:e("strong",{children:i.label})}),e(o,{name:"chevron",size:16})]},i.id))]})}export{We as HostKinds,dt as HostPage,Et as HostRoomPage,Ze as HostSettingsPages,he as ReadLog,be as UnreadMark};
|