pi-roundtable-web 0.29.1 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +3 -3
  3. package/dist/chunk-account-51nmc9g6.js +1 -0
  4. package/dist/{chunk-action-menu-ap5xn7bf.js → chunk-action-menu-mxcvx4a1.js} +1 -1
  5. package/dist/chunk-agent-x53f7c2h.js +1 -0
  6. package/dist/chunk-arranged-rooms-1w3zqdtt.js +1 -0
  7. package/dist/{chunk-attachments-p5v9gqyt.js → chunk-attachments-qbv5ar62.js} +2 -2
  8. package/dist/chunk-bulk-actions-aktwxqc9.js +1 -0
  9. package/dist/{chunk-character-creator-m7tw20ef.js → chunk-character-creator-1mfybhjz.js} +2 -2
  10. package/dist/chunk-codeeditor-y2emmmr0.js +2 -0
  11. package/dist/chunk-command-menu-sj2kfe4d.js +59 -0
  12. package/dist/chunk-confirm-ex5kc1st.js +1 -0
  13. package/dist/{chunk-connectors-tw0tbm21.js → chunk-connectors-1nmm8yc3.js} +2 -2
  14. package/dist/chunk-conversations-ec3aqjxs.js +1 -0
  15. package/dist/chunk-council-sheet-hdsg3fes.js +2 -0
  16. package/dist/chunk-council-view-sba8fs4c.js +1 -0
  17. package/dist/{chunk-drag-d1bpy8w6.js → chunk-drag-pkghf4ts.js} +1 -1
  18. package/dist/chunk-entry-e24gjxtd.js +1 -0
  19. package/dist/chunk-folder-list-kghgyc0x.js +1 -0
  20. package/dist/chunk-folds-crd9k375.js +1 -0
  21. package/dist/{chunk-gate-dt91egcd.js → chunk-gate-xay9vedw.js} +1 -1
  22. package/dist/chunk-host-icons-y9hd1qqd.js +1 -0
  23. package/dist/chunk-host-picture-k16n5wm3.js +1 -0
  24. package/dist/chunk-host-state-1mbsrmhk.js +1 -0
  25. package/dist/chunk-host-ui-4pymhn6v.js +1 -0
  26. package/dist/{chunk-index-cmzvq3nf.js → chunk-index-0dyf2gdm.js} +2 -2
  27. package/dist/chunk-index-0xdptr30.js +2 -0
  28. package/dist/chunk-index-14cxgacv.js +2 -0
  29. package/dist/{chunk-index-vpq2cj14.js → chunk-index-37g8ggry.js} +1 -1
  30. package/dist/chunk-index-39gw0qhr.js +2 -0
  31. package/dist/chunk-index-4p45h04z.js +2 -0
  32. package/dist/chunk-index-5e8wn6r3.js +2 -0
  33. package/dist/{chunk-index-55ps4x5n.js → chunk-index-65p4hfkr.js} +2 -2
  34. package/dist/{chunk-index-1kb8tv4v.js → chunk-index-6e9nmad3.js} +2 -2
  35. package/dist/chunk-index-6f4qvp5p.js +2 -0
  36. package/dist/{chunk-index-8pbwr3rs.js → chunk-index-6hy2fabj.js} +1 -1
  37. package/dist/{chunk-index-6s2pqwna.js → chunk-index-6j75embz.js} +2 -2
  38. package/dist/{chunk-index-8wpvj7k5.js → chunk-index-70pq2k7q.js} +2 -2
  39. package/dist/{chunk-index-4a1tdadd.js → chunk-index-726w3145.js} +3 -3
  40. package/dist/chunk-index-86x6b7dx.js +3 -0
  41. package/dist/chunk-index-8cxmgzhy.js +2 -0
  42. package/dist/{chunk-index-prq011b6.js → chunk-index-93dr9fh8.js} +1 -1
  43. package/dist/chunk-index-97238pp8.js +2 -0
  44. package/dist/{chunk-index-q4k9vk04.js → chunk-index-ads1abh1.js} +3 -3
  45. package/dist/{chunk-index-ffnd0jcj.js → chunk-index-awc03q99.js} +2 -2
  46. package/dist/chunk-index-bh6m0bpm.js +2 -0
  47. package/dist/chunk-index-br1wechm.js +2 -0
  48. package/dist/{chunk-index-ysv36nbk.js → chunk-index-c8vsw9h8.js} +2 -2
  49. package/dist/{chunk-index-v9jqyr1f.js → chunk-index-cd0ymvtj.js} +3 -3
  50. package/dist/{chunk-index-5j1v2q7w.js → chunk-index-e3encn5p.js} +1 -1
  51. package/dist/{chunk-index-d941ae7c.js → chunk-index-fw6kawhw.js} +2 -2
  52. package/dist/{chunk-index-6rdywten.js → chunk-index-g3f1sdw0.js} +2 -2
  53. package/dist/{chunk-index-6btdp13p.js → chunk-index-gae833v6.js} +1 -1
  54. package/dist/{chunk-index-cfesmk1f.js → chunk-index-gc30hm37.js} +2 -2
  55. package/dist/{chunk-index-ce7hsda9.js → chunk-index-gpaychmm.js} +2 -2
  56. package/dist/chunk-index-hk6aq03d.js +2 -0
  57. package/dist/chunk-index-k3hj2310.js +2 -0
  58. package/dist/chunk-index-maf6wr1b.js +2 -0
  59. package/dist/{chunk-index-en728705.js → chunk-index-mhb8mpg3.js} +2 -2
  60. package/dist/chunk-index-n92zea3s.js +2 -0
  61. package/dist/{chunk-index-53fwc7sc.js → chunk-index-ndhwytvz.js} +2 -2
  62. package/dist/{chunk-index-gdh7wsd5.js → chunk-index-ne8v2rxx.js} +12 -12
  63. package/dist/{chunk-index-2g8xtwqg.js → chunk-index-p4rc9swx.js} +2 -2
  64. package/dist/chunk-index-pce4byw4.js +2 -0
  65. package/dist/{chunk-index-d4mx2vvf.js → chunk-index-ptvrkv0r.js} +2 -2
  66. package/dist/{chunk-index-0h99xcs3.js → chunk-index-pz6926p5.js} +2 -2
  67. package/dist/{chunk-index-bxf8eq1s.js → chunk-index-qb41kkt3.js} +2 -2
  68. package/dist/chunk-index-qqaaxh63.js +2 -0
  69. package/dist/chunk-index-qwztcbjz.js +2 -0
  70. package/dist/chunk-index-r1g24er0.js +2 -0
  71. package/dist/chunk-index-rvatmx8s.js +50 -0
  72. package/dist/{chunk-index-nr275sa7.js → chunk-index-tfgd7vr5.js} +2 -2
  73. package/dist/{chunk-index-xbj816p0.js → chunk-index-tqrjr37v.js} +2 -2
  74. package/dist/chunk-index-tvsvtd4q.js +2 -0
  75. package/dist/chunk-index-vaxytvde.js +2 -0
  76. package/dist/{chunk-index-3tksdmx7.js → chunk-index-ve07gdef.js} +2 -2
  77. package/dist/chunk-index-vw592m3p.js +2 -0
  78. package/dist/{chunk-index-sz381vda.js → chunk-index-vwd5drzh.js} +100 -4
  79. package/dist/{chunk-index-w17wgjby.js → chunk-index-vxn4zws9.js} +3 -3
  80. package/dist/{chunk-index-yr758n6t.js → chunk-index-wqbcade7.js} +2 -2
  81. package/dist/chunk-index-x7p6k52w.js +138 -0
  82. package/dist/{chunk-index-m76gdwnk.js → chunk-index-xekytvrr.js} +2 -2
  83. package/dist/{chunk-index-wgrx2ybn.js → chunk-index-xkb336kq.js} +2 -2
  84. package/dist/{chunk-index-dr0jr7d3.js → chunk-index-xv3e4x0j.js} +3 -3
  85. package/dist/{chunk-index-7mrkq793.js → chunk-index-xvdna54d.js} +2 -2
  86. package/dist/chunk-index-yzd9cg0s.js +1 -0
  87. package/dist/{chunk-index-ze9p4npm.js → chunk-index-zr2qwzz4.js} +2 -2
  88. package/dist/chunk-lang-css-6t2q4xw4.js +1 -0
  89. package/dist/{chunk-lang-dockerfile-y24eejnh.js → chunk-lang-dockerfile-9rc0adjw.js} +1 -1
  90. package/dist/{chunk-lang-go-qzgv1161.js → chunk-lang-go-t47kg9n0.js} +2 -2
  91. package/dist/chunk-lang-html-c6p22v5m.js +1 -0
  92. package/dist/chunk-lang-javascript-m57t19pw.js +1 -0
  93. package/dist/{chunk-lang-json-99v80v88.js → chunk-lang-json-y33kawwg.js} +1 -1
  94. package/dist/{chunk-lang-markdown-gn8he877.js → chunk-lang-markdown-2c2sqc4z.js} +5 -5
  95. package/dist/{chunk-lang-python-prsw4p4k.js → chunk-lang-python-ymasvj52.js} +2 -2
  96. package/dist/{chunk-lang-rust-g6xqta16.js → chunk-lang-rust-qcg53mkn.js} +1 -1
  97. package/dist/{chunk-lang-shell-dmpnzc6w.js → chunk-lang-shell-996wb0dk.js} +1 -1
  98. package/dist/{chunk-lang-sql-wz7ca27b.js → chunk-lang-sql-60rh2y3y.js} +2 -2
  99. package/dist/{chunk-lang-toml-160prtq4.js → chunk-lang-toml-q1yzt70y.js} +1 -1
  100. package/dist/chunk-lang-typescript-7gcbrhbd.js +1 -0
  101. package/dist/{chunk-lang-xml-9htkz2dd.js → chunk-lang-xml-k2a92cm3.js} +1 -1
  102. package/dist/{chunk-lang-yaml-08749wd5.js → chunk-lang-yaml-qp3asq06.js} +1 -1
  103. package/dist/chunk-layout-actions-yxh77zcz.js +1 -0
  104. package/dist/chunk-mention-menu-qpksygcf.js +43 -0
  105. package/dist/chunk-menu-items-95evdhk1.js +1 -0
  106. package/dist/chunk-mode-toggle-dqwvcr2p.js +1 -0
  107. package/dist/{chunk-note-row-28e5x7n8.js → chunk-note-row-ngzxbdn6.js} +4 -4
  108. package/dist/chunk-notes-9ykcajzc.js +1 -0
  109. package/dist/chunk-notice-bell-eryn2k5m.js +1 -0
  110. package/dist/{chunk-notices-d0cwvk27.js → chunk-notices-jkv1derx.js} +1 -1
  111. package/dist/chunk-onboarding-ka11bgd0.js +1 -0
  112. package/dist/{chunk-overview-9sb3ywa8.js → chunk-overview-dgvrjwbc.js} +1 -1
  113. package/dist/{chunk-palette-5sfhrv4x.js → chunk-palette-wmvynt7n.js} +1 -1
  114. package/dist/chunk-placement-items-zyqq2mp7.js +1 -0
  115. package/dist/chunk-profile-sdn7bs08.js +1 -0
  116. package/dist/{chunk-prompt-history-1jz2gk3v.js → chunk-prompt-history-qfnj4w2y.js} +1 -1
  117. package/dist/chunk-prompts-4hdcvy6t.js +1 -0
  118. package/dist/chunk-room-confirms-b8gvak47.js +1 -0
  119. package/dist/chunk-room-menu-18mnqcja.js +1 -0
  120. package/dist/chunk-rooms-menu-button-hjg4zqjy.js +1 -0
  121. package/dist/{chunk-schedules-e12y8fw2.js → chunk-schedules-cy2dv8x0.js} +1 -1
  122. package/dist/{chunk-seat-menu-n2bcw0mf.js → chunk-seat-menu-cw3z9560.js} +1 -1
  123. package/dist/chunk-section-fold-9tc2m103.js +1 -0
  124. package/dist/chunk-settings-rhdv64p7.js +1 -0
  125. package/dist/chunk-sheet-hosts-hhs1e3a8.js +29 -0
  126. package/dist/chunk-shortcut-help-fv6b6ntc.js +26 -0
  127. package/dist/chunk-shortcuts-sjwrv858.js +1 -0
  128. package/dist/{chunk-skill-editor-98492yrt.js → chunk-skill-editor-zzmv9nfq.js} +2 -2
  129. package/dist/chunk-skills-b2enxk30.js +1 -0
  130. package/dist/{chunk-start-over-line-m526193z.js → chunk-start-over-line-4rwasr8k.js} +2 -2
  131. package/dist/chunk-switcher-list-dcq91xxa.js +1 -0
  132. package/dist/{chunk-tab-dot-tzjkahj5.js → chunk-tab-dot-b3gcgcrq.js} +1 -1
  133. package/dist/chunk-table-6j64ps89.js +1 -0
  134. package/dist/chunk-table2d-k4z439nt.js +1 -0
  135. package/dist/{chunk-table3d-5a7vbgyj.js → chunk-table3d-mx0afnv8.js} +23 -23
  136. package/dist/chunk-thread-actions-rs5xpf1r.js +1 -0
  137. package/dist/{chunk-thread-cards-n0n603vf.js → chunk-thread-cards-k9m7p5fn.js} +1 -1
  138. package/dist/{chunk-thread-list-7bkdn51x.js → chunk-thread-list-zz7596zy.js} +2 -2
  139. package/dist/chunk-transcript-8yjp18cr.js +1 -0
  140. package/dist/chunk-waiting-9gshhhx0.js +1 -0
  141. package/dist/{chunk-waiting-chip-y83c90v3.js → chunk-waiting-chip-nr9cza2j.js} +2 -2
  142. package/dist/chunk-where-8mq8azgw.js +1 -0
  143. package/dist/{chunk-workspace-dw71mshw.js → chunk-workspace-hdamnf4r.js} +2 -2
  144. package/dist/chunk-zh-tw-ama40y87.js +1 -0
  145. package/dist/index.html +1 -1
  146. package/dist/sw.js +1 -1
  147. package/package.json +3 -3
  148. package/src/api-types.ts +17 -0
  149. package/src/app/app.ts +3 -0
  150. package/src/app/command-routes.ts +45 -0
  151. package/src/app/routes.ts +13 -0
  152. package/src/i18n/zh-tw.ts +8 -1
  153. package/src/web-plugin.ts +2 -0
  154. package/dist/chunk-account-66e6ezdq.js +0 -1
  155. package/dist/chunk-agent-sapt5qhn.js +0 -1
  156. package/dist/chunk-arranged-rooms-n6bk696f.js +0 -1
  157. package/dist/chunk-bulk-actions-aze4ewc4.js +0 -1
  158. package/dist/chunk-codeeditor-yy6pq8mv.js +0 -2
  159. package/dist/chunk-confirm-0cajsfhk.js +0 -1
  160. package/dist/chunk-conversations-wkm23m5r.js +0 -1
  161. package/dist/chunk-council-sheet-mz7s23nq.js +0 -2
  162. package/dist/chunk-council-view-zgvzxtgn.js +0 -1
  163. package/dist/chunk-entry-7zr5b1fp.js +0 -1
  164. package/dist/chunk-folder-list-bs4eh3g9.js +0 -1
  165. package/dist/chunk-folds-eez1q41c.js +0 -1
  166. package/dist/chunk-host-icons-nfe2t8tk.js +0 -1
  167. package/dist/chunk-host-picture-4rtswxwa.js +0 -1
  168. package/dist/chunk-host-state-1vxzmmq6.js +0 -1
  169. package/dist/chunk-host-ui-x38bf0et.js +0 -1
  170. package/dist/chunk-index-24cggw6k.js +0 -50
  171. package/dist/chunk-index-3n38xe7m.js +0 -2
  172. package/dist/chunk-index-5w6tb7p0.js +0 -2
  173. package/dist/chunk-index-6m7dwsmv.js +0 -1
  174. package/dist/chunk-index-7xcbpeqz.js +0 -2
  175. package/dist/chunk-index-88wh5eyj.js +0 -2
  176. package/dist/chunk-index-97dcp1vh.js +0 -1
  177. package/dist/chunk-index-a7e6rhxy.js +0 -2
  178. package/dist/chunk-index-c8gm1crh.js +0 -120
  179. package/dist/chunk-index-d74tpnkd.js +0 -2
  180. package/dist/chunk-index-fb3kzyyp.js +0 -2
  181. package/dist/chunk-index-fn6305vn.js +0 -3
  182. package/dist/chunk-index-mr391t49.js +0 -2
  183. package/dist/chunk-index-n3khm9fq.js +0 -2
  184. package/dist/chunk-index-nn4w6a04.js +0 -2
  185. package/dist/chunk-index-pgxgq61x.js +0 -2
  186. package/dist/chunk-index-rgdaec7y.js +0 -2
  187. package/dist/chunk-index-rjs1can6.js +0 -2
  188. package/dist/chunk-index-s4a8e4qm.js +0 -2
  189. package/dist/chunk-index-vsaggfns.js +0 -2
  190. package/dist/chunk-index-wsv46y9p.js +0 -2
  191. package/dist/chunk-index-zfdvyrjt.js +0 -2
  192. package/dist/chunk-lang-css-3h22se37.js +0 -1
  193. package/dist/chunk-lang-html-9rvrmmpg.js +0 -1
  194. package/dist/chunk-lang-javascript-4kv8s3tk.js +0 -1
  195. package/dist/chunk-lang-typescript-mp0yw903.js +0 -1
  196. package/dist/chunk-layout-actions-tdx896xf.js +0 -1
  197. package/dist/chunk-menu-items-trhybv1g.js +0 -1
  198. package/dist/chunk-mode-toggle-4dtfphq4.js +0 -1
  199. package/dist/chunk-notes-5nkayhw8.js +0 -1
  200. package/dist/chunk-notice-bell-xz8a04am.js +0 -1
  201. package/dist/chunk-onboarding-zs4rtea9.js +0 -1
  202. package/dist/chunk-placement-items-e2neja55.js +0 -1
  203. package/dist/chunk-profile-jffhtpqf.js +0 -1
  204. package/dist/chunk-prompts-0t30ttd0.js +0 -1
  205. package/dist/chunk-room-confirms-6595921h.js +0 -1
  206. package/dist/chunk-room-menu-hwkjyxwe.js +0 -1
  207. package/dist/chunk-rooms-menu-button-k0eq1tcr.js +0 -1
  208. package/dist/chunk-sheet-hosts-myvm2vhd.js +0 -29
  209. package/dist/chunk-shortcut-help-434sqnxc.js +0 -26
  210. package/dist/chunk-shortcuts-mjxph0g7.js +0 -1
  211. package/dist/chunk-skills-mfv8ppfh.js +0 -1
  212. package/dist/chunk-switcher-list-5ngjar24.js +0 -1
  213. package/dist/chunk-table-xbtbex2z.js +0 -1
  214. package/dist/chunk-table2d-61bvrykm.js +0 -1
  215. package/dist/chunk-thread-actions-bf6vf2mt.js +0 -1
  216. package/dist/chunk-transcript-8ztrkt6g.js +0 -1
  217. package/dist/chunk-waiting-s273kcgz.js +0 -1
  218. package/dist/chunk-where-jr791gzj.js +0 -1
  219. package/dist/chunk-zh-tw-vm5d0w6j.js +0 -1
@@ -1,2 +1,2 @@
1
- import{O,P}from"./chunk-index-24cggw6k.js";var t={unread:{},reads:{},cursor:{},cards:{},rooms:{},lists:{},pages:{}},{emit:R,use:b,subscribe:ko}=P();function s(e){t={...t,...e},R()}var Le=(e)=>b(()=>e(t)),_o=(e)=>t.unread[e]??0,To=()=>Object.values(t.unread).reduce((e,r)=>e+r,0);function Po(){return Object.fromEntries(Object.entries(t.unread).filter(([,e])=>e>0))}var d=[],Qo=d,Mo=d;function l(e,r){return e.kind!=="system"&&e.id!==0&&(e.principalId===void 0||e.principalId!==r)}var f=(e)=>O.getState().focus===e&&document.visibilityState==="visible";function sn(e){let r={...t.unread};for(let[o,n]of Object.entries(e))r[o]=n;s({unread:r})}var p=new WeakSet;function g(){let e;for(let[r,o]of Object.entries(O.getState().rooms)){let n=o.view;if(!n||p.has(n))continue;p.add(n),e??={...t.unread},e[r]=n.unread??0}if(e)s({unread:e})}O.subscribe(g);g();function xr(e,r,o){let n={};if(r)n.reads={...t.reads,[e]:r};if(o!==void 0&&o>(t.cursor[e]??0))n.cursor={...t.cursor,[e]:o};if(n.reads||n.cursor)s(n)}function Ro(e,r){s({cards:{...t.cards,[e]:r}})}var i=(e,r)=>({...e,[r]:(e[r]??0)+1});function Ra(e){switch(e.type){case"message":case"host_message":{let r=O.getState().principal?.id;if(!l(e.message,r)||f(e.room))return;s({unread:{...t.unread,[e.room]:(t.unread[e.room]??0)+1}});return}case"read":{let{room:r,principal:o,upTo:n}=e;if(o===O.getState().principal?.id){let a=(O.getState().rooms[r]?.messages??[]).filter((u)=>u.id>n&&l(u,o)).length;s({unread:{...t.unread,[r]:a},cursor:{...t.cursor,[r]:Math.max(n,t.cursor[r]??0)}});return}let m=(t.reads[r]??d).filter((a)=>a.principal!==o),c=t.reads[r]?.find((a)=>a.principal===o);if(c&&c.upTo>=n)return;s({reads:{...t.reads,[r]:[...m,{principal:o,name:e.name,upTo:n,at:e.at}]}});return}case"host_card":{let r=(t.cards[e.room]??d).filter((o)=>o.id!==e.card.id);s({cards:{...t.cards,[e.room]:[...r,e.card].sort((o,n)=>o.at<n.at?-1:o.at>n.at?1:0)}});return}case"room_changed":s({rooms:i(t.rooms,e.room)});return;case"list_changed":s({lists:i(t.lists,e.kind)});return;case"page_changed":s({pages:i(t.pages,e.page)});return;default:return}}
2
- export{ko,Le,_o,To,Po,Qo,Mo,sn,xr,Ro,Ra};
1
+ import{O,P}from"./chunk-index-rvatmx8s.js";var t={unread:{},reads:{},cursor:{},cards:{},rooms:{},lists:{},pages:{}},{emit:R,use:b,subscribe:Ro}=P();function s(e){t={...t,...e},R()}var me=(e)=>b(()=>e(t)),Er=(e)=>t.unread[e]??0,Co=()=>Object.values(t.unread).reduce((e,r)=>e+r,0);function Eo(){return Object.fromEntries(Object.entries(t.unread).filter(([,e])=>e>0))}var d=[],Ao=d,$o=d;function l(e,r){return e.kind!=="system"&&e.id!==0&&(e.principalId===void 0||e.principalId!==r)}var f=(e)=>O.getState().focus===e&&document.visibilityState==="visible";function an(e){let r={...t.unread};for(let[o,n]of Object.entries(e))r[o]=n;s({unread:r})}var p=new WeakSet;function g(){let e;for(let[r,o]of Object.entries(O.getState().rooms)){let n=o.view;if(!n||p.has(n))continue;p.add(n),e??={...t.unread},e[r]=n.unread??0}if(e)s({unread:e})}O.subscribe(g);g();function Ar(e,r,o){let n={};if(r)n.reads={...t.reads,[e]:r};if(o!==void 0&&o>(t.cursor[e]??0))n.cursor={...t.cursor,[e]:o};if(n.reads||n.cursor)s(n)}function No(e,r){s({cards:{...t.cards,[e]:r}})}var i=(e,r)=>({...e,[r]:(e[r]??0)+1});function Da(e){switch(e.type){case"message":case"host_message":{let r=O.getState().principal?.id;if(!l(e.message,r)||f(e.room))return;s({unread:{...t.unread,[e.room]:(t.unread[e.room]??0)+1}});return}case"read":{let{room:r,principal:o,upTo:n}=e;if(o===O.getState().principal?.id){let a=(O.getState().rooms[r]?.messages??[]).filter((u)=>u.id>n&&l(u,o)).length;s({unread:{...t.unread,[r]:a},cursor:{...t.cursor,[r]:Math.max(n,t.cursor[r]??0)}});return}let m=(t.reads[r]??d).filter((a)=>a.principal!==o),c=t.reads[r]?.find((a)=>a.principal===o);if(c&&c.upTo>=n)return;s({reads:{...t.reads,[r]:[...m,{principal:o,name:e.name,upTo:n,at:e.at}]}});return}case"host_card":{let r=(t.cards[e.room]??d).filter((o)=>o.id!==e.card.id);s({cards:{...t.cards,[e.room]:[...r,e.card].sort((o,n)=>o.at<n.at?-1:o.at>n.at?1:0)}});return}case"room_changed":s({rooms:i(t.rooms,e.room)});return;case"list_changed":s({lists:i(t.lists,e.kind)});return;case"page_changed":s({pages:i(t.pages,e.page)});return;default:return}}
2
+ export{Ro,me,Er,Co,Eo,Ao,$o,an,Ar,No,Da};
@@ -1,2 +1,2 @@
1
- import{B,Ce,c,w,Ee,Ve,qe,Z,le,pt,Vt,z,b,_t,I,nt}from"./chunk-index-gdh7wsd5.js";class _r{constructor(t,e,i,n){this.state=t,this.pos=e,this.explicit=i,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let e=I(this.state).resolveInner(this.pos,-1);while(e&&t.indexOf(e.name)<0)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),i=Math.max(e.from,this.pos-250),n=e.text.slice(i-e.from,this.pos-e.from),o=n.search(D(t,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(t,e,i){if(t=="abort"&&this.abortListeners){if(this.abortListeners.push(e),i&&i.onDocChange)this.abortOnDocChange=!0}}}function v(t){let e=Object.keys(t).join(""),i=/\w/.test(e);if(i)e=e.replace(/\w/g,"");return`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function E(t){let e=Object.create(null),i=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let s=1;s<o.length;s++)i[o[s]]=!0}let n=v(e)+v(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function ut(t){let e=t.map((o)=>typeof o=="string"?{label:o}:o),[i,n]=e.every((o)=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:E(e);return(o)=>{let s=o.matchBefore(n);return s||o.explicit?{from:s?s.from:o.pos,options:e,validFor:i}:null}}function dt(t,e){return(i)=>{for(let n=I(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(i)}}function D(t,e){var i;let{source:n}=t,o=e&&n[0]!="^",s=n[n.length-1]!="$";if(!o&&!s)return t;return new RegExp(`${o?"^":""}(?:${n})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":"")}var P=qe.define();var re=typeof navigator=="object"&&/Win/.test(navigator.platform);var L=b.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:0.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:0.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class S{constructor(t,e,i,n){this.field=t,this.line=e,this.from=i,this.to=n}}class g{constructor(t,e,i){this.field=t,this.from=e,this.to=i}map(t){let e=t.mapPos(this.from,-1,Ce.TrackDel),i=t.mapPos(this.to,1,Ce.TrackDel);return e==null||i==null?null:new g(this.field,e,i)}}class y{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let i=[],n=[e],o=t.doc.lineAt(e),s=/^\s*/.exec(o.text)[0];for(let r of this.lines){if(i.length){let h=s,a=/^\t*/.exec(r)[0].length;for(let l=0;l<a;l++)h+=t.facet(nt);n.push(e+h.length-a),r=h+r.slice(a)}i.push(r),e+=r.length+1}let f=this.fieldPositions.map((r)=>new g(r.field,n[r.line]+r.from,n[r.line]+r.to));return{text:i,ranges:f}}static parse(t){let e=[],i=[],n=[],o;for(let s of t.split(/\r\n?|\n/)){while(o=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s)){let f=o[1]?+o[1]:null,r=o[2]||o[3]||"",h=-1;if(f===0)f=1e9;let a=r.replace(/\\[{}]/g,(l)=>l[1]);for(let l=0;l<e.length;l++)if(f!=null?e[l].seq==f:a?e[l].name==a:!1)h=l;if(h<0){let l=0;while(l<e.length&&(f==null||e[l].seq!=null&&e[l].seq<f))l++;e.splice(l,0,{seq:f,name:a}),h=l;for(let u of n)if(u.field>=h)u.field++}for(let l of n)if(l.line==i.length&&l.from>o.index){let u=o[2]?3+(o[1]||"").length:2;l.from-=u,l.to-=u}n.push(new S(h,i.length,o.index,o.index+a.length)),s=s.slice(0,o.index)+r+s.slice(o.index+o[0].length)}s=s.replace(/\\([{}])/g,(f,r,h)=>{for(let a of n)if(a.line==i.length&&a.from>h)a.from--,a.to--;return r}),i.push(s)}return new y(i,n)}}var R=z.widget({widget:new class extends Vt{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),k=z.mark({class:"cm-snippetField"});class p{constructor(t,e){this.ranges=t,this.active=e,this.deco=z.set(t.map((i)=>(i.from==i.to?R:k).range(i.from,i.to)),!0)}map(t){let e=[];for(let i of this.ranges){let n=i.map(t);if(!n)return null;e.push(n)}return new p(e,this.active)}selectionInsideField(t){return t.ranges.every((e)=>this.ranges.some((i)=>i.field==this.active&&i.from<=e.from&&i.to>=e.to))}}var m=Z.define({map(t,e){return t&&t.map(e)}}),M=Z.define(),d=Ee.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(m))return i.value;if(i.is(M)&&t)return new p(t.ranges,i.value)}if(t&&e.docChanged)t=t.map(e.changes);if(t&&e.selection&&!t.selectionInsideField(e.selection))t=null;return t},provide:(t)=>b.decorations.from(t,(e)=>e?e.deco:z.none)});function x(t,e){return c.create(t.filter((i)=>i.field==e).map((i)=>c.range(i.from,i.to)))}function A(t){let e=y.parse(t);return(i,n,o,s)=>{let{text:f,ranges:r}=e.instantiate(i.state,o),{main:h}=i.state.selection,a={changes:{from:o,to:s==h.from?h.to:s,insert:B.of(f)},scrollIntoView:!0,annotations:n?[P.of(n),le.userEvent.of("input.complete")]:void 0};if(r.length)a.selection=x(r,0);if(r.some((l)=>l.field>0)){let l=new p(r,0),u=a.effects=[m.of(l)];if(i.state.field(d,!1)===void 0)u.push(Z.appendConfig.of([d,_,H,L]))}i.dispatch(i.state.update(a))}}function T(t){return({state:e,dispatch:i})=>{let n=e.field(d,!1);if(!n||t<0&&n.active==0)return!1;let o=n.active+t,s=t>0&&!n.ranges.some((f)=>f.field==o+t);return i(e.update({selection:x(n.ranges,o),effects:m.of(s?null:new p(n.ranges,o)),scrollIntoView:!0})),!0}}var F=({state:t,dispatch:e})=>{if(!t.field(d,!1))return!1;return e(t.update({effects:m.of(null)})),!0},W=T(1),N=T(-1);var j=[{key:"Tab",run:W,shift:N},{key:"Escape",run:F}],C=w.define({combine(t){return t.length?t[0]:j}}),_=Ve.highest(_t.compute([C],(t)=>t.facet(C)));function U(t,e){return{...e,apply:A(t)}}var H=b.domEventHandlers({mousedown(t,e){let i=e.state.field(d,!1),n;if(!i||(n=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=i.ranges.find((s)=>s.from<=n&&s.to>=n);if(!o||o.field==i.active)return!1;return e.dispatch({selection:x(i.ranges,o.field),effects:m.of(i.ranges.some((s)=>s.field>o.field)?new p(i.ranges,o.field):null),scrollIntoView:!0}),!0}});var O=new class extends pt{};O.startSide=1;O.endSide=-1;var ae=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);
2
- export{_r,ut,dt,U};
1
+ import{G,Ne,d,w,Le,Fe,Ge,W,le,gt,Bt,z,v,Tt,I,rt}from"./chunk-index-ne8v2rxx.js";class zr{constructor(t,e,i,n){this.state=t,this.pos=e,this.explicit=i,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let e=I(this.state).resolveInner(this.pos,-1);while(e&&t.indexOf(e.name)<0)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),i=Math.max(e.from,this.pos-250),n=e.text.slice(i-e.from,this.pos-e.from),o=n.search(D(t,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(t,e,i){if(t=="abort"&&this.abortListeners){if(this.abortListeners.push(e),i&&i.onDocChange)this.abortOnDocChange=!0}}}function x(t){let e=Object.keys(t).join(""),i=/\w/.test(e);if(i)e=e.replace(/\w/g,"");return`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function E(t){let e=Object.create(null),i=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let s=1;s<o.length;s++)i[o[s]]=!0}let n=x(e)+x(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function ft(t){let e=t.map((o)=>typeof o=="string"?{label:o}:o),[i,n]=e.every((o)=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:E(e);return(o)=>{let s=o.matchBefore(n);return s||o.explicit?{from:s?s.from:o.pos,options:e,validFor:i}:null}}function ht(t,e){return(i)=>{for(let n=I(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(i)}}function D(t,e){var i;let{source:n}=t,o=e&&n[0]!="^",s=n[n.length-1]!="$";if(!o&&!s)return t;return new RegExp(`${o?"^":""}(?:${n})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":"")}var P=Ge.define();var re=typeof navigator=="object"&&/Win/.test(navigator.platform);var L=v.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:0.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:0.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class S{constructor(t,e,i,n){this.field=t,this.line=e,this.from=i,this.to=n}}class g{constructor(t,e,i){this.field=t,this.from=e,this.to=i}map(t){let e=t.mapPos(this.from,-1,Ne.TrackDel),i=t.mapPos(this.to,1,Ne.TrackDel);return e==null||i==null?null:new g(this.field,e,i)}}class y{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let i=[],n=[e],o=t.doc.lineAt(e),s=/^\s*/.exec(o.text)[0];for(let r of this.lines){if(i.length){let f=s,a=/^\t*/.exec(r)[0].length;for(let l=0;l<a;l++)f+=t.facet(rt);n.push(e+f.length-a),r=f+r.slice(a)}i.push(r),e+=r.length+1}let c=this.fieldPositions.map((r)=>new g(r.field,n[r.line]+r.from,n[r.line]+r.to));return{text:i,ranges:c}}static parse(t){let e=[],i=[],n=[],o;for(let s of t.split(/\r\n?|\n/)){while(o=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s)){let c=o[1]?+o[1]:null,r=o[2]||o[3]||"",f=-1;if(c===0)c=1e9;let a=r.replace(/\\[{}]/g,(l)=>l[1]);for(let l=0;l<e.length;l++)if(c!=null?e[l].seq==c:a?e[l].name==a:!1)f=l;if(f<0){let l=0;while(l<e.length&&(c==null||e[l].seq!=null&&e[l].seq<c))l++;e.splice(l,0,{seq:c,name:a}),f=l;for(let h of n)if(h.field>=f)h.field++}for(let l of n)if(l.line==i.length&&l.from>o.index){let h=o[2]?3+(o[1]||"").length:2;l.from-=h,l.to-=h}n.push(new S(f,i.length,o.index,o.index+a.length)),s=s.slice(0,o.index)+r+s.slice(o.index+o[0].length)}s=s.replace(/\\([{}])/g,(c,r,f)=>{for(let a of n)if(a.line==i.length&&a.from>f)a.from--,a.to--;return r}),i.push(s)}return new y(i,n)}}var R=z.widget({widget:new class extends Bt{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),k=z.mark({class:"cm-snippetField"});class u{constructor(t,e){this.ranges=t,this.active=e,this.deco=z.set(t.map((i)=>(i.from==i.to?R:k).range(i.from,i.to)),!0)}map(t){let e=[];for(let i of this.ranges){let n=i.map(t);if(!n)return null;e.push(n)}return new u(e,this.active)}selectionInsideField(t){return t.ranges.every((e)=>this.ranges.some((i)=>i.field==this.active&&i.from<=e.from&&i.to>=e.to))}}var m=W.define({map(t,e){return t&&t.map(e)}}),M=W.define(),p=Le.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(m))return i.value;if(i.is(M)&&t)return new u(t.ranges,i.value)}if(t&&e.docChanged)t=t.map(e.changes);if(t&&e.selection&&!t.selectionInsideField(e.selection))t=null;return t},provide:(t)=>v.decorations.from(t,(e)=>e?e.deco:z.none)});function b(t,e){return d.create(t.filter((i)=>i.field==e).map((i)=>d.range(i.from,i.to)))}function A(t){let e=y.parse(t);return(i,n,o,s)=>{let{text:c,ranges:r}=e.instantiate(i.state,o),{main:f}=i.state.selection,a={changes:{from:o,to:s==f.from?f.to:s,insert:G.of(c)},scrollIntoView:!0,annotations:n?[P.of(n),le.userEvent.of("input.complete")]:void 0};if(r.length)a.selection=b(r,0);if(r.some((l)=>l.field>0)){let l=new u(r,0),h=a.effects=[m.of(l)];if(i.state.field(p,!1)===void 0)h.push(W.appendConfig.of([p,_,H,L]))}i.dispatch(i.state.update(a))}}function T(t){return({state:e,dispatch:i})=>{let n=e.field(p,!1);if(!n||t<0&&n.active==0)return!1;let o=n.active+t,s=t>0&&!n.ranges.some((c)=>c.field==o+t);return i(e.update({selection:b(n.ranges,o),effects:m.of(s?null:new u(n.ranges,o)),scrollIntoView:!0})),!0}}var B=({state:t,dispatch:e})=>{if(!t.field(p,!1))return!1;return e(t.update({effects:m.of(null)})),!0},F=T(1),N=T(-1);var j=[{key:"Tab",run:F,shift:N},{key:"Escape",run:B}],C=w.define({combine(t){return t.length?t[0]:j}}),_=Fe.highest(Tt.compute([C],(t)=>t.facet(C)));function U(t,e){return{...e,apply:A(t)}}var H=v.domEventHandlers({mousedown(t,e){let i=e.state.field(p,!1),n;if(!i||(n=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=i.ranges.find((s)=>s.from<=n&&s.to>=n);if(!o||o.field==i.active)return!1;return e.dispatch({selection:b(i.ranges,o.field),effects:m.of(i.ranges.some((s)=>s.field>o.field)?new u(i.ranges,o.field):null),scrollIntoView:!0}),!0}});var O=new class extends gt{};O.startSide=1;O.endSide=-1;var ae=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);
2
+ export{zr,ft,ht,U};
@@ -0,0 +1,2 @@
1
+ import{O,h,l,f}from"./chunk-index-rvatmx8s.js";import{Io,Xn}from"./chunk-index-pce4byw4.js";import{fa}from"./chunk-index-bh6m0bpm.js";import{nt,Oa,ya,ba,va,xa}from"./chunk-index-hk6aq03d.js";import{Ut}from"./chunk-index-g3f1sdw0.js";var n={createFolder:(e)=>h("folders",{method:"POST",body:JSON.stringify({name:e})}),changeFolder:(e,t)=>h(`folders/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),deleteFolder:(e)=>h(`folders/${encodeURIComponent(e)}`,{method:"DELETE"}),muteFolder:(e,t)=>h(`folders/${encodeURIComponent(e)}/mute`,{method:"PUT",body:JSON.stringify({muted:t})}),placeRoom:(e,t,o)=>h(`rooms/${encodeURIComponent(e)}/folder`,{method:"PUT",body:JSON.stringify({folder:t,before:o})}),pinRoom:(e,t,o)=>h(`rooms/${encodeURIComponent(e)}/pin`,{method:"PUT",body:JSON.stringify({pinned:t,before:o})})};var a=(e)=>f(e,"danger"),d=(e)=>O.dispatch({type:"layout_loaded",pins:e.pins,folders:e.folders});async function i(e,t,o=a){let r=Io();try{d(e(r))}catch{}try{let s=await t();return d(s),s}catch(s){d(r),O.dispatch({type:"changed"}),o(l(s));return}}var ua=(e,t,o=null)=>i((r)=>xa(r,e,t,o),()=>n.pinRoom(e,t,o)),ln=(e,t,o=null)=>i((r)=>va(r,e,t,o),()=>n.placeRoom(e,t,o));function $r(e,t){let o=Ut(Xn(),e);if(o.kind==="rest")return;let r=nt(o.siblings,e,t);if(!r)return;return o.kind==="pinned"?ua(e,!0,r.before):ln(e,o.folder,r.before)}async function Lo(e,t=a){try{let o=await n.createFolder(e);return d(o),o.folders.at(-1)?.id}catch(o){t(l(o));return}}var Xo=(e,t,o)=>i((r)=>Oa(r,e,t),()=>n.changeFolder(e,{name:t}),o),Ra=(e,t)=>i((o)=>ya(o,e,t),()=>n.changeFolder(e,{before:t}));function Ua(e,t){let o=nt(Io().folders.map((r)=>r.id),e,t);return o?Ra(e,o.before):void 0}var zo=(e,t)=>i((o)=>ba(o,e),()=>n.deleteFolder(e),t);async function Va(e,t){try{let o=await n.muteFolder(e,t);for(let r of o.rooms)O.dispatch({type:"room_muted",room:r,muted:o.muted});return!0}catch(o){return a(l(o)),!1}}function qa(e,t){let o=fa(Ut(Xn(),e),e,t);if(!o)return;if(o.kind==="pin")return ua(e,!0,o.before);if(o.kind==="folder")return ln(e,o.folder,o.before);return ln(e,null)}
2
+ export{ua,ln,$r,Lo,Xo,Ra,Ua,zo,Va,qa};
@@ -0,0 +1,2 @@
1
+ import{p,t,O}from"./chunk-index-rvatmx8s.js";import{Ue}from"./chunk-index-maf6wr1b.js";import{Gi}from"./chunk-index-4p45h04z.js";import{Xn}from"./chunk-index-pce4byw4.js";import{nt}from"./chunk-index-hk6aq03d.js";import{Ut,Wi}from"./chunk-index-g3f1sdw0.js";var s=(e)=>e(),m=()=>(p("yxh77zcz"),import("./chunk-layout-actions-yxh77zcz.js"));function jr(e,l=s){let o=Ut(Xn(),e),d=o.kind==="pinned",i=[{id:"pin",label:d?t("Unpin"):t("Pin"),icon:"pin",run:()=>{m().then((r)=>r.pinRoom(e,!d))}},{id:"move",label:t("Move to folder…"),icon:"folder",run:()=>l(()=>Ue({kind:"move",room:e}))}];if(o.kind==="rest")return i;if(nt(o.siblings,e,"up"))i.push({id:"up",label:t("Move up"),icon:"up",run:()=>{m().then((r)=>r.nudgeRoom(e,"up"))}});if(nt(o.siblings,e,"down"))i.push({id:"down",label:t("Move down"),icon:"down",run:()=>{m().then((r)=>r.nudgeRoom(e,"down"))}});return i}function Ia(e){let l=O.getState(),o=l.folders.find((n)=>n.id===e);if(!o)return;let d=Xn().folders.find((n)=>n.id===e)?.rooms??[],i=Wi(d,(n)=>l.rooms[n]?.view?.muted===!0)==="all",r=l.folders.map((n)=>n.id),u=[{id:"rename",label:t("Rename"),icon:"edit",run:()=>Ue({kind:"rename",id:e,name:o.name})}];if(d.length>0)u.push({id:"mute",label:i?t("Unmute the whole folder"):t("Mute the whole folder"),icon:i?"bell":"bell-off",run:()=>{m().then((n)=>n.muteFolder(e,!i))}});if(u.push(...Gi(d)),nt(r,e,"up"))u.push({id:"up",label:t("Move up"),icon:"up",run:()=>{m().then((n)=>n.nudgeFolder(e,"up"))}});if(nt(r,e,"down"))u.push({id:"down",label:t("Move down"),icon:"down",run:()=>{m().then((n)=>n.nudgeFolder(e,"down"))}});return u.push({id:"delete",label:t("Delete folder"),icon:"trash",tone:"danger",run:()=>Ue({kind:"delete",id:e,name:o.name})}),{title:o.name,items:u}}
2
+ export{jr,Ia};
@@ -1,2 +1,2 @@
1
- import{e,n}from"./chunk-index-24cggw6k.js";function Ft(l){return n("fieldset",{className:"field",children:[e("legend",{children:l.label}),e("div",{className:"option-chips",children:l.options.map((a)=>e("button",{type:"button","aria-pressed":a.value===l.value,className:"option-chip",onClick:()=>l.onChange(a.value),children:a.label},a.value))})]})}
2
- export{Ft};
1
+ import{e,n}from"./chunk-index-rvatmx8s.js";function Zt(l){return n("fieldset",{className:"field",children:[e("legend",{children:l.label}),e("div",{className:"option-chips",children:l.options.map((a)=>e("button",{type:"button","aria-pressed":a.value===l.value,className:"option-chip",onClick:()=>l.onChange(a.value),children:a.label},a.value))})]})}
2
+ export{Zt};
@@ -0,0 +1,2 @@
1
+ import{P}from"./chunk-index-rvatmx8s.js";var o=!1,{emit:e,use:i}=P(),Ni=()=>i(()=>o);function oo(t){if(o===t)return;o=t,e()}
2
+ export{Ni,oo};
@@ -1,4 +1,4 @@
1
- import{p}from"./chunk-index-24cggw6k.js";var r=!1;function mi(){if(r||typeof document>"u")return;if(r=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let e=new CSSStyleSheet;e.replaceSync(`
1
+ import{R,C,F,e,n,s,Me,u,It,oi}from"./chunk-index-rvatmx8s.js";import{me}from"./chunk-index-tfgd7vr5.js";var c=!1;function bn(){if(c||typeof document>"u")return;if(c=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let o=new CSSStyleSheet;o.replaceSync(`
2
2
  .folder-body[hidden] {
3
3
  display: none;
4
4
  }
@@ -113,6 +113,54 @@ import{p}from"./chunk-index-24cggw6k.js";var r=!1;function mi(){if(r||typeof doc
113
113
  font-weight: var(--weight-medium);
114
114
  }
115
115
 
116
+ /*
117
+ * A section's or the drawer's heading, as a fold button: it wears the heading's own size, colour and
118
+ * case. Like the folder's, each state is named, since the base "button:hover:not(:disabled)" would
119
+ * otherwise paint an accent fill behind it.
120
+ */
121
+ .fold-toggle {
122
+ display: inline-flex;
123
+ align-items: center;
124
+ gap: var(--space-1);
125
+ max-width: 100%;
126
+ min-height: var(--touch);
127
+ padding: 0 var(--space-2);
128
+ border: 0;
129
+ border-radius: var(--radius);
130
+ background: transparent;
131
+ color: inherit;
132
+ font: inherit;
133
+ letter-spacing: inherit;
134
+ text-align: left;
135
+ text-transform: inherit;
136
+ }
137
+
138
+ .fold-toggle:hover:not(:disabled),
139
+ .fold-toggle:active:not(:disabled),
140
+ .fold-toggle:focus-visible {
141
+ border: 0;
142
+ background: color-mix(in srgb, var(--text) 8%, transparent);
143
+ color: var(--text);
144
+ }
145
+
146
+ .fold-toggle:active:not(:disabled) {
147
+ transform: none;
148
+ }
149
+
150
+ /* In the drawer the button sits where the heading's text would, so the chevron hangs in its margin. */
151
+ .switcher-heading .fold-toggle {
152
+ min-height: 2.25rem;
153
+ margin-left: calc(-1 * var(--space-2));
154
+ }
155
+
156
+ .fold-toggle .meta {
157
+ color: inherit;
158
+ font-weight: normal;
159
+ letter-spacing: normal;
160
+ text-transform: none;
161
+ white-space: nowrap;
162
+ }
163
+
116
164
  .folder-chevron {
117
165
  flex: none;
118
166
  transition: transform var(--dur-fast) var(--ease-out);
@@ -210,7 +258,7 @@ import{p}from"./chunk-index-24cggw6k.js";var r=!1;function mi(){if(r||typeof doc
210
258
  transition: none;
211
259
  }
212
260
  }
213
- `),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e];return}catch{}let t=document.createElement("style");t.textContent=`
261
+ `),document.adoptedStyleSheets=[...document.adoptedStyleSheets,o];return}catch{}let t=document.createElement("style");t.textContent=`
214
262
  .folder-body[hidden] {
215
263
  display: none;
216
264
  }
@@ -325,6 +373,54 @@ import{p}from"./chunk-index-24cggw6k.js";var r=!1;function mi(){if(r||typeof doc
325
373
  font-weight: var(--weight-medium);
326
374
  }
327
375
 
376
+ /*
377
+ * A section's or the drawer's heading, as a fold button: it wears the heading's own size, colour and
378
+ * case. Like the folder's, each state is named, since the base "button:hover:not(:disabled)" would
379
+ * otherwise paint an accent fill behind it.
380
+ */
381
+ .fold-toggle {
382
+ display: inline-flex;
383
+ align-items: center;
384
+ gap: var(--space-1);
385
+ max-width: 100%;
386
+ min-height: var(--touch);
387
+ padding: 0 var(--space-2);
388
+ border: 0;
389
+ border-radius: var(--radius);
390
+ background: transparent;
391
+ color: inherit;
392
+ font: inherit;
393
+ letter-spacing: inherit;
394
+ text-align: left;
395
+ text-transform: inherit;
396
+ }
397
+
398
+ .fold-toggle:hover:not(:disabled),
399
+ .fold-toggle:active:not(:disabled),
400
+ .fold-toggle:focus-visible {
401
+ border: 0;
402
+ background: color-mix(in srgb, var(--text) 8%, transparent);
403
+ color: var(--text);
404
+ }
405
+
406
+ .fold-toggle:active:not(:disabled) {
407
+ transform: none;
408
+ }
409
+
410
+ /* In the drawer the button sits where the heading's text would, so the chevron hangs in its margin. */
411
+ .switcher-heading .fold-toggle {
412
+ min-height: 2.25rem;
413
+ margin-left: calc(-1 * var(--space-2));
414
+ }
415
+
416
+ .fold-toggle .meta {
417
+ color: inherit;
418
+ font-weight: normal;
419
+ letter-spacing: normal;
420
+ text-transform: none;
421
+ white-space: nowrap;
422
+ }
423
+
328
424
  .folder-chevron {
329
425
  flex: none;
330
426
  transition: transform var(--dur-fast) var(--ease-out);
@@ -422,5 +518,5 @@ import{p}from"./chunk-index-24cggw6k.js";var r=!1;function mi(){if(r||typeof doc
422
518
  transition: none;
423
519
  }
424
520
  }
425
- `,document.head.append(t)}var a=()=>(p("tdx896xf"),import("./chunk-layout-actions-tdx896xf.js")),gi=(t)=>({mode:"room",key:t,item:(e)=>e.closest("[data-drop-item]"),root:(e)=>e.closest("[data-drop-root]"),onDrop:(e)=>{if(e.type==="room")a().then((o)=>o.dropRoom(t,e.drop))},open:(e)=>void (p("eez1q41c"),import("./chunk-folds-eez1q41c.js")).then((o)=>o.expandFolder(e))});
426
- export{mi,gi};
521
+ `,document.head.append(t)}function ur(t,o){let r=t.join(","),a=u((d)=>t.filter((l)=>Me(d,l)>0).join(","),r),i=me((d)=>d.unread);return C(()=>{let d=new Set(a.split(","));return(r?r.split(","):[]).filter((l)=>l===o||d.has(l)||(i[l]??0)>0)},[r,a,i,o])}bn();function dr(t){let{name:o,open:r}=t;return n("button",{type:"button",className:"fold-toggle","aria-expanded":r,"aria-controls":t.controls,onClick:()=>oi(t.id),children:[e(s,{name:"chevron",size:14,className:"folder-chevron","data-open":r||void 0}),e("span",{children:o}),t.count===void 0?null:e("span",{className:"meta",children:F(t.count,"{count} room","{count} rooms")})]})}function fr(t){let o=It().has(t.id),r=ur(t.rooms,t.active),a=o?r:t.rooms,i=R();return n("section",{className:"stack",...t.attrs,children:[e("h2",{className:"section-title",children:e(dr,{id:t.id,name:t.title,open:!o,controls:i,count:o?t.rooms.length:void 0})}),e("div",{id:i,hidden:a.length===0,children:a.length===0?null:t.children(a)})]})}
522
+ export{bn,ur,dr,fr};