claude-mux 0.30.12 → 0.30.13

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 (205) hide show
  1. package/CLAUDE.md +4 -1
  2. package/dist/utils/version.d.ts +1 -1
  3. package/dist/utils/version.js +1 -1
  4. package/dist/web/client/_app/immutable/chunks/{BvumWaKv.js → BQQ3-rqs.js} +2 -2
  5. package/dist/web/client/_app/immutable/chunks/{BvumWaKv.js.map → BQQ3-rqs.js.map} +1 -1
  6. package/dist/web/client/_app/immutable/chunks/{CuqNMNCh.js → BQzv8cqz.js} +2 -2
  7. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CuqNMNCh.js.map → dist/web/client/_app/immutable/chunks/BQzv8cqz.js.map} +1 -1
  8. package/dist/web/client/_app/immutable/chunks/{Djib3OX9.js → BvX4FYxp.js} +2 -2
  9. package/{web/.svelte-kit/output/client/_app/immutable/chunks/Djib3OX9.js.map → dist/web/client/_app/immutable/chunks/BvX4FYxp.js.map} +1 -1
  10. package/dist/web/client/_app/immutable/chunks/CM0CI9GL.js +3 -0
  11. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CFx1X5dv.js.map → dist/web/client/_app/immutable/chunks/CM0CI9GL.js.map} +1 -1
  12. package/dist/web/client/_app/immutable/chunks/{CgY8CVMX.js → CiU8KBun.js} +2 -2
  13. package/dist/web/client/_app/immutable/chunks/{CgY8CVMX.js.map → CiU8KBun.js.map} +1 -1
  14. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CFKTes94.js → dist/web/client/_app/immutable/chunks/CtjkAirr.js} +2 -2
  15. package/dist/web/client/_app/immutable/chunks/{CFKTes94.js.map → CtjkAirr.js.map} +1 -1
  16. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CZ0xQL03.js → dist/web/client/_app/immutable/chunks/CtlIfY1C.js} +2 -2
  17. package/dist/web/client/_app/immutable/chunks/{CZ0xQL03.js.map → CtlIfY1C.js.map} +1 -1
  18. package/{web/.svelte-kit/output/client/_app/immutable/chunks/BMdeNATU.js → dist/web/client/_app/immutable/chunks/Dck--FBb.js} +2 -2
  19. package/{web/.svelte-kit/output/client/_app/immutable/chunks/BMdeNATU.js.map → dist/web/client/_app/immutable/chunks/Dck--FBb.js.map} +1 -1
  20. package/dist/web/client/_app/immutable/chunks/{CBFZAP-M.js → DlENCZqZ.js} +2 -2
  21. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CBFZAP-M.js.map → dist/web/client/_app/immutable/chunks/DlENCZqZ.js.map} +1 -1
  22. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C_d6SvJ2.js → dist/web/client/_app/immutable/chunks/Q5yhzux8.js} +2 -2
  23. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C_d6SvJ2.js.map → dist/web/client/_app/immutable/chunks/Q5yhzux8.js.map} +1 -1
  24. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DMKEzxnc.js → dist/web/client/_app/immutable/chunks/VceCNUd7.js} +2 -2
  25. package/dist/web/client/_app/immutable/chunks/{DMKEzxnc.js.map → VceCNUd7.js.map} +1 -1
  26. package/dist/web/client/_app/immutable/chunks/{DATxby6u.js → W5_HMZ5E.js} +2 -2
  27. package/dist/web/client/_app/immutable/chunks/{DATxby6u.js.map → W5_HMZ5E.js.map} +1 -1
  28. package/dist/web/client/_app/immutable/chunks/{BY5WGGQP.js → XgSsj0QY.js} +2 -2
  29. package/dist/web/client/_app/immutable/chunks/{BY5WGGQP.js.map → XgSsj0QY.js.map} +1 -1
  30. package/dist/web/client/_app/immutable/chunks/{BwPDlhmz.js → cvsGFvDx.js} +2 -2
  31. package/dist/web/client/_app/immutable/chunks/{BwPDlhmz.js.map → cvsGFvDx.js.map} +1 -1
  32. package/dist/web/client/_app/immutable/chunks/{B3wFHwBp.js → sULMfRFG.js} +10 -10
  33. package/dist/web/client/_app/immutable/chunks/{B3wFHwBp.js.map → sULMfRFG.js.map} +1 -1
  34. package/dist/web/client/_app/immutable/entry/{app.D6ZoWARI.js → app.BwTbN8wB.js} +3 -3
  35. package/{web/.svelte-kit/output/client/_app/immutable/entry/app.D6ZoWARI.js.map → dist/web/client/_app/immutable/entry/app.BwTbN8wB.js.map} +1 -1
  36. package/dist/web/client/_app/immutable/entry/start.B2ZPizAt.js +2 -0
  37. package/dist/web/client/_app/immutable/entry/start.B2ZPizAt.js.map +1 -0
  38. package/{web/.svelte-kit/output/client/_app/immutable/nodes/0.DQpEqRwc.js → dist/web/client/_app/immutable/nodes/0.BnHV-ElR.js} +2 -2
  39. package/{web/.svelte-kit/output/client/_app/immutable/nodes/0.DQpEqRwc.js.map → dist/web/client/_app/immutable/nodes/0.BnHV-ElR.js.map} +1 -1
  40. package/dist/web/client/_app/immutable/nodes/{1.DZtqO_vJ.js → 1.Dc3ryOCf.js} +2 -2
  41. package/dist/web/client/_app/immutable/nodes/{1.DZtqO_vJ.js.map → 1.Dc3ryOCf.js.map} +1 -1
  42. package/dist/web/client/_app/immutable/nodes/{2.C5Qs1_oy.js → 2.DUrpAceY.js} +2 -2
  43. package/dist/web/client/_app/immutable/nodes/{2.C5Qs1_oy.js.map → 2.DUrpAceY.js.map} +1 -1
  44. package/dist/web/client/_app/immutable/nodes/{3.BU0CxqHT.js → 3.BaCofjAn.js} +2 -2
  45. package/dist/web/client/_app/immutable/nodes/{3.BU0CxqHT.js.map → 3.BaCofjAn.js.map} +1 -1
  46. package/dist/web/client/_app/immutable/nodes/{4.DUZfcDfX.js → 4.v1wYkrvS.js} +2 -2
  47. package/dist/web/client/_app/immutable/nodes/{4.DUZfcDfX.js.map → 4.v1wYkrvS.js.map} +1 -1
  48. package/dist/web/client/_app/immutable/nodes/{5.BUR8dPHU.js → 5.Bn4A77jK.js} +2 -2
  49. package/dist/web/client/_app/immutable/nodes/{5.BUR8dPHU.js.map → 5.Bn4A77jK.js.map} +1 -1
  50. package/dist/web/client/_app/immutable/nodes/{6.C0sXY_AI.js → 6.C2hEoITj.js} +2 -2
  51. package/dist/web/client/_app/immutable/nodes/{6.C0sXY_AI.js.map → 6.C2hEoITj.js.map} +1 -1
  52. package/dist/web/client/_app/immutable/nodes/{7.BwxdLqVN.js → 7.BcHOjWdp.js} +2 -2
  53. package/dist/web/client/_app/immutable/nodes/{7.BwxdLqVN.js.map → 7.BcHOjWdp.js.map} +1 -1
  54. package/dist/web/client/_app/immutable/nodes/{8.D7XNfIoQ.js → 8.D7NtqIYy.js} +2 -2
  55. package/dist/web/client/_app/immutable/nodes/{8.D7XNfIoQ.js.map → 8.D7NtqIYy.js.map} +1 -1
  56. package/dist/web/client/_app/immutable/nodes/{9.DK1PnFTi.js → 9.D-211z9-.js} +2 -2
  57. package/dist/web/client/_app/immutable/nodes/{9.DK1PnFTi.js.map → 9.D-211z9-.js.map} +1 -1
  58. package/dist/web/client/_app/version.json +1 -1
  59. package/dist/web/server/chunks/{0-C3qbHxYN.js → 0-CvglVGCY.js} +14 -14
  60. package/dist/web/server/chunks/{0-C3qbHxYN.js.map → 0-CvglVGCY.js.map} +1 -1
  61. package/dist/web/server/chunks/{1-D8Dnq6A4.js → 1-D-gJDFrG.js} +4 -4
  62. package/dist/web/server/chunks/{1-D8Dnq6A4.js.map → 1-D-gJDFrG.js.map} +1 -1
  63. package/dist/web/server/chunks/{2-D-erc0ov.js → 2-BCmEU5Qq.js} +13 -13
  64. package/dist/web/server/chunks/{2-D-erc0ov.js.map → 2-BCmEU5Qq.js.map} +1 -1
  65. package/dist/web/server/chunks/{3-DiIyiFTh.js → 3-CHn5Kw-T.js} +10 -10
  66. package/dist/web/server/chunks/{3-DiIyiFTh.js.map → 3-CHn5Kw-T.js.map} +1 -1
  67. package/dist/web/server/chunks/{4-C9dfruxJ.js → 4-Cxg7VcZ7.js} +12 -12
  68. package/dist/web/server/chunks/{4-C9dfruxJ.js.map → 4-Cxg7VcZ7.js.map} +1 -1
  69. package/dist/web/server/chunks/{5-CNxH6-gY.js → 5-DSgvnHF_.js} +9 -9
  70. package/dist/web/server/chunks/{5-CNxH6-gY.js.map → 5-DSgvnHF_.js.map} +1 -1
  71. package/dist/web/server/chunks/{6-DZFHsFC1.js → 6-B0rymWRR.js} +5 -5
  72. package/dist/web/server/chunks/{6-DZFHsFC1.js.map → 6-B0rymWRR.js.map} +1 -1
  73. package/dist/web/server/chunks/{7-BrAqYzww.js → 7-CNomBJux.js} +10 -10
  74. package/dist/web/server/chunks/{7-BrAqYzww.js.map → 7-CNomBJux.js.map} +1 -1
  75. package/dist/web/server/chunks/{8-hNuZYHp2.js → 8-TYbX-1bO.js} +12 -12
  76. package/dist/web/server/chunks/{8-hNuZYHp2.js.map → 8-TYbX-1bO.js.map} +1 -1
  77. package/dist/web/server/chunks/{9-KM8ukvws.js → 9-XGQQvTLc.js} +9 -9
  78. package/dist/web/server/chunks/{9-KM8ukvws.js.map → 9-XGQQvTLc.js.map} +1 -1
  79. package/dist/web/server/chunks/{_layout.svelte-DTdVhWSL.js → _layout.svelte-yrPX5VFm.js} +4 -4
  80. package/dist/web/server/chunks/{_layout.svelte-DTdVhWSL.js.map → _layout.svelte-yrPX5VFm.js.map} +1 -1
  81. package/dist/web/server/chunks/{_page.svelte-DlJs45B3.js → _page.svelte-C_kFA0Lq.js} +3 -3
  82. package/dist/web/server/chunks/{_page.svelte-DlJs45B3.js.map → _page.svelte-C_kFA0Lq.js.map} +1 -1
  83. package/dist/web/server/chunks/{_page.svelte-Bmge0Cj4.js → _page.svelte-DvxpwsgS.js} +5 -5
  84. package/dist/web/server/chunks/{_page.svelte-Bmge0Cj4.js.map → _page.svelte-DvxpwsgS.js.map} +1 -1
  85. package/dist/web/server/chunks/{_server.ts-DFw1dZh6.js → _server.ts-CNBy2p2U.js} +2 -2
  86. package/dist/web/server/chunks/{_server.ts-DFw1dZh6.js.map → _server.ts-CNBy2p2U.js.map} +1 -1
  87. package/dist/web/server/chunks/{_server.ts-C837tDPt.js → _server.ts-KbQyErIR.js} +2 -2
  88. package/dist/web/server/chunks/{_server.ts-C837tDPt.js.map → _server.ts-KbQyErIR.js.map} +1 -1
  89. package/dist/web/server/chunks/{checkbox-DEKquZNV.js → checkbox-DiJTAtHi.js} +2 -2
  90. package/dist/web/server/chunks/{checkbox-DEKquZNV.js.map → checkbox-DiJTAtHi.js.map} +1 -1
  91. package/dist/web/server/chunks/{create-id-CGB-ZsMW.js → create-id-DpoSQWrl.js} +2 -2
  92. package/dist/web/server/chunks/{create-id-CGB-ZsMW.js.map → create-id-DpoSQWrl.js.map} +1 -1
  93. package/dist/web/server/chunks/{drafts.svelte-DoF8wcyh.js → drafts.svelte-DsFAtH-s.js} +2 -2
  94. package/dist/web/server/chunks/{drafts.svelte-DoF8wcyh.js.map → drafts.svelte-DsFAtH-s.js.map} +1 -1
  95. package/dist/web/server/chunks/{version-Clbh-EaZ.js → version-BqEJmw2g.js} +2 -2
  96. package/dist/web/server/chunks/version-BqEJmw2g.js.map +1 -0
  97. package/dist/web/server/index.js +1 -1
  98. package/dist/web/server/index.js.map +1 -1
  99. package/dist/web/server/manifest.js +17 -17
  100. package/dist/web/server/manifest.js.map +1 -1
  101. package/package.json +1 -1
  102. package/src/utils/version.ts +1 -1
  103. package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
  104. package/web/.svelte-kit/adapter-bun/chunks/internal2.js.map +1 -1
  105. package/web/.svelte-kit/adapter-bun/chunks/version.js +1 -1
  106. package/web/.svelte-kit/adapter-bun/chunks/version.js.map +1 -1
  107. package/web/.svelte-kit/adapter-bun/entries/pages/session/_target_/_page.svelte.js.map +1 -1
  108. package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
  109. package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
  110. package/web/.svelte-kit/adapter-bun/nodes/0.js +1 -1
  111. package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
  112. package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
  113. package/web/.svelte-kit/adapter-bun/nodes/3.js +1 -1
  114. package/web/.svelte-kit/adapter-bun/nodes/4.js +1 -1
  115. package/web/.svelte-kit/adapter-bun/nodes/5.js +1 -1
  116. package/web/.svelte-kit/adapter-bun/nodes/6.js +1 -1
  117. package/web/.svelte-kit/adapter-bun/nodes/7.js +1 -1
  118. package/web/.svelte-kit/adapter-bun/nodes/8.js +1 -1
  119. package/web/.svelte-kit/adapter-bun/nodes/9.js +1 -1
  120. package/web/.svelte-kit/generated/server/internal.js +1 -1
  121. package/web/.svelte-kit/output/client/.vite/manifest.json +206 -206
  122. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BvumWaKv.js → BQQ3-rqs.js} +2 -2
  123. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BvumWaKv.js.map → BQQ3-rqs.js.map} +1 -1
  124. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CuqNMNCh.js → BQzv8cqz.js} +2 -2
  125. package/{dist/web/client/_app/immutable/chunks/CuqNMNCh.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/BQzv8cqz.js.map} +1 -1
  126. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Djib3OX9.js → BvX4FYxp.js} +2 -2
  127. package/{dist/web/client/_app/immutable/chunks/Djib3OX9.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/BvX4FYxp.js.map} +1 -1
  128. package/web/.svelte-kit/output/client/_app/immutable/chunks/CM0CI9GL.js +3 -0
  129. package/{dist/web/client/_app/immutable/chunks/CFx1X5dv.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/CM0CI9GL.js.map} +1 -1
  130. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CgY8CVMX.js → CiU8KBun.js} +2 -2
  131. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CgY8CVMX.js.map → CiU8KBun.js.map} +1 -1
  132. package/{dist/web/client/_app/immutable/chunks/CFKTes94.js → web/.svelte-kit/output/client/_app/immutable/chunks/CtjkAirr.js} +2 -2
  133. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CFKTes94.js.map → CtjkAirr.js.map} +1 -1
  134. package/{dist/web/client/_app/immutable/chunks/CZ0xQL03.js → web/.svelte-kit/output/client/_app/immutable/chunks/CtlIfY1C.js} +2 -2
  135. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CZ0xQL03.js.map → CtlIfY1C.js.map} +1 -1
  136. package/{dist/web/client/_app/immutable/chunks/BMdeNATU.js → web/.svelte-kit/output/client/_app/immutable/chunks/Dck--FBb.js} +2 -2
  137. package/{dist/web/client/_app/immutable/chunks/BMdeNATU.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Dck--FBb.js.map} +1 -1
  138. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CBFZAP-M.js → DlENCZqZ.js} +2 -2
  139. package/{dist/web/client/_app/immutable/chunks/CBFZAP-M.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/DlENCZqZ.js.map} +1 -1
  140. package/{dist/web/client/_app/immutable/chunks/C_d6SvJ2.js → web/.svelte-kit/output/client/_app/immutable/chunks/Q5yhzux8.js} +2 -2
  141. package/{dist/web/client/_app/immutable/chunks/C_d6SvJ2.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Q5yhzux8.js.map} +1 -1
  142. package/{dist/web/client/_app/immutable/chunks/DMKEzxnc.js → web/.svelte-kit/output/client/_app/immutable/chunks/VceCNUd7.js} +2 -2
  143. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DMKEzxnc.js.map → VceCNUd7.js.map} +1 -1
  144. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DATxby6u.js → W5_HMZ5E.js} +2 -2
  145. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DATxby6u.js.map → W5_HMZ5E.js.map} +1 -1
  146. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BY5WGGQP.js → XgSsj0QY.js} +2 -2
  147. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BY5WGGQP.js.map → XgSsj0QY.js.map} +1 -1
  148. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BwPDlhmz.js → cvsGFvDx.js} +2 -2
  149. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BwPDlhmz.js.map → cvsGFvDx.js.map} +1 -1
  150. package/web/.svelte-kit/output/client/_app/immutable/chunks/{B3wFHwBp.js → sULMfRFG.js} +10 -10
  151. package/web/.svelte-kit/output/client/_app/immutable/chunks/{B3wFHwBp.js.map → sULMfRFG.js.map} +1 -1
  152. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.D6ZoWARI.js → app.BwTbN8wB.js} +3 -3
  153. package/{dist/web/client/_app/immutable/entry/app.D6ZoWARI.js.map → web/.svelte-kit/output/client/_app/immutable/entry/app.BwTbN8wB.js.map} +1 -1
  154. package/web/.svelte-kit/output/client/_app/immutable/entry/start.B2ZPizAt.js +2 -0
  155. package/web/.svelte-kit/output/client/_app/immutable/entry/start.B2ZPizAt.js.map +1 -0
  156. package/{dist/web/client/_app/immutable/nodes/0.DQpEqRwc.js → web/.svelte-kit/output/client/_app/immutable/nodes/0.BnHV-ElR.js} +2 -2
  157. package/{dist/web/client/_app/immutable/nodes/0.DQpEqRwc.js.map → web/.svelte-kit/output/client/_app/immutable/nodes/0.BnHV-ElR.js.map} +1 -1
  158. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.DZtqO_vJ.js → 1.Dc3ryOCf.js} +2 -2
  159. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.DZtqO_vJ.js.map → 1.Dc3ryOCf.js.map} +1 -1
  160. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C5Qs1_oy.js → 2.DUrpAceY.js} +2 -2
  161. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C5Qs1_oy.js.map → 2.DUrpAceY.js.map} +1 -1
  162. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.BU0CxqHT.js → 3.BaCofjAn.js} +2 -2
  163. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.BU0CxqHT.js.map → 3.BaCofjAn.js.map} +1 -1
  164. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.v1wYkrvS.js +2 -0
  165. package/web/.svelte-kit/output/client/_app/immutable/nodes/{4.DUZfcDfX.js.map → 4.v1wYkrvS.js.map} +1 -1
  166. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.Bn4A77jK.js +2 -0
  167. package/web/.svelte-kit/output/client/_app/immutable/nodes/{5.BUR8dPHU.js.map → 5.Bn4A77jK.js.map} +1 -1
  168. package/web/.svelte-kit/output/client/_app/immutable/nodes/{6.C0sXY_AI.js → 6.C2hEoITj.js} +2 -2
  169. package/web/.svelte-kit/output/client/_app/immutable/nodes/{6.C0sXY_AI.js.map → 6.C2hEoITj.js.map} +1 -1
  170. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BwxdLqVN.js → 7.BcHOjWdp.js} +2 -2
  171. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BwxdLqVN.js.map → 7.BcHOjWdp.js.map} +1 -1
  172. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.D7NtqIYy.js +2 -0
  173. package/web/.svelte-kit/output/client/_app/immutable/nodes/{8.D7XNfIoQ.js.map → 8.D7NtqIYy.js.map} +1 -1
  174. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.D-211z9-.js +2 -0
  175. package/web/.svelte-kit/output/client/_app/immutable/nodes/{9.DK1PnFTi.js.map → 9.D-211z9-.js.map} +1 -1
  176. package/web/.svelte-kit/output/client/_app/version.json +1 -1
  177. package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
  178. package/web/.svelte-kit/output/server/chunks/internal2.js.map +1 -1
  179. package/web/.svelte-kit/output/server/chunks/version.js +1 -1
  180. package/web/.svelte-kit/output/server/chunks/version.js.map +1 -1
  181. package/web/.svelte-kit/output/server/entries/pages/session/_target_/_page.svelte.js.map +1 -1
  182. package/web/.svelte-kit/output/server/manifest-full.js +1 -1
  183. package/web/.svelte-kit/output/server/manifest.js +1 -1
  184. package/web/.svelte-kit/output/server/nodes/0.js +1 -1
  185. package/web/.svelte-kit/output/server/nodes/1.js +1 -1
  186. package/web/.svelte-kit/output/server/nodes/2.js +1 -1
  187. package/web/.svelte-kit/output/server/nodes/3.js +1 -1
  188. package/web/.svelte-kit/output/server/nodes/4.js +1 -1
  189. package/web/.svelte-kit/output/server/nodes/5.js +1 -1
  190. package/web/.svelte-kit/output/server/nodes/6.js +1 -1
  191. package/web/.svelte-kit/output/server/nodes/7.js +1 -1
  192. package/web/.svelte-kit/output/server/nodes/8.js +1 -1
  193. package/web/.svelte-kit/output/server/nodes/9.js +1 -1
  194. package/web/src/routes/session/[target]/+page.svelte +24 -1
  195. package/dist/web/client/_app/immutable/chunks/CFx1X5dv.js +0 -3
  196. package/dist/web/client/_app/immutable/entry/start.CGC2zRGN.js +0 -2
  197. package/dist/web/client/_app/immutable/entry/start.CGC2zRGN.js.map +0 -1
  198. package/dist/web/server/chunks/version-Clbh-EaZ.js.map +0 -1
  199. package/web/.svelte-kit/output/client/_app/immutable/chunks/CFx1X5dv.js +0 -3
  200. package/web/.svelte-kit/output/client/_app/immutable/entry/start.CGC2zRGN.js +0 -2
  201. package/web/.svelte-kit/output/client/_app/immutable/entry/start.CGC2zRGN.js.map +0 -1
  202. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.DUZfcDfX.js +0 -2
  203. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.BUR8dPHU.js +0 -2
  204. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.D7XNfIoQ.js +0 -2
  205. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.DK1PnFTi.js +0 -2
@@ -1,2 +1,2 @@
1
- import{g as h,h as u,i as l,j as a}from"./BeqCgGI7.js";import{c as n}from"./CFKTes94.js";const r=32,o=250,i=n("claude-mux-drafts",{});class c{#t=h(u(i.load()));get state(){return l(this.#t)}set state(t){a(this.#t,t,!0)}flushTimer=null;get(t){return t?this.state[t]??"":""}set(t,s){if(!t)return;const e=this.state[t]??"";s!==e&&(s===""?delete this.state[t]:this.state[t]=s,this.scheduleFlush())}has(t){return!!t&&(this.state[t]?.length??0)>0}preview(t){const s=this.get(t);if(!s)return"";const e=s.replace(/\s+/g," ").trim();return e.length>r?e.slice(0,r-1)+"…":e}scheduleFlush(){this.flushTimer===null&&(this.flushTimer=setTimeout(()=>{this.flushTimer=null,i.save(this.state)},o))}}const p=new c;export{p as d};
2
- //# sourceMappingURL=DATxby6u.js.map
1
+ import{g as h,h as u,i as l,j as a}from"./BeqCgGI7.js";import{c as n}from"./CtjkAirr.js";const r=32,o=250,i=n("claude-mux-drafts",{});class c{#t=h(u(i.load()));get state(){return l(this.#t)}set state(t){a(this.#t,t,!0)}flushTimer=null;get(t){return t?this.state[t]??"":""}set(t,s){if(!t)return;const e=this.state[t]??"";s!==e&&(s===""?delete this.state[t]:this.state[t]=s,this.scheduleFlush())}has(t){return!!t&&(this.state[t]?.length??0)>0}preview(t){const s=this.get(t);if(!s)return"";const e=s.replace(/\s+/g," ").trim();return e.length>r?e.slice(0,r-1)+"…":e}scheduleFlush(){this.flushTimer===null&&(this.flushTimer=setTimeout(()=>{this.flushTimer=null,i.save(this.state)},o))}}const p=new c;export{p as d};
2
+ //# sourceMappingURL=W5_HMZ5E.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DATxby6u.js","sources":["../../../../../../src/lib/stores/drafts.svelte.ts"],"sourcesContent":["import { createPersisted } from './persisted';\n\nconst PREVIEW_LEN = 32;\nconst SAVE_DEBOUNCE_MS = 250;\nconst persisted = createPersisted<Record<string, string>>('claude-mux-drafts', {});\n\nclass DraftsStore {\n\tprivate state = $state<Record<string, string>>(persisted.load());\n\tprivate flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tget(target: string | null): string {\n\t\tif (!target) return '';\n\t\treturn this.state[target] ?? '';\n\t}\n\n\tset(target: string | null, text: string): void {\n\t\tif (!target) return;\n\t\tconst cur = this.state[target] ?? '';\n\t\tif (text === cur) return;\n\t\tif (text === '') delete this.state[target];\n\t\telse this.state[target] = text;\n\t\tthis.scheduleFlush();\n\t}\n\n\thas(target: string | null): boolean {\n\t\treturn !!target && (this.state[target]?.length ?? 0) > 0;\n\t}\n\n\tpreview(target: string | null): string {\n\t\tconst text = this.get(target);\n\t\tif (!text) return '';\n\t\tconst flat = text.replace(/\\s+/g, ' ').trim();\n\t\treturn flat.length > PREVIEW_LEN ? flat.slice(0, PREVIEW_LEN - 1) + '…' : flat;\n\t}\n\n\t// Coalesce keystrokes: localStorage writes serialize the whole map, so per-key\n\t// JSON.stringify is wasteful when the user is typing quickly.\n\tprivate scheduleFlush(): void {\n\t\tif (this.flushTimer !== null) return;\n\t\tthis.flushTimer = setTimeout(() => {\n\t\t\tthis.flushTimer = null;\n\t\t\tpersisted.save(this.state);\n\t\t}, SAVE_DEBOUNCE_MS);\n\t}\n}\n\nexport const draftsStore = new DraftsStore();\n"],"names":["PREVIEW_LEN","SAVE_DEBOUNCE_MS","persisted","createPersisted","DraftsStore","#state","$.state","$.proxy","value","target","text","cur","flat","draftsStore"],"mappings":"yFAEA,MAAMA,EAAc,GACdC,EAAmB,IACnBC,EAAYC,EAAwC,oBAAqB,EAAE,EAEjF,MAAMC,CAAY,CACDC,GAAAC,EAAAC,EAA+BL,EAAU,KAAA,CAAM,CAAA,MAAvD,OAAA,uBAAA,MAAAM,EAAA,iBACA,WAAmD,KAE3D,IAAIC,EAA+B,CAClC,OAAKA,EACE,KAAK,MAAMA,CAAM,GAAK,GADT,EAErB,CAEA,IAAIA,EAAuBC,EAAoB,CAC9C,GAAI,CAACD,EAAQ,OACb,MAAME,EAAM,KAAK,MAAMF,CAAM,GAAK,GAC9BC,IAASC,IACTD,IAAS,GAAI,OAAO,KAAK,MAAMD,CAAM,EACpC,KAAK,MAAMA,CAAM,EAAIC,EAC1B,KAAK,cAAA,EACN,CAEA,IAAID,EAAgC,CACnC,MAAO,CAAC,CAACA,IAAW,KAAK,MAAMA,CAAM,GAAG,QAAU,GAAK,CACxD,CAEA,QAAQA,EAA+B,CACtC,MAAMC,EAAO,KAAK,IAAID,CAAM,EAC5B,GAAI,CAACC,EAAM,MAAO,GAClB,MAAME,EAAOF,EAAK,QAAQ,OAAQ,GAAG,EAAE,KAAA,EACvC,OAAOE,EAAK,OAASZ,EAAcY,EAAK,MAAM,EAAGZ,EAAc,CAAC,EAAI,IAAMY,CAC3E,CAIQ,eAAsB,CACzB,KAAK,aAAe,OACxB,KAAK,WAAa,WAAW,IAAM,CAClC,KAAK,WAAa,KAClBV,EAAU,KAAK,KAAK,KAAK,CAC1B,EAAGD,GACJ,CACD,CAEO,MAAMY,EAAc,IAAIT"}
1
+ {"version":3,"file":"W5_HMZ5E.js","sources":["../../../../../../src/lib/stores/drafts.svelte.ts"],"sourcesContent":["import { createPersisted } from './persisted';\n\nconst PREVIEW_LEN = 32;\nconst SAVE_DEBOUNCE_MS = 250;\nconst persisted = createPersisted<Record<string, string>>('claude-mux-drafts', {});\n\nclass DraftsStore {\n\tprivate state = $state<Record<string, string>>(persisted.load());\n\tprivate flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tget(target: string | null): string {\n\t\tif (!target) return '';\n\t\treturn this.state[target] ?? '';\n\t}\n\n\tset(target: string | null, text: string): void {\n\t\tif (!target) return;\n\t\tconst cur = this.state[target] ?? '';\n\t\tif (text === cur) return;\n\t\tif (text === '') delete this.state[target];\n\t\telse this.state[target] = text;\n\t\tthis.scheduleFlush();\n\t}\n\n\thas(target: string | null): boolean {\n\t\treturn !!target && (this.state[target]?.length ?? 0) > 0;\n\t}\n\n\tpreview(target: string | null): string {\n\t\tconst text = this.get(target);\n\t\tif (!text) return '';\n\t\tconst flat = text.replace(/\\s+/g, ' ').trim();\n\t\treturn flat.length > PREVIEW_LEN ? flat.slice(0, PREVIEW_LEN - 1) + '…' : flat;\n\t}\n\n\t// Coalesce keystrokes: localStorage writes serialize the whole map, so per-key\n\t// JSON.stringify is wasteful when the user is typing quickly.\n\tprivate scheduleFlush(): void {\n\t\tif (this.flushTimer !== null) return;\n\t\tthis.flushTimer = setTimeout(() => {\n\t\t\tthis.flushTimer = null;\n\t\t\tpersisted.save(this.state);\n\t\t}, SAVE_DEBOUNCE_MS);\n\t}\n}\n\nexport const draftsStore = new DraftsStore();\n"],"names":["PREVIEW_LEN","SAVE_DEBOUNCE_MS","persisted","createPersisted","DraftsStore","#state","$.state","$.proxy","value","target","text","cur","flat","draftsStore"],"mappings":"yFAEA,MAAMA,EAAc,GACdC,EAAmB,IACnBC,EAAYC,EAAwC,oBAAqB,EAAE,EAEjF,MAAMC,CAAY,CACDC,GAAAC,EAAAC,EAA+BL,EAAU,KAAA,CAAM,CAAA,MAAvD,OAAA,uBAAA,MAAAM,EAAA,iBACA,WAAmD,KAE3D,IAAIC,EAA+B,CAClC,OAAKA,EACE,KAAK,MAAMA,CAAM,GAAK,GADT,EAErB,CAEA,IAAIA,EAAuBC,EAAoB,CAC9C,GAAI,CAACD,EAAQ,OACb,MAAME,EAAM,KAAK,MAAMF,CAAM,GAAK,GAC9BC,IAASC,IACTD,IAAS,GAAI,OAAO,KAAK,MAAMD,CAAM,EACpC,KAAK,MAAMA,CAAM,EAAIC,EAC1B,KAAK,cAAA,EACN,CAEA,IAAID,EAAgC,CACnC,MAAO,CAAC,CAACA,IAAW,KAAK,MAAMA,CAAM,GAAG,QAAU,GAAK,CACxD,CAEA,QAAQA,EAA+B,CACtC,MAAMC,EAAO,KAAK,IAAID,CAAM,EAC5B,GAAI,CAACC,EAAM,MAAO,GAClB,MAAME,EAAOF,EAAK,QAAQ,OAAQ,GAAG,EAAE,KAAA,EACvC,OAAOE,EAAK,OAASZ,EAAcY,EAAK,MAAM,EAAGZ,EAAc,CAAC,EAAI,IAAMY,CAC3E,CAIQ,eAAsB,CACzB,KAAK,aAAe,OACxB,KAAK,WAAa,WAAW,IAAM,CAClC,KAAK,WAAa,KAClBV,EAAU,KAAK,KAAK,KAAK,CAC1B,EAAGD,GACJ,CACD,CAEO,MAAMY,EAAc,IAAIT"}
@@ -1,2 +1,2 @@
1
- import{g as u,i as c,j as h,h as b,K as A,L as M}from"./BeqCgGI7.js";import{k as R,c as x}from"./CFKTes94.js";const C=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/mp4"];function y(){if(typeof MediaRecorder>"u")return"";for(const l of C)if(MediaRecorder.isTypeSupported(l))return l;return""}class k{stream=null;recorder=null;chunks=[];startedAt=0;pending=null;audioCtx=null;analyser=null;timeBuf=null;gainNode=null;async start(e,t={}){if(this.recorder&&this.recorder.state==="recording")throw new Error("Already recording");const s=Math.max(.1,Math.min(10,t.gain??1)),a=s!==1,n={echoCancellation:!0,noiseSuppression:t.noiseSuppression??!0,autoGainControl:!0};e&&(n.deviceId={exact:e});let g=!1;try{this.stream=await navigator.mediaDevices.getUserMedia({audio:n})}catch(i){if(e&&i instanceof Error&&i.name==="OverconstrainedError")delete n.deviceId,this.stream=await navigator.mediaDevices.getUserMedia({audio:n}),g=!0;else throw i}let d=this.stream;try{const i=window.AudioContext??window.webkitAudioContext;if(i){this.audioCtx=new i;const f=this.audioCtx.createMediaStreamSource(this.stream),o=this.audioCtx.createAnalyser();if(o.fftSize=1024,o.smoothingTimeConstant=.4,a){const v=this.audioCtx.createGain();v.gain.value=s;const w=this.audioCtx.createMediaStreamDestination();f.connect(v),v.connect(o),v.connect(w),this.gainNode=v,d=w.stream}else f.connect(o);this.analyser=o,this.timeBuf=new Float32Array(o.fftSize)}}catch{this.audioCtx=null,this.analyser=null,this.timeBuf=null,this.gainNode=null,d=this.stream}const m=y(),T=m?{mimeType:m}:{};return this.recorder=new MediaRecorder(d,T),this.chunks=[],this.startedAt=performance.now(),this.recorder.ondataavailable=i=>{i.data&&i.data.size>0&&this.chunks.push(i.data)},this.recorder.onstop=()=>{const i=this.recorder?.mimeType||m||"audio/webm",f=new Blob(this.chunks,{type:i}),o=performance.now()-this.startedAt;this.releaseStream(),this.pending?.resolve({blob:f,mimeType:i,durationMs:o}),this.pending=null},this.recorder.onerror=i=>{const f=i.error??new Error("MediaRecorder error");this.releaseStream(),this.pending?.reject(f),this.pending=null},this.recorder.start(),{fellBackToDefault:g}}async stop(){const e=this.recorder;if(!e||e.state==="inactive")throw new Error("Not recording");return new Promise((t,s)=>{this.pending={resolve:t,reject:s},e.stop()})}getLevel(){if(!this.analyser||!this.timeBuf)return null;this.analyser.getFloatTimeDomainData(this.timeBuf);let e=0,t=0;for(let a=0;a<this.timeBuf.length;a++){const r=this.timeBuf[a];e+=r*r;const n=r<0?-r:r;n>t&&(t=n)}return{rms:Math.sqrt(e/this.timeBuf.length),peak:t}}releaseStream(){if(this.stream){for(const e of this.stream.getTracks())e.stop();this.stream=null}this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null),this.analyser=null,this.timeBuf=null,this.gainNode=null}}function E(){return S()===null}function S(){return typeof navigator>"u"?"No navigator (SSR).":typeof window<"u"&&window.isSecureContext===!1?"Voice requires HTTPS or localhost. Open this page over HTTPS.":navigator.mediaDevices?.getUserMedia?typeof MediaRecorder>"u"?"MediaRecorder API unavailable in this browser.":y()===""?"No supported audio codec (webm/ogg/mp4). Try another browser.":null:"Browser blocks microphone access. Open over HTTPS or use a supported browser."}async function V(){return typeof navigator>"u"||!navigator.mediaDevices?.enumerateDevices?[]:(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind==="audioinput").map(e=>({deviceId:e.deviceId,label:e.label||"Microphone"}))}const I=200,p=x("claude-mux-voice-settings",{language:"auto",autoSubmit:!0,deviceId:null,gain:1,noiseSuppression:!0});class L{#e=u("idle");get status(){return c(this.#e)}set status(e){h(this.#e,e,!0)}#t=u(null);get error(){return c(this.#t)}set error(e){h(this.#t,e,!0)}#r=u(null);get startedAt(){return c(this.#r)}set startedAt(e){h(this.#r,e,!0)}#s=u(b({rms:0,peak:0}));get level(){return c(this.#s)}set level(e){h(this.#s,e,!0)}#i=u(null);get ownerTarget(){return c(this.#i)}set ownerTarget(e){h(this.#i,e,!0)}#n=u(null);get ownerField(){return c(this.#n)}set ownerField(e){h(this.#n,e,!0)}#a=u(b(p.load()));get prefs(){return c(this.#a)}set prefs(e){h(this.#a,e,!0)}recorder=null;inflightAbort=null;levelRaf=null;get supported(){return E()}get unsupportedReason(){return S()}get isActive(){return this.status==="recording"||this.status==="transcribing"}isOwnedBy(e,t=null){return e!=null&&this.ownerTarget===e&&this.ownerField===t}get language(){return this.prefs.language}set language(e){this.prefs.language!==e&&(this.prefs.language=e,p.save(this.prefs))}get autoSubmit(){return this.prefs.autoSubmit}set autoSubmit(e){this.prefs.autoSubmit!==e&&(this.prefs.autoSubmit=e,p.save(this.prefs))}get deviceId(){return this.prefs.deviceId}set deviceId(e){this.prefs.deviceId!==e&&(this.prefs.deviceId=e,p.save(this.prefs))}get gain(){return this.prefs.gain}set gain(e){const t=Math.max(.1,Math.min(10,e));this.prefs.gain!==t&&(this.prefs.gain=t,p.save(this.prefs))}get noiseSuppression(){return this.prefs.noiseSuppression}set noiseSuppression(e){this.prefs.noiseSuppression!==e&&(this.prefs.noiseSuppression=e,p.save(this.prefs))}async startRecording(e,t=null){if(!this.isActive){if(!this.supported){this.fail("Voice not supported in this browser");return}if(!e){this.fail("No target for voice recording");return}try{this.recorder||(this.recorder=new k),(await this.recorder.start(this.deviceId,{gain:this.gain,noiseSuppression:this.noiseSuppression})).fellBackToDefault&&this.deviceId!==null&&(this.deviceId=null),this.ownerTarget=e,this.ownerField=t,this.status="recording",this.error=null,this.startedAt=Date.now(),this.startLevelLoop()}catch(s){this.fail(s instanceof Error?s.message:"Microphone access denied")}}}startLevelLoop(){this.stopLevelLoop();const e=()=>{if(this.status!=="recording"||!this.recorder){this.levelRaf=null;return}const t=this.recorder.getLevel();t&&(this.level=t),this.levelRaf=requestAnimationFrame(e)};this.levelRaf=requestAnimationFrame(e)}stopLevelLoop(){this.levelRaf!==null&&(cancelAnimationFrame(this.levelRaf),this.levelRaf=null),this.level={rms:0,peak:0}}async stop(){if(this.status!=="recording"||!this.recorder)return null;const e=this.ownerTarget;if(!e)return this.fail("Voice owner missing"),null;this.stopLevelLoop();let t;try{t=await this.recorder.stop()}catch(r){return this.fail(r instanceof Error?r.message:"Recording failed"),null}if(this.status!=="recording")return null;if(t.blob.size===0||t.durationMs<I)return this.release(),null;this.status="transcribing",this.startedAt=null;const s=new AbortController;this.inflightAbort=s;const a=this.language==="auto"?"":`?lang=${this.language}`;try{const r=R(e);if(!r)throw new Error("Not a session");const n=await fetch(`${r}/voice${a}`,{method:"POST",headers:{"Content-Type":t.mimeType},body:t.blob,signal:s.signal});if(!n.ok){const m=await n.text().catch(()=>"");throw new Error(m||`HTTP ${n.status}`)}const g=await n.json();this.release();const d=(g.text??"").trim();return d?{text:d,command:g.command===!0}:null}catch(r){return s.signal.aborted?(this.error=null,null):(this.fail(r instanceof Error?r.message:"Transcription failed"),null)}finally{this.inflightAbort===s&&(this.inflightAbort=null)}}release(){this.status="idle",this.startedAt=null,this.ownerTarget=null,this.ownerField=null}cancelTranscribing(){this.status!=="transcribing"||!this.inflightAbort||(this.release(),this.inflightAbort.abort())}async cancelRecording(){if(!(this.status!=="recording"||!this.recorder)){this.release(),this.stopLevelLoop();try{await this.recorder.stop()}catch{}}}async cancel(){this.status==="recording"?await this.cancelRecording():this.status==="transcribing"&&this.cancelTranscribing()}fail(e){this.release(),this.status="error",this.error=e}}const _=new L;class B{#e;#t;constructor(e,t){this.#e=e,this.#t=A(t)}get current(){return this.#t(),this.#e()}}const D=/\(.+\)/,F=new Set(["all","print","screen","and","or","not","only"]);class q extends B{constructor(e,t){let s=D.test(e)||e.split(/[\s,]+/).some(r=>F.has(r.trim()))?e:`(${e})`;const a=window.matchMedia(s);super(()=>a.matches,r=>M(a,"change",r))}}export{q as M,V as l,_ as v};
2
- //# sourceMappingURL=BY5WGGQP.js.map
1
+ import{g as u,i as c,j as h,h as b,K as A,L as M}from"./BeqCgGI7.js";import{k as R,c as x}from"./CtjkAirr.js";const C=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/mp4"];function y(){if(typeof MediaRecorder>"u")return"";for(const l of C)if(MediaRecorder.isTypeSupported(l))return l;return""}class k{stream=null;recorder=null;chunks=[];startedAt=0;pending=null;audioCtx=null;analyser=null;timeBuf=null;gainNode=null;async start(e,t={}){if(this.recorder&&this.recorder.state==="recording")throw new Error("Already recording");const s=Math.max(.1,Math.min(10,t.gain??1)),a=s!==1,n={echoCancellation:!0,noiseSuppression:t.noiseSuppression??!0,autoGainControl:!0};e&&(n.deviceId={exact:e});let g=!1;try{this.stream=await navigator.mediaDevices.getUserMedia({audio:n})}catch(i){if(e&&i instanceof Error&&i.name==="OverconstrainedError")delete n.deviceId,this.stream=await navigator.mediaDevices.getUserMedia({audio:n}),g=!0;else throw i}let d=this.stream;try{const i=window.AudioContext??window.webkitAudioContext;if(i){this.audioCtx=new i;const f=this.audioCtx.createMediaStreamSource(this.stream),o=this.audioCtx.createAnalyser();if(o.fftSize=1024,o.smoothingTimeConstant=.4,a){const v=this.audioCtx.createGain();v.gain.value=s;const w=this.audioCtx.createMediaStreamDestination();f.connect(v),v.connect(o),v.connect(w),this.gainNode=v,d=w.stream}else f.connect(o);this.analyser=o,this.timeBuf=new Float32Array(o.fftSize)}}catch{this.audioCtx=null,this.analyser=null,this.timeBuf=null,this.gainNode=null,d=this.stream}const m=y(),T=m?{mimeType:m}:{};return this.recorder=new MediaRecorder(d,T),this.chunks=[],this.startedAt=performance.now(),this.recorder.ondataavailable=i=>{i.data&&i.data.size>0&&this.chunks.push(i.data)},this.recorder.onstop=()=>{const i=this.recorder?.mimeType||m||"audio/webm",f=new Blob(this.chunks,{type:i}),o=performance.now()-this.startedAt;this.releaseStream(),this.pending?.resolve({blob:f,mimeType:i,durationMs:o}),this.pending=null},this.recorder.onerror=i=>{const f=i.error??new Error("MediaRecorder error");this.releaseStream(),this.pending?.reject(f),this.pending=null},this.recorder.start(),{fellBackToDefault:g}}async stop(){const e=this.recorder;if(!e||e.state==="inactive")throw new Error("Not recording");return new Promise((t,s)=>{this.pending={resolve:t,reject:s},e.stop()})}getLevel(){if(!this.analyser||!this.timeBuf)return null;this.analyser.getFloatTimeDomainData(this.timeBuf);let e=0,t=0;for(let a=0;a<this.timeBuf.length;a++){const r=this.timeBuf[a];e+=r*r;const n=r<0?-r:r;n>t&&(t=n)}return{rms:Math.sqrt(e/this.timeBuf.length),peak:t}}releaseStream(){if(this.stream){for(const e of this.stream.getTracks())e.stop();this.stream=null}this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null),this.analyser=null,this.timeBuf=null,this.gainNode=null}}function E(){return S()===null}function S(){return typeof navigator>"u"?"No navigator (SSR).":typeof window<"u"&&window.isSecureContext===!1?"Voice requires HTTPS or localhost. Open this page over HTTPS.":navigator.mediaDevices?.getUserMedia?typeof MediaRecorder>"u"?"MediaRecorder API unavailable in this browser.":y()===""?"No supported audio codec (webm/ogg/mp4). Try another browser.":null:"Browser blocks microphone access. Open over HTTPS or use a supported browser."}async function V(){return typeof navigator>"u"||!navigator.mediaDevices?.enumerateDevices?[]:(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind==="audioinput").map(e=>({deviceId:e.deviceId,label:e.label||"Microphone"}))}const I=200,p=x("claude-mux-voice-settings",{language:"auto",autoSubmit:!0,deviceId:null,gain:1,noiseSuppression:!0});class L{#e=u("idle");get status(){return c(this.#e)}set status(e){h(this.#e,e,!0)}#t=u(null);get error(){return c(this.#t)}set error(e){h(this.#t,e,!0)}#r=u(null);get startedAt(){return c(this.#r)}set startedAt(e){h(this.#r,e,!0)}#s=u(b({rms:0,peak:0}));get level(){return c(this.#s)}set level(e){h(this.#s,e,!0)}#i=u(null);get ownerTarget(){return c(this.#i)}set ownerTarget(e){h(this.#i,e,!0)}#n=u(null);get ownerField(){return c(this.#n)}set ownerField(e){h(this.#n,e,!0)}#a=u(b(p.load()));get prefs(){return c(this.#a)}set prefs(e){h(this.#a,e,!0)}recorder=null;inflightAbort=null;levelRaf=null;get supported(){return E()}get unsupportedReason(){return S()}get isActive(){return this.status==="recording"||this.status==="transcribing"}isOwnedBy(e,t=null){return e!=null&&this.ownerTarget===e&&this.ownerField===t}get language(){return this.prefs.language}set language(e){this.prefs.language!==e&&(this.prefs.language=e,p.save(this.prefs))}get autoSubmit(){return this.prefs.autoSubmit}set autoSubmit(e){this.prefs.autoSubmit!==e&&(this.prefs.autoSubmit=e,p.save(this.prefs))}get deviceId(){return this.prefs.deviceId}set deviceId(e){this.prefs.deviceId!==e&&(this.prefs.deviceId=e,p.save(this.prefs))}get gain(){return this.prefs.gain}set gain(e){const t=Math.max(.1,Math.min(10,e));this.prefs.gain!==t&&(this.prefs.gain=t,p.save(this.prefs))}get noiseSuppression(){return this.prefs.noiseSuppression}set noiseSuppression(e){this.prefs.noiseSuppression!==e&&(this.prefs.noiseSuppression=e,p.save(this.prefs))}async startRecording(e,t=null){if(!this.isActive){if(!this.supported){this.fail("Voice not supported in this browser");return}if(!e){this.fail("No target for voice recording");return}try{this.recorder||(this.recorder=new k),(await this.recorder.start(this.deviceId,{gain:this.gain,noiseSuppression:this.noiseSuppression})).fellBackToDefault&&this.deviceId!==null&&(this.deviceId=null),this.ownerTarget=e,this.ownerField=t,this.status="recording",this.error=null,this.startedAt=Date.now(),this.startLevelLoop()}catch(s){this.fail(s instanceof Error?s.message:"Microphone access denied")}}}startLevelLoop(){this.stopLevelLoop();const e=()=>{if(this.status!=="recording"||!this.recorder){this.levelRaf=null;return}const t=this.recorder.getLevel();t&&(this.level=t),this.levelRaf=requestAnimationFrame(e)};this.levelRaf=requestAnimationFrame(e)}stopLevelLoop(){this.levelRaf!==null&&(cancelAnimationFrame(this.levelRaf),this.levelRaf=null),this.level={rms:0,peak:0}}async stop(){if(this.status!=="recording"||!this.recorder)return null;const e=this.ownerTarget;if(!e)return this.fail("Voice owner missing"),null;this.stopLevelLoop();let t;try{t=await this.recorder.stop()}catch(r){return this.fail(r instanceof Error?r.message:"Recording failed"),null}if(this.status!=="recording")return null;if(t.blob.size===0||t.durationMs<I)return this.release(),null;this.status="transcribing",this.startedAt=null;const s=new AbortController;this.inflightAbort=s;const a=this.language==="auto"?"":`?lang=${this.language}`;try{const r=R(e);if(!r)throw new Error("Not a session");const n=await fetch(`${r}/voice${a}`,{method:"POST",headers:{"Content-Type":t.mimeType},body:t.blob,signal:s.signal});if(!n.ok){const m=await n.text().catch(()=>"");throw new Error(m||`HTTP ${n.status}`)}const g=await n.json();this.release();const d=(g.text??"").trim();return d?{text:d,command:g.command===!0}:null}catch(r){return s.signal.aborted?(this.error=null,null):(this.fail(r instanceof Error?r.message:"Transcription failed"),null)}finally{this.inflightAbort===s&&(this.inflightAbort=null)}}release(){this.status="idle",this.startedAt=null,this.ownerTarget=null,this.ownerField=null}cancelTranscribing(){this.status!=="transcribing"||!this.inflightAbort||(this.release(),this.inflightAbort.abort())}async cancelRecording(){if(!(this.status!=="recording"||!this.recorder)){this.release(),this.stopLevelLoop();try{await this.recorder.stop()}catch{}}}async cancel(){this.status==="recording"?await this.cancelRecording():this.status==="transcribing"&&this.cancelTranscribing()}fail(e){this.release(),this.status="error",this.error=e}}const _=new L;class B{#e;#t;constructor(e,t){this.#e=e,this.#t=A(t)}get current(){return this.#t(),this.#e()}}const D=/\(.+\)/,F=new Set(["all","print","screen","and","or","not","only"]);class q extends B{constructor(e,t){let s=D.test(e)||e.split(/[\s,]+/).some(r=>F.has(r.trim()))?e:`(${e})`;const a=window.matchMedia(s);super(()=>a.matches,r=>M(a,"change",r))}}export{q as M,V as l,_ as v};
2
+ //# sourceMappingURL=XgSsj0QY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BY5WGGQP.js","sources":["../../../../../../src/lib/voice/recorder.ts","../../../../../../src/lib/stores/voice.svelte.ts","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/reactivity/reactive-value.js","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/reactivity/media-query.js"],"sourcesContent":["export interface RecorderResult {\n\tblob: Blob;\n\tmimeType: string;\n\tdurationMs: number;\n}\n\nconst PREFERRED_MIME = [\n\t'audio/webm;codecs=opus',\n\t'audio/webm',\n\t'audio/ogg;codecs=opus',\n\t'audio/mp4'\n];\n\nfunction pickMimeType(): string {\n\tif (typeof MediaRecorder === 'undefined') return '';\n\tfor (const m of PREFERRED_MIME) {\n\t\tif (MediaRecorder.isTypeSupported(m)) return m;\n\t}\n\treturn '';\n}\n\nexport interface AudioLevel {\n\trms: number;\n\tpeak: number;\n}\n\nexport interface RecorderStartOptions {\n\tgain?: number;\n\tnoiseSuppression?: boolean;\n}\n\nexport class VoiceRecorder {\n\tprivate stream: MediaStream | null = null;\n\tprivate recorder: MediaRecorder | null = null;\n\tprivate chunks: Blob[] = [];\n\tprivate startedAt = 0;\n\tprivate pending: { resolve: (r: RecorderResult) => void; reject: (e: Error) => void } | null =\n\t\tnull;\n\tprivate audioCtx: AudioContext | null = null;\n\tprivate analyser: AnalyserNode | null = null;\n\tprivate timeBuf: Float32Array<ArrayBuffer> | null = null;\n\tprivate gainNode: GainNode | null = null;\n\n\tasync start(\n\t\tdeviceId?: string | null,\n\t\topts: RecorderStartOptions = {}\n\t): Promise<{ fellBackToDefault: boolean }> {\n\t\tif (this.recorder && this.recorder.state === 'recording') {\n\t\t\tthrow new Error('Already recording');\n\t\t}\n\n\t\tconst gain = Math.max(0.1, Math.min(10, opts.gain ?? 1));\n\t\tconst useGainStage = gain !== 1;\n\t\tconst noiseSuppression = opts.noiseSuppression ?? true;\n\n\t\tconst audio: MediaTrackConstraints = {\n\t\t\techoCancellation: true,\n\t\t\tnoiseSuppression,\n\t\t\tautoGainControl: true\n\t\t};\n\t\tif (deviceId) audio.deviceId = { exact: deviceId };\n\n\t\tlet fellBackToDefault = false;\n\t\ttry {\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({ audio });\n\t\t} catch (err) {\n\t\t\tif (deviceId && err instanceof Error && err.name === 'OverconstrainedError') {\n\t\t\t\tdelete audio.deviceId;\n\t\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({ audio });\n\t\t\t\tfellBackToDefault = true;\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\t// Build WebAudio graph: source -> [gain] -> analyser (for meter) and -> destination (for recorder).\n\t\t// When gain == 1 we still split to attach the analyser, but skip the synthetic destination\n\t\t// so the recorder consumes the original mic stream directly (lower CPU, no resampling).\n\t\tlet recordStream: MediaStream = this.stream;\n\t\ttry {\n\t\t\tconst Ctor =\n\t\t\t\twindow.AudioContext ??\n\t\t\t\t(window as unknown as { webkitAudioContext?: typeof AudioContext }).webkitAudioContext;\n\t\t\tif (Ctor) {\n\t\t\t\tthis.audioCtx = new Ctor();\n\t\t\t\tconst source = this.audioCtx.createMediaStreamSource(this.stream);\n\t\t\t\tconst analyser = this.audioCtx.createAnalyser();\n\t\t\t\tanalyser.fftSize = 1024;\n\t\t\t\tanalyser.smoothingTimeConstant = 0.4;\n\n\t\t\t\tif (useGainStage) {\n\t\t\t\t\tconst gainNode = this.audioCtx.createGain();\n\t\t\t\t\tgainNode.gain.value = gain;\n\t\t\t\t\tconst dest = this.audioCtx.createMediaStreamDestination();\n\t\t\t\t\tsource.connect(gainNode);\n\t\t\t\t\tgainNode.connect(analyser);\n\t\t\t\t\tgainNode.connect(dest);\n\t\t\t\t\tthis.gainNode = gainNode;\n\t\t\t\t\trecordStream = dest.stream;\n\t\t\t\t} else {\n\t\t\t\t\tsource.connect(analyser);\n\t\t\t\t}\n\n\t\t\t\tthis.analyser = analyser;\n\t\t\t\tthis.timeBuf = new Float32Array(analyser.fftSize);\n\t\t\t}\n\t\t} catch {\n\t\t\tthis.audioCtx = null;\n\t\t\tthis.analyser = null;\n\t\t\tthis.timeBuf = null;\n\t\t\tthis.gainNode = null;\n\t\t\trecordStream = this.stream;\n\t\t}\n\n\t\tconst mimeType = pickMimeType();\n\t\tconst options: MediaRecorderOptions = mimeType ? { mimeType } : {};\n\t\tthis.recorder = new MediaRecorder(recordStream, options);\n\t\tthis.chunks = [];\n\t\tthis.startedAt = performance.now();\n\n\t\tthis.recorder.ondataavailable = (e) => {\n\t\t\tif (e.data && e.data.size > 0) this.chunks.push(e.data);\n\t\t};\n\n\t\tthis.recorder.onstop = () => {\n\t\t\tconst used = this.recorder?.mimeType || mimeType || 'audio/webm';\n\t\t\tconst blob = new Blob(this.chunks, { type: used });\n\t\t\tconst durationMs = performance.now() - this.startedAt;\n\t\t\tthis.releaseStream();\n\t\t\tthis.pending?.resolve({ blob, mimeType: used, durationMs });\n\t\t\tthis.pending = null;\n\t\t};\n\n\t\tthis.recorder.onerror = (ev) => {\n\t\t\tconst err =\n\t\t\t\t(ev as unknown as { error?: Error }).error ??\n\t\t\t\tnew Error('MediaRecorder error');\n\t\t\tthis.releaseStream();\n\t\t\tthis.pending?.reject(err);\n\t\t\tthis.pending = null;\n\t\t};\n\n\t\tthis.recorder.start();\n\t\treturn { fellBackToDefault };\n\t}\n\n\tasync stop(): Promise<RecorderResult> {\n\t\tconst rec = this.recorder;\n\t\tif (!rec || rec.state === 'inactive') {\n\t\t\tthrow new Error('Not recording');\n\t\t}\n\n\t\treturn new Promise<RecorderResult>((resolve, reject) => {\n\t\t\tthis.pending = { resolve, reject };\n\t\t\trec.stop();\n\t\t});\n\t}\n\n\tgetLevel(): AudioLevel | null {\n\t\tif (!this.analyser || !this.timeBuf) return null;\n\t\tthis.analyser.getFloatTimeDomainData(this.timeBuf);\n\t\tlet sumSq = 0;\n\t\tlet peak = 0;\n\t\tfor (let i = 0; i < this.timeBuf.length; i++) {\n\t\t\tconst v = this.timeBuf[i];\n\t\t\tsumSq += v * v;\n\t\t\tconst a = v < 0 ? -v : v;\n\t\t\tif (a > peak) peak = a;\n\t\t}\n\t\tconst rms = Math.sqrt(sumSq / this.timeBuf.length);\n\t\treturn { rms, peak };\n\t}\n\n\tprivate releaseStream(): void {\n\t\tif (this.stream) {\n\t\t\tfor (const t of this.stream.getTracks()) t.stop();\n\t\t\tthis.stream = null;\n\t\t}\n\t\tif (this.audioCtx) {\n\t\t\tvoid this.audioCtx.close().catch(() => {});\n\t\t\tthis.audioCtx = null;\n\t\t}\n\t\tthis.analyser = null;\n\t\tthis.timeBuf = null;\n\t\tthis.gainNode = null;\n\t}\n}\n\nexport function isVoiceSupported(): boolean {\n\treturn voiceUnsupportedReason() === null;\n}\n\nexport function voiceUnsupportedReason(): string | null {\n\tif (typeof navigator === 'undefined') return 'No navigator (SSR).';\n\tif (typeof window !== 'undefined' && window.isSecureContext === false) {\n\t\treturn 'Voice requires HTTPS or localhost. Open this page over HTTPS.';\n\t}\n\tif (!navigator.mediaDevices?.getUserMedia) {\n\t\treturn 'Browser blocks microphone access. Open over HTTPS or use a supported browser.';\n\t}\n\tif (typeof MediaRecorder === 'undefined') {\n\t\treturn 'MediaRecorder API unavailable in this browser.';\n\t}\n\tif (pickMimeType() === '') {\n\t\treturn 'No supported audio codec (webm/ogg/mp4). Try another browser.';\n\t}\n\treturn null;\n}\n\nexport interface AudioInputDevice {\n\tdeviceId: string;\n\tlabel: string;\n}\n\nexport async function listAudioInputs(): Promise<AudioInputDevice[]> {\n\tif (typeof navigator === 'undefined' || !navigator.mediaDevices?.enumerateDevices) {\n\t\treturn [];\n\t}\n\tconst devices = await navigator.mediaDevices.enumerateDevices();\n\treturn devices\n\t\t.filter((d) => d.kind === 'audioinput')\n\t\t.map((d) => ({ deviceId: d.deviceId, label: d.label || 'Microphone' }));\n}\n","import { browser } from '$app/environment';\nimport {\n\tVoiceRecorder,\n\tisVoiceSupported,\n\tvoiceUnsupportedReason,\n\ttype RecorderResult\n} from '$lib/voice/recorder';\nimport { createPersisted } from './persisted';\nimport { sessionApi } from './fleet.svelte';\n\nexport type VoiceStatus = 'idle' | 'recording' | 'transcribing' | 'error';\nexport type VoiceLanguage = 'auto' | 'en' | 'pt';\n\nconst MIN_UTTERANCE_MS = 200;\n\n/** What a take came to: the words, and whether they resolved to a slash command. */\nexport interface Dictation {\n\ttext: string;\n\tcommand: boolean;\n}\n\ninterface PersistedSettings {\n\tlanguage: VoiceLanguage;\n\tautoSubmit: boolean;\n\tdeviceId: string | null;\n\tgain: number;\n\tnoiseSuppression: boolean;\n}\n\nconst persisted = createPersisted<PersistedSettings>('claude-mux-voice-settings', {\n\tlanguage: 'auto',\n\tautoSubmit: true,\n\tdeviceId: null,\n\tgain: 1,\n\tnoiseSuppression: true\n});\n\nclass VoiceStore {\n\tstatus = $state<VoiceStatus>('idle');\n\terror = $state<string | null>(null);\n\tstartedAt = $state<number | null>(null);\n\tlevel = $state<{ rms: number; peak: number }>({ rms: 0, peak: 0 });\n\t/** The session a take is for, as a ref: its target here, `host@target` on another machine. */\n\townerTarget = $state<string | null>(null);\n\t/**\n\t * Which field of that session asked for the take: null for the composer,\n\t * otherwise the id a question's own microphone gave itself. Only the field\n\t * that started a take may stop it, since the words are its to receive.\n\t */\n\townerField = $state<string | null>(null);\n\n\tprivate prefs = $state<PersistedSettings>(persisted.load());\n\tprivate recorder: VoiceRecorder | null = null;\n\tprivate inflightAbort: AbortController | null = null;\n\tprivate levelRaf: number | null = null;\n\n\tget supported(): boolean {\n\t\treturn browser && isVoiceSupported();\n\t}\n\n\tget unsupportedReason(): string | null {\n\t\tif (!browser) return null;\n\t\treturn voiceUnsupportedReason();\n\t}\n\n\tget isActive(): boolean {\n\t\treturn this.status === 'recording' || this.status === 'transcribing';\n\t}\n\n\tisOwnedBy(target: string | null, field: string | null = null): boolean {\n\t\treturn target != null && this.ownerTarget === target && this.ownerField === field;\n\t}\n\n\tget language(): VoiceLanguage {\n\t\treturn this.prefs.language;\n\t}\n\tset language(v: VoiceLanguage) {\n\t\tif (this.prefs.language === v) return;\n\t\tthis.prefs.language = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget autoSubmit(): boolean {\n\t\treturn this.prefs.autoSubmit;\n\t}\n\tset autoSubmit(v: boolean) {\n\t\tif (this.prefs.autoSubmit === v) return;\n\t\tthis.prefs.autoSubmit = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget deviceId(): string | null {\n\t\treturn this.prefs.deviceId;\n\t}\n\tset deviceId(v: string | null) {\n\t\tif (this.prefs.deviceId === v) return;\n\t\tthis.prefs.deviceId = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget gain(): number {\n\t\treturn this.prefs.gain;\n\t}\n\tset gain(v: number) {\n\t\tconst clamped = Math.max(0.1, Math.min(10, v));\n\t\tif (this.prefs.gain === clamped) return;\n\t\tthis.prefs.gain = clamped;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget noiseSuppression(): boolean {\n\t\treturn this.prefs.noiseSuppression;\n\t}\n\tset noiseSuppression(v: boolean) {\n\t\tif (this.prefs.noiseSuppression === v) return;\n\t\tthis.prefs.noiseSuppression = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tasync startRecording(target: string, field: string | null = null): Promise<void> {\n\t\tif (this.isActive) return;\n\t\tif (!this.supported) {\n\t\t\tthis.fail('Voice not supported in this browser');\n\t\t\treturn;\n\t\t}\n\t\tif (!target) {\n\t\t\tthis.fail('No target for voice recording');\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tif (!this.recorder) this.recorder = new VoiceRecorder();\n\t\t\tconst result = await this.recorder.start(this.deviceId, {\n\t\t\t\tgain: this.gain,\n\t\t\t\tnoiseSuppression: this.noiseSuppression\n\t\t\t});\n\t\t\tif (result.fellBackToDefault && this.deviceId !== null) {\n\t\t\t\t// Saved device disappeared; clear so the picker reflects reality.\n\t\t\t\tthis.deviceId = null;\n\t\t\t}\n\t\t\tthis.ownerTarget = target;\n\t\t\tthis.ownerField = field;\n\t\t\tthis.status = 'recording';\n\t\t\tthis.error = null;\n\t\t\tthis.startedAt = Date.now();\n\t\t\tthis.startLevelLoop();\n\t\t} catch (err) {\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Microphone access denied');\n\t\t}\n\t}\n\n\tprivate startLevelLoop(): void {\n\t\tthis.stopLevelLoop();\n\t\tconst tick = (): void => {\n\t\t\tif (this.status !== 'recording' || !this.recorder) {\n\t\t\t\tthis.levelRaf = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst lvl = this.recorder.getLevel();\n\t\t\tif (lvl) this.level = lvl;\n\t\t\tthis.levelRaf = requestAnimationFrame(tick);\n\t\t};\n\t\tthis.levelRaf = requestAnimationFrame(tick);\n\t}\n\n\tprivate stopLevelLoop(): void {\n\t\tif (this.levelRaf !== null) {\n\t\t\tcancelAnimationFrame(this.levelRaf);\n\t\t\tthis.levelRaf = null;\n\t\t}\n\t\tthis.level = { rms: 0, peak: 0 };\n\t}\n\n\t/**\n\t * End the take and resolve with what was said, or null when there is\n\t * nothing to show for it (too short, cancelled, or failed, in which case\n\t * `error` says why). The words are the caller's to place: this store\n\t * records and transcribes, and delivers nothing.\n\t */\n\tasync stop(): Promise<Dictation | null> {\n\t\tif (this.status !== 'recording' || !this.recorder) return null;\n\t\tconst target = this.ownerTarget;\n\t\tif (!target) {\n\t\t\t// Should never happen — ownerTarget is set in lockstep with status='recording'.\n\t\t\tthis.fail('Voice owner missing');\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.stopLevelLoop();\n\t\tlet result: RecorderResult;\n\t\ttry {\n\t\t\tresult = await this.recorder.stop();\n\t\t} catch (err) {\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Recording failed');\n\t\t\treturn null;\n\t\t}\n\n\t\t// Cancel may have flipped status to idle while we awaited recorder.stop().\n\t\tif (this.status !== 'recording') return null;\n\n\t\tif (result.blob.size === 0 || result.durationMs < MIN_UTTERANCE_MS) {\n\t\t\tthis.release();\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.status = 'transcribing';\n\t\tthis.startedAt = null;\n\n\t\tconst ac = new AbortController();\n\t\tthis.inflightAbort = ac;\n\t\tconst qs = this.language === 'auto' ? '' : `?lang=${this.language}`;\n\n\t\ttry {\n\t\t\tconst api = sessionApi(target);\n\t\t\tif (!api) throw new Error('Not a session');\n\t\t\tconst res = await fetch(`${api}/voice${qs}`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': result.mimeType },\n\t\t\t\tbody: result.blob,\n\t\t\t\tsignal: ac.signal\n\t\t\t});\n\n\t\t\tif (!res.ok) {\n\t\t\t\tconst body = await res.text().catch(() => '');\n\t\t\t\tthrow new Error(body || `HTTP ${res.status}`);\n\t\t\t}\n\n\t\t\tconst data = (await res.json()) as { text?: string; command?: boolean };\n\t\t\tthis.release();\n\t\t\tconst text = (data.text ?? '').trim();\n\t\t\treturn text ? { text, command: data.command === true } : null;\n\t\t} catch (err) {\n\t\t\tif (ac.signal.aborted) {\n\t\t\t\tthis.error = null;\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Transcription failed');\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tif (this.inflightAbort === ac) this.inflightAbort = null;\n\t\t}\n\t}\n\n\tprivate release(): void {\n\t\tthis.status = 'idle';\n\t\tthis.startedAt = null;\n\t\tthis.ownerTarget = null;\n\t\tthis.ownerField = null;\n\t}\n\n\tcancelTranscribing(): void {\n\t\tif (this.status !== 'transcribing' || !this.inflightAbort) return;\n\t\t// Flip status synchronously so a follow-up startRecording() in the same tick\n\t\t// doesn't bail on the still-transcribing guard before the catch handler runs.\n\t\tthis.release();\n\t\tthis.inflightAbort.abort();\n\t}\n\n\tprivate async cancelRecording(): Promise<void> {\n\t\tif (this.status !== 'recording' || !this.recorder) return;\n\t\tthis.release();\n\t\tthis.stopLevelLoop();\n\t\ttry {\n\t\t\tawait this.recorder.stop();\n\t\t} catch {\n\t\t\t// recorder already torn down; nothing to do\n\t\t}\n\t}\n\n\tasync cancel(): Promise<void> {\n\t\tif (this.status === 'recording') {\n\t\t\tawait this.cancelRecording();\n\t\t} else if (this.status === 'transcribing') {\n\t\t\tthis.cancelTranscribing();\n\t\t}\n\t}\n\n\tprivate fail(message: string): void {\n\t\tthis.release();\n\t\tthis.status = 'error';\n\t\tthis.error = message;\n\t}\n}\n\nexport const voiceStore = new VoiceStore();\n","import { createSubscriber } from './create-subscriber.js';\n\n/**\n * @template T\n */\nexport class ReactiveValue {\n\t#fn;\n\t#subscribe;\n\n\t/**\n\t *\n\t * @param {() => T} fn\n\t * @param {(update: () => void) => void} onsubscribe\n\t */\n\tconstructor(fn, onsubscribe) {\n\t\tthis.#fn = fn;\n\t\tthis.#subscribe = createSubscriber(onsubscribe);\n\t}\n\n\tget current() {\n\t\tthis.#subscribe();\n\t\treturn this.#fn();\n\t}\n}\n","import { on } from '../events/index.js';\nimport { ReactiveValue } from './reactive-value.js';\n\nconst parenthesis_regex = /\\(.+\\)/;\n\n// these keywords are valid media queries but they need to be without parenthesis\n//\n// eg: new MediaQuery('screen')\n//\n// however because of the auto-parenthesis logic in the constructor since there's no parenthesis\n// in the media query they'll be surrounded by parenthesis\n//\n// however we can check if the media query is only composed of these keywords\n// and skip the auto-parenthesis\n//\n// https://github.com/sveltejs/svelte/issues/15930\nconst non_parenthesized_keywords = new Set(['all', 'print', 'screen', 'and', 'or', 'not', 'only']);\n\n/**\n * Creates a media query and provides a `current` property that reflects whether or not it matches.\n *\n * Use it carefully — during server-side rendering, there is no way to know what the correct value should be, potentially causing content to change upon hydration.\n * If you can use the media query in CSS to achieve the same effect, do that.\n *\n * ```svelte\n * <script>\n * \timport { MediaQuery } from 'svelte/reactivity';\n *\n * \tconst large = new MediaQuery('min-width: 800px');\n * </script>\n *\n * <h1>{large.current ? 'large screen' : 'small screen'}</h1>\n * ```\n * @extends {ReactiveValue<boolean>}\n * @since 5.7.0\n */\nexport class MediaQuery extends ReactiveValue {\n\t/**\n\t * @param {string} query A media query string\n\t * @param {boolean} [fallback] Fallback value for the server\n\t */\n\tconstructor(query, fallback) {\n\t\tlet final_query =\n\t\t\tparenthesis_regex.test(query) ||\n\t\t\t// we need to use `some` here because technically this `window.matchMedia('random,screen')` still returns true\n\t\t\tquery.split(/[\\s,]+/).some((keyword) => non_parenthesized_keywords.has(keyword.trim()))\n\t\t\t\t? query\n\t\t\t\t: `(${query})`;\n\t\tconst q = window.matchMedia(final_query);\n\t\tsuper(\n\t\t\t() => q.matches,\n\t\t\t(update) => on(q, 'change', update)\n\t\t);\n\t}\n}\n"],"names":["PREFERRED_MIME","pickMimeType","m","VoiceRecorder","deviceId","opts","gain","useGainStage","audio","fellBackToDefault","err","recordStream","Ctor","source","analyser","gainNode","dest","mimeType","options","e","used","blob","durationMs","ev","rec","resolve","reject","sumSq","peak","i","v","a","t","isVoiceSupported","voiceUnsupportedReason","listAudioInputs","d","MIN_UTTERANCE_MS","persisted","createPersisted","VoiceStore","$.state","value","$.proxy","#prefs","target","field","clamped","tick","lvl","result","ac","qs","api","sessionApi","res","body","data","text","message","voiceStore","ReactiveValue","#fn","#subscribe","fn","onsubscribe","createSubscriber","parenthesis_regex","non_parenthesized_keywords","MediaQuery","query","fallback","final_query","keyword","q","update","on"],"mappings":"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","x_google_ignoreList":[2,3]}
1
+ {"version":3,"file":"XgSsj0QY.js","sources":["../../../../../../src/lib/voice/recorder.ts","../../../../../../src/lib/stores/voice.svelte.ts","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/reactivity/reactive-value.js","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/reactivity/media-query.js"],"sourcesContent":["export interface RecorderResult {\n\tblob: Blob;\n\tmimeType: string;\n\tdurationMs: number;\n}\n\nconst PREFERRED_MIME = [\n\t'audio/webm;codecs=opus',\n\t'audio/webm',\n\t'audio/ogg;codecs=opus',\n\t'audio/mp4'\n];\n\nfunction pickMimeType(): string {\n\tif (typeof MediaRecorder === 'undefined') return '';\n\tfor (const m of PREFERRED_MIME) {\n\t\tif (MediaRecorder.isTypeSupported(m)) return m;\n\t}\n\treturn '';\n}\n\nexport interface AudioLevel {\n\trms: number;\n\tpeak: number;\n}\n\nexport interface RecorderStartOptions {\n\tgain?: number;\n\tnoiseSuppression?: boolean;\n}\n\nexport class VoiceRecorder {\n\tprivate stream: MediaStream | null = null;\n\tprivate recorder: MediaRecorder | null = null;\n\tprivate chunks: Blob[] = [];\n\tprivate startedAt = 0;\n\tprivate pending: { resolve: (r: RecorderResult) => void; reject: (e: Error) => void } | null =\n\t\tnull;\n\tprivate audioCtx: AudioContext | null = null;\n\tprivate analyser: AnalyserNode | null = null;\n\tprivate timeBuf: Float32Array<ArrayBuffer> | null = null;\n\tprivate gainNode: GainNode | null = null;\n\n\tasync start(\n\t\tdeviceId?: string | null,\n\t\topts: RecorderStartOptions = {}\n\t): Promise<{ fellBackToDefault: boolean }> {\n\t\tif (this.recorder && this.recorder.state === 'recording') {\n\t\t\tthrow new Error('Already recording');\n\t\t}\n\n\t\tconst gain = Math.max(0.1, Math.min(10, opts.gain ?? 1));\n\t\tconst useGainStage = gain !== 1;\n\t\tconst noiseSuppression = opts.noiseSuppression ?? true;\n\n\t\tconst audio: MediaTrackConstraints = {\n\t\t\techoCancellation: true,\n\t\t\tnoiseSuppression,\n\t\t\tautoGainControl: true\n\t\t};\n\t\tif (deviceId) audio.deviceId = { exact: deviceId };\n\n\t\tlet fellBackToDefault = false;\n\t\ttry {\n\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({ audio });\n\t\t} catch (err) {\n\t\t\tif (deviceId && err instanceof Error && err.name === 'OverconstrainedError') {\n\t\t\t\tdelete audio.deviceId;\n\t\t\t\tthis.stream = await navigator.mediaDevices.getUserMedia({ audio });\n\t\t\t\tfellBackToDefault = true;\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\t// Build WebAudio graph: source -> [gain] -> analyser (for meter) and -> destination (for recorder).\n\t\t// When gain == 1 we still split to attach the analyser, but skip the synthetic destination\n\t\t// so the recorder consumes the original mic stream directly (lower CPU, no resampling).\n\t\tlet recordStream: MediaStream = this.stream;\n\t\ttry {\n\t\t\tconst Ctor =\n\t\t\t\twindow.AudioContext ??\n\t\t\t\t(window as unknown as { webkitAudioContext?: typeof AudioContext }).webkitAudioContext;\n\t\t\tif (Ctor) {\n\t\t\t\tthis.audioCtx = new Ctor();\n\t\t\t\tconst source = this.audioCtx.createMediaStreamSource(this.stream);\n\t\t\t\tconst analyser = this.audioCtx.createAnalyser();\n\t\t\t\tanalyser.fftSize = 1024;\n\t\t\t\tanalyser.smoothingTimeConstant = 0.4;\n\n\t\t\t\tif (useGainStage) {\n\t\t\t\t\tconst gainNode = this.audioCtx.createGain();\n\t\t\t\t\tgainNode.gain.value = gain;\n\t\t\t\t\tconst dest = this.audioCtx.createMediaStreamDestination();\n\t\t\t\t\tsource.connect(gainNode);\n\t\t\t\t\tgainNode.connect(analyser);\n\t\t\t\t\tgainNode.connect(dest);\n\t\t\t\t\tthis.gainNode = gainNode;\n\t\t\t\t\trecordStream = dest.stream;\n\t\t\t\t} else {\n\t\t\t\t\tsource.connect(analyser);\n\t\t\t\t}\n\n\t\t\t\tthis.analyser = analyser;\n\t\t\t\tthis.timeBuf = new Float32Array(analyser.fftSize);\n\t\t\t}\n\t\t} catch {\n\t\t\tthis.audioCtx = null;\n\t\t\tthis.analyser = null;\n\t\t\tthis.timeBuf = null;\n\t\t\tthis.gainNode = null;\n\t\t\trecordStream = this.stream;\n\t\t}\n\n\t\tconst mimeType = pickMimeType();\n\t\tconst options: MediaRecorderOptions = mimeType ? { mimeType } : {};\n\t\tthis.recorder = new MediaRecorder(recordStream, options);\n\t\tthis.chunks = [];\n\t\tthis.startedAt = performance.now();\n\n\t\tthis.recorder.ondataavailable = (e) => {\n\t\t\tif (e.data && e.data.size > 0) this.chunks.push(e.data);\n\t\t};\n\n\t\tthis.recorder.onstop = () => {\n\t\t\tconst used = this.recorder?.mimeType || mimeType || 'audio/webm';\n\t\t\tconst blob = new Blob(this.chunks, { type: used });\n\t\t\tconst durationMs = performance.now() - this.startedAt;\n\t\t\tthis.releaseStream();\n\t\t\tthis.pending?.resolve({ blob, mimeType: used, durationMs });\n\t\t\tthis.pending = null;\n\t\t};\n\n\t\tthis.recorder.onerror = (ev) => {\n\t\t\tconst err =\n\t\t\t\t(ev as unknown as { error?: Error }).error ??\n\t\t\t\tnew Error('MediaRecorder error');\n\t\t\tthis.releaseStream();\n\t\t\tthis.pending?.reject(err);\n\t\t\tthis.pending = null;\n\t\t};\n\n\t\tthis.recorder.start();\n\t\treturn { fellBackToDefault };\n\t}\n\n\tasync stop(): Promise<RecorderResult> {\n\t\tconst rec = this.recorder;\n\t\tif (!rec || rec.state === 'inactive') {\n\t\t\tthrow new Error('Not recording');\n\t\t}\n\n\t\treturn new Promise<RecorderResult>((resolve, reject) => {\n\t\t\tthis.pending = { resolve, reject };\n\t\t\trec.stop();\n\t\t});\n\t}\n\n\tgetLevel(): AudioLevel | null {\n\t\tif (!this.analyser || !this.timeBuf) return null;\n\t\tthis.analyser.getFloatTimeDomainData(this.timeBuf);\n\t\tlet sumSq = 0;\n\t\tlet peak = 0;\n\t\tfor (let i = 0; i < this.timeBuf.length; i++) {\n\t\t\tconst v = this.timeBuf[i];\n\t\t\tsumSq += v * v;\n\t\t\tconst a = v < 0 ? -v : v;\n\t\t\tif (a > peak) peak = a;\n\t\t}\n\t\tconst rms = Math.sqrt(sumSq / this.timeBuf.length);\n\t\treturn { rms, peak };\n\t}\n\n\tprivate releaseStream(): void {\n\t\tif (this.stream) {\n\t\t\tfor (const t of this.stream.getTracks()) t.stop();\n\t\t\tthis.stream = null;\n\t\t}\n\t\tif (this.audioCtx) {\n\t\t\tvoid this.audioCtx.close().catch(() => {});\n\t\t\tthis.audioCtx = null;\n\t\t}\n\t\tthis.analyser = null;\n\t\tthis.timeBuf = null;\n\t\tthis.gainNode = null;\n\t}\n}\n\nexport function isVoiceSupported(): boolean {\n\treturn voiceUnsupportedReason() === null;\n}\n\nexport function voiceUnsupportedReason(): string | null {\n\tif (typeof navigator === 'undefined') return 'No navigator (SSR).';\n\tif (typeof window !== 'undefined' && window.isSecureContext === false) {\n\t\treturn 'Voice requires HTTPS or localhost. Open this page over HTTPS.';\n\t}\n\tif (!navigator.mediaDevices?.getUserMedia) {\n\t\treturn 'Browser blocks microphone access. Open over HTTPS or use a supported browser.';\n\t}\n\tif (typeof MediaRecorder === 'undefined') {\n\t\treturn 'MediaRecorder API unavailable in this browser.';\n\t}\n\tif (pickMimeType() === '') {\n\t\treturn 'No supported audio codec (webm/ogg/mp4). Try another browser.';\n\t}\n\treturn null;\n}\n\nexport interface AudioInputDevice {\n\tdeviceId: string;\n\tlabel: string;\n}\n\nexport async function listAudioInputs(): Promise<AudioInputDevice[]> {\n\tif (typeof navigator === 'undefined' || !navigator.mediaDevices?.enumerateDevices) {\n\t\treturn [];\n\t}\n\tconst devices = await navigator.mediaDevices.enumerateDevices();\n\treturn devices\n\t\t.filter((d) => d.kind === 'audioinput')\n\t\t.map((d) => ({ deviceId: d.deviceId, label: d.label || 'Microphone' }));\n}\n","import { browser } from '$app/environment';\nimport {\n\tVoiceRecorder,\n\tisVoiceSupported,\n\tvoiceUnsupportedReason,\n\ttype RecorderResult\n} from '$lib/voice/recorder';\nimport { createPersisted } from './persisted';\nimport { sessionApi } from './fleet.svelte';\n\nexport type VoiceStatus = 'idle' | 'recording' | 'transcribing' | 'error';\nexport type VoiceLanguage = 'auto' | 'en' | 'pt';\n\nconst MIN_UTTERANCE_MS = 200;\n\n/** What a take came to: the words, and whether they resolved to a slash command. */\nexport interface Dictation {\n\ttext: string;\n\tcommand: boolean;\n}\n\ninterface PersistedSettings {\n\tlanguage: VoiceLanguage;\n\tautoSubmit: boolean;\n\tdeviceId: string | null;\n\tgain: number;\n\tnoiseSuppression: boolean;\n}\n\nconst persisted = createPersisted<PersistedSettings>('claude-mux-voice-settings', {\n\tlanguage: 'auto',\n\tautoSubmit: true,\n\tdeviceId: null,\n\tgain: 1,\n\tnoiseSuppression: true\n});\n\nclass VoiceStore {\n\tstatus = $state<VoiceStatus>('idle');\n\terror = $state<string | null>(null);\n\tstartedAt = $state<number | null>(null);\n\tlevel = $state<{ rms: number; peak: number }>({ rms: 0, peak: 0 });\n\t/** The session a take is for, as a ref: its target here, `host@target` on another machine. */\n\townerTarget = $state<string | null>(null);\n\t/**\n\t * Which field of that session asked for the take: null for the composer,\n\t * otherwise the id a question's own microphone gave itself. Only the field\n\t * that started a take may stop it, since the words are its to receive.\n\t */\n\townerField = $state<string | null>(null);\n\n\tprivate prefs = $state<PersistedSettings>(persisted.load());\n\tprivate recorder: VoiceRecorder | null = null;\n\tprivate inflightAbort: AbortController | null = null;\n\tprivate levelRaf: number | null = null;\n\n\tget supported(): boolean {\n\t\treturn browser && isVoiceSupported();\n\t}\n\n\tget unsupportedReason(): string | null {\n\t\tif (!browser) return null;\n\t\treturn voiceUnsupportedReason();\n\t}\n\n\tget isActive(): boolean {\n\t\treturn this.status === 'recording' || this.status === 'transcribing';\n\t}\n\n\tisOwnedBy(target: string | null, field: string | null = null): boolean {\n\t\treturn target != null && this.ownerTarget === target && this.ownerField === field;\n\t}\n\n\tget language(): VoiceLanguage {\n\t\treturn this.prefs.language;\n\t}\n\tset language(v: VoiceLanguage) {\n\t\tif (this.prefs.language === v) return;\n\t\tthis.prefs.language = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget autoSubmit(): boolean {\n\t\treturn this.prefs.autoSubmit;\n\t}\n\tset autoSubmit(v: boolean) {\n\t\tif (this.prefs.autoSubmit === v) return;\n\t\tthis.prefs.autoSubmit = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget deviceId(): string | null {\n\t\treturn this.prefs.deviceId;\n\t}\n\tset deviceId(v: string | null) {\n\t\tif (this.prefs.deviceId === v) return;\n\t\tthis.prefs.deviceId = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget gain(): number {\n\t\treturn this.prefs.gain;\n\t}\n\tset gain(v: number) {\n\t\tconst clamped = Math.max(0.1, Math.min(10, v));\n\t\tif (this.prefs.gain === clamped) return;\n\t\tthis.prefs.gain = clamped;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tget noiseSuppression(): boolean {\n\t\treturn this.prefs.noiseSuppression;\n\t}\n\tset noiseSuppression(v: boolean) {\n\t\tif (this.prefs.noiseSuppression === v) return;\n\t\tthis.prefs.noiseSuppression = v;\n\t\tpersisted.save(this.prefs);\n\t}\n\n\tasync startRecording(target: string, field: string | null = null): Promise<void> {\n\t\tif (this.isActive) return;\n\t\tif (!this.supported) {\n\t\t\tthis.fail('Voice not supported in this browser');\n\t\t\treturn;\n\t\t}\n\t\tif (!target) {\n\t\t\tthis.fail('No target for voice recording');\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tif (!this.recorder) this.recorder = new VoiceRecorder();\n\t\t\tconst result = await this.recorder.start(this.deviceId, {\n\t\t\t\tgain: this.gain,\n\t\t\t\tnoiseSuppression: this.noiseSuppression\n\t\t\t});\n\t\t\tif (result.fellBackToDefault && this.deviceId !== null) {\n\t\t\t\t// Saved device disappeared; clear so the picker reflects reality.\n\t\t\t\tthis.deviceId = null;\n\t\t\t}\n\t\t\tthis.ownerTarget = target;\n\t\t\tthis.ownerField = field;\n\t\t\tthis.status = 'recording';\n\t\t\tthis.error = null;\n\t\t\tthis.startedAt = Date.now();\n\t\t\tthis.startLevelLoop();\n\t\t} catch (err) {\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Microphone access denied');\n\t\t}\n\t}\n\n\tprivate startLevelLoop(): void {\n\t\tthis.stopLevelLoop();\n\t\tconst tick = (): void => {\n\t\t\tif (this.status !== 'recording' || !this.recorder) {\n\t\t\t\tthis.levelRaf = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst lvl = this.recorder.getLevel();\n\t\t\tif (lvl) this.level = lvl;\n\t\t\tthis.levelRaf = requestAnimationFrame(tick);\n\t\t};\n\t\tthis.levelRaf = requestAnimationFrame(tick);\n\t}\n\n\tprivate stopLevelLoop(): void {\n\t\tif (this.levelRaf !== null) {\n\t\t\tcancelAnimationFrame(this.levelRaf);\n\t\t\tthis.levelRaf = null;\n\t\t}\n\t\tthis.level = { rms: 0, peak: 0 };\n\t}\n\n\t/**\n\t * End the take and resolve with what was said, or null when there is\n\t * nothing to show for it (too short, cancelled, or failed, in which case\n\t * `error` says why). The words are the caller's to place: this store\n\t * records and transcribes, and delivers nothing.\n\t */\n\tasync stop(): Promise<Dictation | null> {\n\t\tif (this.status !== 'recording' || !this.recorder) return null;\n\t\tconst target = this.ownerTarget;\n\t\tif (!target) {\n\t\t\t// Should never happen — ownerTarget is set in lockstep with status='recording'.\n\t\t\tthis.fail('Voice owner missing');\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.stopLevelLoop();\n\t\tlet result: RecorderResult;\n\t\ttry {\n\t\t\tresult = await this.recorder.stop();\n\t\t} catch (err) {\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Recording failed');\n\t\t\treturn null;\n\t\t}\n\n\t\t// Cancel may have flipped status to idle while we awaited recorder.stop().\n\t\tif (this.status !== 'recording') return null;\n\n\t\tif (result.blob.size === 0 || result.durationMs < MIN_UTTERANCE_MS) {\n\t\t\tthis.release();\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.status = 'transcribing';\n\t\tthis.startedAt = null;\n\n\t\tconst ac = new AbortController();\n\t\tthis.inflightAbort = ac;\n\t\tconst qs = this.language === 'auto' ? '' : `?lang=${this.language}`;\n\n\t\ttry {\n\t\t\tconst api = sessionApi(target);\n\t\t\tif (!api) throw new Error('Not a session');\n\t\t\tconst res = await fetch(`${api}/voice${qs}`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': result.mimeType },\n\t\t\t\tbody: result.blob,\n\t\t\t\tsignal: ac.signal\n\t\t\t});\n\n\t\t\tif (!res.ok) {\n\t\t\t\tconst body = await res.text().catch(() => '');\n\t\t\t\tthrow new Error(body || `HTTP ${res.status}`);\n\t\t\t}\n\n\t\t\tconst data = (await res.json()) as { text?: string; command?: boolean };\n\t\t\tthis.release();\n\t\t\tconst text = (data.text ?? '').trim();\n\t\t\treturn text ? { text, command: data.command === true } : null;\n\t\t} catch (err) {\n\t\t\tif (ac.signal.aborted) {\n\t\t\t\tthis.error = null;\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.fail(err instanceof Error ? err.message : 'Transcription failed');\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tif (this.inflightAbort === ac) this.inflightAbort = null;\n\t\t}\n\t}\n\n\tprivate release(): void {\n\t\tthis.status = 'idle';\n\t\tthis.startedAt = null;\n\t\tthis.ownerTarget = null;\n\t\tthis.ownerField = null;\n\t}\n\n\tcancelTranscribing(): void {\n\t\tif (this.status !== 'transcribing' || !this.inflightAbort) return;\n\t\t// Flip status synchronously so a follow-up startRecording() in the same tick\n\t\t// doesn't bail on the still-transcribing guard before the catch handler runs.\n\t\tthis.release();\n\t\tthis.inflightAbort.abort();\n\t}\n\n\tprivate async cancelRecording(): Promise<void> {\n\t\tif (this.status !== 'recording' || !this.recorder) return;\n\t\tthis.release();\n\t\tthis.stopLevelLoop();\n\t\ttry {\n\t\t\tawait this.recorder.stop();\n\t\t} catch {\n\t\t\t// recorder already torn down; nothing to do\n\t\t}\n\t}\n\n\tasync cancel(): Promise<void> {\n\t\tif (this.status === 'recording') {\n\t\t\tawait this.cancelRecording();\n\t\t} else if (this.status === 'transcribing') {\n\t\t\tthis.cancelTranscribing();\n\t\t}\n\t}\n\n\tprivate fail(message: string): void {\n\t\tthis.release();\n\t\tthis.status = 'error';\n\t\tthis.error = message;\n\t}\n}\n\nexport const voiceStore = new VoiceStore();\n","import { createSubscriber } from './create-subscriber.js';\n\n/**\n * @template T\n */\nexport class ReactiveValue {\n\t#fn;\n\t#subscribe;\n\n\t/**\n\t *\n\t * @param {() => T} fn\n\t * @param {(update: () => void) => void} onsubscribe\n\t */\n\tconstructor(fn, onsubscribe) {\n\t\tthis.#fn = fn;\n\t\tthis.#subscribe = createSubscriber(onsubscribe);\n\t}\n\n\tget current() {\n\t\tthis.#subscribe();\n\t\treturn this.#fn();\n\t}\n}\n","import { on } from '../events/index.js';\nimport { ReactiveValue } from './reactive-value.js';\n\nconst parenthesis_regex = /\\(.+\\)/;\n\n// these keywords are valid media queries but they need to be without parenthesis\n//\n// eg: new MediaQuery('screen')\n//\n// however because of the auto-parenthesis logic in the constructor since there's no parenthesis\n// in the media query they'll be surrounded by parenthesis\n//\n// however we can check if the media query is only composed of these keywords\n// and skip the auto-parenthesis\n//\n// https://github.com/sveltejs/svelte/issues/15930\nconst non_parenthesized_keywords = new Set(['all', 'print', 'screen', 'and', 'or', 'not', 'only']);\n\n/**\n * Creates a media query and provides a `current` property that reflects whether or not it matches.\n *\n * Use it carefully — during server-side rendering, there is no way to know what the correct value should be, potentially causing content to change upon hydration.\n * If you can use the media query in CSS to achieve the same effect, do that.\n *\n * ```svelte\n * <script>\n * \timport { MediaQuery } from 'svelte/reactivity';\n *\n * \tconst large = new MediaQuery('min-width: 800px');\n * </script>\n *\n * <h1>{large.current ? 'large screen' : 'small screen'}</h1>\n * ```\n * @extends {ReactiveValue<boolean>}\n * @since 5.7.0\n */\nexport class MediaQuery extends ReactiveValue {\n\t/**\n\t * @param {string} query A media query string\n\t * @param {boolean} [fallback] Fallback value for the server\n\t */\n\tconstructor(query, fallback) {\n\t\tlet final_query =\n\t\t\tparenthesis_regex.test(query) ||\n\t\t\t// we need to use `some` here because technically this `window.matchMedia('random,screen')` still returns true\n\t\t\tquery.split(/[\\s,]+/).some((keyword) => non_parenthesized_keywords.has(keyword.trim()))\n\t\t\t\t? query\n\t\t\t\t: `(${query})`;\n\t\tconst q = window.matchMedia(final_query);\n\t\tsuper(\n\t\t\t() => q.matches,\n\t\t\t(update) => on(q, 'change', update)\n\t\t);\n\t}\n}\n"],"names":["PREFERRED_MIME","pickMimeType","m","VoiceRecorder","deviceId","opts","gain","useGainStage","audio","fellBackToDefault","err","recordStream","Ctor","source","analyser","gainNode","dest","mimeType","options","e","used","blob","durationMs","ev","rec","resolve","reject","sumSq","peak","i","v","a","t","isVoiceSupported","voiceUnsupportedReason","listAudioInputs","d","MIN_UTTERANCE_MS","persisted","createPersisted","VoiceStore","$.state","value","$.proxy","#prefs","target","field","clamped","tick","lvl","result","ac","qs","api","sessionApi","res","body","data","text","message","voiceStore","ReactiveValue","#fn","#subscribe","fn","onsubscribe","createSubscriber","parenthesis_regex","non_parenthesized_keywords","MediaQuery","query","fallback","final_query","keyword","q","update","on"],"mappings":"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","x_google_ignoreList":[2,3]}
@@ -1,2 +1,2 @@
1
- import"./DxJTiTth.js";import{z as m,i as o,j as y,g as B,p as w,x as _,f as v,ac as z,a as h,b as S,be as q,A as M,B as K,c as E,s as it}from"./BeqCgGI7.js";import{c as j}from"./BgY8YOrV.js";import{p as i,i as R,r as x,c as k,b as Pt}from"./Cjnj9mVX.js";import{C as It,z as U,Q as bt,F as nt,D as wt,E as St,A as lt,M as P,R as Dt,J as Bt,N as C,L as G,K as F,P as J,T as xt}from"./CFKTes94.js";import{P as _t,o as Ft,n as W,F as Et,E as Rt,D as Tt,T as zt,S as yt,a as Mt}from"./C_d6SvJ2.js";import{o as L}from"./VDVYssW5.js";function Kt(l,t){return setTimeout(t,l)}const jt=Bt({component:"dialog",parts:["content","trigger","overlay","title","description","close","cancel","action"]}),T=new It("Dialog.Root | AlertDialog.Root");class dt{static create(t){const e=T.getOr(null);return T.set(new dt(t,e))}opts;#t=B(null);get triggerNode(){return o(this.#t)}set triggerNode(t){y(this.#t,t,!0)}#e=B(null);get contentNode(){return o(this.#e)}set contentNode(t){y(this.#e,t,!0)}#r=B(null);get overlayNode(){return o(this.#r)}set overlayNode(t){y(this.#r,t,!0)}#s=B(null);get descriptionNode(){return o(this.#s)}set descriptionNode(t){y(this.#s,t,!0)}#o=B(void 0);get contentId(){return o(this.#o)}set contentId(t){y(this.#o,t,!0)}#n=B(void 0);get titleId(){return o(this.#n)}set titleId(t){y(this.#n,t,!0)}#a=B(void 0);get triggerId(){return o(this.#a)}set triggerId(t){y(this.#a,t,!0)}#i=B(void 0);get descriptionId(){return o(this.#i)}set descriptionId(t){y(this.#i,t,!0)}#l=B(null);get cancelNode(){return o(this.#l)}set cancelNode(t){y(this.#l,t,!0)}#d=B(0);get nestedOpenCount(){return o(this.#d)}set nestedOpenCount(t){y(this.#d,t,!0)}depth;parent;contentPresence;overlayPresence;constructor(t,e){this.opts=t,this.parent=e,this.depth=e?e.depth+1:0,this.handleOpen=this.handleOpen.bind(this),this.handleClose=this.handleClose.bind(this),this.contentPresence=new _t({ref:P(()=>this.contentNode),open:this.opts.open,enabled:!0,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)}}),this.overlayPresence=new _t({ref:P(()=>this.overlayNode),open:this.opts.open,enabled:!0}),lt(()=>this.opts.open.current,s=>{this.parent&&(s?this.parent.incrementNested():this.parent.decrementNested())},{lazy:!0}),Ft(()=>{this.opts.open.current&&this.parent?.decrementNested()})}handleOpen(){this.opts.open.current||(this.opts.open.current=!0)}handleClose(){this.opts.open.current&&(this.opts.open.current=!1)}getBitsAttr=t=>jt.getAttr(t,this.opts.variant.current);incrementNested(){this.nestedOpenCount++,this.parent?.incrementNested()}decrementNested(){this.nestedOpenCount!==0&&(this.nestedOpenCount--,this.parent?.decrementNested())}#c=m(()=>({"data-state":Dt(this.opts.open.current)}));get sharedProps(){return o(this.#c)}set sharedProps(t){y(this.#c,t)}}class Ct{static create(t){return new Ct(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(t){this.opts.disabled.current||t.button>0||this.root.handleClose()}onkeydown(t){this.opts.disabled.current||(t.key===wt||t.key===St)&&(t.preventDefault(),this.root.handleClose())}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr(this.opts.variant.current)]:"",onclick:this.onclick,onkeydown:this.onkeydown,disabled:this.opts.disabled.current?!0:void 0,tabindex:0,...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ct{static create(t){return new ct(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref)}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("action")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ut{static create(t){return new ut(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.root.titleId=this.opts.id.current,this.attachment=U(this.opts.ref),lt.pre(()=>this.opts.id.current,s=>{this.root.titleId=s})}#t=m(()=>({id:this.opts.id.current,role:"heading","aria-level":this.opts.level.current,[this.root.getBitsAttr("title")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ht{static create(t){return new ht(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.root.descriptionId=this.opts.id.current,this.attachment=U(this.opts.ref,s=>{this.root.descriptionNode=s}),lt.pre(()=>this.opts.id.current,s=>{this.root.descriptionId=s})}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("description")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ft{static create(t){return new ft(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>{this.root.contentNode=s,this.root.contentId=s?.id})}#t=m(()=>({open:this.root.opts.open.current}));get snippetProps(){return o(this.#t)}set snippetProps(t){y(this.#t,t)}#e=m(()=>({id:this.opts.id.current,role:this.root.opts.variant.current==="alert-dialog"?"alertdialog":"dialog","aria-modal":"true","aria-describedby":this.root.descriptionId,"aria-labelledby":this.root.titleId,[this.root.getBitsAttr("content")]:"",style:{pointerEvents:"auto",outline:this.root.opts.variant.current==="alert-dialog"?"none":void 0,"--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount,contain:"layout style"},tabindex:this.root.opts.variant.current==="alert-dialog"?-1:void 0,"data-nested-open":nt(this.root.nestedOpenCount>0),"data-nested":nt(this.root.parent!==null),...bt(this.root.contentPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return o(this.#e)}set props(t){y(this.#e,t)}get shouldRender(){return this.root.contentPresence.shouldRender}}class pt{static create(t){return new pt(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>this.root.overlayNode=s)}#t=m(()=>({open:this.root.opts.open.current}));get snippetProps(){return o(this.#t)}set snippetProps(t){y(this.#t,t)}#e=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("overlay")]:"",style:{pointerEvents:"auto","--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount},"data-nested-open":nt(this.root.nestedOpenCount>0),"data-nested":nt(this.root.parent!==null),...bt(this.root.overlayPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return o(this.#e)}set props(t){y(this.#e,t)}get shouldRender(){return this.root.overlayPresence.shouldRender}}class gt{static create(t){return new gt(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>this.root.cancelNode=s),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(t){this.opts.disabled.current||t.button>0||this.root.handleClose()}onkeydown(t){this.opts.disabled.current||(t.key===wt||t.key===St)&&(t.preventDefault(),this.root.handleClose())}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("cancel")]:"",onclick:this.onclick,onkeydown:this.onkeydown,tabindex:0,disabled:this.opts.disabled.current,...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}function Jt(l,t){w(t,!0);let e=i(t,"open",15,!1),s=i(t,"onOpenChange",3,W),r=i(t,"onOpenChangeComplete",3,W);dt.create({variant:P(()=>"alert-dialog"),open:P(()=>e(),c=>{e(c),s()(c)}),onOpenChangeComplete:P(()=>r())});var d=_(),n=v(d);C(n,()=>t.children??z),h(l,d),S()}var Lt=new Set(["$$slots","$$events","$$legacy","id","ref","child","children","level"]),Qt=E("<div><!></div>");function Ut(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"level",3,2),n=x(t,Lt);const c=ut.create({id:P(()=>s()),level:P(()=>d()),ref:P(()=>r(),a=>r(a))}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=a=>{var p=_(),I=v(p);C(I,()=>t.child,()=>({props:o(f)})),h(a,p)},u=a=>{var p=Qt();L(p,()=>({...o(f)}));var I=M(p);C(I,()=>t.children??z),K(p),h(a,p)};R(O,a=>{t.child?a(A):a(u,-1)})}h(l,g),S()}var Vt=new Set(["$$slots","$$events","$$legacy","children","child","id","ref"]),Wt=E("<button><!></button>");function qt(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=x(t,Vt);const n=ct.create({id:P(()=>s()),ref:P(()=>r(),u=>r(u))}),c=m(()=>F(d,n.props));var f=_(),g=v(f);{var O=u=>{var a=_(),p=v(a);C(p,()=>t.child,()=>({props:o(c)})),h(u,a)},A=u=>{var a=Wt();L(a,()=>({...o(c)}));var p=M(a);C(p,()=>t.children??z),K(a),h(u,a)};R(g,u=>{t.child?u(O):u(A,-1)})}h(l,f),S()}var Gt=new Set(["$$slots","$$events","$$legacy","id","ref","children","child","disabled"]),Ht=E("<button><!></button>");function Xt(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"disabled",3,!1),n=x(t,Gt);const c=gt.create({id:P(()=>s()),ref:P(()=>r(),a=>r(a)),disabled:P(()=>!!d())}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=a=>{var p=_(),I=v(p);C(I,()=>t.child,()=>({props:o(f)})),h(a,p)},u=a=>{var p=Ht();L(p,()=>({...o(f)}));var I=M(p);C(I,()=>t.children??z),K(p),h(a,p)};R(O,a=>{t.child?a(A):a(u,-1)})}h(l,g),S()}var Yt=new Set(["$$slots","$$events","$$legacy","id","children","child","ref","forceMount","interactOutsideBehavior","onCloseAutoFocus","onEscapeKeydown","onOpenAutoFocus","onInteractOutside","preventScroll","preventOverflowTextSelection","trapFocus","restoreScrollDelay"]),Zt=E("<!> <!>",1),$t=E("<!> <div><!></div>",1);function te(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"forceMount",3,!1),n=i(t,"interactOutsideBehavior",3,"ignore"),c=i(t,"onCloseAutoFocus",3,W),f=i(t,"onEscapeKeydown",3,W),g=i(t,"onOpenAutoFocus",3,W),O=i(t,"onInteractOutside",3,W),A=i(t,"preventScroll",3,!0),u=i(t,"preventOverflowTextSelection",3,!0),a=i(t,"trapFocus",3,!0),p=i(t,"restoreScrollDelay",3,null),I=x(t,Yt);const b=ft.create({id:P(()=>s()),ref:P(()=>r(),Y=>r(Y))}),N=m(()=>F(I,b.props));var D=_(),H=v(D);{var X=Y=>{Et(Y,{get ref(){return b.opts.ref},loop:!0,get trapFocus(){return a()},get enabled(){return b.root.opts.open.current},get onCloseAutoFocus(){return c()},onOpenAutoFocus:Z=>{if(g()(Z),Z.defaultPrevented)return;Z.preventDefault();const rt=b.opts.ref.current;Kt(0,()=>{rt?.isConnected&&rt.focus()})},focusScope:(Z,rt)=>{let vt=()=>(rt?.()).props;Rt(Z,k(()=>o(N),{get enabled(){return b.root.opts.open.current},get ref(){return b.opts.ref},onEscapeKeydown:st=>{f()(st),!st.defaultPrevented&&b.root.handleClose()},children:(st,Se)=>{Tt(st,k(()=>o(N),{get ref(){return b.opts.ref},get enabled(){return b.root.opts.open.current},get interactOutsideBehavior(){return n()},onInteractOutside:ot=>{O()(ot),!ot.defaultPrevented&&b.root.handleClose()},children:(ot,xe)=>{zt(ot,k(()=>o(N),{get preventOverflowTextSelection(){return u()},get ref(){return b.opts.ref},get enabled(){return b.root.opts.open.current},children:(At,Ce)=>{var mt=_(),Ot=v(mt);{var Nt=V=>{var $=Zt(),tt=v($);{var et=Q=>{yt(Q,{get preventScroll(){return A()},get restoreScrollDelay(){return p()}})};R(tt,Q=>{b.root.opts.open.current&&Q(et)})}var at=it(tt,2);{let Q=m(()=>({props:F(o(N),vt()),...b.snippetProps}));C(at,()=>t.child,()=>o(Q))}h(V,$)},kt=V=>{var $=$t(),tt=v($);yt(tt,{get preventScroll(){return A()}});var et=it(tt,2);L(et,Q=>({...Q}),[()=>F(o(N),vt())]);var at=M(et);C(at,()=>t.children??z),K(et),h(V,$)};R(Ot,V=>{t.child?V(Nt):V(kt,-1)})}h(At,mt)},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{focusScope:!0}})};R(H,Y=>{(b.shouldRender||d())&&Y(X)})}h(l,D),S()}var ee=new Set(["$$slots","$$events","$$legacy","id","forceMount","child","children","ref"]),re=E("<div><!></div>");function se(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"forceMount",3,!1),d=i(t,"ref",15,null),n=x(t,ee);const c=pt.create({id:P(()=>s()),ref:P(()=>d(),u=>d(u))}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=u=>{var a=_(),p=v(a);{var I=N=>{var D=_(),H=v(D);{let X=m(()=>({props:F(o(f)),...c.snippetProps}));C(H,()=>t.child,()=>o(X))}h(N,D)},b=N=>{var D=re();L(D,X=>({...X}),[()=>F(o(f))]);var H=M(D);C(H,()=>t.children??z,()=>c.snippetProps),K(D),h(N,D)};R(p,N=>{t.child?N(I):N(b,-1)})}h(u,a)};R(O,u=>{(c.shouldRender||r())&&u(A)})}h(l,g),S()}var oe=new Set(["$$slots","$$events","$$legacy","id","children","child","ref"]),ne=E("<div><!></div>");function ae(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=x(t,oe);const n=ht.create({id:P(()=>s()),ref:P(()=>r(),u=>r(u))}),c=m(()=>F(d,n.props));var f=_(),g=v(f);{var O=u=>{var a=_(),p=v(a);C(p,()=>t.child,()=>({props:o(c)})),h(u,a)},A=u=>{var a=ne();L(a,()=>({...o(c)}));var p=M(a);C(p,()=>t.children??z),K(a),h(u,a)};R(g,u=>{t.child?u(O):u(A,-1)})}h(l,f),S()}var ie=new Set(["$$slots","$$events","$$legacy","open"]);function Fe(l,t){w(t,!0);let e=i(t,"open",15,!1),s=x(t,ie);var r=_(),d=v(r);j(d,()=>Jt,(n,c)=>{c(n,k(()=>s,{get open(){return e()},set open(f){e(f)}}))}),h(l,r),S()}var le=new Set(["$$slots","$$events","$$legacy"]);function de(l,t){let e=x(t,le);var s=_(),r=v(s);j(r,()=>Mt,(d,n)=>{n(d,k(()=>e))}),h(l,s)}var ce=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Ee(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ce);var r=_(),d=v(r);{let n=m(()=>J("text-lg font-semibold",t.class));j(d,()=>Ut,(c,f)=>{f(c,k({"data-slot":"alert-dialog-title",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var ue=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Re(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ue);var r=_(),d=v(r);{let n=m(()=>J(xt(),t.class));j(d,()=>qt,(c,f)=>{f(c,k({"data-slot":"alert-dialog-action",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var he=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Te(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,he);var r=_(),d=v(r);{let n=m(()=>J(xt({variant:"outline"}),t.class));j(d,()=>Xt,(c,f)=>{f(c,k({"data-slot":"alert-dialog-cancel",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var fe=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),pe=E("<div><!></div>");function ze(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,fe);var r=pe();L(r,n=>({"data-slot":"alert-dialog-footer",class:n,...s}),[()=>J("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t.class)]);var d=M(r);C(d,()=>t.children??z),K(r),Pt(r,n=>e(n),()=>e()),h(l,r),S()}var ge=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),ve=E("<div><!></div>");function Me(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ge);var r=ve();L(r,n=>({"data-slot":"alert-dialog-header",class:n,...s}),[()=>J("flex flex-col gap-2 text-center sm:text-start",t.class)]);var d=M(r);C(d,()=>t.children??z),K(r),Pt(r,n=>e(n),()=>e()),h(l,r),S()}var me=new Set(["$$slots","$$events","$$legacy","ref","class"]);function _e(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,me);var r=_(),d=v(r);{let n=m(()=>J("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50",t.class));j(d,()=>se,(c,f)=>{f(c,k({"data-slot":"alert-dialog-overlay",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var ye=new Set(["$$slots","$$events","$$legacy","ref","class","portalProps"]),Pe=E("<!> <!>",1);function Ke(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ye);de(l,k(()=>t.portalProps,{children:(r,d)=>{var n=Pe(),c=v(n);_e(c,{});var f=it(c,2);{let g=m(()=>J("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t.class));j(f,()=>te,(O,A)=>{A(O,k({"data-slot":"alert-dialog-content",get class(){return o(g)}},()=>s,{get ref(){return e()},set ref(u){e(u)}}))})}h(r,n)},$$slots:{default:!0}})),S()}var be=new Set(["$$slots","$$events","$$legacy","ref","class"]);function je(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,be);var r=_(),d=v(r);{let n=m(()=>J("text-muted-foreground text-sm",t.class));j(d,()=>ae,(c,f)=>{f(c,k({"data-slot":"alert-dialog-description",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}export{Ke as A,se as D,Me as a,Ee as b,je as c,ze as d,Te as e,Re as f,Fe as g,Ut as h,dt as i,Ct as j,ft as k,ae as l,Kt as m};
2
- //# sourceMappingURL=BwPDlhmz.js.map
1
+ import"./DxJTiTth.js";import{z as m,i as o,j as y,g as B,p as w,x as _,f as v,ac as z,a as h,b as S,be as q,A as M,B as K,c as E,s as it}from"./BeqCgGI7.js";import{c as j}from"./BgY8YOrV.js";import{p as i,i as R,r as x,c as k,b as Pt}from"./Cjnj9mVX.js";import{C as It,z as U,Q as bt,F as nt,D as wt,E as St,A as lt,M as P,R as Dt,J as Bt,N as C,L as G,K as F,P as J,T as xt}from"./CtjkAirr.js";import{P as _t,o as Ft,n as W,F as Et,E as Rt,D as Tt,T as zt,S as yt,a as Mt}from"./Q5yhzux8.js";import{o as L}from"./VDVYssW5.js";function Kt(l,t){return setTimeout(t,l)}const jt=Bt({component:"dialog",parts:["content","trigger","overlay","title","description","close","cancel","action"]}),T=new It("Dialog.Root | AlertDialog.Root");class dt{static create(t){const e=T.getOr(null);return T.set(new dt(t,e))}opts;#t=B(null);get triggerNode(){return o(this.#t)}set triggerNode(t){y(this.#t,t,!0)}#e=B(null);get contentNode(){return o(this.#e)}set contentNode(t){y(this.#e,t,!0)}#r=B(null);get overlayNode(){return o(this.#r)}set overlayNode(t){y(this.#r,t,!0)}#s=B(null);get descriptionNode(){return o(this.#s)}set descriptionNode(t){y(this.#s,t,!0)}#o=B(void 0);get contentId(){return o(this.#o)}set contentId(t){y(this.#o,t,!0)}#n=B(void 0);get titleId(){return o(this.#n)}set titleId(t){y(this.#n,t,!0)}#a=B(void 0);get triggerId(){return o(this.#a)}set triggerId(t){y(this.#a,t,!0)}#i=B(void 0);get descriptionId(){return o(this.#i)}set descriptionId(t){y(this.#i,t,!0)}#l=B(null);get cancelNode(){return o(this.#l)}set cancelNode(t){y(this.#l,t,!0)}#d=B(0);get nestedOpenCount(){return o(this.#d)}set nestedOpenCount(t){y(this.#d,t,!0)}depth;parent;contentPresence;overlayPresence;constructor(t,e){this.opts=t,this.parent=e,this.depth=e?e.depth+1:0,this.handleOpen=this.handleOpen.bind(this),this.handleClose=this.handleClose.bind(this),this.contentPresence=new _t({ref:P(()=>this.contentNode),open:this.opts.open,enabled:!0,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)}}),this.overlayPresence=new _t({ref:P(()=>this.overlayNode),open:this.opts.open,enabled:!0}),lt(()=>this.opts.open.current,s=>{this.parent&&(s?this.parent.incrementNested():this.parent.decrementNested())},{lazy:!0}),Ft(()=>{this.opts.open.current&&this.parent?.decrementNested()})}handleOpen(){this.opts.open.current||(this.opts.open.current=!0)}handleClose(){this.opts.open.current&&(this.opts.open.current=!1)}getBitsAttr=t=>jt.getAttr(t,this.opts.variant.current);incrementNested(){this.nestedOpenCount++,this.parent?.incrementNested()}decrementNested(){this.nestedOpenCount!==0&&(this.nestedOpenCount--,this.parent?.decrementNested())}#c=m(()=>({"data-state":Dt(this.opts.open.current)}));get sharedProps(){return o(this.#c)}set sharedProps(t){y(this.#c,t)}}class Ct{static create(t){return new Ct(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(t){this.opts.disabled.current||t.button>0||this.root.handleClose()}onkeydown(t){this.opts.disabled.current||(t.key===wt||t.key===St)&&(t.preventDefault(),this.root.handleClose())}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr(this.opts.variant.current)]:"",onclick:this.onclick,onkeydown:this.onkeydown,disabled:this.opts.disabled.current?!0:void 0,tabindex:0,...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ct{static create(t){return new ct(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref)}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("action")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ut{static create(t){return new ut(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.root.titleId=this.opts.id.current,this.attachment=U(this.opts.ref),lt.pre(()=>this.opts.id.current,s=>{this.root.titleId=s})}#t=m(()=>({id:this.opts.id.current,role:"heading","aria-level":this.opts.level.current,[this.root.getBitsAttr("title")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ht{static create(t){return new ht(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.root.descriptionId=this.opts.id.current,this.attachment=U(this.opts.ref,s=>{this.root.descriptionNode=s}),lt.pre(()=>this.opts.id.current,s=>{this.root.descriptionId=s})}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("description")]:"",...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}class ft{static create(t){return new ft(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>{this.root.contentNode=s,this.root.contentId=s?.id})}#t=m(()=>({open:this.root.opts.open.current}));get snippetProps(){return o(this.#t)}set snippetProps(t){y(this.#t,t)}#e=m(()=>({id:this.opts.id.current,role:this.root.opts.variant.current==="alert-dialog"?"alertdialog":"dialog","aria-modal":"true","aria-describedby":this.root.descriptionId,"aria-labelledby":this.root.titleId,[this.root.getBitsAttr("content")]:"",style:{pointerEvents:"auto",outline:this.root.opts.variant.current==="alert-dialog"?"none":void 0,"--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount,contain:"layout style"},tabindex:this.root.opts.variant.current==="alert-dialog"?-1:void 0,"data-nested-open":nt(this.root.nestedOpenCount>0),"data-nested":nt(this.root.parent!==null),...bt(this.root.contentPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return o(this.#e)}set props(t){y(this.#e,t)}get shouldRender(){return this.root.contentPresence.shouldRender}}class pt{static create(t){return new pt(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>this.root.overlayNode=s)}#t=m(()=>({open:this.root.opts.open.current}));get snippetProps(){return o(this.#t)}set snippetProps(t){y(this.#t,t)}#e=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("overlay")]:"",style:{pointerEvents:"auto","--bits-dialog-depth":this.root.depth,"--bits-dialog-nested-count":this.root.nestedOpenCount},"data-nested-open":nt(this.root.nestedOpenCount>0),"data-nested":nt(this.root.parent!==null),...bt(this.root.overlayPresence.transitionStatus),...this.root.sharedProps,...this.attachment}));get props(){return o(this.#e)}set props(t){y(this.#e,t)}get shouldRender(){return this.root.overlayPresence.shouldRender}}class gt{static create(t){return new gt(t,T.get())}opts;root;attachment;constructor(t,e){this.opts=t,this.root=e,this.attachment=U(this.opts.ref,s=>this.root.cancelNode=s),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(t){this.opts.disabled.current||t.button>0||this.root.handleClose()}onkeydown(t){this.opts.disabled.current||(t.key===wt||t.key===St)&&(t.preventDefault(),this.root.handleClose())}#t=m(()=>({id:this.opts.id.current,[this.root.getBitsAttr("cancel")]:"",onclick:this.onclick,onkeydown:this.onkeydown,tabindex:0,disabled:this.opts.disabled.current,...this.root.sharedProps,...this.attachment}));get props(){return o(this.#t)}set props(t){y(this.#t,t)}}function Jt(l,t){w(t,!0);let e=i(t,"open",15,!1),s=i(t,"onOpenChange",3,W),r=i(t,"onOpenChangeComplete",3,W);dt.create({variant:P(()=>"alert-dialog"),open:P(()=>e(),c=>{e(c),s()(c)}),onOpenChangeComplete:P(()=>r())});var d=_(),n=v(d);C(n,()=>t.children??z),h(l,d),S()}var Lt=new Set(["$$slots","$$events","$$legacy","id","ref","child","children","level"]),Qt=E("<div><!></div>");function Ut(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"level",3,2),n=x(t,Lt);const c=ut.create({id:P(()=>s()),level:P(()=>d()),ref:P(()=>r(),a=>r(a))}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=a=>{var p=_(),I=v(p);C(I,()=>t.child,()=>({props:o(f)})),h(a,p)},u=a=>{var p=Qt();L(p,()=>({...o(f)}));var I=M(p);C(I,()=>t.children??z),K(p),h(a,p)};R(O,a=>{t.child?a(A):a(u,-1)})}h(l,g),S()}var Vt=new Set(["$$slots","$$events","$$legacy","children","child","id","ref"]),Wt=E("<button><!></button>");function qt(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=x(t,Vt);const n=ct.create({id:P(()=>s()),ref:P(()=>r(),u=>r(u))}),c=m(()=>F(d,n.props));var f=_(),g=v(f);{var O=u=>{var a=_(),p=v(a);C(p,()=>t.child,()=>({props:o(c)})),h(u,a)},A=u=>{var a=Wt();L(a,()=>({...o(c)}));var p=M(a);C(p,()=>t.children??z),K(a),h(u,a)};R(g,u=>{t.child?u(O):u(A,-1)})}h(l,f),S()}var Gt=new Set(["$$slots","$$events","$$legacy","id","ref","children","child","disabled"]),Ht=E("<button><!></button>");function Xt(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"disabled",3,!1),n=x(t,Gt);const c=gt.create({id:P(()=>s()),ref:P(()=>r(),a=>r(a)),disabled:P(()=>!!d())}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=a=>{var p=_(),I=v(p);C(I,()=>t.child,()=>({props:o(f)})),h(a,p)},u=a=>{var p=Ht();L(p,()=>({...o(f)}));var I=M(p);C(I,()=>t.children??z),K(p),h(a,p)};R(O,a=>{t.child?a(A):a(u,-1)})}h(l,g),S()}var Yt=new Set(["$$slots","$$events","$$legacy","id","children","child","ref","forceMount","interactOutsideBehavior","onCloseAutoFocus","onEscapeKeydown","onOpenAutoFocus","onInteractOutside","preventScroll","preventOverflowTextSelection","trapFocus","restoreScrollDelay"]),Zt=E("<!> <!>",1),$t=E("<!> <div><!></div>",1);function te(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=i(t,"forceMount",3,!1),n=i(t,"interactOutsideBehavior",3,"ignore"),c=i(t,"onCloseAutoFocus",3,W),f=i(t,"onEscapeKeydown",3,W),g=i(t,"onOpenAutoFocus",3,W),O=i(t,"onInteractOutside",3,W),A=i(t,"preventScroll",3,!0),u=i(t,"preventOverflowTextSelection",3,!0),a=i(t,"trapFocus",3,!0),p=i(t,"restoreScrollDelay",3,null),I=x(t,Yt);const b=ft.create({id:P(()=>s()),ref:P(()=>r(),Y=>r(Y))}),N=m(()=>F(I,b.props));var D=_(),H=v(D);{var X=Y=>{Et(Y,{get ref(){return b.opts.ref},loop:!0,get trapFocus(){return a()},get enabled(){return b.root.opts.open.current},get onCloseAutoFocus(){return c()},onOpenAutoFocus:Z=>{if(g()(Z),Z.defaultPrevented)return;Z.preventDefault();const rt=b.opts.ref.current;Kt(0,()=>{rt?.isConnected&&rt.focus()})},focusScope:(Z,rt)=>{let vt=()=>(rt?.()).props;Rt(Z,k(()=>o(N),{get enabled(){return b.root.opts.open.current},get ref(){return b.opts.ref},onEscapeKeydown:st=>{f()(st),!st.defaultPrevented&&b.root.handleClose()},children:(st,Se)=>{Tt(st,k(()=>o(N),{get ref(){return b.opts.ref},get enabled(){return b.root.opts.open.current},get interactOutsideBehavior(){return n()},onInteractOutside:ot=>{O()(ot),!ot.defaultPrevented&&b.root.handleClose()},children:(ot,xe)=>{zt(ot,k(()=>o(N),{get preventOverflowTextSelection(){return u()},get ref(){return b.opts.ref},get enabled(){return b.root.opts.open.current},children:(At,Ce)=>{var mt=_(),Ot=v(mt);{var Nt=V=>{var $=Zt(),tt=v($);{var et=Q=>{yt(Q,{get preventScroll(){return A()},get restoreScrollDelay(){return p()}})};R(tt,Q=>{b.root.opts.open.current&&Q(et)})}var at=it(tt,2);{let Q=m(()=>({props:F(o(N),vt()),...b.snippetProps}));C(at,()=>t.child,()=>o(Q))}h(V,$)},kt=V=>{var $=$t(),tt=v($);yt(tt,{get preventScroll(){return A()}});var et=it(tt,2);L(et,Q=>({...Q}),[()=>F(o(N),vt())]);var at=M(et);C(at,()=>t.children??z),K(et),h(V,$)};R(Ot,V=>{t.child?V(Nt):V(kt,-1)})}h(At,mt)},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{focusScope:!0}})};R(H,Y=>{(b.shouldRender||d())&&Y(X)})}h(l,D),S()}var ee=new Set(["$$slots","$$events","$$legacy","id","forceMount","child","children","ref"]),re=E("<div><!></div>");function se(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"forceMount",3,!1),d=i(t,"ref",15,null),n=x(t,ee);const c=pt.create({id:P(()=>s()),ref:P(()=>d(),u=>d(u))}),f=m(()=>F(n,c.props));var g=_(),O=v(g);{var A=u=>{var a=_(),p=v(a);{var I=N=>{var D=_(),H=v(D);{let X=m(()=>({props:F(o(f)),...c.snippetProps}));C(H,()=>t.child,()=>o(X))}h(N,D)},b=N=>{var D=re();L(D,X=>({...X}),[()=>F(o(f))]);var H=M(D);C(H,()=>t.children??z,()=>c.snippetProps),K(D),h(N,D)};R(p,N=>{t.child?N(I):N(b,-1)})}h(u,a)};R(O,u=>{(c.shouldRender||r())&&u(A)})}h(l,g),S()}var oe=new Set(["$$slots","$$events","$$legacy","id","children","child","ref"]),ne=E("<div><!></div>");function ae(l,t){const e=q();w(t,!0);let s=i(t,"id",19,()=>G(e)),r=i(t,"ref",15,null),d=x(t,oe);const n=ht.create({id:P(()=>s()),ref:P(()=>r(),u=>r(u))}),c=m(()=>F(d,n.props));var f=_(),g=v(f);{var O=u=>{var a=_(),p=v(a);C(p,()=>t.child,()=>({props:o(c)})),h(u,a)},A=u=>{var a=ne();L(a,()=>({...o(c)}));var p=M(a);C(p,()=>t.children??z),K(a),h(u,a)};R(g,u=>{t.child?u(O):u(A,-1)})}h(l,f),S()}var ie=new Set(["$$slots","$$events","$$legacy","open"]);function Fe(l,t){w(t,!0);let e=i(t,"open",15,!1),s=x(t,ie);var r=_(),d=v(r);j(d,()=>Jt,(n,c)=>{c(n,k(()=>s,{get open(){return e()},set open(f){e(f)}}))}),h(l,r),S()}var le=new Set(["$$slots","$$events","$$legacy"]);function de(l,t){let e=x(t,le);var s=_(),r=v(s);j(r,()=>Mt,(d,n)=>{n(d,k(()=>e))}),h(l,s)}var ce=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Ee(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ce);var r=_(),d=v(r);{let n=m(()=>J("text-lg font-semibold",t.class));j(d,()=>Ut,(c,f)=>{f(c,k({"data-slot":"alert-dialog-title",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var ue=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Re(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ue);var r=_(),d=v(r);{let n=m(()=>J(xt(),t.class));j(d,()=>qt,(c,f)=>{f(c,k({"data-slot":"alert-dialog-action",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var he=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Te(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,he);var r=_(),d=v(r);{let n=m(()=>J(xt({variant:"outline"}),t.class));j(d,()=>Xt,(c,f)=>{f(c,k({"data-slot":"alert-dialog-cancel",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var fe=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),pe=E("<div><!></div>");function ze(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,fe);var r=pe();L(r,n=>({"data-slot":"alert-dialog-footer",class:n,...s}),[()=>J("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t.class)]);var d=M(r);C(d,()=>t.children??z),K(r),Pt(r,n=>e(n),()=>e()),h(l,r),S()}var ge=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),ve=E("<div><!></div>");function Me(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ge);var r=ve();L(r,n=>({"data-slot":"alert-dialog-header",class:n,...s}),[()=>J("flex flex-col gap-2 text-center sm:text-start",t.class)]);var d=M(r);C(d,()=>t.children??z),K(r),Pt(r,n=>e(n),()=>e()),h(l,r),S()}var me=new Set(["$$slots","$$events","$$legacy","ref","class"]);function _e(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,me);var r=_(),d=v(r);{let n=m(()=>J("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50",t.class));j(d,()=>se,(c,f)=>{f(c,k({"data-slot":"alert-dialog-overlay",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}var ye=new Set(["$$slots","$$events","$$legacy","ref","class","portalProps"]),Pe=E("<!> <!>",1);function Ke(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,ye);de(l,k(()=>t.portalProps,{children:(r,d)=>{var n=Pe(),c=v(n);_e(c,{});var f=it(c,2);{let g=m(()=>J("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t.class));j(f,()=>te,(O,A)=>{A(O,k({"data-slot":"alert-dialog-content",get class(){return o(g)}},()=>s,{get ref(){return e()},set ref(u){e(u)}}))})}h(r,n)},$$slots:{default:!0}})),S()}var be=new Set(["$$slots","$$events","$$legacy","ref","class"]);function je(l,t){w(t,!0);let e=i(t,"ref",15,null),s=x(t,be);var r=_(),d=v(r);{let n=m(()=>J("text-muted-foreground text-sm",t.class));j(d,()=>ae,(c,f)=>{f(c,k({"data-slot":"alert-dialog-description",get class(){return o(n)}},()=>s,{get ref(){return e()},set ref(g){e(g)}}))})}h(l,r),S()}export{Ke as A,se as D,Me as a,Ee as b,je as c,ze as d,Te as e,Re as f,Fe as g,Ut as h,dt as i,Ct as j,ft as k,ae as l,Kt as m};
2
+ //# sourceMappingURL=cvsGFvDx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BwPDlhmz.js","sources":["../../../../../../../node_modules/.bun/svelte-toolbelt@0.10.6+ec0a64a97e9eb16b/node_modules/svelte-toolbelt/dist/utils/after-sleep.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/dialog.svelte.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-title.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-action.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-content.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-overlay.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-description.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-title.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-action.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-header.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-content.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-description.svelte"],"sourcesContent":["/**\n * A utility function that executes a callback after a specified number of milliseconds.\n */\nexport function afterSleep(ms, cb) {\n return setTimeout(cb, ms);\n}\n","import { attachRef, boxWith, onDestroyEffect, } from \"svelte-toolbelt\";\nimport { Context, watch } from \"runed\";\nimport { createBitsAttrs, boolToStr, getDataOpenClosed, boolToEmptyStrOrUndef, getDataTransitionAttrs, } from \"../../internal/attrs.js\";\nimport { kbd } from \"../../internal/kbd.js\";\nimport { PresenceManager } from \"../../internal/presence-manager.svelte.js\";\nconst dialogAttrs = createBitsAttrs({\n component: \"dialog\",\n parts: [\"content\", \"trigger\", \"overlay\", \"title\", \"description\", \"close\", \"cancel\", \"action\"],\n});\nconst DialogRootContext = new Context(\"Dialog.Root | AlertDialog.Root\");\nexport class DialogRootState {\n static create(opts) {\n const parent = DialogRootContext.getOr(null);\n return DialogRootContext.set(new DialogRootState(opts, parent));\n }\n opts;\n triggerNode = $state(null);\n contentNode = $state(null);\n overlayNode = $state(null);\n descriptionNode = $state(null);\n contentId = $state(undefined);\n titleId = $state(undefined);\n triggerId = $state(undefined);\n descriptionId = $state(undefined);\n cancelNode = $state(null);\n nestedOpenCount = $state(0);\n depth;\n parent;\n contentPresence;\n overlayPresence;\n constructor(opts, parent) {\n this.opts = opts;\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n this.handleOpen = this.handleOpen.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.contentPresence = new PresenceManager({\n ref: boxWith(() => this.contentNode),\n open: this.opts.open,\n enabled: true,\n onComplete: () => {\n this.opts.onOpenChangeComplete.current(this.opts.open.current);\n },\n });\n this.overlayPresence = new PresenceManager({\n ref: boxWith(() => this.overlayNode),\n open: this.opts.open,\n enabled: true,\n });\n watch(() => this.opts.open.current, (isOpen) => {\n if (!this.parent)\n return;\n if (isOpen) {\n this.parent.incrementNested();\n }\n else {\n this.parent.decrementNested();\n }\n }, { lazy: true });\n onDestroyEffect(() => {\n if (this.opts.open.current) {\n this.parent?.decrementNested();\n }\n });\n }\n handleOpen() {\n if (this.opts.open.current)\n return;\n this.opts.open.current = true;\n }\n handleClose() {\n if (!this.opts.open.current)\n return;\n this.opts.open.current = false;\n }\n getBitsAttr = (part) => {\n return dialogAttrs.getAttr(part, this.opts.variant.current);\n };\n incrementNested() {\n this.nestedOpenCount++;\n this.parent?.incrementNested();\n }\n decrementNested() {\n if (this.nestedOpenCount === 0)\n return;\n this.nestedOpenCount--;\n this.parent?.decrementNested();\n }\n sharedProps = $derived.by(() => ({\n \"data-state\": getDataOpenClosed(this.opts.open.current),\n }));\n}\nexport class DialogTriggerState {\n static create(opts) {\n return new DialogTriggerState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.triggerNode = v;\n this.root.triggerId = v?.id;\n });\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleOpen();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleOpen();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": boolToStr(this.root.opts.open.current),\n \"aria-controls\": this.root.contentId,\n [this.root.getBitsAttr(\"trigger\")]: \"\",\n onkeydown: this.onkeydown,\n onclick: this.onclick,\n disabled: this.opts.disabled.current ? true : undefined,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogCloseState {\n static create(opts) {\n return new DialogCloseState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(this.opts.variant.current)]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n disabled: this.opts.disabled.current ? true : undefined,\n tabindex: 0,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogActionState {\n static create(opts) {\n return new DialogActionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"action\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogTitleState {\n static create(opts) {\n return new DialogTitleState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.titleId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref);\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.titleId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"heading\",\n \"aria-level\": this.opts.level.current,\n [this.root.getBitsAttr(\"title\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogDescriptionState {\n static create(opts) {\n return new DialogDescriptionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.descriptionId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.descriptionNode = v;\n });\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.descriptionId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"description\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogContentState {\n static create(opts) {\n return new DialogContentState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.contentNode = v;\n this.root.contentId = v?.id;\n });\n }\n snippetProps = $derived.by(() => ({ open: this.root.opts.open.current }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: this.root.opts.variant.current === \"alert-dialog\" ? \"alertdialog\" : \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-describedby\": this.root.descriptionId,\n \"aria-labelledby\": this.root.titleId,\n [this.root.getBitsAttr(\"content\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n outline: this.root.opts.variant.current === \"alert-dialog\" ? \"none\" : undefined,\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount,\n // CSS containment isolates style/layout calculations from the rest of the page,\n // improving performance when there's a large DOM behind the dialog.\n // Paint is omitted so tooltips/selects can render outside dialog bounds.\n contain: \"layout style\",\n },\n tabindex: this.root.opts.variant.current === \"alert-dialog\" ? -1 : undefined,\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.contentPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n get shouldRender() {\n return this.root.contentPresence.shouldRender;\n }\n}\nexport class DialogOverlayState {\n static create(opts) {\n return new DialogOverlayState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => (this.root.overlayNode = v));\n }\n snippetProps = $derived.by(() => ({ open: this.root.opts.open.current }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"overlay\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount,\n },\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.overlayPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n get shouldRender() {\n return this.root.overlayPresence.shouldRender;\n }\n}\nexport class AlertDialogCancelState {\n static create(opts) {\n return new AlertDialogCancelState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => (this.root.cancelNode = v));\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"cancel\")]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n tabindex: 0,\n disabled: this.opts.disabled.current,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\n","<script lang=\"ts\">\n\timport { boxWith } from \"svelte-toolbelt\";\n\timport type { AlertDialogRootProps } from \"../types.js\";\n\timport { noop } from \"../../../internal/noop.js\";\n\timport { DialogRootState } from \"../../dialog/dialog.svelte.js\";\n\n\tlet {\n\t\topen = $bindable(false),\n\t\tonOpenChange = noop,\n\t\tonOpenChangeComplete = noop,\n\t\tchildren,\n\t}: AlertDialogRootProps = $props();\n\n\tDialogRootState.create({\n\t\tvariant: boxWith(() => \"alert-dialog\"),\n\t\topen: boxWith(\n\t\t\t() => open,\n\t\t\t(v) => {\n\t\t\t\topen = v;\n\t\t\t\tonOpenChange(v);\n\t\t\t}\n\t\t),\n\t\tonOpenChangeComplete: boxWith(() => onOpenChangeComplete),\n\t});\n</script>\n\n{@render children?.()}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogTitleState } from \"../dialog.svelte.js\";\n\timport type { DialogTitleProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\tchild,\n\t\tchildren,\n\t\tlevel = 2,\n\t\t...restProps\n\t}: DialogTitleProps = $props();\n\n\tconst titleState = DialogTitleState.create({\n\t\tid: boxWith(() => id),\n\t\tlevel: boxWith(() => level),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, titleState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<div {...mergedProps}>\n\t\t{@render children?.()}\n\t</div>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogActionProps } from \"../types.js\";\n\timport { DialogActionState } from \"../../dialog/dialog.svelte.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tchildren,\n\t\tchild,\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: AlertDialogActionProps = $props();\n\n\tconst actionState = DialogActionState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, actionState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.()}\n\t</button>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogCancelProps } from \"../types.js\";\n\timport { AlertDialogCancelState } from \"../../dialog/dialog.svelte.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\tchildren,\n\t\tchild,\n\t\tdisabled = false,\n\t\t...restProps\n\t}: AlertDialogCancelProps = $props();\n\n\tconst cancelState = AlertDialogCancelState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t\tdisabled: boxWith(() => Boolean(disabled)),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, cancelState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.()}\n\t</button>\n{/if}\n","<script lang=\"ts\">\n\timport { afterSleep, boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogContentProps } from \"../types.js\";\n\timport DismissibleLayer from \"../../utilities/dismissible-layer/dismissible-layer.svelte\";\n\timport EscapeLayer from \"../../utilities/escape-layer/escape-layer.svelte\";\n\timport FocusScope from \"../../utilities/focus-scope/focus-scope.svelte\";\n\timport TextSelectionLayer from \"../../utilities/text-selection-layer/text-selection-layer.svelte\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\timport { noop } from \"../../../internal/noop.js\";\n\timport ScrollLock from \"../../utilities/scroll-lock/scroll-lock.svelte\";\n\timport { DialogContentState } from \"../../dialog/dialog.svelte.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tchildren,\n\t\tchild,\n\t\tref = $bindable(null),\n\t\tforceMount = false,\n\t\tinteractOutsideBehavior = \"ignore\",\n\t\tonCloseAutoFocus = noop,\n\t\tonEscapeKeydown = noop,\n\t\tonOpenAutoFocus = noop,\n\t\tonInteractOutside = noop,\n\t\tpreventScroll = true,\n\t\tpreventOverflowTextSelection = true,\n\t\ttrapFocus = true,\n\t\trestoreScrollDelay = null,\n\t\t...restProps\n\t}: AlertDialogContentProps = $props();\n\n\tconst contentState = DialogContentState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, contentState.props));\n</script>\n\n{#if contentState.shouldRender || forceMount}\n\t<FocusScope\n\t\tref={contentState.opts.ref}\n\t\tloop\n\t\t{trapFocus}\n\t\tenabled={contentState.root.opts.open.current}\n\t\t{onCloseAutoFocus}\n\t\tonOpenAutoFocus={(e) => {\n\t\t\tonOpenAutoFocus(e);\n\t\t\tif (e.defaultPrevented) return;\n\t\t\te.preventDefault();\n\t\t\t// capture the node so a replacement can't receive this node's delayed autofocus\n\t\t\tconst node = contentState.opts.ref.current;\n\t\t\tafterSleep(0, () => {\n\t\t\t\tif (node?.isConnected) node.focus();\n\t\t\t});\n\t\t}}\n\t>\n\t\t{#snippet focusScope({ props: focusScopeProps })}\n\t\t\t<EscapeLayer\n\t\t\t\t{...mergedProps}\n\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\tref={contentState.opts.ref}\n\t\t\t\tonEscapeKeydown={(e) => {\n\t\t\t\t\tonEscapeKeydown(e);\n\t\t\t\t\tif (e.defaultPrevented) return;\n\t\t\t\t\tcontentState.root.handleClose();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<DismissibleLayer\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t\tref={contentState.opts.ref}\n\t\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\t\t{interactOutsideBehavior}\n\t\t\t\t\tonInteractOutside={(e) => {\n\t\t\t\t\t\tonInteractOutside(e);\n\t\t\t\t\t\tif (e.defaultPrevented) return;\n\t\t\t\t\t\tcontentState.root.handleClose();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<TextSelectionLayer\n\t\t\t\t\t\t{...mergedProps}\n\t\t\t\t\t\t{preventOverflowTextSelection}\n\t\t\t\t\t\tref={contentState.opts.ref}\n\t\t\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if child}\n\t\t\t\t\t\t\t{#if contentState.root.opts.open.current}\n\t\t\t\t\t\t\t\t<ScrollLock {preventScroll} {restoreScrollDelay} />\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t{@render child({\n\t\t\t\t\t\t\t\tprops: mergeProps(mergedProps, focusScopeProps),\n\t\t\t\t\t\t\t\t...contentState.snippetProps,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<ScrollLock {preventScroll} />\n\t\t\t\t\t\t\t<div {...mergeProps(mergedProps, focusScopeProps)}>\n\t\t\t\t\t\t\t\t{@render children?.()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</TextSelectionLayer>\n\t\t\t\t</DismissibleLayer>\n\t\t\t</EscapeLayer>\n\t\t{/snippet}\n\t</FocusScope>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogOverlayState } from \"../dialog.svelte.js\";\n\timport type { DialogOverlayProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tforceMount = false,\n\t\tchild,\n\t\tchildren,\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: DialogOverlayProps = $props();\n\n\tconst overlayState = DialogOverlayState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, overlayState.props));\n</script>\n\n{#if overlayState.shouldRender || forceMount}\n\t{#if child}\n\t\t{@render child({ props: mergeProps(mergedProps), ...overlayState.snippetProps })}\n\t{:else}\n\t\t<div {...mergeProps(mergedProps)}>\n\t\t\t{@render children?.(overlayState.snippetProps)}\n\t\t</div>\n\t{/if}\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogDescriptionState } from \"../dialog.svelte.js\";\n\timport type { DialogDescriptionProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tchildren,\n\t\tchild,\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: DialogDescriptionProps = $props();\n\n\tconst descriptionState = DialogDescriptionState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, descriptionState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<div {...mergedProps}>\n\t\t{@render children?.()}\n\t</div>\n{/if}\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\n\tlet { open = $bindable(false), ...restProps }: AlertDialogPrimitive.RootProps = $props();\n</script>\n\n<AlertDialogPrimitive.Root bind:open {...restProps} />\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\n\tlet { ...restProps }: AlertDialogPrimitive.PortalProps = $props();\n</script>\n\n<AlertDialogPrimitive.Portal {...restProps} />\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.TitleProps = $props();\n</script>\n\n<AlertDialogPrimitive.Title\n\tbind:ref\n\tdata-slot=\"alert-dialog-title\"\n\tclass={cn(\"text-lg font-semibold\", className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { buttonVariants } from \"$lib/components/ui/button/index.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.ActionProps = $props();\n</script>\n\n<AlertDialogPrimitive.Action\n\tbind:ref\n\tdata-slot=\"alert-dialog-action\"\n\tclass={cn(buttonVariants(), className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { buttonVariants } from \"$lib/components/ui/button/index.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.CancelProps = $props();\n</script>\n\n<AlertDialogPrimitive.Cancel\n\tbind:ref\n\tdata-slot=\"alert-dialog-cancel\"\n\tclass={cn(buttonVariants({ variant: \"outline\" }), className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { cn, type WithElementRef } from \"$lib/utils.js\";\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tchildren,\n\t\t...restProps\n\t}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n\tbind:this={ref}\n\tdata-slot=\"alert-dialog-footer\"\n\tclass={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n\t{...restProps}\n>\n\t{@render children?.()}\n</div>\n","<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn, type WithElementRef } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tchildren,\n\t\t...restProps\n\t}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n\tbind:this={ref}\n\tdata-slot=\"alert-dialog-header\"\n\tclass={cn(\"flex flex-col gap-2 text-center sm:text-start\", className)}\n\t{...restProps}\n>\n\t{@render children?.()}\n</div>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.OverlayProps = $props();\n</script>\n\n<AlertDialogPrimitive.Overlay\n\tbind:ref\n\tdata-slot=\"alert-dialog-overlay\"\n\tclass={cn(\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50\",\n\t\tclassName\n\t)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport AlertDialogPortal from \"./alert-dialog-portal.svelte\";\n\timport AlertDialogOverlay from \"./alert-dialog-overlay.svelte\";\n\timport { cn, type WithoutChild, type WithoutChildrenOrChild } from \"$lib/utils.js\";\n\timport type { ComponentProps } from \"svelte\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tportalProps,\n\t\t...restProps\n\t}: WithoutChild<AlertDialogPrimitive.ContentProps> & {\n\t\tportalProps?: WithoutChildrenOrChild<ComponentProps<typeof AlertDialogPortal>>;\n\t} = $props();\n</script>\n\n<AlertDialogPortal {...portalProps}>\n\t<AlertDialogOverlay />\n\t<AlertDialogPrimitive.Content\n\t\tbind:ref\n\t\tdata-slot=\"alert-dialog-content\"\n\t\tclass={cn(\n\t\t\t\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n\t\t\tclassName\n\t\t)}\n\t\t{...restProps}\n\t/>\n</AlertDialogPortal>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.DescriptionProps = $props();\n</script>\n\n<AlertDialogPrimitive.Description\n\tbind:ref\n\tdata-slot=\"alert-dialog-description\"\n\tclass={cn(\"text-muted-foreground text-sm\", className)}\n\t{...restProps}\n/>\n"],"names":["afterSleep","ms","cb","dialogAttrs","createBitsAttrs","DialogRootContext","Context","DialogRootState","opts","parent","$.state","value","PresenceManager","boxWith","watch","isOpen","onDestroyEffect","part","#sharedProps","$.derived","getDataOpenClosed","DialogCloseState","root","attachRef","e","kbd.SPACE","kbd.ENTER","#props","DialogActionState","DialogTitleState","id","DialogDescriptionState","v","DialogContentState","#snippetProps","boolToEmptyStrOrUndef","getDataTransitionAttrs","DialogOverlayState","AlertDialogCancelState","open","$.prop","$$props","onOpenChange","noop","onOpenChangeComplete","uid","$.props_id","createId","ref","level","restProps","$.rest_props","rest_excludes","titleState","mergedProps","mergeProps","$.get","div","$.attribute_effect","actionState","button","disabled","cancelState","forceMount","interactOutsideBehavior","onCloseAutoFocus","onEscapeKeydown","onOpenAutoFocus","onInteractOutside","preventScroll","preventOverflowTextSelection","trapFocus","restoreScrollDelay","contentState","FocusScope","$$anchor","node","$$arg0","focusScopeProps","EscapeLayer","$.spread_props","DismissibleLayer","TextSelectionLayer","ScrollLock","$$render","consequent","$0","node_5","$.sibling","consequent_2","overlayState","$.snippet","node_3","$.noop","consequent_1","descriptionState","AlertDialogPrimitive_Root","$$value","AlertDialogPrimitive_Portal","cn","AlertDialogPrimitive_Title","buttonVariants","AlertDialogPrimitive_Action","AlertDialogPrimitive_Cancel","$.child","$.reset","$.append","AlertDialogPrimitive_Overlay","AlertDialogPortal","AlertDialogOverlay","AlertDialogPrimitive_Content","AlertDialogPrimitive_Description"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
1
+ {"version":3,"file":"cvsGFvDx.js","sources":["../../../../../../../node_modules/.bun/svelte-toolbelt@0.10.6+ec0a64a97e9eb16b/node_modules/svelte-toolbelt/dist/utils/after-sleep.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/dialog.svelte.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-title.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-action.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/alert-dialog/components/alert-dialog-content.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-overlay.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/dialog/components/dialog-description.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-title.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-action.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-header.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-content.svelte","../../../../../../src/lib/components/ui/alert-dialog/alert-dialog-description.svelte"],"sourcesContent":["/**\n * A utility function that executes a callback after a specified number of milliseconds.\n */\nexport function afterSleep(ms, cb) {\n return setTimeout(cb, ms);\n}\n","import { attachRef, boxWith, onDestroyEffect, } from \"svelte-toolbelt\";\nimport { Context, watch } from \"runed\";\nimport { createBitsAttrs, boolToStr, getDataOpenClosed, boolToEmptyStrOrUndef, getDataTransitionAttrs, } from \"../../internal/attrs.js\";\nimport { kbd } from \"../../internal/kbd.js\";\nimport { PresenceManager } from \"../../internal/presence-manager.svelte.js\";\nconst dialogAttrs = createBitsAttrs({\n component: \"dialog\",\n parts: [\"content\", \"trigger\", \"overlay\", \"title\", \"description\", \"close\", \"cancel\", \"action\"],\n});\nconst DialogRootContext = new Context(\"Dialog.Root | AlertDialog.Root\");\nexport class DialogRootState {\n static create(opts) {\n const parent = DialogRootContext.getOr(null);\n return DialogRootContext.set(new DialogRootState(opts, parent));\n }\n opts;\n triggerNode = $state(null);\n contentNode = $state(null);\n overlayNode = $state(null);\n descriptionNode = $state(null);\n contentId = $state(undefined);\n titleId = $state(undefined);\n triggerId = $state(undefined);\n descriptionId = $state(undefined);\n cancelNode = $state(null);\n nestedOpenCount = $state(0);\n depth;\n parent;\n contentPresence;\n overlayPresence;\n constructor(opts, parent) {\n this.opts = opts;\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n this.handleOpen = this.handleOpen.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.contentPresence = new PresenceManager({\n ref: boxWith(() => this.contentNode),\n open: this.opts.open,\n enabled: true,\n onComplete: () => {\n this.opts.onOpenChangeComplete.current(this.opts.open.current);\n },\n });\n this.overlayPresence = new PresenceManager({\n ref: boxWith(() => this.overlayNode),\n open: this.opts.open,\n enabled: true,\n });\n watch(() => this.opts.open.current, (isOpen) => {\n if (!this.parent)\n return;\n if (isOpen) {\n this.parent.incrementNested();\n }\n else {\n this.parent.decrementNested();\n }\n }, { lazy: true });\n onDestroyEffect(() => {\n if (this.opts.open.current) {\n this.parent?.decrementNested();\n }\n });\n }\n handleOpen() {\n if (this.opts.open.current)\n return;\n this.opts.open.current = true;\n }\n handleClose() {\n if (!this.opts.open.current)\n return;\n this.opts.open.current = false;\n }\n getBitsAttr = (part) => {\n return dialogAttrs.getAttr(part, this.opts.variant.current);\n };\n incrementNested() {\n this.nestedOpenCount++;\n this.parent?.incrementNested();\n }\n decrementNested() {\n if (this.nestedOpenCount === 0)\n return;\n this.nestedOpenCount--;\n this.parent?.decrementNested();\n }\n sharedProps = $derived.by(() => ({\n \"data-state\": getDataOpenClosed(this.opts.open.current),\n }));\n}\nexport class DialogTriggerState {\n static create(opts) {\n return new DialogTriggerState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.triggerNode = v;\n this.root.triggerId = v?.id;\n });\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleOpen();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleOpen();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": boolToStr(this.root.opts.open.current),\n \"aria-controls\": this.root.contentId,\n [this.root.getBitsAttr(\"trigger\")]: \"\",\n onkeydown: this.onkeydown,\n onclick: this.onclick,\n disabled: this.opts.disabled.current ? true : undefined,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogCloseState {\n static create(opts) {\n return new DialogCloseState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(this.opts.variant.current)]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n disabled: this.opts.disabled.current ? true : undefined,\n tabindex: 0,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogActionState {\n static create(opts) {\n return new DialogActionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"action\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogTitleState {\n static create(opts) {\n return new DialogTitleState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.titleId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref);\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.titleId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"heading\",\n \"aria-level\": this.opts.level.current,\n [this.root.getBitsAttr(\"title\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogDescriptionState {\n static create(opts) {\n return new DialogDescriptionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.descriptionId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.descriptionNode = v;\n });\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.descriptionId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"description\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\nexport class DialogContentState {\n static create(opts) {\n return new DialogContentState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.contentNode = v;\n this.root.contentId = v?.id;\n });\n }\n snippetProps = $derived.by(() => ({ open: this.root.opts.open.current }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: this.root.opts.variant.current === \"alert-dialog\" ? \"alertdialog\" : \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-describedby\": this.root.descriptionId,\n \"aria-labelledby\": this.root.titleId,\n [this.root.getBitsAttr(\"content\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n outline: this.root.opts.variant.current === \"alert-dialog\" ? \"none\" : undefined,\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount,\n // CSS containment isolates style/layout calculations from the rest of the page,\n // improving performance when there's a large DOM behind the dialog.\n // Paint is omitted so tooltips/selects can render outside dialog bounds.\n contain: \"layout style\",\n },\n tabindex: this.root.opts.variant.current === \"alert-dialog\" ? -1 : undefined,\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.contentPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n get shouldRender() {\n return this.root.contentPresence.shouldRender;\n }\n}\nexport class DialogOverlayState {\n static create(opts) {\n return new DialogOverlayState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => (this.root.overlayNode = v));\n }\n snippetProps = $derived.by(() => ({ open: this.root.opts.open.current }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"overlay\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount,\n },\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.overlayPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n get shouldRender() {\n return this.root.overlayPresence.shouldRender;\n }\n}\nexport class AlertDialogCancelState {\n static create(opts) {\n return new AlertDialogCancelState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => (this.root.cancelNode = v));\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current)\n return;\n if (e.button > 0)\n return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current)\n return;\n if (e.key === kbd.SPACE || e.key === kbd.ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"cancel\")]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n tabindex: 0,\n disabled: this.opts.disabled.current,\n ...this.root.sharedProps,\n ...this.attachment,\n }));\n}\n","<script lang=\"ts\">\n\timport { boxWith } from \"svelte-toolbelt\";\n\timport type { AlertDialogRootProps } from \"../types.js\";\n\timport { noop } from \"../../../internal/noop.js\";\n\timport { DialogRootState } from \"../../dialog/dialog.svelte.js\";\n\n\tlet {\n\t\topen = $bindable(false),\n\t\tonOpenChange = noop,\n\t\tonOpenChangeComplete = noop,\n\t\tchildren,\n\t}: AlertDialogRootProps = $props();\n\n\tDialogRootState.create({\n\t\tvariant: boxWith(() => \"alert-dialog\"),\n\t\topen: boxWith(\n\t\t\t() => open,\n\t\t\t(v) => {\n\t\t\t\topen = v;\n\t\t\t\tonOpenChange(v);\n\t\t\t}\n\t\t),\n\t\tonOpenChangeComplete: boxWith(() => onOpenChangeComplete),\n\t});\n</script>\n\n{@render children?.()}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogTitleState } from \"../dialog.svelte.js\";\n\timport type { DialogTitleProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\tchild,\n\t\tchildren,\n\t\tlevel = 2,\n\t\t...restProps\n\t}: DialogTitleProps = $props();\n\n\tconst titleState = DialogTitleState.create({\n\t\tid: boxWith(() => id),\n\t\tlevel: boxWith(() => level),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, titleState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<div {...mergedProps}>\n\t\t{@render children?.()}\n\t</div>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogActionProps } from \"../types.js\";\n\timport { DialogActionState } from \"../../dialog/dialog.svelte.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tchildren,\n\t\tchild,\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: AlertDialogActionProps = $props();\n\n\tconst actionState = DialogActionState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, actionState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.()}\n\t</button>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogCancelProps } from \"../types.js\";\n\timport { AlertDialogCancelState } from \"../../dialog/dialog.svelte.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tref = $bindable(null),\n\t\tchildren,\n\t\tchild,\n\t\tdisabled = false,\n\t\t...restProps\n\t}: AlertDialogCancelProps = $props();\n\n\tconst cancelState = AlertDialogCancelState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t\tdisabled: boxWith(() => Boolean(disabled)),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, cancelState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.()}\n\t</button>\n{/if}\n","<script lang=\"ts\">\n\timport { afterSleep, boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport type { AlertDialogContentProps } from \"../types.js\";\n\timport DismissibleLayer from \"../../utilities/dismissible-layer/dismissible-layer.svelte\";\n\timport EscapeLayer from \"../../utilities/escape-layer/escape-layer.svelte\";\n\timport FocusScope from \"../../utilities/focus-scope/focus-scope.svelte\";\n\timport TextSelectionLayer from \"../../utilities/text-selection-layer/text-selection-layer.svelte\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\timport { noop } from \"../../../internal/noop.js\";\n\timport ScrollLock from \"../../utilities/scroll-lock/scroll-lock.svelte\";\n\timport { DialogContentState } from \"../../dialog/dialog.svelte.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tchildren,\n\t\tchild,\n\t\tref = $bindable(null),\n\t\tforceMount = false,\n\t\tinteractOutsideBehavior = \"ignore\",\n\t\tonCloseAutoFocus = noop,\n\t\tonEscapeKeydown = noop,\n\t\tonOpenAutoFocus = noop,\n\t\tonInteractOutside = noop,\n\t\tpreventScroll = true,\n\t\tpreventOverflowTextSelection = true,\n\t\ttrapFocus = true,\n\t\trestoreScrollDelay = null,\n\t\t...restProps\n\t}: AlertDialogContentProps = $props();\n\n\tconst contentState = DialogContentState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, contentState.props));\n</script>\n\n{#if contentState.shouldRender || forceMount}\n\t<FocusScope\n\t\tref={contentState.opts.ref}\n\t\tloop\n\t\t{trapFocus}\n\t\tenabled={contentState.root.opts.open.current}\n\t\t{onCloseAutoFocus}\n\t\tonOpenAutoFocus={(e) => {\n\t\t\tonOpenAutoFocus(e);\n\t\t\tif (e.defaultPrevented) return;\n\t\t\te.preventDefault();\n\t\t\t// capture the node so a replacement can't receive this node's delayed autofocus\n\t\t\tconst node = contentState.opts.ref.current;\n\t\t\tafterSleep(0, () => {\n\t\t\t\tif (node?.isConnected) node.focus();\n\t\t\t});\n\t\t}}\n\t>\n\t\t{#snippet focusScope({ props: focusScopeProps })}\n\t\t\t<EscapeLayer\n\t\t\t\t{...mergedProps}\n\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\tref={contentState.opts.ref}\n\t\t\t\tonEscapeKeydown={(e) => {\n\t\t\t\t\tonEscapeKeydown(e);\n\t\t\t\t\tif (e.defaultPrevented) return;\n\t\t\t\t\tcontentState.root.handleClose();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<DismissibleLayer\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t\tref={contentState.opts.ref}\n\t\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\t\t{interactOutsideBehavior}\n\t\t\t\t\tonInteractOutside={(e) => {\n\t\t\t\t\t\tonInteractOutside(e);\n\t\t\t\t\t\tif (e.defaultPrevented) return;\n\t\t\t\t\t\tcontentState.root.handleClose();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<TextSelectionLayer\n\t\t\t\t\t\t{...mergedProps}\n\t\t\t\t\t\t{preventOverflowTextSelection}\n\t\t\t\t\t\tref={contentState.opts.ref}\n\t\t\t\t\t\tenabled={contentState.root.opts.open.current}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if child}\n\t\t\t\t\t\t\t{#if contentState.root.opts.open.current}\n\t\t\t\t\t\t\t\t<ScrollLock {preventScroll} {restoreScrollDelay} />\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t{@render child({\n\t\t\t\t\t\t\t\tprops: mergeProps(mergedProps, focusScopeProps),\n\t\t\t\t\t\t\t\t...contentState.snippetProps,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<ScrollLock {preventScroll} />\n\t\t\t\t\t\t\t<div {...mergeProps(mergedProps, focusScopeProps)}>\n\t\t\t\t\t\t\t\t{@render children?.()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</TextSelectionLayer>\n\t\t\t\t</DismissibleLayer>\n\t\t\t</EscapeLayer>\n\t\t{/snippet}\n\t</FocusScope>\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogOverlayState } from \"../dialog.svelte.js\";\n\timport type { DialogOverlayProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tforceMount = false,\n\t\tchild,\n\t\tchildren,\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: DialogOverlayProps = $props();\n\n\tconst overlayState = DialogOverlayState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, overlayState.props));\n</script>\n\n{#if overlayState.shouldRender || forceMount}\n\t{#if child}\n\t\t{@render child({ props: mergeProps(mergedProps), ...overlayState.snippetProps })}\n\t{:else}\n\t\t<div {...mergeProps(mergedProps)}>\n\t\t\t{@render children?.(overlayState.snippetProps)}\n\t\t</div>\n\t{/if}\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { DialogDescriptionState } from \"../dialog.svelte.js\";\n\timport type { DialogDescriptionProps } from \"../types.js\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tid = createId(uid),\n\t\tchildren,\n\t\tchild,\n\t\tref = $bindable(null),\n\t\t...restProps\n\t}: DialogDescriptionProps = $props();\n\n\tconst descriptionState = DialogDescriptionState.create({\n\t\tid: boxWith(() => id),\n\t\tref: boxWith(\n\t\t\t() => ref,\n\t\t\t(v) => (ref = v)\n\t\t),\n\t});\n\n\tconst mergedProps = $derived(mergeProps(restProps, descriptionState.props));\n</script>\n\n{#if child}\n\t{@render child({ props: mergedProps })}\n{:else}\n\t<div {...mergedProps}>\n\t\t{@render children?.()}\n\t</div>\n{/if}\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\n\tlet { open = $bindable(false), ...restProps }: AlertDialogPrimitive.RootProps = $props();\n</script>\n\n<AlertDialogPrimitive.Root bind:open {...restProps} />\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\n\tlet { ...restProps }: AlertDialogPrimitive.PortalProps = $props();\n</script>\n\n<AlertDialogPrimitive.Portal {...restProps} />\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.TitleProps = $props();\n</script>\n\n<AlertDialogPrimitive.Title\n\tbind:ref\n\tdata-slot=\"alert-dialog-title\"\n\tclass={cn(\"text-lg font-semibold\", className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { buttonVariants } from \"$lib/components/ui/button/index.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.ActionProps = $props();\n</script>\n\n<AlertDialogPrimitive.Action\n\tbind:ref\n\tdata-slot=\"alert-dialog-action\"\n\tclass={cn(buttonVariants(), className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { buttonVariants } from \"$lib/components/ui/button/index.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.CancelProps = $props();\n</script>\n\n<AlertDialogPrimitive.Cancel\n\tbind:ref\n\tdata-slot=\"alert-dialog-cancel\"\n\tclass={cn(buttonVariants({ variant: \"outline\" }), className)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { cn, type WithElementRef } from \"$lib/utils.js\";\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tchildren,\n\t\t...restProps\n\t}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n\tbind:this={ref}\n\tdata-slot=\"alert-dialog-footer\"\n\tclass={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n\t{...restProps}\n>\n\t{@render children?.()}\n</div>\n","<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn, type WithElementRef } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tchildren,\n\t\t...restProps\n\t}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();\n</script>\n\n<div\n\tbind:this={ref}\n\tdata-slot=\"alert-dialog-header\"\n\tclass={cn(\"flex flex-col gap-2 text-center sm:text-start\", className)}\n\t{...restProps}\n>\n\t{@render children?.()}\n</div>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.OverlayProps = $props();\n</script>\n\n<AlertDialogPrimitive.Overlay\n\tbind:ref\n\tdata-slot=\"alert-dialog-overlay\"\n\tclass={cn(\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50\",\n\t\tclassName\n\t)}\n\t{...restProps}\n/>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport AlertDialogPortal from \"./alert-dialog-portal.svelte\";\n\timport AlertDialogOverlay from \"./alert-dialog-overlay.svelte\";\n\timport { cn, type WithoutChild, type WithoutChildrenOrChild } from \"$lib/utils.js\";\n\timport type { ComponentProps } from \"svelte\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\tportalProps,\n\t\t...restProps\n\t}: WithoutChild<AlertDialogPrimitive.ContentProps> & {\n\t\tportalProps?: WithoutChildrenOrChild<ComponentProps<typeof AlertDialogPortal>>;\n\t} = $props();\n</script>\n\n<AlertDialogPortal {...portalProps}>\n\t<AlertDialogOverlay />\n\t<AlertDialogPrimitive.Content\n\t\tbind:ref\n\t\tdata-slot=\"alert-dialog-content\"\n\t\tclass={cn(\n\t\t\t\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n\t\t\tclassName\n\t\t)}\n\t\t{...restProps}\n\t/>\n</AlertDialogPortal>\n","<script lang=\"ts\">\n\timport { AlertDialog as AlertDialogPrimitive } from \"bits-ui\";\n\timport { cn } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tclass: className,\n\t\t...restProps\n\t}: AlertDialogPrimitive.DescriptionProps = $props();\n</script>\n\n<AlertDialogPrimitive.Description\n\tbind:ref\n\tdata-slot=\"alert-dialog-description\"\n\tclass={cn(\"text-muted-foreground text-sm\", className)}\n\t{...restProps}\n/>\n"],"names":["afterSleep","ms","cb","dialogAttrs","createBitsAttrs","DialogRootContext","Context","DialogRootState","opts","parent","$.state","value","PresenceManager","boxWith","watch","isOpen","onDestroyEffect","part","#sharedProps","$.derived","getDataOpenClosed","DialogCloseState","root","attachRef","e","kbd.SPACE","kbd.ENTER","#props","DialogActionState","DialogTitleState","id","DialogDescriptionState","v","DialogContentState","#snippetProps","boolToEmptyStrOrUndef","getDataTransitionAttrs","DialogOverlayState","AlertDialogCancelState","open","$.prop","$$props","onOpenChange","noop","onOpenChangeComplete","uid","$.props_id","createId","ref","level","restProps","$.rest_props","rest_excludes","titleState","mergedProps","mergeProps","$.get","div","$.attribute_effect","actionState","button","disabled","cancelState","forceMount","interactOutsideBehavior","onCloseAutoFocus","onEscapeKeydown","onOpenAutoFocus","onInteractOutside","preventScroll","preventOverflowTextSelection","trapFocus","restoreScrollDelay","contentState","FocusScope","$$anchor","node","$$arg0","focusScopeProps","EscapeLayer","$.spread_props","DismissibleLayer","TextSelectionLayer","ScrollLock","$$render","consequent","$0","node_5","$.sibling","consequent_2","overlayState","$.snippet","node_3","$.noop","consequent_1","descriptionState","AlertDialogPrimitive_Root","$$value","AlertDialogPrimitive_Portal","cn","AlertDialogPrimitive_Title","buttonVariants","AlertDialogPrimitive_Action","AlertDialogPrimitive_Cancel","$.child","$.reset","$.append","AlertDialogPrimitive_Overlay","AlertDialogPortal","AlertDialogOverlay","AlertDialogPrimitive_Content","AlertDialogPrimitive_Description"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}