@agimon-ai/po-web-components 0.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +165 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  4. package/dist/_virtual/_rolldown/runtime.mjs +1 -0
  5. package/dist/index.cjs +1 -0
  6. package/dist/index.d.mts +69 -0
  7. package/dist/index.mjs +1 -0
  8. package/dist/mcpWidget.cjs +1 -0
  9. package/dist/mcpWidget.d.mts +3 -0
  10. package/dist/mcpWidget.mjs +1 -0
  11. package/dist/nativeTheme.cjs +1 -0
  12. package/dist/nativeTheme.d.mts +3 -0
  13. package/dist/nativeTheme.mjs +1 -0
  14. package/dist/node_modules/.pnpm/@modelcontextprotocol_server@2.2.0/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CfX6zgs1.d.mts +27 -0
  15. package/dist/node_modules/.pnpm/@modelcontextprotocol_server@2.2.0/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CfX6zgs1.d.mts.map +1 -0
  16. package/dist/node_modules/.pnpm/@modelcontextprotocol_server@2.2.0/node_modules/@modelcontextprotocol/server/dist/index.d.mts +2 -0
  17. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/coerce.d.mts +20 -0
  18. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/coerce.d.mts.map +1 -0
  19. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/compat.d.mts +50 -0
  20. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/compat.d.mts.map +1 -0
  21. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/deep-partial.d.mts +10 -0
  22. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/deep-partial.d.mts.map +1 -0
  23. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/errors.d.mts +33 -0
  24. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/errors.d.mts.map +1 -0
  25. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/external.d.mts +28 -0
  26. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/external.d.mts.map +1 -0
  27. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/from-json-schema.d.mts +14 -0
  28. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/from-json-schema.d.mts.map +1 -0
  29. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/in-out.d.mts +13 -0
  30. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/in-out.d.mts.map +1 -0
  31. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/iso.d.mts +13 -0
  32. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/iso.d.mts.map +1 -0
  33. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/parse.d.mts +54 -0
  34. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/parse.d.mts.map +1 -0
  35. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/schemas.d.mts +775 -0
  36. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/classic/schemas.d.mts.map +1 -0
  37. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/api.d.mts +331 -0
  38. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/api.d.mts.map +1 -0
  39. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/checks.d.mts +296 -0
  40. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/checks.d.mts.map +1 -0
  41. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/compile.d.mts +67 -0
  42. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/compile.d.mts.map +1 -0
  43. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/core.d.mts +85 -0
  44. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/core.d.mts.map +1 -0
  45. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/doc.d.mts +18 -0
  46. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/doc.d.mts.map +1 -0
  47. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/errors.d.mts +219 -0
  48. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/errors.d.mts.map +1 -0
  49. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/index.d.mts +24 -0
  50. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/index.d.mts.map +1 -0
  51. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-generator.d.mts +67 -0
  52. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-generator.d.mts.map +1 -0
  53. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-processors.d.mts +12 -0
  54. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema-processors.d.mts.map +1 -0
  55. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema.d.mts +95 -0
  56. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/json-schema.d.mts.map +1 -0
  57. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/memoizer.d.mts +18 -0
  58. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/memoizer.d.mts.map +1 -0
  59. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/parse.d.mts +54 -0
  60. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/parse.d.mts.map +1 -0
  61. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/regexes.d.mts +94 -0
  62. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/regexes.d.mts.map +1 -0
  63. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/registries.d.mts +35 -0
  64. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/registries.d.mts.map +1 -0
  65. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/schemas.d.mts +1201 -0
  66. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/schemas.d.mts.map +1 -0
  67. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/standard-schema.d.mts +120 -0
  68. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/standard-schema.d.mts.map +1 -0
  69. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/to-json-schema.d.mts +157 -0
  70. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/to-json-schema.d.mts.map +1 -0
  71. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/util.d.mts +237 -0
  72. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/util.d.mts.map +1 -0
  73. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/versions.d.mts +8 -0
  74. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/core/versions.d.mts.map +1 -0
  75. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/index.d.mts +29 -0
  76. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/index.d.mts.map +1 -0
  77. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ar.d.mts +8 -0
  78. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ar.d.mts.map +1 -0
  79. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/az.d.mts +8 -0
  80. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/az.d.mts.map +1 -0
  81. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/be.d.mts +8 -0
  82. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/be.d.mts.map +1 -0
  83. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bg.d.mts +8 -0
  84. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bg.d.mts.map +1 -0
  85. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bn.d.mts +8 -0
  86. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/bn.d.mts.map +1 -0
  87. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ca.d.mts +8 -0
  88. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ca.d.mts.map +1 -0
  89. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ckb.d.mts +8 -0
  90. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ckb.d.mts.map +1 -0
  91. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/cs.d.mts +8 -0
  92. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/cs.d.mts.map +1 -0
  93. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/da.d.mts +8 -0
  94. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/da.d.mts.map +1 -0
  95. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/de.d.mts +8 -0
  96. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/de.d.mts.map +1 -0
  97. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/el.d.mts +8 -0
  98. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/el.d.mts.map +1 -0
  99. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/en.d.mts +8 -0
  100. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/en.d.mts.map +1 -0
  101. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/eo.d.mts +8 -0
  102. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/eo.d.mts.map +1 -0
  103. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/es.d.mts +8 -0
  104. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/es.d.mts.map +1 -0
  105. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fa.d.mts +8 -0
  106. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fa.d.mts.map +1 -0
  107. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fi.d.mts +8 -0
  108. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fi.d.mts.map +1 -0
  109. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr-CA.d.mts +8 -0
  110. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr-CA.d.mts.map +1 -0
  111. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr.d.mts +8 -0
  112. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/fr.d.mts.map +1 -0
  113. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/gu.d.mts +8 -0
  114. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/gu.d.mts.map +1 -0
  115. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/he.d.mts +8 -0
  116. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/he.d.mts.map +1 -0
  117. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hi.d.mts +8 -0
  118. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hi.d.mts.map +1 -0
  119. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hr.d.mts +8 -0
  120. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hr.d.mts.map +1 -0
  121. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hu.d.mts +8 -0
  122. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hu.d.mts.map +1 -0
  123. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hy.d.mts +8 -0
  124. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/hy.d.mts.map +1 -0
  125. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/id.d.mts +8 -0
  126. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/id.d.mts.map +1 -0
  127. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/index.d.mts +69 -0
  128. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/index.d.mts.map +1 -0
  129. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/is.d.mts +8 -0
  130. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/is.d.mts.map +1 -0
  131. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/it.d.mts +8 -0
  132. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/it.d.mts.map +1 -0
  133. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ja.d.mts +8 -0
  134. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ja.d.mts.map +1 -0
  135. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ka.d.mts +8 -0
  136. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ka.d.mts.map +1 -0
  137. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kh.d.mts +8 -0
  138. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kh.d.mts.map +1 -0
  139. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/km.d.mts +8 -0
  140. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/km.d.mts.map +1 -0
  141. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kn.d.mts +8 -0
  142. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/kn.d.mts.map +1 -0
  143. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ko.d.mts +8 -0
  144. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ko.d.mts.map +1 -0
  145. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/lt.d.mts +8 -0
  146. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/lt.d.mts.map +1 -0
  147. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/mk.d.mts +8 -0
  148. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/mk.d.mts.map +1 -0
  149. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ms.d.mts +8 -0
  150. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ms.d.mts.map +1 -0
  151. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ne.d.mts +8 -0
  152. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ne.d.mts.map +1 -0
  153. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nl.d.mts +8 -0
  154. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nl.d.mts.map +1 -0
  155. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nn.d.mts +8 -0
  156. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/nn.d.mts.map +1 -0
  157. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/no.d.mts +8 -0
  158. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/no.d.mts.map +1 -0
  159. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ota.d.mts +8 -0
  160. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ota.d.mts.map +1 -0
  161. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pl.d.mts +8 -0
  162. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pl.d.mts.map +1 -0
  163. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ps.d.mts +8 -0
  164. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ps.d.mts.map +1 -0
  165. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt-BR.d.mts +8 -0
  166. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt-BR.d.mts.map +1 -0
  167. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt.d.mts +8 -0
  168. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/pt.d.mts.map +1 -0
  169. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ro.d.mts +8 -0
  170. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ro.d.mts.map +1 -0
  171. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ru.d.mts +8 -0
  172. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ru.d.mts.map +1 -0
  173. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sk.d.mts +8 -0
  174. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sk.d.mts.map +1 -0
  175. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sl.d.mts +8 -0
  176. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sl.d.mts.map +1 -0
  177. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sv.d.mts +8 -0
  178. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/sv.d.mts.map +1 -0
  179. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ta.d.mts +8 -0
  180. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ta.d.mts.map +1 -0
  181. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tg.d.mts +8 -0
  182. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tg.d.mts.map +1 -0
  183. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/th.d.mts +8 -0
  184. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/th.d.mts.map +1 -0
  185. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tk.d.mts +8 -0
  186. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tk.d.mts.map +1 -0
  187. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tr.d.mts +8 -0
  188. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/tr.d.mts.map +1 -0
  189. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ua.d.mts +8 -0
  190. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ua.d.mts.map +1 -0
  191. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uk.d.mts +8 -0
  192. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uk.d.mts.map +1 -0
  193. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ur.d.mts +8 -0
  194. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/ur.d.mts.map +1 -0
  195. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uz.d.mts +8 -0
  196. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/uz.d.mts.map +1 -0
  197. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/vi.d.mts +8 -0
  198. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/vi.d.mts.map +1 -0
  199. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/yo.d.mts +8 -0
  200. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/yo.d.mts.map +1 -0
  201. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-CN.d.mts +8 -0
  202. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-CN.d.mts.map +1 -0
  203. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-TW.d.mts +8 -0
  204. package/dist/node_modules/.pnpm/zod@4.6.5/node_modules/zod/v4/locales/zh-TW.d.mts.map +1 -0
  205. package/dist/packages/core/po-core/dist/mcpWidget.d.mts +2 -0
  206. package/dist/packages/core/po-core/dist/src/extensions/webPlugin.d.mts +2 -0
  207. package/dist/packages/core/po-core/dist/src/web/models/globalStore.d.mts +1 -0
  208. package/dist/packages/core/po-core/dist/src/web/models/sessionStore.d.mts +1 -0
  209. package/dist/packages/core/po-core/dist/src/web/models/workspaceStore.d.mts +1 -0
  210. package/dist/packages/core/po-core/dist/src/web/schemas/template.d.mts +2 -0
  211. package/dist/packages/core/po-core/dist/src/web/services/mcpWidget.d.mts +1 -0
  212. package/dist/packages/core/po-core/dist/src/web/types/extensionFile.d.mts +3 -0
  213. package/dist/packages/core/po-core/dist/src/web/types/mcpWidget.d.mts +17 -0
  214. package/dist/packages/core/po-core/dist/src/web/types/mcpWidget.d.mts.map +1 -0
  215. package/dist/packages/core/po-core/dist/src/web/types/nativeTemplate.d.mts +2 -0
  216. package/dist/packages/core/po-core/dist/src/web/types/template.d.mts +1 -0
  217. package/dist/packages/core/po-core/dist/src/web/types/webPlugin.d.mts +3 -0
  218. package/dist/packages/core/po-core/dist/web.d.mts +12 -0
  219. package/dist/packages/core/po-web-components/src/components/Accordion.d.mts +11 -0
  220. package/dist/packages/core/po-web-components/src/components/Accordion.d.mts.map +1 -0
  221. package/dist/packages/core/po-web-components/src/components/Accordion.mjs +2 -0
  222. package/dist/packages/core/po-web-components/src/components/Accordion.mjs.map +1 -0
  223. package/dist/packages/core/po-web-components/src/components/AnsiText.d.mts +16 -0
  224. package/dist/packages/core/po-web-components/src/components/AnsiText.d.mts.map +1 -0
  225. package/dist/packages/core/po-web-components/src/components/AnsiText.mjs +4 -0
  226. package/dist/packages/core/po-web-components/src/components/AnsiText.mjs.map +1 -0
  227. package/dist/packages/core/po-web-components/src/components/Avatar.d.mts +10 -0
  228. package/dist/packages/core/po-web-components/src/components/Avatar.d.mts.map +1 -0
  229. package/dist/packages/core/po-web-components/src/components/Avatar.mjs +2 -0
  230. package/dist/packages/core/po-web-components/src/components/Avatar.mjs.map +1 -0
  231. package/dist/packages/core/po-web-components/src/components/Badge.d.mts +17 -0
  232. package/dist/packages/core/po-web-components/src/components/Badge.d.mts.map +1 -0
  233. package/dist/packages/core/po-web-components/src/components/Badge.mjs +2 -0
  234. package/dist/packages/core/po-web-components/src/components/Badge.mjs.map +1 -0
  235. package/dist/packages/core/po-web-components/src/components/Breadcrumb.d.mts +36 -0
  236. package/dist/packages/core/po-web-components/src/components/Breadcrumb.d.mts.map +1 -0
  237. package/dist/packages/core/po-web-components/src/components/Breadcrumb.mjs +2 -0
  238. package/dist/packages/core/po-web-components/src/components/Breadcrumb.mjs.map +1 -0
  239. package/dist/packages/core/po-web-components/src/components/Button.d.mts +24 -0
  240. package/dist/packages/core/po-web-components/src/components/Button.d.mts.map +1 -0
  241. package/dist/packages/core/po-web-components/src/components/Button.mjs +2 -0
  242. package/dist/packages/core/po-web-components/src/components/Button.mjs.map +1 -0
  243. package/dist/packages/core/po-web-components/src/components/Checkbox.d.mts +8 -0
  244. package/dist/packages/core/po-web-components/src/components/Checkbox.d.mts.map +1 -0
  245. package/dist/packages/core/po-web-components/src/components/Checkbox.mjs +2 -0
  246. package/dist/packages/core/po-web-components/src/components/Checkbox.mjs.map +1 -0
  247. package/dist/packages/core/po-web-components/src/components/CodeBlock.d.mts +23 -0
  248. package/dist/packages/core/po-web-components/src/components/CodeBlock.d.mts.map +1 -0
  249. package/dist/packages/core/po-web-components/src/components/CodeBlock.mjs +2 -0
  250. package/dist/packages/core/po-web-components/src/components/CodeBlock.mjs.map +1 -0
  251. package/dist/packages/core/po-web-components/src/components/CodeEditor.d.mts +5 -0
  252. package/dist/packages/core/po-web-components/src/components/CodeEditor.d.mts.map +1 -0
  253. package/dist/packages/core/po-web-components/src/components/CodeEditor.mjs +2 -0
  254. package/dist/packages/core/po-web-components/src/components/CodeEditor.mjs.map +1 -0
  255. package/dist/packages/core/po-web-components/src/components/CodeEditorView.mjs +2 -0
  256. package/dist/packages/core/po-web-components/src/components/CodeEditorView.mjs.map +1 -0
  257. package/dist/packages/core/po-web-components/src/components/Collapsible.d.mts +10 -0
  258. package/dist/packages/core/po-web-components/src/components/Collapsible.d.mts.map +1 -0
  259. package/dist/packages/core/po-web-components/src/components/Collapsible.mjs +2 -0
  260. package/dist/packages/core/po-web-components/src/components/Collapsible.mjs.map +1 -0
  261. package/dist/packages/core/po-web-components/src/components/Command.d.mts +41 -0
  262. package/dist/packages/core/po-web-components/src/components/Command.d.mts.map +1 -0
  263. package/dist/packages/core/po-web-components/src/components/Command.mjs +2 -0
  264. package/dist/packages/core/po-web-components/src/components/Command.mjs.map +1 -0
  265. package/dist/packages/core/po-web-components/src/components/CopyButton.mjs +2 -0
  266. package/dist/packages/core/po-web-components/src/components/CopyButton.mjs.map +1 -0
  267. package/dist/packages/core/po-web-components/src/components/Dialog.d.mts +39 -0
  268. package/dist/packages/core/po-web-components/src/components/Dialog.d.mts.map +1 -0
  269. package/dist/packages/core/po-web-components/src/components/Dialog.mjs +2 -0
  270. package/dist/packages/core/po-web-components/src/components/Dialog.mjs.map +1 -0
  271. package/dist/packages/core/po-web-components/src/components/DiffView.d.mts +16 -0
  272. package/dist/packages/core/po-web-components/src/components/DiffView.d.mts.map +1 -0
  273. package/dist/packages/core/po-web-components/src/components/DiffView.mjs +2 -0
  274. package/dist/packages/core/po-web-components/src/components/DiffView.mjs.map +1 -0
  275. package/dist/packages/core/po-web-components/src/components/Dot.d.mts +15 -0
  276. package/dist/packages/core/po-web-components/src/components/Dot.d.mts.map +1 -0
  277. package/dist/packages/core/po-web-components/src/components/Dot.mjs +2 -0
  278. package/dist/packages/core/po-web-components/src/components/Dot.mjs.map +1 -0
  279. package/dist/packages/core/po-web-components/src/components/Drawer.d.mts +17 -0
  280. package/dist/packages/core/po-web-components/src/components/Drawer.d.mts.map +1 -0
  281. package/dist/packages/core/po-web-components/src/components/Drawer.mjs +2 -0
  282. package/dist/packages/core/po-web-components/src/components/Drawer.mjs.map +1 -0
  283. package/dist/packages/core/po-web-components/src/components/DropdownMenu.d.mts +34 -0
  284. package/dist/packages/core/po-web-components/src/components/DropdownMenu.d.mts.map +1 -0
  285. package/dist/packages/core/po-web-components/src/components/DropdownMenu.mjs +2 -0
  286. package/dist/packages/core/po-web-components/src/components/DropdownMenu.mjs.map +1 -0
  287. package/dist/packages/core/po-web-components/src/components/EmptyState.d.mts +17 -0
  288. package/dist/packages/core/po-web-components/src/components/EmptyState.d.mts.map +1 -0
  289. package/dist/packages/core/po-web-components/src/components/EmptyState.mjs +2 -0
  290. package/dist/packages/core/po-web-components/src/components/EmptyState.mjs.map +1 -0
  291. package/dist/packages/core/po-web-components/src/components/HashlineLines.d.mts +23 -0
  292. package/dist/packages/core/po-web-components/src/components/HashlineLines.d.mts.map +1 -0
  293. package/dist/packages/core/po-web-components/src/components/HashlineLines.mjs +2 -0
  294. package/dist/packages/core/po-web-components/src/components/HashlineLines.mjs.map +1 -0
  295. package/dist/packages/core/po-web-components/src/components/Input.d.mts +19 -0
  296. package/dist/packages/core/po-web-components/src/components/Input.d.mts.map +1 -0
  297. package/dist/packages/core/po-web-components/src/components/Input.mjs +2 -0
  298. package/dist/packages/core/po-web-components/src/components/Input.mjs.map +1 -0
  299. package/dist/packages/core/po-web-components/src/components/Kbd.d.mts +6 -0
  300. package/dist/packages/core/po-web-components/src/components/Kbd.d.mts.map +1 -0
  301. package/dist/packages/core/po-web-components/src/components/Kbd.mjs +2 -0
  302. package/dist/packages/core/po-web-components/src/components/Kbd.mjs.map +1 -0
  303. package/dist/packages/core/po-web-components/src/components/Label.d.mts +8 -0
  304. package/dist/packages/core/po-web-components/src/components/Label.d.mts.map +1 -0
  305. package/dist/packages/core/po-web-components/src/components/Label.mjs +2 -0
  306. package/dist/packages/core/po-web-components/src/components/Label.mjs.map +1 -0
  307. package/dist/packages/core/po-web-components/src/components/Markdown.d.mts +22 -0
  308. package/dist/packages/core/po-web-components/src/components/Markdown.d.mts.map +1 -0
  309. package/dist/packages/core/po-web-components/src/components/Markdown.mjs +3 -0
  310. package/dist/packages/core/po-web-components/src/components/Markdown.mjs.map +1 -0
  311. package/dist/packages/core/po-web-components/src/components/McpApp.d.mts +18 -0
  312. package/dist/packages/core/po-web-components/src/components/McpApp.d.mts.map +1 -0
  313. package/dist/packages/core/po-web-components/src/components/McpApp.mjs +2 -0
  314. package/dist/packages/core/po-web-components/src/components/McpApp.mjs.map +1 -0
  315. package/dist/packages/core/po-web-components/src/components/McpToolWidget.d.mts +15 -0
  316. package/dist/packages/core/po-web-components/src/components/McpToolWidget.d.mts.map +1 -0
  317. package/dist/packages/core/po-web-components/src/components/McpToolWidget.mjs +3 -0
  318. package/dist/packages/core/po-web-components/src/components/McpToolWidget.mjs.map +1 -0
  319. package/dist/packages/core/po-web-components/src/components/MediaPreview.d.mts +63 -0
  320. package/dist/packages/core/po-web-components/src/components/MediaPreview.d.mts.map +1 -0
  321. package/dist/packages/core/po-web-components/src/components/MediaPreview.mjs +2 -0
  322. package/dist/packages/core/po-web-components/src/components/MediaPreview.mjs.map +1 -0
  323. package/dist/packages/core/po-web-components/src/components/MermaidDiagram.mjs +2 -0
  324. package/dist/packages/core/po-web-components/src/components/MermaidDiagram.mjs.map +1 -0
  325. package/dist/packages/core/po-web-components/src/components/MessageItem.d.mts +108 -0
  326. package/dist/packages/core/po-web-components/src/components/MessageItem.d.mts.map +1 -0
  327. package/dist/packages/core/po-web-components/src/components/MessageItem.mjs +2 -0
  328. package/dist/packages/core/po-web-components/src/components/MessageItem.mjs.map +1 -0
  329. package/dist/packages/core/po-web-components/src/components/MessageLines.d.mts +23 -0
  330. package/dist/packages/core/po-web-components/src/components/MessageLines.d.mts.map +1 -0
  331. package/dist/packages/core/po-web-components/src/components/MessageLines.mjs +2 -0
  332. package/dist/packages/core/po-web-components/src/components/MessageLines.mjs.map +1 -0
  333. package/dist/packages/core/po-web-components/src/components/OptionList.d.mts +49 -0
  334. package/dist/packages/core/po-web-components/src/components/OptionList.d.mts.map +1 -0
  335. package/dist/packages/core/po-web-components/src/components/OptionList.mjs +2 -0
  336. package/dist/packages/core/po-web-components/src/components/OptionList.mjs.map +1 -0
  337. package/dist/packages/core/po-web-components/src/components/Panel.d.mts +14 -0
  338. package/dist/packages/core/po-web-components/src/components/Panel.d.mts.map +1 -0
  339. package/dist/packages/core/po-web-components/src/components/Panel.mjs +2 -0
  340. package/dist/packages/core/po-web-components/src/components/Panel.mjs.map +1 -0
  341. package/dist/packages/core/po-web-components/src/components/PdfPreview.d.mts +52 -0
  342. package/dist/packages/core/po-web-components/src/components/PdfPreview.d.mts.map +1 -0
  343. package/dist/packages/core/po-web-components/src/components/PdfPreview.mjs +2 -0
  344. package/dist/packages/core/po-web-components/src/components/PdfPreview.mjs.map +1 -0
  345. package/dist/packages/core/po-web-components/src/components/Picker.d.mts +52 -0
  346. package/dist/packages/core/po-web-components/src/components/Picker.d.mts.map +1 -0
  347. package/dist/packages/core/po-web-components/src/components/Picker.mjs +2 -0
  348. package/dist/packages/core/po-web-components/src/components/Picker.mjs.map +1 -0
  349. package/dist/packages/core/po-web-components/src/components/Popover.d.mts +19 -0
  350. package/dist/packages/core/po-web-components/src/components/Popover.d.mts.map +1 -0
  351. package/dist/packages/core/po-web-components/src/components/Popover.mjs +2 -0
  352. package/dist/packages/core/po-web-components/src/components/Popover.mjs.map +1 -0
  353. package/dist/packages/core/po-web-components/src/components/Progress.d.mts +8 -0
  354. package/dist/packages/core/po-web-components/src/components/Progress.d.mts.map +1 -0
  355. package/dist/packages/core/po-web-components/src/components/Progress.mjs +2 -0
  356. package/dist/packages/core/po-web-components/src/components/Progress.mjs.map +1 -0
  357. package/dist/packages/core/po-web-components/src/components/RadioGroup.d.mts +15 -0
  358. package/dist/packages/core/po-web-components/src/components/RadioGroup.d.mts.map +1 -0
  359. package/dist/packages/core/po-web-components/src/components/RadioGroup.mjs +2 -0
  360. package/dist/packages/core/po-web-components/src/components/RadioGroup.mjs.map +1 -0
  361. package/dist/packages/core/po-web-components/src/components/ReviewCommentDraft.d.mts +24 -0
  362. package/dist/packages/core/po-web-components/src/components/ReviewCommentDraft.d.mts.map +1 -0
  363. package/dist/packages/core/po-web-components/src/components/ReviewCommentDraft.mjs +2 -0
  364. package/dist/packages/core/po-web-components/src/components/ReviewCommentDraft.mjs.map +1 -0
  365. package/dist/packages/core/po-web-components/src/components/ScrollArea.d.mts +13 -0
  366. package/dist/packages/core/po-web-components/src/components/ScrollArea.d.mts.map +1 -0
  367. package/dist/packages/core/po-web-components/src/components/ScrollArea.mjs +2 -0
  368. package/dist/packages/core/po-web-components/src/components/ScrollArea.mjs.map +1 -0
  369. package/dist/packages/core/po-web-components/src/components/SectionLabel.d.mts +6 -0
  370. package/dist/packages/core/po-web-components/src/components/SectionLabel.d.mts.map +1 -0
  371. package/dist/packages/core/po-web-components/src/components/SectionLabel.mjs +2 -0
  372. package/dist/packages/core/po-web-components/src/components/SectionLabel.mjs.map +1 -0
  373. package/dist/packages/core/po-web-components/src/components/Select.d.mts +19 -0
  374. package/dist/packages/core/po-web-components/src/components/Select.d.mts.map +1 -0
  375. package/dist/packages/core/po-web-components/src/components/Select.mjs +2 -0
  376. package/dist/packages/core/po-web-components/src/components/Select.mjs.map +1 -0
  377. package/dist/packages/core/po-web-components/src/components/Separator.d.mts +13 -0
  378. package/dist/packages/core/po-web-components/src/components/Separator.d.mts.map +1 -0
  379. package/dist/packages/core/po-web-components/src/components/Separator.mjs +2 -0
  380. package/dist/packages/core/po-web-components/src/components/Separator.mjs.map +1 -0
  381. package/dist/packages/core/po-web-components/src/components/Settings.d.mts +56 -0
  382. package/dist/packages/core/po-web-components/src/components/Settings.d.mts.map +1 -0
  383. package/dist/packages/core/po-web-components/src/components/Settings.mjs +2 -0
  384. package/dist/packages/core/po-web-components/src/components/Settings.mjs.map +1 -0
  385. package/dist/packages/core/po-web-components/src/components/Sheet.d.mts +35 -0
  386. package/dist/packages/core/po-web-components/src/components/Sheet.d.mts.map +1 -0
  387. package/dist/packages/core/po-web-components/src/components/Sheet.mjs +2 -0
  388. package/dist/packages/core/po-web-components/src/components/Sheet.mjs.map +1 -0
  389. package/dist/packages/core/po-web-components/src/components/Skeleton.d.mts +10 -0
  390. package/dist/packages/core/po-web-components/src/components/Skeleton.d.mts.map +1 -0
  391. package/dist/packages/core/po-web-components/src/components/Skeleton.mjs +2 -0
  392. package/dist/packages/core/po-web-components/src/components/Skeleton.mjs.map +1 -0
  393. package/dist/packages/core/po-web-components/src/components/Spinner.d.mts +14 -0
  394. package/dist/packages/core/po-web-components/src/components/Spinner.d.mts.map +1 -0
  395. package/dist/packages/core/po-web-components/src/components/Spinner.mjs +2 -0
  396. package/dist/packages/core/po-web-components/src/components/Spinner.mjs.map +1 -0
  397. package/dist/packages/core/po-web-components/src/components/StatusBadge.d.mts +23 -0
  398. package/dist/packages/core/po-web-components/src/components/StatusBadge.d.mts.map +1 -0
  399. package/dist/packages/core/po-web-components/src/components/StatusBadge.mjs +2 -0
  400. package/dist/packages/core/po-web-components/src/components/StatusBadge.mjs.map +1 -0
  401. package/dist/packages/core/po-web-components/src/components/StreamCursor.d.mts +6 -0
  402. package/dist/packages/core/po-web-components/src/components/StreamCursor.d.mts.map +1 -0
  403. package/dist/packages/core/po-web-components/src/components/StreamCursor.mjs +2 -0
  404. package/dist/packages/core/po-web-components/src/components/StreamCursor.mjs.map +1 -0
  405. package/dist/packages/core/po-web-components/src/components/Switch.d.mts +8 -0
  406. package/dist/packages/core/po-web-components/src/components/Switch.d.mts.map +1 -0
  407. package/dist/packages/core/po-web-components/src/components/Switch.mjs +2 -0
  408. package/dist/packages/core/po-web-components/src/components/Switch.mjs.map +1 -0
  409. package/dist/packages/core/po-web-components/src/components/SyntaxText.d.mts +50 -0
  410. package/dist/packages/core/po-web-components/src/components/SyntaxText.d.mts.map +1 -0
  411. package/dist/packages/core/po-web-components/src/components/SyntaxText.mjs +4 -0
  412. package/dist/packages/core/po-web-components/src/components/SyntaxText.mjs.map +1 -0
  413. package/dist/packages/core/po-web-components/src/components/Tabs.d.mts +36 -0
  414. package/dist/packages/core/po-web-components/src/components/Tabs.d.mts.map +1 -0
  415. package/dist/packages/core/po-web-components/src/components/Tabs.mjs +2 -0
  416. package/dist/packages/core/po-web-components/src/components/Tabs.mjs.map +1 -0
  417. package/dist/packages/core/po-web-components/src/components/TerminalView.d.mts +31 -0
  418. package/dist/packages/core/po-web-components/src/components/TerminalView.d.mts.map +1 -0
  419. package/dist/packages/core/po-web-components/src/components/TerminalView.mjs +2 -0
  420. package/dist/packages/core/po-web-components/src/components/TerminalView.mjs.map +1 -0
  421. package/dist/packages/core/po-web-components/src/components/Textarea.d.mts +9 -0
  422. package/dist/packages/core/po-web-components/src/components/Textarea.d.mts.map +1 -0
  423. package/dist/packages/core/po-web-components/src/components/Textarea.mjs +2 -0
  424. package/dist/packages/core/po-web-components/src/components/Textarea.mjs.map +1 -0
  425. package/dist/packages/core/po-web-components/src/components/Toast.d.mts +24 -0
  426. package/dist/packages/core/po-web-components/src/components/Toast.d.mts.map +1 -0
  427. package/dist/packages/core/po-web-components/src/components/Toast.mjs +2 -0
  428. package/dist/packages/core/po-web-components/src/components/Toast.mjs.map +1 -0
  429. package/dist/packages/core/po-web-components/src/components/ToolPathLink.d.mts +22 -0
  430. package/dist/packages/core/po-web-components/src/components/ToolPathLink.d.mts.map +1 -0
  431. package/dist/packages/core/po-web-components/src/components/ToolPathLink.mjs +2 -0
  432. package/dist/packages/core/po-web-components/src/components/ToolPathLink.mjs.map +1 -0
  433. package/dist/packages/core/po-web-components/src/components/Tooltip.d.mts +11 -0
  434. package/dist/packages/core/po-web-components/src/components/Tooltip.d.mts.map +1 -0
  435. package/dist/packages/core/po-web-components/src/components/Tooltip.mjs +2 -0
  436. package/dist/packages/core/po-web-components/src/components/Tooltip.mjs.map +1 -0
  437. package/dist/packages/core/po-web-components/src/icons/icons.d.mts +2 -0
  438. package/dist/packages/core/po-web-components/src/icons/icons.mjs +1 -0
  439. package/dist/packages/core/po-web-components/src/lib/ansiSpans.d.mts +42 -0
  440. package/dist/packages/core/po-web-components/src/lib/ansiSpans.d.mts.map +1 -0
  441. package/dist/packages/core/po-web-components/src/lib/ansiSpans.mjs +2 -0
  442. package/dist/packages/core/po-web-components/src/lib/ansiSpans.mjs.map +1 -0
  443. package/dist/packages/core/po-web-components/src/lib/cn.d.mts +6 -0
  444. package/dist/packages/core/po-web-components/src/lib/cn.d.mts.map +1 -0
  445. package/dist/packages/core/po-web-components/src/lib/cn.mjs +2 -0
  446. package/dist/packages/core/po-web-components/src/lib/cn.mjs.map +1 -0
  447. package/dist/packages/core/po-web-components/src/lib/collapse.d.mts +14 -0
  448. package/dist/packages/core/po-web-components/src/lib/collapse.d.mts.map +1 -0
  449. package/dist/packages/core/po-web-components/src/lib/collapse.mjs +2 -0
  450. package/dist/packages/core/po-web-components/src/lib/collapse.mjs.map +1 -0
  451. package/dist/packages/core/po-web-components/src/lib/editorController.mjs +2 -0
  452. package/dist/packages/core/po-web-components/src/lib/editorController.mjs.map +1 -0
  453. package/dist/packages/core/po-web-components/src/lib/editorLanguage.d.mts +21 -0
  454. package/dist/packages/core/po-web-components/src/lib/editorLanguage.d.mts.map +1 -0
  455. package/dist/packages/core/po-web-components/src/lib/editorLanguage.mjs +2 -0
  456. package/dist/packages/core/po-web-components/src/lib/editorLanguage.mjs.map +1 -0
  457. package/dist/packages/core/po-web-components/src/lib/editorTheme.d.mts +76 -0
  458. package/dist/packages/core/po-web-components/src/lib/editorTheme.d.mts.map +1 -0
  459. package/dist/packages/core/po-web-components/src/lib/editorTheme.mjs +2 -0
  460. package/dist/packages/core/po-web-components/src/lib/editorTheme.mjs.map +1 -0
  461. package/dist/packages/core/po-web-components/src/lib/fenceGrammar.mjs +2 -0
  462. package/dist/packages/core/po-web-components/src/lib/fenceGrammar.mjs.map +1 -0
  463. package/dist/packages/core/po-web-components/src/lib/hashlineHighlight.d.mts +30 -0
  464. package/dist/packages/core/po-web-components/src/lib/hashlineHighlight.d.mts.map +1 -0
  465. package/dist/packages/core/po-web-components/src/lib/hashlineHighlight.mjs +3 -0
  466. package/dist/packages/core/po-web-components/src/lib/hashlineHighlight.mjs.map +1 -0
  467. package/dist/packages/core/po-web-components/src/lib/hashlineView.d.mts +60 -0
  468. package/dist/packages/core/po-web-components/src/lib/hashlineView.d.mts.map +1 -0
  469. package/dist/packages/core/po-web-components/src/lib/hashlineView.mjs +6 -0
  470. package/dist/packages/core/po-web-components/src/lib/hashlineView.mjs.map +1 -0
  471. package/dist/packages/core/po-web-components/src/lib/media.d.mts +11 -0
  472. package/dist/packages/core/po-web-components/src/lib/media.d.mts.map +1 -0
  473. package/dist/packages/core/po-web-components/src/lib/media.mjs +2 -0
  474. package/dist/packages/core/po-web-components/src/lib/media.mjs.map +1 -0
  475. package/dist/packages/core/po-web-components/src/lib/mediaPlayback.mjs +2 -0
  476. package/dist/packages/core/po-web-components/src/lib/mediaPlayback.mjs.map +1 -0
  477. package/dist/packages/core/po-web-components/src/lib/mermaidDiagram.mjs +2 -0
  478. package/dist/packages/core/po-web-components/src/lib/mermaidDiagram.mjs.map +1 -0
  479. package/dist/packages/core/po-web-components/src/lib/optionList.d.mts +21 -0
  480. package/dist/packages/core/po-web-components/src/lib/optionList.d.mts.map +1 -0
  481. package/dist/packages/core/po-web-components/src/lib/optionList.mjs +2 -0
  482. package/dist/packages/core/po-web-components/src/lib/optionList.mjs.map +1 -0
  483. package/dist/packages/core/po-web-components/src/lib/pathGroups.d.mts +23 -0
  484. package/dist/packages/core/po-web-components/src/lib/pathGroups.d.mts.map +1 -0
  485. package/dist/packages/core/po-web-components/src/lib/pathGroups.mjs +2 -0
  486. package/dist/packages/core/po-web-components/src/lib/pathGroups.mjs.map +1 -0
  487. package/dist/packages/core/po-web-components/src/lib/picker.d.mts +10 -0
  488. package/dist/packages/core/po-web-components/src/lib/picker.d.mts.map +1 -0
  489. package/dist/packages/core/po-web-components/src/lib/picker.mjs +2 -0
  490. package/dist/packages/core/po-web-components/src/lib/picker.mjs.map +1 -0
  491. package/dist/packages/core/po-web-components/src/lib/review.d.mts +40 -0
  492. package/dist/packages/core/po-web-components/src/lib/review.d.mts.map +1 -0
  493. package/dist/packages/core/po-web-components/src/lib/review.mjs +8 -0
  494. package/dist/packages/core/po-web-components/src/lib/review.mjs.map +1 -0
  495. package/dist/packages/core/po-web-components/src/lib/syntaxHighlight.d.mts +54 -0
  496. package/dist/packages/core/po-web-components/src/lib/syntaxHighlight.d.mts.map +1 -0
  497. package/dist/packages/core/po-web-components/src/lib/syntaxHighlight.mjs +3 -0
  498. package/dist/packages/core/po-web-components/src/lib/syntaxHighlight.mjs.map +1 -0
  499. package/dist/packages/core/po-web-components/src/lib/tone.d.mts +25 -0
  500. package/dist/packages/core/po-web-components/src/lib/tone.d.mts.map +1 -0
  501. package/dist/packages/core/po-web-components/src/lib/tone.mjs +2 -0
  502. package/dist/packages/core/po-web-components/src/lib/tone.mjs.map +1 -0
  503. package/dist/packages/core/po-web-components/src/theme/apply.d.mts +25 -0
  504. package/dist/packages/core/po-web-components/src/theme/apply.d.mts.map +1 -0
  505. package/dist/packages/core/po-web-components/src/theme/apply.mjs +3 -0
  506. package/dist/packages/core/po-web-components/src/theme/apply.mjs.map +1 -0
  507. package/dist/packages/core/po-web-components/src/theme/builtinThemes.d.mts +11 -0
  508. package/dist/packages/core/po-web-components/src/theme/builtinThemes.d.mts.map +1 -0
  509. package/dist/packages/core/po-web-components/src/theme/builtinThemes.mjs +2 -0
  510. package/dist/packages/core/po-web-components/src/theme/builtinThemes.mjs.map +1 -0
  511. package/dist/packages/core/po-web-components/src/theme/derive.d.mts +14 -0
  512. package/dist/packages/core/po-web-components/src/theme/derive.d.mts.map +1 -0
  513. package/dist/packages/core/po-web-components/src/theme/derive.mjs +2 -0
  514. package/dist/packages/core/po-web-components/src/theme/derive.mjs.map +1 -0
  515. package/dist/packages/core/po-web-components/src/theme/nativeTheme.d.mts +131 -0
  516. package/dist/packages/core/po-web-components/src/theme/nativeTheme.d.mts.map +1 -0
  517. package/dist/packages/core/po-web-components/src/theme/nativeTheme.mjs +2 -0
  518. package/dist/packages/core/po-web-components/src/theme/nativeTheme.mjs.map +1 -0
  519. package/dist/packages/core/po-web-components/src/theme/parse.d.mts +10 -0
  520. package/dist/packages/core/po-web-components/src/theme/parse.d.mts.map +1 -0
  521. package/dist/packages/core/po-web-components/src/theme/parse.mjs +2 -0
  522. package/dist/packages/core/po-web-components/src/theme/parse.mjs.map +1 -0
  523. package/dist/packages/core/po-web-components/src/theme/piTheme.d.mts +19 -0
  524. package/dist/packages/core/po-web-components/src/theme/piTheme.d.mts.map +1 -0
  525. package/dist/packages/core/po-web-components/src/theme/piTheme.mjs +2 -0
  526. package/dist/packages/core/po-web-components/src/theme/piTheme.mjs.map +1 -0
  527. package/dist/packages/core/po-web-components/src/theme/preference.d.mts +15 -0
  528. package/dist/packages/core/po-web-components/src/theme/preference.d.mts.map +1 -0
  529. package/dist/packages/core/po-web-components/src/theme/preference.mjs +2 -0
  530. package/dist/packages/core/po-web-components/src/theme/preference.mjs.map +1 -0
  531. package/dist/packages/core/po-web-components/src/types/diff.d.mts +46 -0
  532. package/dist/packages/core/po-web-components/src/types/diff.d.mts.map +1 -0
  533. package/dist/packages/core/po-web-components/src/types/editor.d.mts +78 -0
  534. package/dist/packages/core/po-web-components/src/types/editor.d.mts.map +1 -0
  535. package/dist/packages/core/po-web-components/src/types/editor.mjs +2 -0
  536. package/dist/packages/core/po-web-components/src/types/editor.mjs.map +1 -0
  537. package/dist/packages/core/po-web-components/src/types/theme.d.mts +38 -0
  538. package/dist/packages/core/po-web-components/src/types/theme.d.mts.map +1 -0
  539. package/dist/packages/core/po-web-components/src/types/theme.mjs +2 -0
  540. package/dist/packages/core/po-web-components/src/types/theme.mjs.map +1 -0
  541. package/dist/packages/core/po-web-components/src/types/tone.d.mts +28 -0
  542. package/dist/packages/core/po-web-components/src/types/tone.d.mts.map +1 -0
  543. package/dist/packages/core/po-web-components/src/types/tone.mjs +2 -0
  544. package/dist/packages/core/po-web-components/src/types/tone.mjs.map +1 -0
  545. package/dist/packages/core/po-web-components/themes/doom-nord-dark.mjs +2 -0
  546. package/dist/packages/core/po-web-components/themes/doom-nord-dark.mjs.map +1 -0
  547. package/dist/packages/core/po-web-components/themes/doom-one-dark.mjs +2 -0
  548. package/dist/packages/core/po-web-components/themes/doom-one-dark.mjs.map +1 -0
  549. package/dist/packages/core/po-web-components/themes/doom-one-light.mjs +2 -0
  550. package/dist/packages/core/po-web-components/themes/doom-one-light.mjs.map +1 -0
  551. package/dist/src/components/Accordion.cjs +2 -0
  552. package/dist/src/components/Accordion.cjs.map +1 -0
  553. package/dist/src/components/AnsiText.cjs +4 -0
  554. package/dist/src/components/AnsiText.cjs.map +1 -0
  555. package/dist/src/components/Avatar.cjs +2 -0
  556. package/dist/src/components/Avatar.cjs.map +1 -0
  557. package/dist/src/components/Badge.cjs +2 -0
  558. package/dist/src/components/Badge.cjs.map +1 -0
  559. package/dist/src/components/Breadcrumb.cjs +2 -0
  560. package/dist/src/components/Breadcrumb.cjs.map +1 -0
  561. package/dist/src/components/Button.cjs +2 -0
  562. package/dist/src/components/Button.cjs.map +1 -0
  563. package/dist/src/components/Checkbox.cjs +2 -0
  564. package/dist/src/components/Checkbox.cjs.map +1 -0
  565. package/dist/src/components/CodeBlock.cjs +2 -0
  566. package/dist/src/components/CodeBlock.cjs.map +1 -0
  567. package/dist/src/components/CodeEditor.cjs +2 -0
  568. package/dist/src/components/CodeEditor.cjs.map +1 -0
  569. package/dist/src/components/CodeEditorView.cjs +2 -0
  570. package/dist/src/components/CodeEditorView.cjs.map +1 -0
  571. package/dist/src/components/Collapsible.cjs +2 -0
  572. package/dist/src/components/Collapsible.cjs.map +1 -0
  573. package/dist/src/components/Command.cjs +2 -0
  574. package/dist/src/components/Command.cjs.map +1 -0
  575. package/dist/src/components/CopyButton.cjs +2 -0
  576. package/dist/src/components/CopyButton.cjs.map +1 -0
  577. package/dist/src/components/Dialog.cjs +2 -0
  578. package/dist/src/components/Dialog.cjs.map +1 -0
  579. package/dist/src/components/DiffView.cjs +2 -0
  580. package/dist/src/components/DiffView.cjs.map +1 -0
  581. package/dist/src/components/Dot.cjs +2 -0
  582. package/dist/src/components/Dot.cjs.map +1 -0
  583. package/dist/src/components/Drawer.cjs +2 -0
  584. package/dist/src/components/Drawer.cjs.map +1 -0
  585. package/dist/src/components/DropdownMenu.cjs +2 -0
  586. package/dist/src/components/DropdownMenu.cjs.map +1 -0
  587. package/dist/src/components/EmptyState.cjs +2 -0
  588. package/dist/src/components/EmptyState.cjs.map +1 -0
  589. package/dist/src/components/HashlineLines.cjs +2 -0
  590. package/dist/src/components/HashlineLines.cjs.map +1 -0
  591. package/dist/src/components/Input.cjs +2 -0
  592. package/dist/src/components/Input.cjs.map +1 -0
  593. package/dist/src/components/Kbd.cjs +2 -0
  594. package/dist/src/components/Kbd.cjs.map +1 -0
  595. package/dist/src/components/Label.cjs +2 -0
  596. package/dist/src/components/Label.cjs.map +1 -0
  597. package/dist/src/components/Markdown.cjs +3 -0
  598. package/dist/src/components/Markdown.cjs.map +1 -0
  599. package/dist/src/components/McpApp.cjs +2 -0
  600. package/dist/src/components/McpApp.cjs.map +1 -0
  601. package/dist/src/components/McpToolWidget.cjs +3 -0
  602. package/dist/src/components/McpToolWidget.cjs.map +1 -0
  603. package/dist/src/components/MediaPreview.cjs +2 -0
  604. package/dist/src/components/MediaPreview.cjs.map +1 -0
  605. package/dist/src/components/MermaidDiagram.cjs +2 -0
  606. package/dist/src/components/MermaidDiagram.cjs.map +1 -0
  607. package/dist/src/components/MessageItem.cjs +2 -0
  608. package/dist/src/components/MessageItem.cjs.map +1 -0
  609. package/dist/src/components/MessageLines.cjs +2 -0
  610. package/dist/src/components/MessageLines.cjs.map +1 -0
  611. package/dist/src/components/OptionList.cjs +2 -0
  612. package/dist/src/components/OptionList.cjs.map +1 -0
  613. package/dist/src/components/Panel.cjs +2 -0
  614. package/dist/src/components/Panel.cjs.map +1 -0
  615. package/dist/src/components/PdfPreview.cjs +2 -0
  616. package/dist/src/components/PdfPreview.cjs.map +1 -0
  617. package/dist/src/components/Picker.cjs +2 -0
  618. package/dist/src/components/Picker.cjs.map +1 -0
  619. package/dist/src/components/Popover.cjs +2 -0
  620. package/dist/src/components/Popover.cjs.map +1 -0
  621. package/dist/src/components/Progress.cjs +2 -0
  622. package/dist/src/components/Progress.cjs.map +1 -0
  623. package/dist/src/components/RadioGroup.cjs +2 -0
  624. package/dist/src/components/RadioGroup.cjs.map +1 -0
  625. package/dist/src/components/ReviewCommentDraft.cjs +2 -0
  626. package/dist/src/components/ReviewCommentDraft.cjs.map +1 -0
  627. package/dist/src/components/ScrollArea.cjs +2 -0
  628. package/dist/src/components/ScrollArea.cjs.map +1 -0
  629. package/dist/src/components/SectionLabel.cjs +2 -0
  630. package/dist/src/components/SectionLabel.cjs.map +1 -0
  631. package/dist/src/components/Select.cjs +2 -0
  632. package/dist/src/components/Select.cjs.map +1 -0
  633. package/dist/src/components/Separator.cjs +2 -0
  634. package/dist/src/components/Separator.cjs.map +1 -0
  635. package/dist/src/components/Settings.cjs +2 -0
  636. package/dist/src/components/Settings.cjs.map +1 -0
  637. package/dist/src/components/Sheet.cjs +2 -0
  638. package/dist/src/components/Sheet.cjs.map +1 -0
  639. package/dist/src/components/Skeleton.cjs +2 -0
  640. package/dist/src/components/Skeleton.cjs.map +1 -0
  641. package/dist/src/components/Spinner.cjs +2 -0
  642. package/dist/src/components/Spinner.cjs.map +1 -0
  643. package/dist/src/components/StatusBadge.cjs +2 -0
  644. package/dist/src/components/StatusBadge.cjs.map +1 -0
  645. package/dist/src/components/StreamCursor.cjs +2 -0
  646. package/dist/src/components/StreamCursor.cjs.map +1 -0
  647. package/dist/src/components/Switch.cjs +2 -0
  648. package/dist/src/components/Switch.cjs.map +1 -0
  649. package/dist/src/components/SyntaxText.cjs +4 -0
  650. package/dist/src/components/SyntaxText.cjs.map +1 -0
  651. package/dist/src/components/Tabs.cjs +2 -0
  652. package/dist/src/components/Tabs.cjs.map +1 -0
  653. package/dist/src/components/TerminalView.cjs +2 -0
  654. package/dist/src/components/TerminalView.cjs.map +1 -0
  655. package/dist/src/components/Textarea.cjs +2 -0
  656. package/dist/src/components/Textarea.cjs.map +1 -0
  657. package/dist/src/components/Toast.cjs +2 -0
  658. package/dist/src/components/Toast.cjs.map +1 -0
  659. package/dist/src/components/ToolPathLink.cjs +2 -0
  660. package/dist/src/components/ToolPathLink.cjs.map +1 -0
  661. package/dist/src/components/Tooltip.cjs +2 -0
  662. package/dist/src/components/Tooltip.cjs.map +1 -0
  663. package/dist/src/icons/icons.cjs +1 -0
  664. package/dist/src/lib/ansiSpans.cjs +2 -0
  665. package/dist/src/lib/ansiSpans.cjs.map +1 -0
  666. package/dist/src/lib/cn.cjs +2 -0
  667. package/dist/src/lib/cn.cjs.map +1 -0
  668. package/dist/src/lib/collapse.cjs +2 -0
  669. package/dist/src/lib/collapse.cjs.map +1 -0
  670. package/dist/src/lib/editorController.cjs +2 -0
  671. package/dist/src/lib/editorController.cjs.map +1 -0
  672. package/dist/src/lib/editorLanguage.cjs +2 -0
  673. package/dist/src/lib/editorLanguage.cjs.map +1 -0
  674. package/dist/src/lib/editorTheme.cjs +2 -0
  675. package/dist/src/lib/editorTheme.cjs.map +1 -0
  676. package/dist/src/lib/fenceGrammar.cjs +2 -0
  677. package/dist/src/lib/fenceGrammar.cjs.map +1 -0
  678. package/dist/src/lib/hashlineHighlight.cjs +3 -0
  679. package/dist/src/lib/hashlineHighlight.cjs.map +1 -0
  680. package/dist/src/lib/hashlineView.cjs +6 -0
  681. package/dist/src/lib/hashlineView.cjs.map +1 -0
  682. package/dist/src/lib/media.cjs +2 -0
  683. package/dist/src/lib/media.cjs.map +1 -0
  684. package/dist/src/lib/mediaPlayback.cjs +2 -0
  685. package/dist/src/lib/mediaPlayback.cjs.map +1 -0
  686. package/dist/src/lib/mermaidDiagram.cjs +2 -0
  687. package/dist/src/lib/mermaidDiagram.cjs.map +1 -0
  688. package/dist/src/lib/optionList.cjs +2 -0
  689. package/dist/src/lib/optionList.cjs.map +1 -0
  690. package/dist/src/lib/pathGroups.cjs +2 -0
  691. package/dist/src/lib/pathGroups.cjs.map +1 -0
  692. package/dist/src/lib/picker.cjs +2 -0
  693. package/dist/src/lib/picker.cjs.map +1 -0
  694. package/dist/src/lib/review.cjs +8 -0
  695. package/dist/src/lib/review.cjs.map +1 -0
  696. package/dist/src/lib/syntaxHighlight.cjs +3 -0
  697. package/dist/src/lib/syntaxHighlight.cjs.map +1 -0
  698. package/dist/src/lib/tone.cjs +2 -0
  699. package/dist/src/lib/tone.cjs.map +1 -0
  700. package/dist/src/theme/apply.cjs +3 -0
  701. package/dist/src/theme/apply.cjs.map +1 -0
  702. package/dist/src/theme/builtinThemes.cjs +2 -0
  703. package/dist/src/theme/builtinThemes.cjs.map +1 -0
  704. package/dist/src/theme/derive.cjs +2 -0
  705. package/dist/src/theme/derive.cjs.map +1 -0
  706. package/dist/src/theme/nativeTheme.cjs +2 -0
  707. package/dist/src/theme/nativeTheme.cjs.map +1 -0
  708. package/dist/src/theme/parse.cjs +2 -0
  709. package/dist/src/theme/parse.cjs.map +1 -0
  710. package/dist/src/theme/piTheme.cjs +2 -0
  711. package/dist/src/theme/piTheme.cjs.map +1 -0
  712. package/dist/src/theme/preference.cjs +2 -0
  713. package/dist/src/theme/preference.cjs.map +1 -0
  714. package/dist/src/types/editor.cjs +2 -0
  715. package/dist/src/types/editor.cjs.map +1 -0
  716. package/dist/src/types/theme.cjs +2 -0
  717. package/dist/src/types/theme.cjs.map +1 -0
  718. package/dist/src/types/tone.cjs +2 -0
  719. package/dist/src/types/tone.cjs.map +1 -0
  720. package/dist/theme.cjs +1 -0
  721. package/dist/theme.d.mts +8 -0
  722. package/dist/theme.mjs +1 -0
  723. package/dist/themes/doom-nord-dark.cjs +2 -0
  724. package/dist/themes/doom-nord-dark.cjs.map +1 -0
  725. package/dist/themes/doom-one-dark.cjs +2 -0
  726. package/dist/themes/doom-one-dark.cjs.map +1 -0
  727. package/dist/themes/doom-one-light.cjs +2 -0
  728. package/dist/themes/doom-one-light.cjs.map +1 -0
  729. package/llms.txt +8 -0
  730. package/package.json +130 -0
  731. package/styles/mcp.css +22 -0
  732. package/styles/preview.css +17 -0
  733. package/styles/theme.css +311 -0
  734. package/styles/tokens.css +15 -0
  735. package/themes/doom-nord-dark.json +27 -0
  736. package/themes/doom-one-dark.json +30 -0
  737. package/themes/doom-one-light.json +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.mjs","names":["SheetPrimitive","Sheet","Dialog","props","SheetTrigger","SheetClose","SheetOverlay","cn","className","SIDE_POSITION","CONTENT_WIDTH","SheetContent","side","width","SheetHeader","children","dismissible","Button","closeLabel","CloseIcon","SheetTitle","SheetDescription","SheetBody","SheetFooter"],"sources":["../../../../../../src/components/Sheet.tsx"],"sourcesContent":["import { Dialog as SheetPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { CloseIcon } from '../icons/icons';\nimport { cn } from '../lib/cn';\nimport { Button } from './Button';\n\n/**\n * A side panel on Radix's Dialog: an overlay that slides in from an edge,\n * with the focus trap, Escape, outside click and scroll lock a dialog has.\n *\n * It is the Dialog for content that reads as a column rather than a form: a\n * detail view beside what the reader was looking at. An inline aside cannot\n * do this, because it takes width from the surface underneath it.\n */\nexport function Sheet(props: ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nexport function SheetTrigger(props: ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nexport function SheetClose(props: ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nexport function SheetOverlay({ className, ...props }: ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn('fixed inset-0 z-40 bg-doom-deep/70 data-[state=open]:animate-doom-fade', className)}\n {...props}\n />\n );\n}\n\nconst SIDE_POSITION = {\n right: 'inset-y-0 right-0 border-l data-[state=open]:animate-doom-slide-right',\n left: 'inset-y-0 left-0 border-r data-[state=open]:animate-doom-slide-left',\n} as const;\n\nexport interface SheetContentProps extends ComponentProps<typeof SheetPrimitive.Content> {\n /** Which edge it comes from. */\n side?: 'right' | 'left';\n /** Width preset; `className` may still override. */\n width?: 'sm' | 'md' | 'lg';\n}\n\nconst CONTENT_WIDTH = { sm: 'w-[360px]', md: 'w-[440px]', lg: 'w-[560px]' } as const;\n\nexport function SheetContent({ className, children, side = 'right', width = 'md', ...props }: SheetContentProps) {\n return (\n <SheetPrimitive.Portal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n 'fixed z-50 flex max-w-[calc(100vw-24px)] flex-col overflow-hidden border-doom-border bg-doom-rail shadow-2xl outline-none',\n SIDE_POSITION[side],\n CONTENT_WIDTH[width],\n className,\n )}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n );\n}\n\nexport interface SheetHeaderProps extends ComponentProps<'div'> {\n /** Show the close control at the right of the strip. On by default: a sheet is dismissed, not answered. */\n dismissible?: boolean;\n /** What the close control announces. */\n closeLabel?: string;\n}\n\nexport function SheetHeader({\n className,\n dismissible = true,\n closeLabel = 'close',\n children,\n ...props\n}: SheetHeaderProps) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex h-11 min-w-0 shrink-0 items-center gap-2.5 border-b border-doom-border px-4', className)}\n {...props}\n >\n {children}\n {dismissible ? (\n <SheetPrimitive.Close asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label={closeLabel}\n className=\"ml-auto text-doom-faint hover:text-doom-hi\"\n >\n <CloseIcon className=\"h-3 w-3\" />\n </Button>\n </SheetPrimitive.Close>\n ) : null}\n </div>\n );\n}\n\nexport function SheetTitle({ className, ...props }: ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('truncate text-lg font-semibold text-doom-hi', className)}\n {...props}\n />\n );\n}\n\nexport function SheetDescription({ className, ...props }: ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-sm leading-relaxed text-doom-dim', className)}\n {...props}\n />\n );\n}\n\nexport function SheetBody({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-body\"\n className={cn('flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto px-4 py-3', className)}\n {...props}\n />\n );\n}\n\nexport function SheetFooter({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\n 'flex min-h-[34px] shrink-0 flex-wrap items-center justify-between gap-2 border-t border-doom-border-soft bg-doom-deep px-4 py-1.5',\n className,\n )}\n {...props}\n />\n );\n}\n"],"mappings":"4MAeA,SAAgBC,EAAM,EAAmD,CACvE,MAAO,kBAACD,EAAe,KAAhB,CAAqB,YAAU,QAAQ,GAAIG,CAAQ,CAAA,CAC5D,CAEA,SAAgBC,EAAa,EAAsD,CACjF,MAAO,kBAACJ,EAAe,QAAhB,CAAwB,YAAU,gBAAgB,GAAIG,CAAQ,CAAA,CACvE,CAEA,SAAgBE,EAAW,EAAoD,CAC7E,MAAO,kBAACL,EAAe,MAAhB,CAAsB,YAAU,cAAc,GAAIG,CAAQ,CAAA,CACnE,CAEA,SAAgBG,EAAa,CAAE,YAAW,GAAGH,GAAwD,CACnG,MACE,kBAACH,EAAe,QAAhB,CACE,YAAU,gBACV,UAAWO,EAAG,yEAA0EC,CAAS,EACjG,GAAIL,CACL,CAAA,CAEL,CAEA,MAAMM,EAAgB,CACpB,MAAO,wEACP,KAAM,qEACR,EASMC,EAAgB,CAAE,GAAI,YAAa,GAAI,YAAa,GAAI,WAAY,EAE1E,SAAgBC,EAAa,CAAE,YAAW,WAAU,OAAO,QAAS,QAAQ,KAAM,GAAGR,GAA4B,CAC/G,MACE,kBAACH,EAAe,OAAhB,CAAA,SAAA,CACE,kBAACM,EAAD,CAAe,CAAA,EACf,kBAACN,EAAe,QAAhB,CACE,YAAU,gBACV,YAAWY,EACX,UAAWL,EACT,4HACAE,EAAcG,GACdF,EAAcG,GACdL,CACF,EACA,GAAIL,EAEH,UACqB,CAAA,CACH,CAAA,CAAA,CAE3B,CASA,SAAgBW,EAAY,CAC1B,YACA,cAAc,GACd,aAAa,QACb,WACA,GAAGX,GACgB,CACnB,MACE,kBAAC,MAAD,CACE,YAAU,eACV,UAAWI,EAAG,mFAAoFC,CAAS,EAC3G,GAAIL,EAHN,SAAA,CAKGY,EACAC,EACC,kBAAChB,EAAe,MAAhB,CAAsB,QAAA,GACpB,SAAA,kBAACiB,EAAD,CACE,QAAQ,QACR,KAAK,OACL,aAAYC,EACZ,UAAU,6CAEV,SAAA,kBAACC,EAAD,CAAW,UAAU,SAAW,CAAA,CAC1B,CAAA,CACY,CAAA,EACpB,IACD,GAET,CAEA,SAAgBC,EAAW,CAAE,YAAW,GAAGjB,GAAsD,CAC/F,MACE,kBAACH,EAAe,MAAhB,CACE,YAAU,cACV,UAAWO,EAAG,8CAA+CC,CAAS,EACtE,GAAIL,CACL,CAAA,CAEL,CAEA,SAAgBkB,EAAiB,CAAE,YAAW,GAAGlB,GAA4D,CAC3G,MACE,kBAACH,EAAe,YAAhB,CACE,YAAU,oBACV,UAAWO,EAAG,wCAAyCC,CAAS,EAChE,GAAIL,CACL,CAAA,CAEL,CAEA,SAAgBmB,EAAU,CAAE,YAAW,GAAGnB,GAAgC,CACxE,MACE,kBAAC,MAAD,CACE,YAAU,aACV,UAAWI,EAAG,+DAAgEC,CAAS,EACvF,GAAIL,CACL,CAAA,CAEL,CAEA,SAAgBoB,EAAY,CAAE,YAAW,GAAGpB,GAAgC,CAC1E,MACE,kBAAC,MAAD,CACE,YAAU,eACV,UAAWI,EACT,oIACAC,CACF,EACA,GAAIL,CACL,CAAA,CAEL"}
@@ -0,0 +1,10 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/Skeleton.d.ts
3
+ /**
4
+ * The shape of content that has not arrived. It has no Radix counterpart; it
5
+ * is a pulsing block, and it is aria-hidden because the live region that
6
+ * announces the wait belongs to the surface, not to each placeholder.
7
+ */
8
+ export declare function Skeleton({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
9
+ //#endregion
10
+ //# sourceMappingURL=Skeleton.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.mts","names":[],"sources":["../../../../../../src/components/Skeleton.tsx"],"mappings":";;;;;;;wBASgB,WAAW,cAAc,SAAS,wCAAqB,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{jsx as t}from"react/jsx-runtime";function n({className:n,...r}){return/* @__PURE__ */ t(`div`,{"data-slot":`skeleton`,"aria-hidden":!0,className:e(`animate-pulse rounded bg-doom-border-soft`,n),...r})}export{n as Skeleton};
2
+ //# sourceMappingURL=Skeleton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.mjs","names":["Skeleton","props","cn","className"],"sources":["../../../../../../src/components/Skeleton.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\n\n/**\n * The shape of content that has not arrived. It has no Radix counterpart; it\n * is a pulsing block, and it is aria-hidden because the live region that\n * announces the wait belongs to the surface, not to each placeholder.\n */\nexport function Skeleton({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n aria-hidden\n className={cn('animate-pulse rounded bg-doom-border-soft', className)}\n {...props}\n />\n );\n}\n"],"mappings":"2EASA,SAAgBA,EAAS,CAAE,YAAW,GAAGC,GAAgC,CACvE,MACE,kBAAC,MAAD,CACE,YAAU,WACV,cAAA,GACA,UAAWC,EAAG,4CAA6CC,CAAS,EACpE,GAAIF,CACL,CAAA,CAEL"}
@@ -0,0 +1,14 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/Spinner.d.ts
3
+ export interface SpinnerProps extends ComponentProps<'svg'> {
4
+ /**
5
+ * What the wait is for. Given one, the spinner announces itself as a live
6
+ * status instead of staying silent, which is the difference between a
7
+ * screen reader saying "loading providers" and saying nothing at all.
8
+ */
9
+ label?: string;
10
+ }
11
+ /** A turning loader in the current text colour; decorative unless it is given a label. */
12
+ export declare function Spinner({ className, label, ...props }: SpinnerProps): import("react").JSX.Element;
13
+ //#endregion
14
+ //# sourceMappingURL=Spinner.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.mts","names":[],"sources":["../../../../../../src/components/Spinner.tsx"],"mappings":";;iBAKiB,qBAAqB;;;;;;EAMpC;;;wBAIc,UAAU,WAAW,UAAU,SAAS,+BAAY,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{LoaderIcon as e}from"../icons/icons.mjs";import{cn as t}from"../lib/cn.mjs";import{jsx as n,jsxs as r}from"react/jsx-runtime";function i({className:i,label:a,...o}){let s=/* @__PURE__ */ n(e,{"data-slot":`spinner`,"aria-hidden":!0,className:t(`h-3 w-3 animate-spin`,i),...o});return a===void 0?s:/* @__PURE__ */ r(`output`,{"data-slot":`spinner-status`,className:`inline-flex items-center`,children:[s,/* @__PURE__ */ n(`span`,{className:`sr-only`,children:a})]})}export{i as Spinner};
2
+ //# sourceMappingURL=Spinner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.mjs","names":["Spinner","props","icon","LoaderIcon","cn","className","label"],"sources":["../../../../../../src/components/Spinner.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { LoaderIcon } from '../icons/icons';\nimport { cn } from '../lib/cn';\n\nexport interface SpinnerProps extends ComponentProps<'svg'> {\n /**\n * What the wait is for. Given one, the spinner announces itself as a live\n * status instead of staying silent, which is the difference between a\n * screen reader saying \"loading providers\" and saying nothing at all.\n */\n label?: string;\n}\n\n/** A turning loader in the current text colour; decorative unless it is given a label. */\nexport function Spinner({ className, label, ...props }: SpinnerProps) {\n const icon = (\n <LoaderIcon data-slot=\"spinner\" aria-hidden className={cn('h-3 w-3 animate-spin', className)} {...props} />\n );\n if (label === undefined) return icon;\n return (\n <output data-slot=\"spinner-status\" className=\"inline-flex items-center\">\n {icon}\n <span className=\"sr-only\">{label}</span>\n </output>\n );\n}\n"],"mappings":"qIAeA,SAAgBA,EAAQ,CAAE,YAAW,QAAO,GAAGC,GAAuB,CACpE,IAAMC,EACJ,kBAACC,EAAD,CAAY,YAAU,UAAU,cAAA,GAAY,UAAWC,EAAG,uBAAwBC,CAAS,EAAG,GAAIJ,CAAQ,CAAA,EAG5G,OADIK,IAAU,IAAA,GAAkBJ,EAE9B,kBAAC,SAAD,CAAQ,YAAU,iBAAiB,UAAU,2BAA7C,SAAA,CACGA,EACD,kBAAC,OAAD,CAAM,UAAU,UAAW,SAAAI,CAAY,CAAA,CACjC,GAEZ"}
@@ -0,0 +1,23 @@
1
+ import { StatusTone as StatusTone$1 } from "../types/tone.mjs";
2
+ import { ComponentProps } from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region src/components/StatusBadge.d.ts
5
+ export declare const statusBadgeVariants: (props?: ({
6
+ tone?: "accent" | "error" | "info" | "neutral" | "ok" | "running" | null | undefined;
7
+ size?: "lg" | "md" | "sm" | "xs" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ export type StatusTone = StatusTone$1;
10
+ /**
11
+ * The border a card wears for a status, the same tint family as the badge.
12
+ * MessageItem builds its frame variants from this table, so a tone's edge is
13
+ * named once and a card and its badge can never disagree about it.
14
+ */
15
+ export declare const STATUS_EDGE: Readonly<Record<StatusTone, string>>;
16
+ export interface StatusBadgeProps extends ComponentProps<'span'>, VariantProps<typeof statusBadgeVariants> {
17
+ /** Render the child element instead of a <span>, so a link can look like a pill. */
18
+ asChild?: boolean;
19
+ }
20
+ /** The tinted outcome pill: RUNNING, OK, ERROR and their kin, as every run card draws it. */
21
+ export declare function StatusBadge({ className, tone, size, asChild, ...props }: StatusBadgeProps): import("react").JSX.Element;
22
+ //#endregion
23
+ //# sourceMappingURL=StatusBadge.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.d.mts","names":["Tone"],"sources":["../../../../../../src/components/StatusBadge.tsx"],"mappings":";;;;qBAOa,sBAAmB;;;6CAqB/B;YAEW,aAAaA;;;;;;qBAOZ,aAAa,SAAS,OAAO;iBASzB,yBAAyB,wBAAwB,oBAAoB;;EAEpF;;;wBAIc,cAAc,WAAW,MAAM,MAAM,YAAoB,SAAS,mCAAgB,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-sm font-semibold`,{variants:{tone:{neutral:`bg-doom-panel text-doom-faint`,running:`bg-doom-tint-yellow text-doom-yellow`,ok:`bg-doom-tint-green text-doom-green`,error:`bg-doom-tint-red text-doom-red`,info:`bg-doom-tint-blue text-doom-blue`,accent:`bg-doom-tint-magenta text-doom-magenta`},size:{xs:`px-1.5 py-px text-sm`,sm:`px-[7px] py-[3px] text-sm`,md:`h-[21px] px-2 text-sm normal-case`,lg:`h-6 px-2.5 text-base normal-case`}},defaultVariants:{tone:`neutral`,size:`sm`}}),a={neutral:`border-doom-border`,running:`border-doom-edge-yellow`,ok:`border-doom-edge-green`,error:`border-doom-edge-red`,info:`border-doom-edge-blue`,accent:`border-doom-edge-magenta`};function o({className:r,tone:a,size:o,asChild:s=!1,...c}){let l=s?t.Root:`span`;return/* @__PURE__ */ n(l,{"data-slot":`status-badge`,className:e(i({tone:a,size:o}),r),...c})}export{a as STATUS_EDGE,o as StatusBadge,i as statusBadgeVariants};
2
+ //# sourceMappingURL=StatusBadge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.mjs","names":["statusBadgeVariants","cva","STATUS_EDGE","StatusBadge","props","Component","asChild","Slot","cn","className"],"sources":["../../../../../../src/components/StatusBadge.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\nimport type { StatusTone as Tone } from '../types/tone';\n\nexport const statusBadgeVariants = cva(\n 'inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-sm font-semibold',\n {\n variants: {\n tone: {\n neutral: 'bg-doom-panel text-doom-faint',\n running: 'bg-doom-tint-yellow text-doom-yellow',\n ok: 'bg-doom-tint-green text-doom-green',\n error: 'bg-doom-tint-red text-doom-red',\n info: 'bg-doom-tint-blue text-doom-blue',\n accent: 'bg-doom-tint-magenta text-doom-magenta',\n } satisfies Record<Tone, string>,\n size: {\n xs: 'px-1.5 py-px text-sm',\n sm: 'px-[7px] py-[3px] text-sm',\n md: 'h-[21px] px-2 text-sm normal-case',\n lg: 'h-6 px-2.5 text-base normal-case',\n },\n },\n defaultVariants: { tone: 'neutral', size: 'sm' },\n },\n);\n\nexport type StatusTone = Tone;\n\n/**\n * The border a card wears for a status, the same tint family as the badge.\n * MessageItem builds its frame variants from this table, so a tone's edge is\n * named once and a card and its badge can never disagree about it.\n */\nexport const STATUS_EDGE: Readonly<Record<StatusTone, string>> = {\n neutral: 'border-doom-border',\n running: 'border-doom-edge-yellow',\n ok: 'border-doom-edge-green',\n error: 'border-doom-edge-red',\n info: 'border-doom-edge-blue',\n accent: 'border-doom-edge-magenta',\n};\n\nexport interface StatusBadgeProps extends ComponentProps<'span'>, VariantProps<typeof statusBadgeVariants> {\n /** Render the child element instead of a <span>, so a link can look like a pill. */\n asChild?: boolean;\n}\n\n/** The tinted outcome pill: RUNNING, OK, ERROR and their kin, as every run card draws it. */\nexport function StatusBadge({ className, tone, size, asChild = false, ...props }: StatusBadgeProps) {\n const Component = asChild ? Slot.Root : 'span';\n return (\n <Component data-slot=\"status-badge\" className={cn(statusBadgeVariants({ tone, size }), className)} {...props} />\n );\n}\n"],"mappings":"0JAOA,MAAaA,EAAsBC,EACjC,uFACA,CACE,SAAU,CACR,KAAM,CACJ,QAAS,gCACT,QAAS,uCACT,GAAI,qCACJ,MAAO,iCACP,KAAM,mCACN,OAAQ,wCACV,EACA,KAAM,CACJ,GAAI,uBACJ,GAAI,4BACJ,GAAI,oCACJ,GAAI,kCACN,CACF,EACA,gBAAiB,CAAE,KAAM,UAAW,KAAM,IAAK,CACjD,CACF,EASaC,EAAoD,CAC/D,QAAS,qBACT,QAAS,0BACT,GAAI,yBACJ,MAAO,uBACP,KAAM,wBACN,OAAQ,0BACV,EAQA,SAAgBC,EAAY,CAAE,YAAW,OAAM,OAAM,UAAU,GAAO,GAAGC,GAA2B,CAClG,IAAMC,EAAYC,EAAUC,EAAK,KAAO,OACxC,MACE,kBAACF,EAAD,CAAW,YAAU,eAAe,UAAWG,EAAGR,EAAoB,CAAE,OAAM,MAAK,CAAC,EAAGS,CAAS,EAAG,GAAIL,CAAQ,CAAA,CAEnH"}
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/StreamCursor.d.ts
3
+ /** The blinking block that marks text still arriving. */
4
+ export declare function StreamCursor({ className, ...props }: ComponentProps<'span'>): import("react").JSX.Element;
5
+ //#endregion
6
+ //# sourceMappingURL=StreamCursor.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamCursor.d.mts","names":[],"sources":["../../../../../../src/components/StreamCursor.tsx"],"mappings":";;;wBAKgB,eAAe,cAAc,SAAS,yCAAsB,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{jsx as t}from"react/jsx-runtime";function n({className:n,...r}){return/* @__PURE__ */ t(`span`,{"data-slot":`stream-cursor`,"aria-hidden":!0,className:e(`ml-0.5 inline-block h-3.5 w-2 translate-y-0.5 animate-doom-blink bg-doom-blue`,n),...r})}export{n as StreamCursor};
2
+ //# sourceMappingURL=StreamCursor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamCursor.mjs","names":["StreamCursor","props","cn","className"],"sources":["../../../../../../src/components/StreamCursor.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\n\n/** The blinking block that marks text still arriving. */\nexport function StreamCursor({ className, ...props }: ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"stream-cursor\"\n aria-hidden\n className={cn('ml-0.5 inline-block h-3.5 w-2 translate-y-0.5 animate-doom-blink bg-doom-blue', className)}\n {...props}\n />\n );\n}\n"],"mappings":"2EAKA,SAAgBA,EAAa,CAAE,YAAW,GAAGC,GAAiC,CAC5E,MACE,kBAAC,OAAD,CACE,YAAU,gBACV,cAAA,GACA,UAAWC,EAAG,gFAAiFC,CAAS,EACxG,GAAIF,CACL,CAAA,CAEL"}
@@ -0,0 +1,8 @@
1
+ import { Switch } from "radix-ui";
2
+ import { ComponentProps } from "react";
3
+ //#region src/components/Switch.d.ts
4
+ /** An on/off track; use it where the change takes effect immediately, a checkbox where it needs a save. */
5
+ declare function Switch$1({ className, ...props }: ComponentProps<typeof Switch.Root>): import("react").JSX.Element;
6
+ //#endregion
7
+ export { Switch$1 as Switch };
8
+ //# sourceMappingURL=Switch.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.d.mts","names":["Switch","SwitchPrimitive"],"sources":["../../../../../../src/components/Switch.tsx"],"mappings":";;;;iBAMgBA,WAAS,cAAc,SAAS,sBAAsBC,OAAgB,wBAAK,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{Switch as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function r({className:r,...i}){return/* @__PURE__ */ n(t.Root,{"data-slot":`switch`,className:e(`inline-flex h-4 w-7 shrink-0 cursor-pointer items-center rounded-full border border-doom-border bg-doom-deep p-px outline-none transition-colors focus-visible:ring-2 focus-visible:ring-doom-green/50 disabled:pointer-events-none disabled:opacity-40 data-[state=checked]:border-doom-green data-[state=checked]:bg-doom-tint-green`,r),...i,children:/* @__PURE__ */ n(t.Thumb,{"data-slot":`switch-thumb`,className:`block h-3 w-3 rounded-full bg-doom-faint transition-transform data-[state=checked]:translate-x-3 data-[state=checked]:bg-doom-green`})})}export{r as Switch};
2
+ //# sourceMappingURL=Switch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.mjs","names":["Switch","SwitchPrimitive","Switch$1","props","Switch","cn","className"],"sources":["../../../../../../src/components/Switch.tsx"],"sourcesContent":["import { Switch as SwitchPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\n\n/** An on/off track; use it where the change takes effect immediately, a checkbox where it needs a save. */\nexport function Switch({ className, ...props }: ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'inline-flex h-4 w-7 shrink-0 cursor-pointer items-center rounded-full border border-doom-border bg-doom-deep p-px outline-none transition-colors focus-visible:ring-2 focus-visible:ring-doom-green/50 disabled:pointer-events-none disabled:opacity-40 data-[state=checked]:border-doom-green data-[state=checked]:bg-doom-tint-green',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"block h-3 w-3 rounded-full bg-doom-faint transition-transform data-[state=checked]:translate-x-3 data-[state=checked]:bg-doom-green\"\n />\n </SwitchPrimitive.Root>\n );\n}\n"],"mappings":"6GAMA,SAAgBA,EAAO,CAAE,YAAW,GAAGG,GAAsD,CAC3F,MACE,kBAACF,EAAgB,KAAjB,CACE,YAAU,SACV,UAAWI,EACT,yUACAC,CACF,EACA,GAAIH,EAEJ,SAAA,kBAACF,EAAgB,MAAjB,CACE,YAAU,eACV,UAAU,qIACX,CAAA,CACmB,CAAA,CAE1B"}
@@ -0,0 +1,50 @@
1
+ import { GrammarKey } from "../lib/editorLanguage.mjs";
2
+ import { SyntaxLines, SyntaxSpan } from "../lib/syntaxHighlight.mjs";
3
+ import { ComponentProps } from "react";
4
+ //#region src/components/SyntaxText.d.ts
5
+ /**
6
+ * Read-only code with the editor's colours.
7
+ *
8
+ * Two shapes over one hook, because the cards need both: `SyntaxText` for a
9
+ * block of code that owns its own element, and `SyntaxLine` for a card that
10
+ * already renders a line at a time next to a gutter. Highlighting is
11
+ * asynchronous, so both show the plain text first and swap in spans once the
12
+ * grammar has loaded; a result that never highlights simply stays plain.
13
+ *
14
+ * DESIGN PATTERNS:
15
+ * - Plain text is the fallback, never a spinner: colour is decoration.
16
+ * - The hook keys on the text, so a streaming result re-highlights as it grows.
17
+ *
18
+ * AVOID:
19
+ * - Highlighting one line at a time. A line is not a parse unit; pass the whole
20
+ * block to `useSyntaxLines` and render the line you want out of the result.
21
+ */
22
+ export interface SyntaxQuery {
23
+ /** The file the code came from, when the tool knows one. */
24
+ path?: string | undefined;
25
+ /** Skips detection when the caller already knows the grammar. */
26
+ grammar?: GrammarKey | undefined;
27
+ }
28
+ /**
29
+ * Colours `text`, or hands back undefined while that is still loading and for
30
+ * anything with no grammar. Rendering the result is the caller's business.
31
+ *
32
+ * The finished spans are stored with the text they belong to, so text that has
33
+ * changed since reads as plain during render rather than showing the previous
34
+ * result's colours over the new lines.
35
+ */
36
+ export declare function useSyntaxLines(text: string, query?: SyntaxQuery): SyntaxLines | undefined;
37
+ export interface SyntaxLineProps extends Omit<ComponentProps<'span'>, 'children'> {
38
+ /** The line's spans from `useSyntaxLines`, or undefined to show `text` plain. */
39
+ spans?: readonly SyntaxSpan[] | undefined;
40
+ text: string;
41
+ }
42
+ /** One line: coloured when its spans are in, the plain text until then. */
43
+ export declare function SyntaxLine({ spans, text, ...props }: SyntaxLineProps): import("react").JSX.Element;
44
+ export interface SyntaxTextProps extends Omit<ComponentProps<'pre'>, 'children'>, SyntaxQuery {
45
+ text: string;
46
+ }
47
+ /** A block of code, wrapped rather than clipped, coloured when a grammar is known. */
48
+ export declare function SyntaxText({ className, text, path, grammar, ...props }: SyntaxTextProps): import("react").JSX.Element;
49
+ //#endregion
50
+ //# sourceMappingURL=SyntaxText.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyntaxText.d.mts","names":[],"sources":["../../../../../../src/components/SyntaxText.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;iBA8BiB;;EAEf;;EAEA,UAAU;;;;;;;;;;wBAWI,eAAe,cAAc,QAAO,cAAmB;iBAyBtD,wBAAwB,KAAK;;EAE5C,iBAAiB;EACjB;;;wBAIc,aAAa,OAAO,SAAS,SAAS,kCAAe,IAAA;iBAapD,wBAAwB,KAAK,oCAAoC;EAChF;;;wBAIc,aAAa,WAAW,MAAM,MAAM,YAAY,SAAS,kCAAe,IAAA"}
@@ -0,0 +1,4 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{detectGrammar as t,highlightToLines as n,syntaxStyleOf as r}from"../lib/syntaxHighlight.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Fragment as o,useEffect as s,useState as c}from"react";function l(e,r={}){let{path:i,grammar:a}=r,o=a??t({path:i,text:e}),l=`${o??``}\u0000${e}`,[u,d]=c(void 0);return s(()=>{if(o===void 0)return;let t=!0;return n(e,o).then(e=>{t&&e!==void 0&&d({signature:l,lines:e})},()=>void 0),()=>{t=!1}},[e,o,l]),u?.signature===l?u.lines:void 0}function u({spans:e,text:t,...n}){return e===void 0?/* @__PURE__ */ i(`span`,{...n,children:t}):/* @__PURE__ */ i(`span`,{...n,children:e.map((e,t)=>/* @__PURE__ */ i(`span`,{style:r(e.token),children:e.text},t))})}function d({className:t,text:n,path:r,grammar:s,...c}){let d=l(n,{path:r,grammar:s}),f=n.split(`
2
+ `);return/* @__PURE__ */ i(`pre`,{"data-slot":`syntax-text`,"data-highlighted":d!==void 0,className:e(`whitespace-pre-wrap break-words [overflow-wrap:anywhere] font-mono`,t),...c,children:(d??f).map((e,t)=>/* @__PURE__ */ a(o,{children:[t>0?`
3
+ `:null,/* @__PURE__ */ i(u,{spans:typeof e==`string`?void 0:e,text:typeof e==`string`?e:``})]},t))})}export{u as SyntaxLine,d as SyntaxText,l as useSyntaxLines};
4
+ //# sourceMappingURL=SyntaxText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyntaxText.mjs","names":["Fragment","Fragment$1","useSyntaxLines","query","key","grammar","detectGrammar","signature","text","done","setDone","useState","useEffect","live","highlightToLines","result","SyntaxLine","props","spans","syntaxStyleOf","span","index","SyntaxText","lines","plain","cn","className","entry"],"sources":["../../../../../../src/components/SyntaxText.tsx"],"sourcesContent":["import { type ComponentProps, Fragment, useEffect, useState } from 'react';\n\nimport { cn } from '../lib/cn';\nimport type { GrammarKey } from '../lib/editorLanguage';\nimport {\n detectGrammar,\n highlightToLines,\n type SyntaxLines,\n type SyntaxSpan,\n syntaxStyleOf,\n} from '../lib/syntaxHighlight';\n\n/**\n * Read-only code with the editor's colours.\n *\n * Two shapes over one hook, because the cards need both: `SyntaxText` for a\n * block of code that owns its own element, and `SyntaxLine` for a card that\n * already renders a line at a time next to a gutter. Highlighting is\n * asynchronous, so both show the plain text first and swap in spans once the\n * grammar has loaded; a result that never highlights simply stays plain.\n *\n * DESIGN PATTERNS:\n * - Plain text is the fallback, never a spinner: colour is decoration.\n * - The hook keys on the text, so a streaming result re-highlights as it grows.\n *\n * AVOID:\n * - Highlighting one line at a time. A line is not a parse unit; pass the whole\n * block to `useSyntaxLines` and render the line you want out of the result.\n */\n\nexport interface SyntaxQuery {\n /** The file the code came from, when the tool knows one. */\n path?: string | undefined;\n /** Skips detection when the caller already knows the grammar. */\n grammar?: GrammarKey | undefined;\n}\n\n/**\n * Colours `text`, or hands back undefined while that is still loading and for\n * anything with no grammar. Rendering the result is the caller's business.\n *\n * The finished spans are stored with the text they belong to, so text that has\n * changed since reads as plain during render rather than showing the previous\n * result's colours over the new lines.\n */\nexport function useSyntaxLines(text: string, query: SyntaxQuery = {}): SyntaxLines | undefined {\n const { path, grammar } = query;\n const key = grammar ?? detectGrammar({ path, text });\n const signature = `${key ?? ''}\\u0000${text}`;\n const [done, setDone] = useState<{ signature: string; lines: SyntaxLines } | undefined>(undefined);\n\n useEffect(() => {\n if (key === undefined) return;\n let live = true;\n void highlightToLines(text, key).then(\n (result) => {\n if (live && result !== undefined) setDone({ signature, lines: result });\n },\n // A grammar chunk that fails to load leaves the plain text in place: the\n // card stays readable and the network failure is the browser's to report.\n () => undefined,\n );\n return () => {\n live = false;\n };\n }, [text, key, signature]);\n\n return done?.signature === signature ? done.lines : undefined;\n}\n\nexport interface SyntaxLineProps extends Omit<ComponentProps<'span'>, 'children'> {\n /** The line's spans from `useSyntaxLines`, or undefined to show `text` plain. */\n spans?: readonly SyntaxSpan[] | undefined;\n text: string;\n}\n\n/** One line: coloured when its spans are in, the plain text until then. */\nexport function SyntaxLine({ spans, text, ...props }: SyntaxLineProps) {\n if (spans === undefined) return <span {...props}>{text}</span>;\n return (\n <span {...props}>\n {spans.map((span, index) => (\n <span key={index} style={syntaxStyleOf(span.token)}>\n {span.text}\n </span>\n ))}\n </span>\n );\n}\n\nexport interface SyntaxTextProps extends Omit<ComponentProps<'pre'>, 'children'>, SyntaxQuery {\n text: string;\n}\n\n/** A block of code, wrapped rather than clipped, coloured when a grammar is known. */\nexport function SyntaxText({ className, text, path, grammar, ...props }: SyntaxTextProps) {\n const lines = useSyntaxLines(text, { path, grammar });\n const plain = text.split('\\n');\n return (\n <pre\n data-slot=\"syntax-text\"\n data-highlighted={lines !== undefined}\n className={cn('whitespace-pre-wrap break-words [overflow-wrap:anywhere] font-mono', className)}\n {...props}\n >\n {(lines ?? plain).map((entry, index) => (\n <Fragment key={index}>\n {index > 0 ? '\\n' : null}\n <SyntaxLine\n spans={typeof entry === 'string' ? undefined : entry}\n text={typeof entry === 'string' ? entry : ''}\n />\n </Fragment>\n ))}\n </pre>\n );\n}\n"],"mappings":"uPA6CA,SAAgBE,EAAe,EAAc,EAAqB,CAAC,EAA4B,CAC7F,GAAM,CAAE,OAAM,WAAYC,EACpBC,EAAMC,GAAWC,EAAc,CAAE,OAAM,MAAK,CAAC,EAC7CC,EAAY,GAAGH,GAAO,GAAG,QAAQI,IACjC,CAACC,EAAMC,GAAWC,EAAgE,IAAA,EAAS,EAkBjG,OAhBAC,MAAgB,CACd,GAAIR,IAAQ,IAAA,GAAW,OACvB,IAAIS,EAAO,GASX,OARAC,EAAsBN,EAAMJ,CAAG,CAAC,CAAC,KAC9B,GAAW,CACNS,GAAQE,IAAW,IAAA,IAAWL,EAAQ,CAAE,YAAW,MAAOK,CAAO,CAAC,CACxE,MAGM,IAAA,EACR,MACa,CACX,EAAO,EACT,CACF,EAAG,CAACP,EAAMJ,EAAKG,CAAS,CAAC,EAElBE,GAAM,YAAcF,EAAYE,EAAK,MAAQ,IAAA,EACtD,CASA,SAAgBO,EAAW,CAAE,QAAO,OAAM,GAAGC,GAA0B,CAErE,OADIC,IAAU,IAAA,GAAkB,kBAAC,OAAD,CAAM,GAAID,EAAQ,SAAAT,CAAW,CAAA,EAE3D,kBAAC,OAAD,CAAM,GAAIS,EACP,SAAAC,EAAM,KAAK,EAAM,IAChB,kBAAC,OAAD,CAAkB,MAAOC,EAAcC,EAAK,KAAK,EAC9C,SAAAA,EAAK,IACF,EAFKC,CAEL,CACP,CACG,CAAA,CAEV,CAOA,SAAgBC,EAAW,CAAE,YAAW,OAAM,OAAM,UAAS,GAAGL,GAA0B,CACxF,IAAMM,EAAQrB,EAAeM,EAAM,CAAE,OAAM,SAAQ,CAAC,EAC9CgB,EAAQhB,EAAK,MAAM;CAAI,EAC7B,MACE,kBAAC,MAAD,CACE,YAAU,cACV,mBAAkBe,IAAU,IAAA,GAC5B,UAAWE,EAAG,qEAAsEC,CAAS,EAC7F,GAAIT,EAEF,UAAAM,GAASC,EAAA,CAAO,KAAK,EAAO,IAC5B,kBAACxB,EAAD,CAAA,SAAA,CACGqB,EAAQ,EAAI;EAAO,KACpB,kBAACL,EAAD,CACE,MAAO,OAAOW,GAAU,SAAW,IAAA,GAAYA,EAC/C,KAAM,OAAOA,GAAU,SAAWA,EAAQ,EAC3C,CAAA,CACO,CAAA,EANKN,CAML,CACX,CACE,CAAA,CAET"}
@@ -0,0 +1,36 @@
1
+ import { Tabs } from "radix-ui";
2
+ import { ComponentProps } from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region src/components/Tabs.d.ts
5
+ /**
6
+ * The look a tab wears, whether Radix drives it or a router link does. It is
7
+ * exported because the cockpit's own tabs navigate routes rather than swap
8
+ * panels, and a link that looks like a tab must not be a second implementation.
9
+ */
10
+ export declare const tabVariants: (props?: ({
11
+ active?: boolean | null | undefined;
12
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
+ /** The count a tab carries; it inverts on the active tab so it stays readable on the tint. */
14
+ export declare const tabBadgeVariants: (props?: ({
15
+ active?: boolean | null | undefined;
16
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
+ export interface NavTabProps extends ComponentProps<'a'>, VariantProps<typeof tabVariants> {
18
+ /** Render the child element instead of an <a>, so a router Link can be the tab. */
19
+ asChild?: boolean;
20
+ }
21
+ /**
22
+ * A tab that navigates. Radix Tabs owns panels and roving focus over content
23
+ * it renders; a route-driven tab strip has neither, so it gets the styling and
24
+ * leaves the semantics to the router.
25
+ */
26
+ export declare function NavTab({ className, active, asChild, ...props }: NavTabProps): import("react").JSX.Element;
27
+ /** The count beside a tab's label. */
28
+ export declare function NavTabBadge({ className, active, ...props }: ComponentProps<'span'> & VariantProps<typeof tabBadgeVariants>): import("react").JSX.Element;
29
+ /** Radix Tabs, for a surface that swaps panels in place rather than navigating. */
30
+ declare function Tabs$1(props: ComponentProps<typeof Tabs.Root>): import("react").JSX.Element;
31
+ export declare function TabsList({ className, ...props }: ComponentProps<typeof Tabs.List>): import("react").JSX.Element;
32
+ export declare function TabsTrigger({ className, ...props }: ComponentProps<typeof Tabs.Trigger>): import("react").JSX.Element;
33
+ export declare function TabsContent({ className, ...props }: ComponentProps<typeof Tabs.Content>): import("react").JSX.Element;
34
+ //#endregion
35
+ export { Tabs$1 as Tabs };
36
+ //# sourceMappingURL=Tabs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.mts","names":["Tabs","TabsPrimitive"],"sources":["../../../../../../src/components/Tabs.tsx"],"mappings":";;;;;;;;;qBAYa,cAAW;;6CAWvB;;qBAGY,mBAAgB;;6CAW5B;iBAEgB,oBAAoB,qBAAqB,oBAAoB;;EAE5E;;;;;;;wBAQc,SAAS,WAAW,QAAQ,YAAoB,SAAS,8BAAW,IAAA;;wBAapE,cACd,WACA,WACG,SACF,yBAAyB,oBAAoB,oCAAiB,IAAA;;iBAKjDA,OAAK,OAAO,sBAAsBC,KAAc,wBAAK,IAAA;wBAIrD,WAAW,cAAc,SAAS,sBAAsBA,KAAc,wBAAK,IAAA;wBAI3E,cAAc,cAAc,SAAS,sBAAsBA,KAAc,2BAAQ,IAAA;wBAcjF,cAAc,cAAc,SAAS,sBAAsBA,KAAc,2BAAQ,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{Slot as t,Tabs as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`flex min-h-6 min-w-6 cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-base font-medium transition-colors outline-none`,{variants:{active:{true:`bg-doom-tint-green font-semibold text-doom-green`,false:`text-doom-dim hover:bg-doom-panel hover:text-doom-hi`}},defaultVariants:{active:!1}}),o=i(`flex h-[15px] min-w-[15px] items-center justify-center rounded-full px-1 text-2xs font-semibold`,{variants:{active:{true:`bg-doom-green text-doom-rail`,false:`bg-doom-panel text-doom-dim`}},defaultVariants:{active:!1}});function s({className:n,active:i,asChild:o=!1,...s}){let c=o?t.Root:`a`;return/* @__PURE__ */ r(c,{"data-slot":`nav-tab`,"data-active":i??!1,className:e(a({active:i}),n),...s})}function c({className:t,active:n,...i}){return/* @__PURE__ */ r(`span`,{"data-slot":`nav-tab-badge`,className:e(o({active:n}),t),...i})}function l(e){return/* @__PURE__ */ r(n.Root,{"data-slot":`tabs`,...e})}function u({className:t,...i}){return/* @__PURE__ */ r(n.List,{"data-slot":`tabs-list`,className:e(`flex items-center gap-1`,t),...i})}function d({className:t,...i}){return/* @__PURE__ */ r(n.Trigger,{"data-slot":`tabs-trigger`,className:e(a({active:!1}),`data-[state=active]:bg-doom-tint-green data-[state=active]:font-semibold data-[state=active]:text-doom-green`,t),...i})}function f({className:t,...i}){return/* @__PURE__ */ r(n.Content,{"data-slot":`tabs-content`,className:e(`min-h-0 flex-1`,t),...i})}export{s as NavTab,c as NavTabBadge,l as Tabs,f as TabsContent,u as TabsList,d as TabsTrigger,o as tabBadgeVariants,a as tabVariants};
2
+ //# sourceMappingURL=Tabs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.mjs","names":["Tabs","TabsPrimitive","tabVariants","cva","tabBadgeVariants","NavTab","props","Component","asChild","Slot","active","cn","className","NavTabBadge","Tabs$1","Tabs","TabsList","TabsTrigger","TabsContent"],"sources":["../../../../../../src/components/Tabs.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport { Slot } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\n\n/**\n * The look a tab wears, whether Radix drives it or a router link does. It is\n * exported because the cockpit's own tabs navigate routes rather than swap\n * panels, and a link that looks like a tab must not be a second implementation.\n */\nexport const tabVariants = cva(\n 'flex min-h-6 min-w-6 cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-base font-medium transition-colors outline-none',\n {\n variants: {\n active: {\n true: 'bg-doom-tint-green font-semibold text-doom-green',\n false: 'text-doom-dim hover:bg-doom-panel hover:text-doom-hi',\n },\n },\n defaultVariants: { active: false },\n },\n);\n\n/** The count a tab carries; it inverts on the active tab so it stays readable on the tint. */\nexport const tabBadgeVariants = cva(\n 'flex h-[15px] min-w-[15px] items-center justify-center rounded-full px-1 text-2xs font-semibold',\n {\n variants: {\n active: {\n true: 'bg-doom-green text-doom-rail',\n false: 'bg-doom-panel text-doom-dim',\n },\n },\n defaultVariants: { active: false },\n },\n);\n\nexport interface NavTabProps extends ComponentProps<'a'>, VariantProps<typeof tabVariants> {\n /** Render the child element instead of an <a>, so a router Link can be the tab. */\n asChild?: boolean;\n}\n\n/**\n * A tab that navigates. Radix Tabs owns panels and roving focus over content\n * it renders; a route-driven tab strip has neither, so it gets the styling and\n * leaves the semantics to the router.\n */\nexport function NavTab({ className, active, asChild = false, ...props }: NavTabProps) {\n const Component = asChild ? Slot.Root : 'a';\n return (\n <Component\n data-slot=\"nav-tab\"\n data-active={active ?? false}\n className={cn(tabVariants({ active }), className)}\n {...props}\n />\n );\n}\n\n/** The count beside a tab's label. */\nexport function NavTabBadge({\n className,\n active,\n ...props\n}: ComponentProps<'span'> & VariantProps<typeof tabBadgeVariants>) {\n return <span data-slot=\"nav-tab-badge\" className={cn(tabBadgeVariants({ active }), className)} {...props} />;\n}\n\n/** Radix Tabs, for a surface that swaps panels in place rather than navigating. */\nexport function Tabs(props: ComponentProps<typeof TabsPrimitive.Root>) {\n return <TabsPrimitive.Root data-slot=\"tabs\" {...props} />;\n}\n\nexport function TabsList({ className, ...props }: ComponentProps<typeof TabsPrimitive.List>) {\n return <TabsPrimitive.List data-slot=\"tabs-list\" className={cn('flex items-center gap-1', className)} {...props} />;\n}\n\nexport function TabsTrigger({ className, ...props }: ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n tabVariants({ active: false }),\n 'data-[state=active]:bg-doom-tint-green data-[state=active]:font-semibold data-[state=active]:text-doom-green',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function TabsContent({ className, ...props }: ComponentProps<typeof TabsPrimitive.Content>) {\n return <TabsPrimitive.Content data-slot=\"tabs-content\" className={cn('min-h-0 flex-1', className)} {...props} />;\n}\n"],"mappings":"oKAYA,MAAaE,EAAcC,EACzB,kIACA,CACE,SAAU,CACR,OAAQ,CACN,KAAM,mDACN,MAAO,sDACT,CACF,EACA,gBAAiB,CAAE,OAAQ,EAAM,CACnC,CACF,EAGaC,EAAmBD,EAC9B,kGACA,CACE,SAAU,CACR,OAAQ,CACN,KAAM,+BACN,MAAO,6BACT,CACF,EACA,gBAAiB,CAAE,OAAQ,EAAM,CACnC,CACF,EAYA,SAAgBE,EAAO,CAAE,YAAW,SAAQ,UAAU,GAAO,GAAGC,GAAsB,CACpF,IAAMC,EAAYC,EAAUC,EAAK,KAAO,IACxC,MACE,kBAACF,EAAD,CACE,YAAU,UACV,cAAaG,GAAU,GACvB,UAAWC,EAAGT,EAAY,CAAE,QAAO,CAAC,EAAGU,CAAS,EAChD,GAAIN,CACL,CAAA,CAEL,CAGA,SAAgBO,EAAY,CAC1B,YACA,SACA,GAAGP,GAC8D,CACjE,MAAO,kBAAC,OAAD,CAAM,YAAU,gBAAgB,UAAWK,EAAGP,EAAiB,CAAE,QAAO,CAAC,EAAGQ,CAAS,EAAG,GAAIN,CAAQ,CAAA,CAC7G,CAGA,SAAgBN,EAAK,EAAkD,CACrE,MAAO,kBAACC,EAAc,KAAf,CAAoB,YAAU,OAAO,GAAIK,CAAQ,CAAA,CAC1D,CAEA,SAAgBU,EAAS,CAAE,YAAW,GAAGV,GAAoD,CAC3F,MAAO,kBAACL,EAAc,KAAf,CAAoB,YAAU,YAAY,UAAWU,EAAG,0BAA2BC,CAAS,EAAG,GAAIN,CAAQ,CAAA,CACpH,CAEA,SAAgBW,EAAY,CAAE,YAAW,GAAGX,GAAuD,CACjG,MACE,kBAACL,EAAc,QAAf,CACE,YAAU,eACV,UAAWU,EACTT,EAAY,CAAE,OAAQ,EAAM,CAAC,EAC7B,+GACAU,CACF,EACA,GAAIN,CACL,CAAA,CAEL,CAEA,SAAgBY,EAAY,CAAE,YAAW,GAAGZ,GAAuD,CACjG,MAAO,kBAACL,EAAc,QAAf,CAAuB,YAAU,eAAe,UAAWU,EAAG,iBAAkBC,CAAS,EAAG,GAAIN,CAAQ,CAAA,CACjH"}
@@ -0,0 +1,31 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/TerminalView.d.ts
3
+ /**
4
+ * A terminal emulator, for output that is a screen rather than a document.
5
+ *
6
+ * `AnsiText` beside it renders colour in text that happens to carry escapes.
7
+ * This is the other thing: a full VT emulator that keeps a cursor, a grid and
8
+ * an alternate screen, so a prompt, a progress bar or a full-screen program
9
+ * behaves the way it would in a shell. Give it the bytes a pty produced and it
10
+ * draws them; take its `onData` and you have what the reader typed.
11
+ *
12
+ * The emulator is loaded on mount rather than with the bundle. It is not a
13
+ * small dependency, and most surfaces never show a terminal.
14
+ */
15
+ export interface TerminalHandle {
16
+ /** Writes pane bytes, escapes and all. */
17
+ write(data: Uint8Array | string): void;
18
+ /** Clears the screen and scrollback, for a stream that restarted. */
19
+ reset(): void;
20
+ }
21
+ export interface TerminalViewProps extends Omit<ComponentProps<'div'>, 'children' | 'onData' | 'ref'> {
22
+ /** What the reader typed, already encoded the way a terminal sends it. */
23
+ onData?: (text: string) => void;
24
+ /** Called once the emulator is live, so a caller can start feeding it. */
25
+ onReady?: () => void;
26
+ ref?: React.Ref<TerminalHandle>;
27
+ fontSize?: number;
28
+ }
29
+ export declare function TerminalView({ onData, onReady, ref, fontSize, className, ...props }: TerminalViewProps): import("react").JSX.Element;
30
+ //#endregion
31
+ //# sourceMappingURL=TerminalView.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalView.d.mts","names":[],"sources":["../../../../../../src/components/TerminalView.tsx"],"mappings":";;;;;;;;;;;;;;iBAkBiB;;EAEf,MAAM,MAAM;;EAEZ;;iBAGe,0BAA0B,KAAK;;EAE9C,UAAU;;EAEV;EACA,MAAM,MAAM,IAAI;EAChB;;wBAWc,eACd,QACA,SACA,KACA,UACA,cACG,SACF,oCAAiB,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{themeVariable as t}from"../types/theme.mjs";import{jsx as n}from"react/jsx-runtime";import{useEffect as r,useImperativeHandle as i,useRef as a,useState as o}from"react";function s(e,n){return getComputedStyle(e).getPropertyValue(t(n)).trim()}function c({onData:t,onReady:c,ref:l,fontSize:u=11,className:d,...f}){let p=a(null),m=a(void 0),h=a(t),[g,_]=o(!1);return r(()=>{h.current=t}),i(l,()=>({write:e=>m.current?.write(e),reset:()=>m.current?.reset()})),r(()=>{let e=p.current;if(e===null)return;let t=!1,n=()=>void 0;return(async()=>{let[{Terminal:r}]=await Promise.all([import(`@xterm/xterm`),import(`@xterm/xterm/css/xterm.css`)]);if(t)return;let i=new r({cursorBlink:!0,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:u,allowTransparency:!0,theme:{background:s(e,`deep`),foreground:s(e,`dim`),cursor:s(e,`hi`),selectionBackground:s(e,`selected`)}});i.open(e),i.onData(e=>h.current?.(e)),m.current={write:e=>i.write(e),reset:()=>i.reset()},_(!0),c?.(),n=()=>{m.current=void 0,i.dispose()}})(),()=>{t=!0,n()}},[]),/* @__PURE__ */ n(`div`,{ref:p,"data-slot":`terminal-view`,"data-ready":g,className:e(`h-full min-w-0 w-full overflow-auto`,d),...f})}export{c as TerminalView};
2
+ //# sourceMappingURL=TerminalView.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalView.mjs","names":["tokenColour","root","themeVariable","token","TerminalView","props","mount","useRef","handle","dataRef","onData","ready","setReady","useState","useEffect","useImperativeHandle","ref","data","element","disposed","dispose","terminal","Terminal","text","onReady","cn","className"],"sources":["../../../../../../src/components/TerminalView.tsx"],"sourcesContent":["import { type ComponentProps, useEffect, useImperativeHandle, useRef, useState } from 'react';\n\nimport { cn } from '../lib/cn';\nimport { themeVariable } from '../types/theme';\n\n/**\n * A terminal emulator, for output that is a screen rather than a document.\n *\n * `AnsiText` beside it renders colour in text that happens to carry escapes.\n * This is the other thing: a full VT emulator that keeps a cursor, a grid and\n * an alternate screen, so a prompt, a progress bar or a full-screen program\n * behaves the way it would in a shell. Give it the bytes a pty produced and it\n * draws them; take its `onData` and you have what the reader typed.\n *\n * The emulator is loaded on mount rather than with the bundle. It is not a\n * small dependency, and most surfaces never show a terminal.\n */\n\nexport interface TerminalHandle {\n /** Writes pane bytes, escapes and all. */\n write(data: Uint8Array | string): void;\n /** Clears the screen and scrollback, for a stream that restarted. */\n reset(): void;\n}\n\nexport interface TerminalViewProps extends Omit<ComponentProps<'div'>, 'children' | 'onData' | 'ref'> {\n /** What the reader typed, already encoded the way a terminal sends it. */\n onData?: (text: string) => void;\n /** Called once the emulator is live, so a caller can start feeding it. */\n onReady?: () => void;\n ref?: React.Ref<TerminalHandle>;\n fontSize?: number;\n}\n\nconst DEFAULT_FONT_SIZE = 11;\nconst FONT_STACK = 'ui-monospace, SFMono-Regular, Menlo, monospace';\n\n/** Reads a theme token from the document, so the terminal follows the active theme. */\nfunction tokenColour(root: HTMLElement, token: Parameters<typeof themeVariable>[0]): string {\n return getComputedStyle(root).getPropertyValue(themeVariable(token)).trim();\n}\n\nexport function TerminalView({\n onData,\n onReady,\n ref,\n fontSize = DEFAULT_FONT_SIZE,\n className,\n ...props\n}: TerminalViewProps) {\n const mount = useRef<HTMLDivElement | null>(null);\n const handle = useRef<TerminalHandle | undefined>(undefined);\n const dataRef = useRef<((text: string) => void) | undefined>(onData);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n dataRef.current = onData;\n });\n\n useImperativeHandle(ref, () => ({\n write: (data) => handle.current?.write(data),\n reset: () => handle.current?.reset(),\n }));\n\n useEffect(() => {\n const element = mount.current;\n if (element === null) return;\n let disposed = false;\n let dispose = (): void => undefined;\n\n void (async () => {\n const [{ Terminal }] = await Promise.all([import('@xterm/xterm'), import('@xterm/xterm/css/xterm.css')]);\n if (disposed) return;\n const terminal = new Terminal({\n cursorBlink: true,\n fontFamily: FONT_STACK,\n fontSize,\n allowTransparency: true,\n // Taken from the document's own custom properties rather than written\n // here, so a theme switch is the only place a colour is ever decided.\n theme: {\n background: tokenColour(element, 'deep'),\n foreground: tokenColour(element, 'dim'),\n cursor: tokenColour(element, 'hi'),\n selectionBackground: tokenColour(element, 'selected'),\n },\n });\n terminal.open(element);\n terminal.onData((text) => dataRef.current?.(text));\n handle.current = {\n write: (data) => terminal.write(data),\n reset: () => terminal.reset(),\n };\n setReady(true);\n onReady?.();\n\n dispose = () => {\n handle.current = undefined;\n terminal.dispose();\n };\n })();\n\n return () => {\n disposed = true;\n dispose();\n };\n // The emulator is built once for the life of the surface; later prop\n // changes reach it through the refs above rather than rebuilding it.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div\n ref={mount}\n data-slot=\"terminal-view\"\n data-ready={ready}\n className={cn('h-full min-w-0 w-full overflow-auto', className)}\n {...props}\n />\n );\n}\n"],"mappings":"mNAsCA,SAASA,EAAY,EAAmB,EAAoD,CAC1F,OAAO,iBAAiBC,CAAI,CAAC,CAAC,iBAAiBC,EAAcC,CAAK,CAAC,CAAC,CAAC,KAAK,CAC5E,CAEA,SAAgBC,EAAa,CAC3B,SACA,UACA,MACA,WAAW,GACX,YACA,GAAGC,GACiB,CACpB,IAAMC,EAAQC,EAA8B,IAAI,EAC1CC,EAASD,EAAmC,IAAA,EAAS,EACrDE,EAAUF,EAA6CG,CAAM,EAC7D,CAACC,EAAOC,GAAYC,EAAS,EAAK,EA0DxC,OAxDAC,MAAgB,CACd,EAAQ,QAAUJ,CACpB,CAAC,EAEDK,EAAoBC,OAAY,CAC9B,MAAQ,GAASR,EAAO,SAAS,MAAMS,CAAI,EAC3C,UAAaT,EAAO,SAAS,MAAM,CACrC,EAAE,EAEFM,MAAgB,CACd,IAAMI,EAAUZ,EAAM,QACtB,GAAIY,IAAY,KAAM,OACtB,IAAIC,EAAW,GACXC,MAAsB,IAAA,GAkC1B,OAhCM,SAAY,CAChB,GAAM,CAAC,CAAE,aAAc,MAAM,QAAQ,IAAI,CAAC,OAAO,gBAAiB,OAAO,6BAA6B,CAAC,EACvG,GAAID,EAAU,OACd,IAAME,EAAW,IAAIC,EAAS,CAC5B,YAAa,GACb,WAAY,iDACZ,WACA,kBAAmB,GAGnB,MAAO,CACL,WAAYtB,EAAYkB,EAAS,MAAM,EACvC,WAAYlB,EAAYkB,EAAS,KAAK,EACtC,OAAQlB,EAAYkB,EAAS,IAAI,EACjC,oBAAqBlB,EAAYkB,EAAS,UAAU,CACtD,CACF,CAAC,EACDG,EAAS,KAAKH,CAAO,EACrBG,EAAS,OAAQ,GAASZ,EAAQ,UAAUc,CAAI,CAAC,EACjD,EAAO,QAAU,CACf,MAAQ,GAASF,EAAS,MAAMJ,CAAI,EACpC,UAAaI,EAAS,MAAM,CAC9B,EACAT,EAAS,EAAI,EACbY,IAAU,EAEV,MAAgB,CACd,EAAO,QAAU,IAAA,GACjBH,EAAS,QAAQ,CACnB,CACF,EAAA,CAAG,MAEU,CACX,EAAW,GACXD,EAAQ,CACV,CAIF,EAAG,CAAC,CAAC,EAGH,kBAAC,MAAD,CACE,IAAKd,EACL,YAAU,gBACV,aAAYK,EACZ,UAAWc,EAAG,sCAAuCC,CAAS,EAC9D,GAAIrB,CACL,CAAA,CAEL"}
@@ -0,0 +1,9 @@
1
+ import { fieldVariants } from "./Input.mjs";
2
+ import { ComponentProps } from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region src/components/Textarea.d.ts
5
+ export interface TextareaProps extends Omit<ComponentProps<'textarea'>, 'size'>, VariantProps<typeof fieldVariants> {}
6
+ /** The multi-line field, styled as the Input; `bare` drops the well for a composer that draws its own. */
7
+ export declare function Textarea({ className, variant, size, ...props }: TextareaProps): import("react").JSX.Element;
8
+ //#endregion
9
+ //# sourceMappingURL=Textarea.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.mts","names":[],"sources":["../../../../../../src/components/Textarea.tsx"],"mappings":";;;;iBAMiB,sBAAsB,KAAK,qCAAqC,oBAAoB;;wBAGrF,WAAW,WAAW,SAAS,SAAS,SAAS,gCAAa,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{fieldVariants as t}from"./Input.mjs";import{jsx as n}from"react/jsx-runtime";function r({className:r,variant:i,size:a,...o}){return/* @__PURE__ */ n(`textarea`,{"data-slot":`textarea`,className:e(`resize-none`,t({variant:i,size:a}),r),...o})}export{r as Textarea};
2
+ //# sourceMappingURL=Textarea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.mjs","names":["Textarea","props","cn","fieldVariants","className"],"sources":["../../../../../../src/components/Textarea.tsx"],"sourcesContent":["import type { VariantProps } from 'class-variance-authority';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\nimport { fieldVariants } from './Input';\n\nexport interface TextareaProps extends Omit<ComponentProps<'textarea'>, 'size'>, VariantProps<typeof fieldVariants> {}\n\n/** The multi-line field, styled as the Input; `bare` drops the well for a composer that draws its own. */\nexport function Textarea({ className, variant, size, ...props }: TextareaProps) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn('resize-none', fieldVariants({ variant, size }), className)}\n {...props}\n />\n );\n}\n"],"mappings":"uHASA,SAAgBA,EAAS,CAAE,YAAW,UAAS,OAAM,GAAGC,GAAwB,CAC9E,MACE,kBAAC,WAAD,CACE,YAAU,WACV,UAAWC,EAAG,cAAeC,EAAc,CAAE,UAAS,MAAK,CAAC,EAAGC,CAAS,EACxE,GAAIH,CACL,CAAA,CAEL"}
@@ -0,0 +1,24 @@
1
+ import { Toast } from "radix-ui";
2
+ import { ComponentProps } from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region src/components/Toast.d.ts
5
+ /**
6
+ * A transient notice. Radix owns the part that is easy to get wrong: it
7
+ * announces through a live region, pauses its timer on hover and on window
8
+ * blur, and restores focus when it leaves. Mount one ToastProvider and one
9
+ * ToastViewport per page.
10
+ */
11
+ export declare function ToastProvider(props: ComponentProps<typeof Toast.Provider>): import("react").JSX.Element;
12
+ export declare function ToastViewport({ className, ...props }: ComponentProps<typeof Toast.Viewport>): import("react").JSX.Element;
13
+ export declare const toastVariants: (props?: ({
14
+ tone?: "accent" | "error" | "info" | "neutral" | "ok" | "running" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ export interface ToastProps extends ComponentProps<typeof Toast.Root>, VariantProps<typeof toastVariants> {}
17
+ declare function Toast$1({ className, tone, ...props }: ToastProps): import("react").JSX.Element;
18
+ export declare function ToastTitle({ className, ...props }: ComponentProps<typeof Toast.Title>): import("react").JSX.Element;
19
+ export declare function ToastDescription({ className, ...props }: ComponentProps<typeof Toast.Description>): import("react").JSX.Element;
20
+ export declare function ToastAction(props: ComponentProps<typeof Toast.Action>): import("react").JSX.Element;
21
+ export declare function ToastClose({ className, ...props }: ComponentProps<typeof Toast.Close>): import("react").JSX.Element;
22
+ //#endregion
23
+ export { Toast$1 as Toast };
24
+ //# sourceMappingURL=Toast.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.d.mts","names":["ToastPrimitive","Toast"],"sources":["../../../../../../src/components/Toast.tsx"],"mappings":";;;;;;;;;;wBAcgB,cAAc,OAAO,sBAAsBA,MAAe,4BAAS,IAAA;wBAInE,gBAAgB,cAAc,SAAS,sBAAsBA,MAAe,4BAAS,IAAA;qBAUxF,gBAAa;;6CAezB;iBAEgB,mBAAmB,sBAAsBA,MAAe,OAAO,oBAAoB;iBAEpFC,UAAQ,WAAW,SAAS,SAAS,6BAAU,IAAA;wBAI/C,aAAa,cAAc,SAAS,sBAAsBD,MAAe,yBAAM,IAAA;wBAU/E,mBAAmB,cAAc,SAAS,sBAAsBA,MAAe,+BAAY,IAAA;wBAU3F,YAAY,OAAO,sBAAsBA,MAAe,0BAAO,IAAA;wBAI/D,aAAa,cAAc,SAAS,sBAAsBA,MAAe,yBAAM,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{CloseIcon as e}from"../icons/icons.mjs";import{cn as t}from"../lib/cn.mjs";import{Toast as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";function a(e){return/* @__PURE__ */ r(n.Provider,{...e})}function o({className:e,...i}){return/* @__PURE__ */ r(n.Viewport,{"data-slot":`toast-viewport`,className:t(`fixed right-4 bottom-4 z-50 flex w-[360px] max-w-full flex-col gap-2 outline-none`,e),...i})}const s=i(`flex items-start gap-3 rounded-md border bg-doom-panel px-3 py-2.5 shadow-2xl data-[state=open]:animate-doom-rise`,{variants:{tone:{neutral:`border-doom-border`,running:`border-doom-edge-yellow`,ok:`border-doom-edge-green`,error:`border-doom-edge-red`,info:`border-doom-edge-blue`,accent:`border-doom-edge-magenta`}},defaultVariants:{tone:`neutral`}});function c({className:e,tone:i,...a}){return/* @__PURE__ */ r(n.Root,{"data-slot":`toast`,className:t(s({tone:i}),e),...a})}function l({className:e,...i}){return/* @__PURE__ */ r(n.Title,{"data-slot":`toast-title`,className:t(`text-base font-semibold text-doom-hi`,e),...i})}function u({className:e,...i}){return/* @__PURE__ */ r(n.Description,{"data-slot":`toast-description`,className:t(`text-sm leading-relaxed text-doom-dim`,e),...i})}function d(e){return/* @__PURE__ */ r(n.Action,{"data-slot":`toast-action`,...e})}function f({className:i,...a}){return/* @__PURE__ */ r(n.Close,{"data-slot":`toast-close`,"aria-label":`dismiss`,className:t(`inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded text-doom-faint transition-colors hover:text-doom-hi`,i),...a,children:/* @__PURE__ */ r(e,{className:`h-3 w-3`})})}export{c as Toast,d as ToastAction,f as ToastClose,u as ToastDescription,a as ToastProvider,l as ToastTitle,o as ToastViewport,s as toastVariants};
2
+ //# sourceMappingURL=Toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.mjs","names":["ToastPrimitive","Toast","ToastProvider","Toast","props","ToastViewport","cn","className","toastVariants","cva","Toast$1","ToastTitle","ToastDescription","ToastAction","ToastClose","CloseIcon"],"sources":["../../../../../../src/components/Toast.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { Toast as ToastPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { CloseIcon } from '../icons/icons';\nimport { cn } from '../lib/cn';\nimport type { StatusTone } from '../types/tone';\n\n/**\n * A transient notice. Radix owns the part that is easy to get wrong: it\n * announces through a live region, pauses its timer on hover and on window\n * blur, and restores focus when it leaves. Mount one ToastProvider and one\n * ToastViewport per page.\n */\nexport function ToastProvider(props: ComponentProps<typeof ToastPrimitive.Provider>) {\n return <ToastPrimitive.Provider {...props} />;\n}\n\nexport function ToastViewport({ className, ...props }: ComponentProps<typeof ToastPrimitive.Viewport>) {\n return (\n <ToastPrimitive.Viewport\n data-slot=\"toast-viewport\"\n className={cn('fixed right-4 bottom-4 z-50 flex w-[360px] max-w-full flex-col gap-2 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport const toastVariants = cva(\n 'flex items-start gap-3 rounded-md border bg-doom-panel px-3 py-2.5 shadow-2xl data-[state=open]:animate-doom-rise',\n {\n variants: {\n tone: {\n neutral: 'border-doom-border',\n running: 'border-doom-edge-yellow',\n ok: 'border-doom-edge-green',\n error: 'border-doom-edge-red',\n info: 'border-doom-edge-blue',\n accent: 'border-doom-edge-magenta',\n } satisfies Record<StatusTone, string>,\n },\n defaultVariants: { tone: 'neutral' },\n },\n);\n\nexport interface ToastProps extends ComponentProps<typeof ToastPrimitive.Root>, VariantProps<typeof toastVariants> {}\n\nexport function Toast({ className, tone, ...props }: ToastProps) {\n return <ToastPrimitive.Root data-slot=\"toast\" className={cn(toastVariants({ tone }), className)} {...props} />;\n}\n\nexport function ToastTitle({ className, ...props }: ComponentProps<typeof ToastPrimitive.Title>) {\n return (\n <ToastPrimitive.Title\n data-slot=\"toast-title\"\n className={cn('text-base font-semibold text-doom-hi', className)}\n {...props}\n />\n );\n}\n\nexport function ToastDescription({ className, ...props }: ComponentProps<typeof ToastPrimitive.Description>) {\n return (\n <ToastPrimitive.Description\n data-slot=\"toast-description\"\n className={cn('text-sm leading-relaxed text-doom-dim', className)}\n {...props}\n />\n );\n}\n\nexport function ToastAction(props: ComponentProps<typeof ToastPrimitive.Action>) {\n return <ToastPrimitive.Action data-slot=\"toast-action\" {...props} />;\n}\n\nexport function ToastClose({ className, ...props }: ComponentProps<typeof ToastPrimitive.Close>) {\n return (\n <ToastPrimitive.Close\n data-slot=\"toast-close\"\n aria-label=\"dismiss\"\n className={cn(\n 'inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded text-doom-faint transition-colors hover:text-doom-hi',\n className,\n )}\n {...props}\n >\n <CloseIcon className=\"h-3 w-3\" />\n </ToastPrimitive.Close>\n );\n}\n"],"mappings":"0MAcA,SAAgBE,EAAc,EAAuD,CACnF,MAAO,kBAACF,EAAe,SAAhB,CAAyB,GAAII,CAAQ,CAAA,CAC9C,CAEA,SAAgBC,EAAc,CAAE,YAAW,GAAGD,GAAyD,CACrG,MACE,kBAACJ,EAAe,SAAhB,CACE,YAAU,iBACV,UAAWM,EAAG,oFAAqFC,CAAS,EAC5G,GAAIH,CACL,CAAA,CAEL,CAEA,MAAaI,EAAgBC,EAC3B,oHACA,CACE,SAAU,CACR,KAAM,CACJ,QAAS,qBACT,QAAS,0BACT,GAAI,yBACJ,MAAO,uBACP,KAAM,wBACN,OAAQ,0BACV,CACF,EACA,gBAAiB,CAAE,KAAM,SAAU,CACrC,CACF,EAIA,SAAgBR,EAAM,CAAE,YAAW,OAAM,GAAGG,GAAqB,CAC/D,MAAO,kBAACJ,EAAe,KAAhB,CAAqB,YAAU,QAAQ,UAAWM,EAAGE,EAAc,CAAE,MAAK,CAAC,EAAGD,CAAS,EAAG,GAAIH,CAAQ,CAAA,CAC/G,CAEA,SAAgBO,EAAW,CAAE,YAAW,GAAGP,GAAsD,CAC/F,MACE,kBAACJ,EAAe,MAAhB,CACE,YAAU,cACV,UAAWM,EAAG,uCAAwCC,CAAS,EAC/D,GAAIH,CACL,CAAA,CAEL,CAEA,SAAgBQ,EAAiB,CAAE,YAAW,GAAGR,GAA4D,CAC3G,MACE,kBAACJ,EAAe,YAAhB,CACE,YAAU,oBACV,UAAWM,EAAG,wCAAyCC,CAAS,EAChE,GAAIH,CACL,CAAA,CAEL,CAEA,SAAgBS,EAAY,EAAqD,CAC/E,MAAO,kBAACb,EAAe,OAAhB,CAAuB,YAAU,eAAe,GAAII,CAAQ,CAAA,CACrE,CAEA,SAAgBU,EAAW,CAAE,YAAW,GAAGV,GAAsD,CAC/F,MACE,kBAACJ,EAAe,MAAhB,CACE,YAAU,cACV,aAAW,UACX,UAAWM,EACT,uIACAC,CACF,EACA,GAAIH,EAEJ,SAAA,kBAACW,EAAD,CAAW,UAAU,SAAW,CAAA,CACZ,CAAA,CAE1B"}
@@ -0,0 +1,22 @@
1
+ //#region src/components/ToolPathLink.d.ts
2
+ /**
3
+ * The file path in a tool call's header, as a link when something can open it.
4
+ *
5
+ * A read, a write and an edit all put a path in the same place, and a reader
6
+ * who wants to see that file should not have to go looking for it in a file
7
+ * list. Whether the path can be opened is not this component's business: the
8
+ * host resolves it against whatever plugin owns files, and hands the answer
9
+ * down as `onOpen`. Without one the path stays exactly what it was, plain
10
+ * text, because a link that opens nothing is worse than no link.
11
+ */
12
+ export interface ToolPathLinkProps {
13
+ path: string;
14
+ /** Opens the file; omitted when nothing installed can show it. */
15
+ onOpen?: () => void;
16
+ className?: string;
17
+ /** Defaults to `tool-path`, which is how a test finds the link inside a call header. */
18
+ 'data-testid'?: string;
19
+ }
20
+ export declare function ToolPathLink({ path, onOpen, className, 'data-testid': testId, ...props }: ToolPathLinkProps): import("react").JSX.Element;
21
+ //#endregion
22
+ //# sourceMappingURL=ToolPathLink.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolPathLink.d.mts","names":[],"sources":["../../../../../../src/components/ToolPathLink.tsx"],"mappings":";;;;;;;;;;;iBAaiB;EACf;;EAEA;EACA;;EAEA;;wBAGc,eACd,MACA,QACA,0BACe,WACZ,SACF,oCAAiB,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{jsx as t}from"react/jsx-runtime";function n({path:n,onOpen:r,className:i,"data-testid":a=`tool-path`,...o}){return r===void 0?/* @__PURE__ */ t(`span`,{"data-slot":`tool-path`,"data-testid":a,className:e(`inline-block max-w-full min-w-0 truncate align-bottom text-doom-text`,i),...o,children:n}):/* @__PURE__ */ t(`button`,{type:`button`,"data-slot":`tool-path`,"data-testid":a,title:`open ${n}`,onClick:r,className:e(`min-h-6 max-w-full min-w-0 cursor-pointer truncate text-left text-doom-text hover:text-doom-blue hover:underline`,i),...o,children:n})}export{n as ToolPathLink};
2
+ //# sourceMappingURL=ToolPathLink.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolPathLink.mjs","names":["ToolPathLink","testId","props","onOpen","cn","className","path"],"sources":["../../../../../../src/components/ToolPathLink.tsx"],"sourcesContent":["import { cn } from '../lib/cn';\n\n/**\n * The file path in a tool call's header, as a link when something can open it.\n *\n * A read, a write and an edit all put a path in the same place, and a reader\n * who wants to see that file should not have to go looking for it in a file\n * list. Whether the path can be opened is not this component's business: the\n * host resolves it against whatever plugin owns files, and hands the answer\n * down as `onOpen`. Without one the path stays exactly what it was, plain\n * text, because a link that opens nothing is worse than no link.\n */\n\nexport interface ToolPathLinkProps {\n path: string;\n /** Opens the file; omitted when nothing installed can show it. */\n onOpen?: () => void;\n className?: string;\n /** Defaults to `tool-path`, which is how a test finds the link inside a call header. */\n 'data-testid'?: string;\n}\n\nexport function ToolPathLink({\n path,\n onOpen,\n className,\n 'data-testid': testId = 'tool-path',\n ...props\n}: ToolPathLinkProps) {\n if (onOpen === undefined) {\n return (\n <span\n data-slot=\"tool-path\"\n data-testid={testId}\n className={cn('inline-block max-w-full min-w-0 truncate align-bottom text-doom-text', className)}\n {...props}\n >\n {path}\n </span>\n );\n }\n return (\n <button\n type=\"button\"\n data-slot=\"tool-path\"\n data-testid={testId}\n title={`open ${path}`}\n onClick={onOpen}\n className={cn(\n 'min-h-6 max-w-full min-w-0 cursor-pointer truncate text-left text-doom-text hover:text-doom-blue hover:underline',\n className,\n )}\n {...props}\n >\n {path}\n </button>\n );\n}\n"],"mappings":"2EAsBA,SAAgBA,EAAa,CAC3B,OACA,SACA,YACA,cAAeC,EAAS,YACxB,GAAGC,GACiB,CAapB,OAZIC,IAAW,IAAA,GAEX,kBAAC,OAAD,CACE,YAAU,YACV,cAAaF,EACb,UAAWG,EAAG,uEAAwEC,CAAS,EAC/F,GAAIH,EAEH,SAAAI,CACG,CAAA,EAIR,kBAAC,SAAD,CACE,KAAK,SACL,YAAU,YACV,cAAaL,EACb,MAAO,QAAQK,IACf,QAASH,EACT,UAAWC,EACT,mHACAC,CACF,EACA,GAAIH,EAEH,SAAAI,CACK,CAAA,CAEZ"}
@@ -0,0 +1,11 @@
1
+ import { Tooltip } from "radix-ui";
2
+ import { ComponentProps } from "react";
3
+ //#region src/components/Tooltip.d.ts
4
+ /** Mount once near the root; every Tooltip below shares its delay. */
5
+ export declare function TooltipProvider({ delayDuration, ...props }: ComponentProps<typeof Tooltip.Provider>): import("react").JSX.Element;
6
+ declare function Tooltip$1(props: ComponentProps<typeof Tooltip.Root>): import("react").JSX.Element;
7
+ export declare function TooltipTrigger(props: ComponentProps<typeof Tooltip.Trigger>): import("react").JSX.Element;
8
+ export declare function TooltipContent({ className, sideOffset, children, ...props }: ComponentProps<typeof Tooltip.Content>): import("react").JSX.Element;
9
+ //#endregion
10
+ export { Tooltip$1 as Tooltip };
11
+ //# sourceMappingURL=Tooltip.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.d.mts","names":["TooltipPrimitive","Tooltip"],"sources":["../../../../../../src/components/Tooltip.tsx"],"mappings":";;;;wBAMgB,kBAAkB,kBAAwB,SAAS,sBAAsBA,QAAiB,4BAAS,IAAA;iBAInGC,UAAQ,OAAO,sBAAsBD,QAAiB,wBAAK,IAAA;wBAI3D,eAAe,OAAO,sBAAsBA,QAAiB,2BAAQ,IAAA;wBAIrE,iBACd,WACA,YACA,aACG,SACF,sBAAsBA,QAAiB,2BAAQ,IAAA"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../lib/cn.mjs";import{Tooltip as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function r({delayDuration:e=300,...r}){return/* @__PURE__ */ n(t.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...r})}function i(e){return/* @__PURE__ */ n(t.Root,{"data-slot":`tooltip`,...e})}function a(e){return/* @__PURE__ */ n(t.Trigger,{"data-slot":`tooltip-trigger`,...e})}function o({className:r,sideOffset:i=4,children:a,...o}){return/* @__PURE__ */ n(t.Portal,{children:/* @__PURE__ */ n(t.Content,{"data-slot":`tooltip-content`,sideOffset:i,className:e(`z-50 rounded border border-doom-border bg-doom-deep px-2 py-1 text-sm text-doom-text shadow-lg data-[state=delayed-open]:animate-doom-fade`,r),...o,children:a})})}export{i as Tooltip,o as TooltipContent,r as TooltipProvider,a as TooltipTrigger};
2
+ //# sourceMappingURL=Tooltip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.mjs","names":["TooltipPrimitive","Tooltip","TooltipProvider","props","Tooltip","Tooltip$1","TooltipTrigger","TooltipContent","cn","className"],"sources":["../../../../../../src/components/Tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../lib/cn';\n\n/** Mount once near the root; every Tooltip below shares its delay. */\nexport function TooltipProvider({ delayDuration = 300, ...props }: ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nexport function Tooltip(props: ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nexport function TooltipTrigger(props: ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nexport function TooltipContent({\n className,\n sideOffset = 4,\n children,\n ...props\n}: ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'z-50 rounded border border-doom-border bg-doom-deep px-2 py-1 text-sm text-doom-text shadow-lg data-[state=delayed-open]:animate-doom-fade',\n className,\n )}\n {...props}\n >\n {children}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n"],"mappings":"8GAMA,SAAgBE,EAAgB,CAAE,gBAAgB,IAAK,GAAGC,GAA2D,CACnH,MAAO,kBAACH,EAAiB,SAAlB,CAA2B,YAAU,mBAAkC,gBAAe,GAAIG,CAAQ,CAAA,CAC3G,CAEA,SAAgBF,EAAQ,EAAqD,CAC3E,MAAO,kBAACD,EAAiB,KAAlB,CAAuB,YAAU,UAAU,GAAIG,CAAQ,CAAA,CAChE,CAEA,SAAgBG,EAAe,EAAwD,CACrF,MAAO,kBAACN,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIG,CAAQ,CAAA,CAC3E,CAEA,SAAgBI,EAAe,CAC7B,YACA,aAAa,EACb,WACA,GAAGJ,GAC+C,CAClD,MACE,kBAACH,EAAiB,OAAlB,CAAA,SACE,kBAACA,EAAiB,QAAlB,CACE,YAAU,kBACE,aACZ,UAAWQ,EACT,6IACAC,CACF,EACA,GAAIN,EAEH,UACuB,CAAA,CACH,CAAA,CAE7B"}
@@ -0,0 +1,2 @@
1
+ import { Activity as ActivityIcon, ArrowRight as ArrowRightIcon, AudioLines as AudioLinesIcon, BookmarkPlus as BookmarkPlusIcon, Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, CircleAlert as AlertIcon, CirclePlay as PlayCircleIcon, Copy as CopyIcon, CornerDownLeft as EnterIcon, ExternalLink as ExternalLinkIcon, FileText as FileIcon, Folder as FolderIcon, GitBranch as BranchIcon, GitFork as ForkIcon, House as HomeIcon, Lightbulb as LightbulbIcon, Loader2 as LoaderIcon, Lock as LockIcon, LockOpen as UnlockIcon, MessageCircle as MessageIcon, Mic as MicIcon, MoreVertical as KebabIcon, Palette as PaletteIcon, Paperclip as PaperclipIcon, Pencil as EditIcon, Plus as PlusIcon, Quote as QuoteIcon, RefreshCw as RefreshIcon, Rewind as RewindIcon, Search as SearchIcon, Send as SendIcon, Settings as GearIcon, ShieldCheck as ShieldIcon, Sparkles as SparklesIcon, Square as StopIcon, SquareCheckBig as TaskIcon, Trash2 as TrashIcon, UserRound as UserIcon, Users as UsersIcon, Volume2 as VolumeIcon, Workflow as WorkflowIcon, Wrench as WrenchIcon, X as CloseIcon } from "lucide-react";
2
+ export { ActivityIcon, AlertIcon, ArrowRightIcon, AudioLinesIcon, BookmarkPlusIcon, BranchIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, CloseIcon, CopyIcon, EditIcon, EnterIcon, ExternalLinkIcon, FileIcon, FolderIcon, ForkIcon, GearIcon, HomeIcon, KebabIcon, LightbulbIcon, LoaderIcon, LockIcon, MessageIcon, MicIcon, PaletteIcon, PaperclipIcon, PlayCircleIcon, PlusIcon, QuoteIcon, RefreshIcon, RewindIcon, SearchIcon, SendIcon, ShieldIcon, SparklesIcon, StopIcon, TaskIcon, TrashIcon, UnlockIcon, UserIcon, UsersIcon, VolumeIcon, WorkflowIcon, WrenchIcon };
@@ -0,0 +1 @@
1
+ import{Activity as e,ArrowRight as t,AudioLines as n,BookmarkPlus as r,Check as i,ChevronDown as a,ChevronRight as o,ChevronUp as s,CircleAlert as c,CirclePlay as l,Copy as u,CornerDownLeft as d,ExternalLink as f,FileText as p,Folder as m,GitBranch as h,GitFork as g,House as _,Lightbulb as v,Loader2 as y,Lock as b,LockOpen as x,MessageCircle as S,Mic as C,MoreVertical as w,Palette as T,Paperclip as E,Pencil as D,Plus as O,Quote as k,RefreshCw as A,Rewind as j,Search as M,Send as N,Settings as P,ShieldCheck as F,Sparkles as I,Square as L,SquareCheckBig as R,Trash2 as z,UserRound as B,Users as V,Volume2 as H,Workflow as U,Wrench as W,X as G}from"lucide-react";export{e as ActivityIcon,c as AlertIcon,t as ArrowRightIcon,n as AudioLinesIcon,r as BookmarkPlusIcon,h as BranchIcon,i as CheckIcon,a as ChevronDownIcon,o as ChevronRightIcon,s as ChevronUpIcon,G as CloseIcon,u as CopyIcon,D as EditIcon,d as EnterIcon,f as ExternalLinkIcon,p as FileIcon,m as FolderIcon,g as ForkIcon,P as GearIcon,_ as HomeIcon,w as KebabIcon,v as LightbulbIcon,y as LoaderIcon,b as LockIcon,S as MessageIcon,C as MicIcon,T as PaletteIcon,E as PaperclipIcon,l as PlayCircleIcon,O as PlusIcon,k as QuoteIcon,A as RefreshIcon,j as RewindIcon,M as SearchIcon,N as SendIcon,F as ShieldIcon,I as SparklesIcon,L as StopIcon,R as TaskIcon,z as TrashIcon,x as UnlockIcon,B as UserIcon,V as UsersIcon,H as VolumeIcon,U as WorkflowIcon,W as WrenchIcon};
@@ -0,0 +1,42 @@
1
+ //#region src/lib/ansiSpans.d.ts
2
+ /**
3
+ * The escapes a captured terminal screen carries, turned into spans.
4
+ *
5
+ * WHY THIS EXISTS:
6
+ * Two kinds of output reach the cockpit with a terminal's colour still in it.
7
+ * A workflow captures a tmux pane with `-e`, and a runner's log file keeps the
8
+ * palette on purpose, stripping only cursor moves and redraws. The browser has
9
+ * no terminal, and the cockpit carries no terminal emulator, so the sequences
10
+ * are read here and rendered as ordinary spans. It lives in the component
11
+ * library because both readers need it and neither may import the other.
12
+ *
13
+ * WHAT IT UNDERSTANDS:
14
+ * SGR (`ESC [ … m`) only: the eight base colours and their bright forms, 256
15
+ * colour and truecolour, and bold, faint, italic, underline and inverse. Every
16
+ * other sequence is dropped rather than printed, because a cursor move or a
17
+ * clear that arrives as visible junk is worse than one that arrives as
18
+ * nothing: the screen is a snapshot, and the next one repaints it anyway.
19
+ *
20
+ * The named colours become theme tokens rather than the child's own palette,
21
+ * so a run's output sits in the cockpit's colours instead of fighting them.
22
+ * Only 256-colour and truecolour, which name a colour no token can stand in
23
+ * for, are rendered as themselves.
24
+ */
25
+ /** One run of text with the attributes in force when it was printed. */
26
+ export interface AnsiSpan {
27
+ text: string;
28
+ /** Theme class for a named colour, absent when the colour is the default. */
29
+ className?: string;
30
+ /** An exact colour the child asked for, as `rgb(r g b)`; only 256/truecolour set this. */
31
+ color?: string;
32
+ bold?: boolean;
33
+ faint?: boolean;
34
+ italic?: boolean;
35
+ underline?: boolean;
36
+ /** Foreground and background swapped, which a TUI uses for selection and cursors. */
37
+ inverse?: boolean;
38
+ }
39
+ /** One line of captured screen as spans, with every unreadable sequence dropped. */
40
+ export declare function ansiSpans(line: string): AnsiSpan[];
41
+ //#endregion
42
+ //# sourceMappingURL=ansiSpans.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansiSpans.d.mts","names":[],"sources":["../../../../../../src/lib/ansiSpans.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;iBAyBiB;EACf;;EAEA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;;;wBAqLc,UAAU,eAAe"}