@agimon-ai/doompi-web-components 0.0.1-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 (409) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +106 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  4. package/dist/components/Accordion.d.cts +11 -0
  5. package/dist/components/Accordion.d.cts.map +1 -0
  6. package/dist/components/Avatar.d.cts +10 -0
  7. package/dist/components/Avatar.d.cts.map +1 -0
  8. package/dist/components/Badge.d.cts +18 -0
  9. package/dist/components/Badge.d.cts.map +1 -0
  10. package/dist/components/Button.d.cts +25 -0
  11. package/dist/components/Button.d.cts.map +1 -0
  12. package/dist/components/Checkbox.d.cts +8 -0
  13. package/dist/components/Checkbox.d.cts.map +1 -0
  14. package/dist/components/Collapsible.d.cts +10 -0
  15. package/dist/components/Collapsible.d.cts.map +1 -0
  16. package/dist/components/Command.d.cts +42 -0
  17. package/dist/components/Command.d.cts.map +1 -0
  18. package/dist/components/Dialog.d.cts +39 -0
  19. package/dist/components/Dialog.d.cts.map +1 -0
  20. package/dist/components/Dot.d.cts +16 -0
  21. package/dist/components/Dot.d.cts.map +1 -0
  22. package/dist/components/DropdownMenu.d.cts +34 -0
  23. package/dist/components/DropdownMenu.d.cts.map +1 -0
  24. package/dist/components/EmptyState.d.cts +18 -0
  25. package/dist/components/EmptyState.d.cts.map +1 -0
  26. package/dist/components/Input.d.cts +20 -0
  27. package/dist/components/Input.d.cts.map +1 -0
  28. package/dist/components/Kbd.d.cts +7 -0
  29. package/dist/components/Kbd.d.cts.map +1 -0
  30. package/dist/components/Label.d.cts +8 -0
  31. package/dist/components/Label.d.cts.map +1 -0
  32. package/dist/components/Markdown.d.cts +8 -0
  33. package/dist/components/Markdown.d.cts.map +1 -0
  34. package/dist/components/MessageItem.d.cts +71 -0
  35. package/dist/components/MessageItem.d.cts.map +1 -0
  36. package/dist/components/MessageLines.d.cts +24 -0
  37. package/dist/components/MessageLines.d.cts.map +1 -0
  38. package/dist/components/OptionList.d.cts +50 -0
  39. package/dist/components/OptionList.d.cts.map +1 -0
  40. package/dist/components/Panel.d.cts +15 -0
  41. package/dist/components/Panel.d.cts.map +1 -0
  42. package/dist/components/Popover.d.cts +19 -0
  43. package/dist/components/Popover.d.cts.map +1 -0
  44. package/dist/components/Progress.d.cts +8 -0
  45. package/dist/components/Progress.d.cts.map +1 -0
  46. package/dist/components/RadioGroup.d.cts +15 -0
  47. package/dist/components/RadioGroup.d.cts.map +1 -0
  48. package/dist/components/ScrollArea.d.cts +13 -0
  49. package/dist/components/ScrollArea.d.cts.map +1 -0
  50. package/dist/components/SectionLabel.d.cts +7 -0
  51. package/dist/components/SectionLabel.d.cts.map +1 -0
  52. package/dist/components/Select.d.cts +19 -0
  53. package/dist/components/Select.d.cts.map +1 -0
  54. package/dist/components/Separator.d.cts +13 -0
  55. package/dist/components/Separator.d.cts.map +1 -0
  56. package/dist/components/Skeleton.d.cts +11 -0
  57. package/dist/components/Skeleton.d.cts.map +1 -0
  58. package/dist/components/Spinner.d.cts +15 -0
  59. package/dist/components/Spinner.d.cts.map +1 -0
  60. package/dist/components/StatusBadge.d.cts +24 -0
  61. package/dist/components/StatusBadge.d.cts.map +1 -0
  62. package/dist/components/StreamCursor.d.cts +7 -0
  63. package/dist/components/StreamCursor.d.cts.map +1 -0
  64. package/dist/components/Switch.d.cts +8 -0
  65. package/dist/components/Switch.d.cts.map +1 -0
  66. package/dist/components/Tabs.d.cts +36 -0
  67. package/dist/components/Tabs.d.cts.map +1 -0
  68. package/dist/components/Textarea.d.cts +10 -0
  69. package/dist/components/Textarea.d.cts.map +1 -0
  70. package/dist/components/Toast.d.cts +24 -0
  71. package/dist/components/Toast.d.cts.map +1 -0
  72. package/dist/components/Tooltip.d.cts +11 -0
  73. package/dist/components/Tooltip.d.cts.map +1 -0
  74. package/dist/icons/icons.d.cts +2 -0
  75. package/dist/index.cjs +1 -0
  76. package/dist/index.d.cts +42 -0
  77. package/dist/index.d.mts +42 -0
  78. package/dist/index.mjs +1 -0
  79. package/dist/lib/cn.d.cts +7 -0
  80. package/dist/lib/cn.d.cts.map +1 -0
  81. package/dist/lib/collapse.d.cts +15 -0
  82. package/dist/lib/collapse.d.cts.map +1 -0
  83. package/dist/lib/optionList.d.cts +22 -0
  84. package/dist/lib/optionList.d.cts.map +1 -0
  85. package/dist/lib/tone.d.cts +26 -0
  86. package/dist/lib/tone.d.cts.map +1 -0
  87. package/dist/src/components/Accordion.cjs +2 -0
  88. package/dist/src/components/Accordion.cjs.map +1 -0
  89. package/dist/src/components/Accordion.d.mts +11 -0
  90. package/dist/src/components/Accordion.d.mts.map +1 -0
  91. package/dist/src/components/Accordion.mjs +2 -0
  92. package/dist/src/components/Accordion.mjs.map +1 -0
  93. package/dist/src/components/Avatar.cjs +2 -0
  94. package/dist/src/components/Avatar.cjs.map +1 -0
  95. package/dist/src/components/Avatar.d.mts +10 -0
  96. package/dist/src/components/Avatar.d.mts.map +1 -0
  97. package/dist/src/components/Avatar.mjs +2 -0
  98. package/dist/src/components/Avatar.mjs.map +1 -0
  99. package/dist/src/components/Badge.cjs +2 -0
  100. package/dist/src/components/Badge.cjs.map +1 -0
  101. package/dist/src/components/Badge.d.mts +18 -0
  102. package/dist/src/components/Badge.d.mts.map +1 -0
  103. package/dist/src/components/Badge.mjs +2 -0
  104. package/dist/src/components/Badge.mjs.map +1 -0
  105. package/dist/src/components/Button.cjs +2 -0
  106. package/dist/src/components/Button.cjs.map +1 -0
  107. package/dist/src/components/Button.d.mts +25 -0
  108. package/dist/src/components/Button.d.mts.map +1 -0
  109. package/dist/src/components/Button.mjs +2 -0
  110. package/dist/src/components/Button.mjs.map +1 -0
  111. package/dist/src/components/Checkbox.cjs +2 -0
  112. package/dist/src/components/Checkbox.cjs.map +1 -0
  113. package/dist/src/components/Checkbox.d.mts +8 -0
  114. package/dist/src/components/Checkbox.d.mts.map +1 -0
  115. package/dist/src/components/Checkbox.mjs +2 -0
  116. package/dist/src/components/Checkbox.mjs.map +1 -0
  117. package/dist/src/components/Collapsible.cjs +2 -0
  118. package/dist/src/components/Collapsible.cjs.map +1 -0
  119. package/dist/src/components/Collapsible.d.mts +10 -0
  120. package/dist/src/components/Collapsible.d.mts.map +1 -0
  121. package/dist/src/components/Collapsible.mjs +2 -0
  122. package/dist/src/components/Collapsible.mjs.map +1 -0
  123. package/dist/src/components/Command.cjs +2 -0
  124. package/dist/src/components/Command.cjs.map +1 -0
  125. package/dist/src/components/Command.d.mts +42 -0
  126. package/dist/src/components/Command.d.mts.map +1 -0
  127. package/dist/src/components/Command.mjs +2 -0
  128. package/dist/src/components/Command.mjs.map +1 -0
  129. package/dist/src/components/Dialog.cjs +2 -0
  130. package/dist/src/components/Dialog.cjs.map +1 -0
  131. package/dist/src/components/Dialog.d.mts +39 -0
  132. package/dist/src/components/Dialog.d.mts.map +1 -0
  133. package/dist/src/components/Dialog.mjs +2 -0
  134. package/dist/src/components/Dialog.mjs.map +1 -0
  135. package/dist/src/components/Dot.cjs +2 -0
  136. package/dist/src/components/Dot.cjs.map +1 -0
  137. package/dist/src/components/Dot.d.mts +16 -0
  138. package/dist/src/components/Dot.d.mts.map +1 -0
  139. package/dist/src/components/Dot.mjs +2 -0
  140. package/dist/src/components/Dot.mjs.map +1 -0
  141. package/dist/src/components/DropdownMenu.cjs +2 -0
  142. package/dist/src/components/DropdownMenu.cjs.map +1 -0
  143. package/dist/src/components/DropdownMenu.d.mts +34 -0
  144. package/dist/src/components/DropdownMenu.d.mts.map +1 -0
  145. package/dist/src/components/DropdownMenu.mjs +2 -0
  146. package/dist/src/components/DropdownMenu.mjs.map +1 -0
  147. package/dist/src/components/EmptyState.cjs +2 -0
  148. package/dist/src/components/EmptyState.cjs.map +1 -0
  149. package/dist/src/components/EmptyState.d.mts +18 -0
  150. package/dist/src/components/EmptyState.d.mts.map +1 -0
  151. package/dist/src/components/EmptyState.mjs +2 -0
  152. package/dist/src/components/EmptyState.mjs.map +1 -0
  153. package/dist/src/components/Input.cjs +2 -0
  154. package/dist/src/components/Input.cjs.map +1 -0
  155. package/dist/src/components/Input.d.mts +20 -0
  156. package/dist/src/components/Input.d.mts.map +1 -0
  157. package/dist/src/components/Input.mjs +2 -0
  158. package/dist/src/components/Input.mjs.map +1 -0
  159. package/dist/src/components/Kbd.cjs +2 -0
  160. package/dist/src/components/Kbd.cjs.map +1 -0
  161. package/dist/src/components/Kbd.d.mts +7 -0
  162. package/dist/src/components/Kbd.d.mts.map +1 -0
  163. package/dist/src/components/Kbd.mjs +2 -0
  164. package/dist/src/components/Kbd.mjs.map +1 -0
  165. package/dist/src/components/Label.cjs +2 -0
  166. package/dist/src/components/Label.cjs.map +1 -0
  167. package/dist/src/components/Label.d.mts +8 -0
  168. package/dist/src/components/Label.d.mts.map +1 -0
  169. package/dist/src/components/Label.mjs +2 -0
  170. package/dist/src/components/Label.mjs.map +1 -0
  171. package/dist/src/components/Markdown.cjs +2 -0
  172. package/dist/src/components/Markdown.cjs.map +1 -0
  173. package/dist/src/components/Markdown.d.mts +8 -0
  174. package/dist/src/components/Markdown.d.mts.map +1 -0
  175. package/dist/src/components/Markdown.mjs +2 -0
  176. package/dist/src/components/Markdown.mjs.map +1 -0
  177. package/dist/src/components/MessageItem.cjs +2 -0
  178. package/dist/src/components/MessageItem.cjs.map +1 -0
  179. package/dist/src/components/MessageItem.d.mts +71 -0
  180. package/dist/src/components/MessageItem.d.mts.map +1 -0
  181. package/dist/src/components/MessageItem.mjs +2 -0
  182. package/dist/src/components/MessageItem.mjs.map +1 -0
  183. package/dist/src/components/MessageLines.cjs +2 -0
  184. package/dist/src/components/MessageLines.cjs.map +1 -0
  185. package/dist/src/components/MessageLines.d.mts +24 -0
  186. package/dist/src/components/MessageLines.d.mts.map +1 -0
  187. package/dist/src/components/MessageLines.mjs +2 -0
  188. package/dist/src/components/MessageLines.mjs.map +1 -0
  189. package/dist/src/components/OptionList.cjs +2 -0
  190. package/dist/src/components/OptionList.cjs.map +1 -0
  191. package/dist/src/components/OptionList.d.mts +50 -0
  192. package/dist/src/components/OptionList.d.mts.map +1 -0
  193. package/dist/src/components/OptionList.mjs +2 -0
  194. package/dist/src/components/OptionList.mjs.map +1 -0
  195. package/dist/src/components/Panel.cjs +2 -0
  196. package/dist/src/components/Panel.cjs.map +1 -0
  197. package/dist/src/components/Panel.d.mts +15 -0
  198. package/dist/src/components/Panel.d.mts.map +1 -0
  199. package/dist/src/components/Panel.mjs +2 -0
  200. package/dist/src/components/Panel.mjs.map +1 -0
  201. package/dist/src/components/Popover.cjs +2 -0
  202. package/dist/src/components/Popover.cjs.map +1 -0
  203. package/dist/src/components/Popover.d.mts +19 -0
  204. package/dist/src/components/Popover.d.mts.map +1 -0
  205. package/dist/src/components/Popover.mjs +2 -0
  206. package/dist/src/components/Popover.mjs.map +1 -0
  207. package/dist/src/components/Progress.cjs +2 -0
  208. package/dist/src/components/Progress.cjs.map +1 -0
  209. package/dist/src/components/Progress.d.mts +8 -0
  210. package/dist/src/components/Progress.d.mts.map +1 -0
  211. package/dist/src/components/Progress.mjs +2 -0
  212. package/dist/src/components/Progress.mjs.map +1 -0
  213. package/dist/src/components/RadioGroup.cjs +2 -0
  214. package/dist/src/components/RadioGroup.cjs.map +1 -0
  215. package/dist/src/components/RadioGroup.d.mts +15 -0
  216. package/dist/src/components/RadioGroup.d.mts.map +1 -0
  217. package/dist/src/components/RadioGroup.mjs +2 -0
  218. package/dist/src/components/RadioGroup.mjs.map +1 -0
  219. package/dist/src/components/ScrollArea.cjs +2 -0
  220. package/dist/src/components/ScrollArea.cjs.map +1 -0
  221. package/dist/src/components/ScrollArea.d.mts +13 -0
  222. package/dist/src/components/ScrollArea.d.mts.map +1 -0
  223. package/dist/src/components/ScrollArea.mjs +2 -0
  224. package/dist/src/components/ScrollArea.mjs.map +1 -0
  225. package/dist/src/components/SectionLabel.cjs +2 -0
  226. package/dist/src/components/SectionLabel.cjs.map +1 -0
  227. package/dist/src/components/SectionLabel.d.mts +7 -0
  228. package/dist/src/components/SectionLabel.d.mts.map +1 -0
  229. package/dist/src/components/SectionLabel.mjs +2 -0
  230. package/dist/src/components/SectionLabel.mjs.map +1 -0
  231. package/dist/src/components/Select.cjs +2 -0
  232. package/dist/src/components/Select.cjs.map +1 -0
  233. package/dist/src/components/Select.d.mts +19 -0
  234. package/dist/src/components/Select.d.mts.map +1 -0
  235. package/dist/src/components/Select.mjs +2 -0
  236. package/dist/src/components/Select.mjs.map +1 -0
  237. package/dist/src/components/Separator.cjs +2 -0
  238. package/dist/src/components/Separator.cjs.map +1 -0
  239. package/dist/src/components/Separator.d.mts +13 -0
  240. package/dist/src/components/Separator.d.mts.map +1 -0
  241. package/dist/src/components/Separator.mjs +2 -0
  242. package/dist/src/components/Separator.mjs.map +1 -0
  243. package/dist/src/components/Skeleton.cjs +2 -0
  244. package/dist/src/components/Skeleton.cjs.map +1 -0
  245. package/dist/src/components/Skeleton.d.mts +11 -0
  246. package/dist/src/components/Skeleton.d.mts.map +1 -0
  247. package/dist/src/components/Skeleton.mjs +2 -0
  248. package/dist/src/components/Skeleton.mjs.map +1 -0
  249. package/dist/src/components/Spinner.cjs +2 -0
  250. package/dist/src/components/Spinner.cjs.map +1 -0
  251. package/dist/src/components/Spinner.d.mts +15 -0
  252. package/dist/src/components/Spinner.d.mts.map +1 -0
  253. package/dist/src/components/Spinner.mjs +2 -0
  254. package/dist/src/components/Spinner.mjs.map +1 -0
  255. package/dist/src/components/StatusBadge.cjs +2 -0
  256. package/dist/src/components/StatusBadge.cjs.map +1 -0
  257. package/dist/src/components/StatusBadge.d.mts +24 -0
  258. package/dist/src/components/StatusBadge.d.mts.map +1 -0
  259. package/dist/src/components/StatusBadge.mjs +2 -0
  260. package/dist/src/components/StatusBadge.mjs.map +1 -0
  261. package/dist/src/components/StreamCursor.cjs +2 -0
  262. package/dist/src/components/StreamCursor.cjs.map +1 -0
  263. package/dist/src/components/StreamCursor.d.mts +7 -0
  264. package/dist/src/components/StreamCursor.d.mts.map +1 -0
  265. package/dist/src/components/StreamCursor.mjs +2 -0
  266. package/dist/src/components/StreamCursor.mjs.map +1 -0
  267. package/dist/src/components/Switch.cjs +2 -0
  268. package/dist/src/components/Switch.cjs.map +1 -0
  269. package/dist/src/components/Switch.d.mts +8 -0
  270. package/dist/src/components/Switch.d.mts.map +1 -0
  271. package/dist/src/components/Switch.mjs +2 -0
  272. package/dist/src/components/Switch.mjs.map +1 -0
  273. package/dist/src/components/Tabs.cjs +2 -0
  274. package/dist/src/components/Tabs.cjs.map +1 -0
  275. package/dist/src/components/Tabs.d.mts +36 -0
  276. package/dist/src/components/Tabs.d.mts.map +1 -0
  277. package/dist/src/components/Tabs.mjs +2 -0
  278. package/dist/src/components/Tabs.mjs.map +1 -0
  279. package/dist/src/components/Textarea.cjs +2 -0
  280. package/dist/src/components/Textarea.cjs.map +1 -0
  281. package/dist/src/components/Textarea.d.mts +10 -0
  282. package/dist/src/components/Textarea.d.mts.map +1 -0
  283. package/dist/src/components/Textarea.mjs +2 -0
  284. package/dist/src/components/Textarea.mjs.map +1 -0
  285. package/dist/src/components/Toast.cjs +2 -0
  286. package/dist/src/components/Toast.cjs.map +1 -0
  287. package/dist/src/components/Toast.d.mts +24 -0
  288. package/dist/src/components/Toast.d.mts.map +1 -0
  289. package/dist/src/components/Toast.mjs +2 -0
  290. package/dist/src/components/Toast.mjs.map +1 -0
  291. package/dist/src/components/Tooltip.cjs +2 -0
  292. package/dist/src/components/Tooltip.cjs.map +1 -0
  293. package/dist/src/components/Tooltip.d.mts +11 -0
  294. package/dist/src/components/Tooltip.d.mts.map +1 -0
  295. package/dist/src/components/Tooltip.mjs +2 -0
  296. package/dist/src/components/Tooltip.mjs.map +1 -0
  297. package/dist/src/icons/icons.cjs +1 -0
  298. package/dist/src/icons/icons.d.mts +2 -0
  299. package/dist/src/icons/icons.mjs +1 -0
  300. package/dist/src/lib/cn.cjs +2 -0
  301. package/dist/src/lib/cn.cjs.map +1 -0
  302. package/dist/src/lib/cn.d.mts +7 -0
  303. package/dist/src/lib/cn.d.mts.map +1 -0
  304. package/dist/src/lib/cn.mjs +2 -0
  305. package/dist/src/lib/cn.mjs.map +1 -0
  306. package/dist/src/lib/collapse.cjs +2 -0
  307. package/dist/src/lib/collapse.cjs.map +1 -0
  308. package/dist/src/lib/collapse.d.mts +15 -0
  309. package/dist/src/lib/collapse.d.mts.map +1 -0
  310. package/dist/src/lib/collapse.mjs +2 -0
  311. package/dist/src/lib/collapse.mjs.map +1 -0
  312. package/dist/src/lib/optionList.cjs +2 -0
  313. package/dist/src/lib/optionList.cjs.map +1 -0
  314. package/dist/src/lib/optionList.d.mts +22 -0
  315. package/dist/src/lib/optionList.d.mts.map +1 -0
  316. package/dist/src/lib/optionList.mjs +2 -0
  317. package/dist/src/lib/optionList.mjs.map +1 -0
  318. package/dist/src/lib/tone.cjs +2 -0
  319. package/dist/src/lib/tone.cjs.map +1 -0
  320. package/dist/src/lib/tone.d.mts +26 -0
  321. package/dist/src/lib/tone.d.mts.map +1 -0
  322. package/dist/src/lib/tone.mjs +2 -0
  323. package/dist/src/lib/tone.mjs.map +1 -0
  324. package/dist/src/theme/apply.cjs +3 -0
  325. package/dist/src/theme/apply.cjs.map +1 -0
  326. package/dist/src/theme/apply.d.mts +26 -0
  327. package/dist/src/theme/apply.d.mts.map +1 -0
  328. package/dist/src/theme/apply.mjs +3 -0
  329. package/dist/src/theme/apply.mjs.map +1 -0
  330. package/dist/src/theme/builtinThemes.cjs +2 -0
  331. package/dist/src/theme/builtinThemes.cjs.map +1 -0
  332. package/dist/src/theme/builtinThemes.d.mts +12 -0
  333. package/dist/src/theme/builtinThemes.d.mts.map +1 -0
  334. package/dist/src/theme/builtinThemes.mjs +2 -0
  335. package/dist/src/theme/builtinThemes.mjs.map +1 -0
  336. package/dist/src/theme/derive.cjs +2 -0
  337. package/dist/src/theme/derive.cjs.map +1 -0
  338. package/dist/src/theme/derive.d.mts +15 -0
  339. package/dist/src/theme/derive.d.mts.map +1 -0
  340. package/dist/src/theme/derive.mjs +2 -0
  341. package/dist/src/theme/derive.mjs.map +1 -0
  342. package/dist/src/theme/parse.cjs +2 -0
  343. package/dist/src/theme/parse.cjs.map +1 -0
  344. package/dist/src/theme/parse.d.mts +11 -0
  345. package/dist/src/theme/parse.d.mts.map +1 -0
  346. package/dist/src/theme/parse.mjs +2 -0
  347. package/dist/src/theme/parse.mjs.map +1 -0
  348. package/dist/src/theme/piTheme.cjs +2 -0
  349. package/dist/src/theme/piTheme.cjs.map +1 -0
  350. package/dist/src/theme/piTheme.d.mts +20 -0
  351. package/dist/src/theme/piTheme.d.mts.map +1 -0
  352. package/dist/src/theme/piTheme.mjs +2 -0
  353. package/dist/src/theme/piTheme.mjs.map +1 -0
  354. package/dist/src/theme/preference.cjs +2 -0
  355. package/dist/src/theme/preference.cjs.map +1 -0
  356. package/dist/src/theme/preference.d.mts +16 -0
  357. package/dist/src/theme/preference.d.mts.map +1 -0
  358. package/dist/src/theme/preference.mjs +2 -0
  359. package/dist/src/theme/preference.mjs.map +1 -0
  360. package/dist/src/types/theme.cjs +2 -0
  361. package/dist/src/types/theme.cjs.map +1 -0
  362. package/dist/src/types/theme.d.mts +39 -0
  363. package/dist/src/types/theme.d.mts.map +1 -0
  364. package/dist/src/types/theme.mjs +2 -0
  365. package/dist/src/types/theme.mjs.map +1 -0
  366. package/dist/src/types/tone.cjs +2 -0
  367. package/dist/src/types/tone.cjs.map +1 -0
  368. package/dist/src/types/tone.d.mts +29 -0
  369. package/dist/src/types/tone.d.mts.map +1 -0
  370. package/dist/src/types/tone.mjs +2 -0
  371. package/dist/src/types/tone.mjs.map +1 -0
  372. package/dist/theme/apply.d.cts +26 -0
  373. package/dist/theme/apply.d.cts.map +1 -0
  374. package/dist/theme/builtinThemes.d.cts +12 -0
  375. package/dist/theme/builtinThemes.d.cts.map +1 -0
  376. package/dist/theme/derive.d.cts +15 -0
  377. package/dist/theme/derive.d.cts.map +1 -0
  378. package/dist/theme/parse.d.cts +11 -0
  379. package/dist/theme/parse.d.cts.map +1 -0
  380. package/dist/theme/piTheme.d.cts +20 -0
  381. package/dist/theme/piTheme.d.cts.map +1 -0
  382. package/dist/theme/preference.d.cts +16 -0
  383. package/dist/theme/preference.d.cts.map +1 -0
  384. package/dist/theme.cjs +1 -0
  385. package/dist/theme.d.cts +8 -0
  386. package/dist/theme.d.mts +8 -0
  387. package/dist/theme.mjs +1 -0
  388. package/dist/themes/doom-nord-dark.cjs +2 -0
  389. package/dist/themes/doom-nord-dark.cjs.map +1 -0
  390. package/dist/themes/doom-nord-dark.mjs +2 -0
  391. package/dist/themes/doom-nord-dark.mjs.map +1 -0
  392. package/dist/themes/doom-one-dark.cjs +2 -0
  393. package/dist/themes/doom-one-dark.cjs.map +1 -0
  394. package/dist/themes/doom-one-dark.mjs +2 -0
  395. package/dist/themes/doom-one-dark.mjs.map +1 -0
  396. package/dist/themes/doom-one-light.cjs +2 -0
  397. package/dist/themes/doom-one-light.cjs.map +1 -0
  398. package/dist/themes/doom-one-light.mjs +2 -0
  399. package/dist/themes/doom-one-light.mjs.map +1 -0
  400. package/dist/types/theme.d.cts +39 -0
  401. package/dist/types/theme.d.cts.map +1 -0
  402. package/dist/types/tone.d.cts +29 -0
  403. package/dist/types/tone.d.cts.map +1 -0
  404. package/llms.txt +8 -0
  405. package/package.json +95 -0
  406. package/styles/tokens.css +202 -0
  407. package/themes/doom-nord-dark.json +27 -0
  408. package/themes/doom-one-dark.json +39 -0
  409. package/themes/doom-one-light.json +27 -0
@@ -0,0 +1,15 @@
1
+ import { DerivedToken, ThemeConfig, ThemeToken } from "../types/theme.cjs";
2
+ //#region src/theme/derive.d.ts
3
+ declare const DEFAULT_FONT_MONO = "'JetBrains Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace";
4
+ /**
5
+ * A derived token's fallback: a CSS colour expression over the palette, so a
6
+ * theme that supplies only its palette still gets coherent tints and edges.
7
+ */
8
+ declare function derivedFallback(token: DerivedToken): string;
9
+ /** Every derived token, in a stable order. */
10
+ declare function derivedTokens(): DerivedToken[];
11
+ /** The value a theme publishes for a token: its own, or the derived fallback. */
12
+ declare function tokenValue(theme: ThemeConfig, token: ThemeToken): string;
13
+ //#endregion
14
+ export { DEFAULT_FONT_MONO, derivedFallback, derivedTokens, tokenValue };
15
+ //# sourceMappingURL=derive.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive.d.cts","names":[],"sources":["../../src/theme/derive.ts"],"mappings":";;cAea;;;;;iBAOG,gBAAgB,OAAO;;iBAWvB,iBAAiB;;iBASjB,WAAW,OAAO,aAAa,OAAO"}
@@ -0,0 +1,11 @@
1
+ import { ThemeConfig } from "../types/theme.cjs";
2
+ //#region src/theme/parse.d.ts
3
+ /**
4
+ * Validates a theme config read from JSON. Returns null rather than throwing
5
+ * because a bad theme file must never take the cockpit down; the caller falls
6
+ * back to the shipped default and says so.
7
+ */
8
+ declare function parseThemeConfig(input: unknown): ThemeConfig | null;
9
+ //#endregion
10
+ export { parseThemeConfig };
11
+ //# sourceMappingURL=parse.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.cts","names":[],"sources":["../../src/theme/parse.ts"],"mappings":";;;;;;;iBAgBgB,iBAAiB,iBAAiB"}
@@ -0,0 +1,20 @@
1
+ import { ThemeConfig, ThemeScheme } from "../types/theme.cjs";
2
+ //#region src/theme/piTheme.d.ts
3
+ interface PiThemeBridgeOptions {
4
+ /** The web theme's id; defaults to the Pi theme's name. */
5
+ name?: string;
6
+ label?: string;
7
+ /** Forced scheme; otherwise inferred from the background luminance. */
8
+ scheme?: ThemeScheme;
9
+ }
10
+ /**
11
+ * Builds a web theme from a Pi TUI theme, so the palette DoomPi ships for
12
+ * the terminal (doompi-ui/themes/doom-pi-dark.json) drives the browser too.
13
+ * The mapping is by role, not by name: Pi has no cockpit "deep" surface or
14
+ * "border-soft" line, so those are mixed from the nearest vars. Returns null
15
+ * when the input is not a Pi theme with a complete palette.
16
+ */
17
+ declare function themeFromPiTheme(input: unknown, options?: PiThemeBridgeOptions): ThemeConfig | null;
18
+ //#endregion
19
+ export { PiThemeBridgeOptions, themeFromPiTheme };
20
+ //# sourceMappingURL=piTheme.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piTheme.d.cts","names":[],"sources":["../../src/theme/piTheme.ts"],"mappings":";;UAiCiB;;EAEf;EACA;;EAEA,SAAS;;;;;;;;;iBAUK,iBAAiB,gBAAgB,UAAS,uBAA4B"}
@@ -0,0 +1,16 @@
1
+ //#region src/theme/preference.d.ts
2
+ /** Where the page remembers the chosen theme; one key, machine-local. */
3
+ declare const THEME_STORAGE_KEY = "doompi.web.theme";
4
+ /** The two Storage calls the preference needs, so tests pass a plain map. */
5
+ interface PreferenceStorage {
6
+ getItem(key: string): string | null;
7
+ setItem(key: string, value: string): void;
8
+ removeItem(key: string): void;
9
+ }
10
+ /** The stored theme name, or null when nothing was chosen or storage is unavailable. */
11
+ declare function readThemePreference(storage: PreferenceStorage | undefined): string | null;
12
+ /** Remembers a theme name; null forgets it. Storage failures are swallowed: a theme is a convenience. */
13
+ declare function writeThemePreference(storage: PreferenceStorage | undefined, name: string | null): void;
14
+ //#endregion
15
+ export { PreferenceStorage, THEME_STORAGE_KEY, readThemePreference, writeThemePreference };
16
+ //# sourceMappingURL=preference.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference.d.cts","names":[],"sources":["../../src/theme/preference.ts"],"mappings":";;cACa;;UAGI;EACf,QAAQ;EACR,QAAQ,aAAa;EACrB,WAAW;;;iBAIG,oBAAoB,SAAS;;iBAU7B,qBAAqB,SAAS,+BAA+B"}
package/dist/theme.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./src/types/theme.cjs"),t=require("./src/theme/derive.cjs"),n=require("./src/theme/apply.cjs"),r=require("./src/theme/parse.cjs"),i=require("./src/theme/builtinThemes.cjs"),a=require("./src/theme/piTheme.cjs"),o=require("./src/theme/preference.cjs");exports.ACCENT_TOKENS=e.ACCENT_TOKENS,exports.BUILTIN_THEMES=i.BUILTIN_THEMES,exports.DEFAULT_FONT_MONO=t.DEFAULT_FONT_MONO,exports.DEFAULT_THEME=i.DEFAULT_THEME,exports.DEFAULT_THEME_NAME=i.DEFAULT_THEME_NAME,exports.DERIVED_TOKENS=e.DERIVED_TOKENS,exports.PALETTE_TOKENS=e.PALETTE_TOKENS,exports.THEME_ATTRIBUTE=n.THEME_ATTRIBUTE,exports.THEME_STORAGE_KEY=o.THEME_STORAGE_KEY,exports.THEME_TOKENS=e.THEME_TOKENS,exports.applyTheme=n.applyTheme,exports.builtinTheme=i.builtinTheme,exports.derivedFallback=t.derivedFallback,exports.derivedTokens=t.derivedTokens,exports.parseThemeConfig=r.parseThemeConfig,exports.readThemePreference=o.readThemePreference,exports.themeCssText=n.themeCssText,exports.themeCssVariables=n.themeCssVariables,exports.themeFromPiTheme=a.themeFromPiTheme,exports.themeVariable=e.themeVariable,exports.tokenValue=t.tokenValue,exports.writeThemePreference=o.writeThemePreference;
@@ -0,0 +1,8 @@
1
+ import { ACCENT_TOKENS, AccentToken, DERIVED_TOKENS, DerivedToken, PALETTE_TOKENS, PaletteToken, THEME_TOKENS, ThemeConfig, ThemeScheme, ThemeToken, themeVariable } from "./types/theme.cjs";
2
+ import { THEME_ATTRIBUTE, ThemeRoot, applyTheme, themeCssText, themeCssVariables } from "./theme/apply.cjs";
3
+ import { BUILTIN_THEMES, DEFAULT_THEME, DEFAULT_THEME_NAME, builtinTheme } from "./theme/builtinThemes.cjs";
4
+ import { DEFAULT_FONT_MONO, derivedFallback, derivedTokens, tokenValue } from "./theme/derive.cjs";
5
+ import { parseThemeConfig } from "./theme/parse.cjs";
6
+ import { PiThemeBridgeOptions, themeFromPiTheme } from "./theme/piTheme.cjs";
7
+ import { PreferenceStorage, THEME_STORAGE_KEY, readThemePreference, writeThemePreference } from "./theme/preference.cjs";
8
+ export { ACCENT_TOKENS, type AccentToken, BUILTIN_THEMES, DEFAULT_FONT_MONO, DEFAULT_THEME, DEFAULT_THEME_NAME, DERIVED_TOKENS, type DerivedToken, PALETTE_TOKENS, type PaletteToken, type PiThemeBridgeOptions, type PreferenceStorage, THEME_ATTRIBUTE, THEME_STORAGE_KEY, THEME_TOKENS, type ThemeConfig, type ThemeRoot, type ThemeScheme, type ThemeToken, applyTheme, builtinTheme, derivedFallback, derivedTokens, parseThemeConfig, readThemePreference, themeCssText, themeCssVariables, themeFromPiTheme, themeVariable, tokenValue, writeThemePreference };
@@ -0,0 +1,8 @@
1
+ import { ACCENT_TOKENS, AccentToken, DERIVED_TOKENS, DerivedToken, PALETTE_TOKENS, PaletteToken, THEME_TOKENS, ThemeConfig, ThemeScheme, ThemeToken, themeVariable } from "./src/types/theme.mjs";
2
+ import { THEME_ATTRIBUTE, ThemeRoot, applyTheme, themeCssText, themeCssVariables } from "./src/theme/apply.mjs";
3
+ import { BUILTIN_THEMES, DEFAULT_THEME, DEFAULT_THEME_NAME, builtinTheme } from "./src/theme/builtinThemes.mjs";
4
+ import { DEFAULT_FONT_MONO, derivedFallback, derivedTokens, tokenValue } from "./src/theme/derive.mjs";
5
+ import { parseThemeConfig } from "./src/theme/parse.mjs";
6
+ import { PiThemeBridgeOptions, themeFromPiTheme } from "./src/theme/piTheme.mjs";
7
+ import { PreferenceStorage, THEME_STORAGE_KEY, readThemePreference, writeThemePreference } from "./src/theme/preference.mjs";
8
+ export { ACCENT_TOKENS, type AccentToken, BUILTIN_THEMES, DEFAULT_FONT_MONO, DEFAULT_THEME, DEFAULT_THEME_NAME, DERIVED_TOKENS, type DerivedToken, PALETTE_TOKENS, type PaletteToken, type PiThemeBridgeOptions, type PreferenceStorage, THEME_ATTRIBUTE, THEME_STORAGE_KEY, THEME_TOKENS, type ThemeConfig, type ThemeRoot, type ThemeScheme, type ThemeToken, applyTheme, builtinTheme, derivedFallback, derivedTokens, parseThemeConfig, readThemePreference, themeCssText, themeCssVariables, themeFromPiTheme, themeVariable, tokenValue, writeThemePreference };
package/dist/theme.mjs ADDED
@@ -0,0 +1 @@
1
+ import{ACCENT_TOKENS as e,DERIVED_TOKENS as t,PALETTE_TOKENS as n,THEME_TOKENS as r,themeVariable as i}from"./src/types/theme.mjs";import{DEFAULT_FONT_MONO as a,derivedFallback as o,derivedTokens as s,tokenValue as c}from"./src/theme/derive.mjs";import{THEME_ATTRIBUTE as l,applyTheme as u,themeCssText as d,themeCssVariables as f}from"./src/theme/apply.mjs";import{parseThemeConfig as p}from"./src/theme/parse.mjs";import{BUILTIN_THEMES as m,DEFAULT_THEME as h,DEFAULT_THEME_NAME as g,builtinTheme as _}from"./src/theme/builtinThemes.mjs";import{themeFromPiTheme as v}from"./src/theme/piTheme.mjs";import{THEME_STORAGE_KEY as y,readThemePreference as b,writeThemePreference as x}from"./src/theme/preference.mjs";export{e as ACCENT_TOKENS,m as BUILTIN_THEMES,a as DEFAULT_FONT_MONO,h as DEFAULT_THEME,g as DEFAULT_THEME_NAME,t as DERIVED_TOKENS,n as PALETTE_TOKENS,l as THEME_ATTRIBUTE,y as THEME_STORAGE_KEY,r as THEME_TOKENS,u as applyTheme,_ as builtinTheme,o as derivedFallback,s as derivedTokens,p as parseThemeConfig,b as readThemePreference,d as themeCssText,f as themeCssVariables,v as themeFromPiTheme,i as themeVariable,c as tokenValue,x as writeThemePreference};
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-nord-dark`,label:`Doom Nord (dark)`,scheme:`dark`,tokens:{bg:`#2e3440`,rail:`#272c36`,panel:`#2b313d`,deep:`#232831`,border:`#434c5e`,"border-soft":`#353c4a`,hi:`#eceff4`,text:`#d8dee9`,dim:`#9aa4b8`,faint:`#616e88`,blue:`#81a1c1`,green:`#a3be8c`,yellow:`#ebcb8b`,red:`#bf616a`,magenta:`#b48ead`,violet:`#a3a7d6`,cyan:`#88c0d0`,orange:`#d08770`,teal:`#8fbcbb`,selected:`#4c6a92`}};Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});
2
+ //# sourceMappingURL=doom-nord-dark.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-nord-dark.cjs","names":[],"sources":["../../themes/doom-nord-dark.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-nord-dark`,label:`Doom Nord (dark)`,scheme:`dark`,tokens:{bg:`#2e3440`,rail:`#272c36`,panel:`#2b313d`,deep:`#232831`,border:`#434c5e`,"border-soft":`#353c4a`,hi:`#eceff4`,text:`#d8dee9`,dim:`#9aa4b8`,faint:`#616e88`,blue:`#81a1c1`,green:`#a3be8c`,yellow:`#ebcb8b`,red:`#bf616a`,magenta:`#b48ead`,violet:`#a3a7d6`,cyan:`#88c0d0`,orange:`#d08770`,teal:`#8fbcbb`,selected:`#4c6a92`}};export{e as default};
2
+ //# sourceMappingURL=doom-nord-dark.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-nord-dark.mjs","names":[],"sources":["../../themes/doom-nord-dark.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-one-dark`,label:`Doom One (dark)`,scheme:`dark`,tokens:{bg:`#282c34`,rail:`#21242b`,panel:`#23272e`,deep:`#1c1f24`,border:`#3f444a`,"border-soft":`#2a2e35`,hi:`#dfdfdf`,text:`#bbc2cf`,dim:`#9ca0a4`,faint:`#5b6268`,blue:`#51afef`,green:`#98be65`,yellow:`#ecbe7b`,red:`#ff6c6b`,magenta:`#c678dd`,violet:`#a9a1e1`,cyan:`#46d9ff`,orange:`#da8548`,teal:`#4db5bd`,selected:`#2257a0`,"tint-blue":`#21313f`,"tint-green":`#262e1e`,"tint-yellow":`#312a1c`,"tint-red":`#332428`,"tint-magenta":`#2e2136`,"tint-violet":`#2d253f`,"edge-blue":`#2f4a68`,"edge-green":`#35452e`,"edge-yellow":`#574427`,"edge-red":`#6b3a3a`,"edge-magenta":`#4a3358`,"edge-violet":`#3b3558`}};Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});
2
+ //# sourceMappingURL=doom-one-dark.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-one-dark.cjs","names":[],"sources":["../../themes/doom-one-dark.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-one-dark`,label:`Doom One (dark)`,scheme:`dark`,tokens:{bg:`#282c34`,rail:`#21242b`,panel:`#23272e`,deep:`#1c1f24`,border:`#3f444a`,"border-soft":`#2a2e35`,hi:`#dfdfdf`,text:`#bbc2cf`,dim:`#9ca0a4`,faint:`#5b6268`,blue:`#51afef`,green:`#98be65`,yellow:`#ecbe7b`,red:`#ff6c6b`,magenta:`#c678dd`,violet:`#a9a1e1`,cyan:`#46d9ff`,orange:`#da8548`,teal:`#4db5bd`,selected:`#2257a0`,"tint-blue":`#21313f`,"tint-green":`#262e1e`,"tint-yellow":`#312a1c`,"tint-red":`#332428`,"tint-magenta":`#2e2136`,"tint-violet":`#2d253f`,"edge-blue":`#2f4a68`,"edge-green":`#35452e`,"edge-yellow":`#574427`,"edge-red":`#6b3a3a`,"edge-magenta":`#4a3358`,"edge-violet":`#3b3558`}};export{e as default};
2
+ //# sourceMappingURL=doom-one-dark.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-one-dark.mjs","names":[],"sources":["../../themes/doom-one-dark.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-one-light`,label:`Doom One (light)`,scheme:`light`,tokens:{bg:`#fafafa`,rail:`#f0f0f0`,panel:`#f4f4f5`,deep:`#e7e7e8`,border:`#d4d4d8`,"border-soft":`#e4e4e7`,hi:`#1c1f24`,text:`#383a42`,dim:`#6b6f78`,faint:`#9ca0a4`,blue:`#4078f2`,green:`#50a14f`,yellow:`#986801`,red:`#e45649`,magenta:`#a626a4`,violet:`#7c5bcf`,cyan:`#0184bc`,orange:`#da8548`,teal:`#2f9c9c`,selected:`#4078f2`}};Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});
2
+ //# sourceMappingURL=doom-one-light.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-one-light.cjs","names":[],"sources":["../../themes/doom-one-light.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e={name:`doom-one-light`,label:`Doom One (light)`,scheme:`light`,tokens:{bg:`#fafafa`,rail:`#f0f0f0`,panel:`#f4f4f5`,deep:`#e7e7e8`,border:`#d4d4d8`,"border-soft":`#e4e4e7`,hi:`#1c1f24`,text:`#383a42`,dim:`#6b6f78`,faint:`#9ca0a4`,blue:`#4078f2`,green:`#50a14f`,yellow:`#986801`,red:`#e45649`,magenta:`#a626a4`,violet:`#7c5bcf`,cyan:`#0184bc`,orange:`#da8548`,teal:`#2f9c9c`,selected:`#4078f2`}};export{e as default};
2
+ //# sourceMappingURL=doom-one-light.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doom-one-light.mjs","names":[],"sources":["../../themes/doom-one-light.json"],"sourcesContent":[""],"mappings":""}
@@ -0,0 +1,39 @@
1
+ //#region src/types/theme.d.ts
2
+ /**
3
+ * The web theme contract: the named colours every cockpit surface is built
4
+ * from. Palette tokens are the hand-picked values a theme must supply; the
5
+ * derived tokens (tinted backgrounds, accented borders) are computed from the
6
+ * palette unless a theme pins them, which is how the shipped dark theme keeps
7
+ * its exact mockup values while a third-party theme needs only the palette.
8
+ */
9
+ declare const PALETTE_TOKENS: readonly ['bg', 'rail', 'panel', 'deep', 'border', 'border-soft', 'hi', 'text', 'dim', 'faint', 'blue', 'green', 'yellow', 'red', 'magenta', 'violet', 'cyan', 'orange', 'teal', 'selected'];
10
+ declare const ACCENT_TOKENS: readonly ['blue', 'green', 'yellow', 'red', 'magenta', 'violet', 'cyan', 'orange', 'teal'];
11
+ declare const DERIVED_TOKENS: readonly ['tint-blue', 'tint-green', 'tint-yellow', 'tint-red', 'tint-magenta', 'tint-violet', 'tint-cyan', 'tint-orange', 'tint-teal', 'edge-blue', 'edge-green', 'edge-yellow', 'edge-red', 'edge-magenta', 'edge-violet', 'edge-cyan', 'edge-orange', 'edge-teal',
12
+ /**
13
+ * The readable foreground on the `selected` surface. Derived so an existing
14
+ * theme stays valid, but a theme whose `selected` is pale must pin it: CSS
15
+ * cannot pick a contrasting colour on its own, and the fallback assumes a
16
+ * saturated selection, which is what both shipped themes use.
17
+ */
18
+ 'on-selected', 'font-mono'];
19
+ declare const THEME_TOKENS: readonly ["bg", "rail", "panel", "deep", "border", "border-soft", "hi", "text", "dim", "faint", "blue", "green", "yellow", "red", "magenta", "violet", "cyan", "orange", "teal", "selected", "tint-blue", "tint-green", "tint-yellow", "tint-red", "tint-magenta", "tint-violet", "tint-cyan", "tint-orange", "tint-teal", "edge-blue", "edge-green", "edge-yellow", "edge-red", "edge-magenta", "edge-violet", "edge-cyan", "edge-orange", "edge-teal", "on-selected", "font-mono"];
20
+ type PaletteToken = (typeof PALETTE_TOKENS)[number];
21
+ type AccentToken = (typeof ACCENT_TOKENS)[number];
22
+ type DerivedToken = (typeof DERIVED_TOKENS)[number];
23
+ type ThemeToken = (typeof THEME_TOKENS)[number];
24
+ type ThemeScheme = 'dark' | 'light';
25
+ /** A theme config as written in JSON: identity, colour scheme, and the token values. */
26
+ interface ThemeConfig {
27
+ /** Stable id, kebab-case; the `data-theme` attribute and the stored preference. */
28
+ name: string;
29
+ /** What a picker shows. */
30
+ label: string;
31
+ /** Drives `color-scheme` so native controls and scrollbars match. */
32
+ scheme: ThemeScheme;
33
+ tokens: Record<PaletteToken, string> & Partial<Record<DerivedToken, string>>;
34
+ }
35
+ /** The CSS custom property a token is published as. */
36
+ declare function themeVariable(token: ThemeToken): `--doom-${ThemeToken}`;
37
+ //#endregion
38
+ export { ACCENT_TOKENS, AccentToken, DERIVED_TOKENS, DerivedToken, PALETTE_TOKENS, PaletteToken, THEME_TOKENS, ThemeConfig, ThemeScheme, ThemeToken, themeVariable };
39
+ //# sourceMappingURL=theme.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.cts","names":[],"sources":["../../src/types/theme.ts"],"mappings":";;;;;;;;cAOa;cAuBA;cAEA;;;;;;;;cA6BA;KAED,uBAAuB;KACvB,sBAAsB;KACtB,uBAAuB;KACvB,qBAAqB;KAErB;;UAGK;;EAEf;;EAEA;;EAEA,QAAQ;EACR,QAAQ,OAAO,wBAAwB,QAAQ,OAAO;;;iBAIxC,cAAc,OAAO,uBAAuB"}
@@ -0,0 +1,29 @@
1
+ //#region src/types/tone.d.ts
2
+ /**
3
+ * The tone vocabularies every surface shares.
4
+ *
5
+ * Three of them exist because they answer different questions. A chromatic
6
+ * tone names a colour ("this chip is violet"), a status tone names an outcome
7
+ * ("this run failed"), and a line tone names a role inside a body of text.
8
+ * They live here, not beside the components that draw them, so a consumer can
9
+ * translate between them without importing a component, and so adding a tone
10
+ * to one table without the others fails to compile.
11
+ */
12
+ /** The accents a theme supplies; mirrors ACCENT_TOKENS in ./theme.ts. */
13
+ declare const ACCENT_TONES: readonly ['blue', 'green', 'yellow', 'red', 'magenta', 'violet', 'cyan', 'orange', 'teal'];
14
+ type AccentTone = (typeof ACCENT_TONES)[number];
15
+ /** What a chip may be: an accent, or the quiet default. */
16
+ declare const CHIP_TONES: readonly ["neutral", "blue", "green", "yellow", "red", "magenta", "violet", "cyan", "orange", "teal"];
17
+ type ChipTone = (typeof CHIP_TONES)[number];
18
+ /** A dot adds `muted` for a thing that exists but is not live. */
19
+ declare const DOT_TONES: readonly ["neutral", "muted", "blue", "green", "yellow", "red", "magenta", "violet", "cyan", "orange", "teal"];
20
+ type DotTone = (typeof DOT_TONES)[number];
21
+ /** What happened, rather than what colour it is. */
22
+ declare const STATUS_TONES: readonly ['neutral', 'running', 'ok', 'error', 'info', 'accent'];
23
+ type StatusTone = (typeof STATUS_TONES)[number];
24
+ /** The role a single line of a message body plays. */
25
+ declare const MESSAGE_LINE_TONES: readonly ['hi', 'text', 'dim', 'muted', 'success', 'error', 'warning', 'accent'];
26
+ type MessageLineTone = (typeof MESSAGE_LINE_TONES)[number];
27
+ //#endregion
28
+ export { ACCENT_TONES, AccentTone, CHIP_TONES, ChipTone, DOT_TONES, DotTone, MESSAGE_LINE_TONES, MessageLineTone, STATUS_TONES, StatusTone };
29
+ //# sourceMappingURL=tone.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tone.d.cts","names":[],"sources":["../../src/types/tone.ts"],"mappings":";;;;;;;;;;;;cAYa;KACD,qBAAqB;;cAGpB;KACD,mBAAmB;;cAGlB;KACD,kBAAkB;;cAGjB;KACD,qBAAqB;;cAGpB;KACD,0BAA0B"}
package/llms.txt ADDED
@@ -0,0 +1,8 @@
1
+ # @agimon-ai/doompi-web-components
2
+
3
+ Package-owned guidance for the DoomPi web component library.
4
+
5
+ ## Resources
6
+
7
+ - [Package README](./README.md): What the library ships, how the cockpit and web plugins consume
8
+ it, the theme token contract, and how a theme config is written and applied.
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "@agimon-ai/doompi-web-components",
3
+ "version": "0.0.1-alpha.0",
4
+ "description": "Shared web components and theme tokens for the DoomPi cockpit and its web plugins: shadcn-style primitives on Radix, tuned to the Doom palette, with runtime theme configs.",
5
+ "keywords": [
6
+ "ai",
7
+ "coding-agent",
8
+ "components",
9
+ "design-system",
10
+ "developer-tools",
11
+ "doompi",
12
+ "pi-package",
13
+ "react",
14
+ "shadcn",
15
+ "tailwind",
16
+ "theme",
17
+ "web"
18
+ ],
19
+ "homepage": "https://agimon.ai",
20
+ "bugs": {
21
+ "url": "https://github.com/AgiFlow/doompi/issues"
22
+ },
23
+ "license": "MIT",
24
+ "author": "Vuong Ngo",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/AgiFlow/doompi.git",
28
+ "directory": "packages/core/doompi-web-components"
29
+ },
30
+ "files": [
31
+ "dist",
32
+ "styles",
33
+ "themes",
34
+ "llms.txt",
35
+ "README.md",
36
+ "LICENSE"
37
+ ],
38
+ "type": "module",
39
+ "main": "./dist/index.cjs",
40
+ "types": "./dist/index.d.mts",
41
+ "jsnext:main": "./dist/index.mjs",
42
+ "exports": {
43
+ ".": {
44
+ "types": "./dist/index.d.mts",
45
+ "import": "./dist/index.mjs",
46
+ "require": "./dist/index.cjs"
47
+ },
48
+ "./theme": {
49
+ "types": "./dist/theme.d.mts",
50
+ "import": "./dist/theme.mjs",
51
+ "require": "./dist/theme.cjs"
52
+ },
53
+ "./styles.css": "./styles/tokens.css",
54
+ "./themes/*.json": "./themes/*.json",
55
+ "./package.json": "./package.json"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "dependencies": {
61
+ "class-variance-authority": "0.7.1",
62
+ "clsx": "2.1.1",
63
+ "lucide-react": "1.31.0",
64
+ "radix-ui": "1.6.7",
65
+ "react-markdown": "10.1.0",
66
+ "remark-gfm": "4.0.1",
67
+ "tailwind-merge": "3.6.0"
68
+ },
69
+ "devDependencies": {
70
+ "@types/node": "26.2.0",
71
+ "@types/react": "19.2.7",
72
+ "@types/react-dom": "19.2.4",
73
+ "@vitest/coverage-v8": "4.1.11",
74
+ "react": "19.2.8",
75
+ "react-dom": "19.2.8",
76
+ "tsdown": "0.22.14",
77
+ "typescript": "7.0.2",
78
+ "vitest": "4.1.11",
79
+ "@agimon-ai/vibe-lint-plugin-doom-web": "0.0.1-alpha.36"
80
+ },
81
+ "peerDependencies": {
82
+ "react": "^19.0.0",
83
+ "react-dom": "^19.0.0"
84
+ },
85
+ "engines": {
86
+ "node": ">=22.19.0"
87
+ },
88
+ "scripts": {
89
+ "build": "tsdown",
90
+ "test": "vitest --run",
91
+ "typecheck": "tsc --noEmit",
92
+ "lint": "oxlint . && oxfmt . --check",
93
+ "fixcode": "oxlint . --fix && oxfmt ."
94
+ }
95
+ }
@@ -0,0 +1,202 @@
1
+ /*
2
+ * DoomPi web theme tokens and base styles.
3
+ *
4
+ * Import after Tailwind in the host stylesheet:
5
+ * @import 'tailwindcss';
6
+ * @import '@agimon-ai/doompi-web-components/styles.css';
7
+ *
8
+ * Tokens are plain custom properties on :root (the shipped dark theme, so a
9
+ * page without JavaScript already looks right) mapped inline into Tailwind's
10
+ * theme, which is what lets applyTheme() swap every utility's colour at
11
+ * runtime by rewriting the properties. The shadcn semantic names alias the
12
+ * same tokens so stock component code renders on the Doom palette untouched.
13
+ */
14
+ @source "../dist";
15
+
16
+ :root {
17
+ color-scheme: dark;
18
+ --doom-bg: #282c34;
19
+ --doom-rail: #21242b;
20
+ --doom-panel: #23272e;
21
+ --doom-deep: #1c1f24;
22
+ --doom-border: #3f444a;
23
+ --doom-border-soft: #2a2e35;
24
+ --doom-hi: #dfdfdf;
25
+ --doom-text: #bbc2cf;
26
+ --doom-dim: #9ca0a4;
27
+ --doom-faint: #5b6268;
28
+ --doom-blue: #51afef;
29
+ --doom-green: #98be65;
30
+ --doom-yellow: #ecbe7b;
31
+ --doom-red: #ff6c6b;
32
+ --doom-magenta: #c678dd;
33
+ --doom-violet: #a9a1e1;
34
+ --doom-cyan: #46d9ff;
35
+ --doom-orange: #da8548;
36
+ --doom-teal: #4db5bd;
37
+ --doom-selected: #2257a0;
38
+ --doom-tint-blue: #21313f;
39
+ --doom-tint-green: #262e1e;
40
+ --doom-tint-yellow: #312a1c;
41
+ --doom-tint-red: #332428;
42
+ --doom-tint-magenta: #2e2136;
43
+ --doom-tint-violet: #2d253f;
44
+ --doom-tint-cyan: color-mix(in srgb, var(--doom-cyan) 16%, var(--doom-panel));
45
+ --doom-tint-orange: color-mix(in srgb, var(--doom-orange) 16%, var(--doom-panel));
46
+ --doom-tint-teal: color-mix(in srgb, var(--doom-teal) 16%, var(--doom-panel));
47
+ --doom-edge-blue: #2f4a68;
48
+ --doom-edge-green: #35452e;
49
+ --doom-edge-yellow: #574427;
50
+ --doom-edge-red: #6b3a3a;
51
+ --doom-edge-magenta: #4a3358;
52
+ --doom-edge-violet: #3b3558;
53
+ --doom-edge-cyan: color-mix(in srgb, var(--doom-cyan) 40%, var(--doom-border));
54
+ --doom-edge-orange: color-mix(in srgb, var(--doom-orange) 40%, var(--doom-border));
55
+ --doom-edge-teal: color-mix(in srgb, var(--doom-teal) 40%, var(--doom-border));
56
+ /* The label on a selected row; a theme with a pale `selected` pins this. */
57
+ --doom-on-selected: color-mix(in srgb, var(--doom-selected) 12%, white);
58
+ --doom-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
59
+ }
60
+
61
+ @theme inline {
62
+ --color-doom-bg: var(--doom-bg);
63
+ --color-doom-rail: var(--doom-rail);
64
+ --color-doom-panel: var(--doom-panel);
65
+ --color-doom-deep: var(--doom-deep);
66
+ --color-doom-border: var(--doom-border);
67
+ --color-doom-border-soft: var(--doom-border-soft);
68
+ --color-doom-hi: var(--doom-hi);
69
+ --color-doom-text: var(--doom-text);
70
+ --color-doom-dim: var(--doom-dim);
71
+ --color-doom-faint: var(--doom-faint);
72
+ --color-doom-blue: var(--doom-blue);
73
+ --color-doom-green: var(--doom-green);
74
+ --color-doom-yellow: var(--doom-yellow);
75
+ --color-doom-red: var(--doom-red);
76
+ --color-doom-magenta: var(--doom-magenta);
77
+ --color-doom-violet: var(--doom-violet);
78
+ --color-doom-cyan: var(--doom-cyan);
79
+ --color-doom-orange: var(--doom-orange);
80
+ --color-doom-teal: var(--doom-teal);
81
+ --color-doom-selected: var(--doom-selected);
82
+ --color-doom-tint-blue: var(--doom-tint-blue);
83
+ --color-doom-tint-green: var(--doom-tint-green);
84
+ --color-doom-tint-yellow: var(--doom-tint-yellow);
85
+ --color-doom-tint-red: var(--doom-tint-red);
86
+ --color-doom-tint-magenta: var(--doom-tint-magenta);
87
+ --color-doom-tint-violet: var(--doom-tint-violet);
88
+ --color-doom-tint-cyan: var(--doom-tint-cyan);
89
+ --color-doom-tint-orange: var(--doom-tint-orange);
90
+ --color-doom-tint-teal: var(--doom-tint-teal);
91
+ --color-doom-edge-blue: var(--doom-edge-blue);
92
+ --color-doom-edge-green: var(--doom-edge-green);
93
+ --color-doom-edge-yellow: var(--doom-edge-yellow);
94
+ --color-doom-edge-red: var(--doom-edge-red);
95
+ --color-doom-edge-magenta: var(--doom-edge-magenta);
96
+ --color-doom-edge-violet: var(--doom-edge-violet);
97
+ --color-doom-edge-cyan: var(--doom-edge-cyan);
98
+ --color-doom-edge-orange: var(--doom-edge-orange);
99
+ --color-doom-edge-teal: var(--doom-edge-teal);
100
+ --color-doom-on-selected: var(--doom-on-selected);
101
+
102
+ /* shadcn semantic aliases, so stock component code lands on the palette. */
103
+ --color-background: var(--doom-bg);
104
+ --color-foreground: var(--doom-text);
105
+ --color-card: var(--doom-panel);
106
+ --color-card-foreground: var(--doom-text);
107
+ --color-popover: var(--doom-panel);
108
+ --color-popover-foreground: var(--doom-text);
109
+ --color-primary: var(--doom-blue);
110
+ --color-primary-foreground: var(--doom-rail);
111
+ --color-secondary: var(--doom-deep);
112
+ --color-secondary-foreground: var(--doom-hi);
113
+ --color-muted: var(--doom-deep);
114
+ --color-muted-foreground: var(--doom-dim);
115
+ --color-accent: var(--doom-tint-blue);
116
+ --color-accent-foreground: var(--doom-hi);
117
+ --color-destructive: var(--doom-red);
118
+ --color-destructive-foreground: var(--doom-rail);
119
+ --color-border: var(--doom-border);
120
+ --color-input: var(--doom-border);
121
+ --color-ring: var(--doom-blue);
122
+
123
+ --font-mono: var(--doom-font-mono);
124
+
125
+ --animate-doom-fade: doom-fade 140ms ease-out;
126
+ --animate-doom-pop: doom-pop 160ms cubic-bezier(0.16, 1, 0.3, 1);
127
+ --animate-doom-rise: doom-rise 160ms cubic-bezier(0.16, 1, 0.3, 1);
128
+ --animate-doom-blink: doom-blink 1s steps(2, start) infinite;
129
+
130
+ @keyframes doom-fade {
131
+ from {
132
+ opacity: 0;
133
+ }
134
+ to {
135
+ opacity: 1;
136
+ }
137
+ }
138
+ @keyframes doom-pop {
139
+ from {
140
+ opacity: 0;
141
+ transform: translateY(4px) scale(0.98);
142
+ }
143
+ to {
144
+ opacity: 1;
145
+ transform: translateY(0) scale(1);
146
+ }
147
+ }
148
+ @keyframes doom-rise {
149
+ from {
150
+ opacity: 0;
151
+ transform: translateY(6px);
152
+ }
153
+ to {
154
+ opacity: 1;
155
+ transform: translateY(0);
156
+ }
157
+ }
158
+ @keyframes doom-blink {
159
+ 50% {
160
+ opacity: 0;
161
+ }
162
+ }
163
+ }
164
+
165
+ @layer base {
166
+ html,
167
+ body {
168
+ height: 100%;
169
+ }
170
+
171
+ body {
172
+ margin: 0;
173
+ background-color: var(--doom-bg);
174
+ color: var(--doom-text);
175
+ font-family: var(--doom-font-mono);
176
+ font-size: 13px;
177
+ -webkit-font-smoothing: antialiased;
178
+ }
179
+
180
+ ::-webkit-scrollbar {
181
+ width: 10px;
182
+ height: 10px;
183
+ }
184
+
185
+ ::-webkit-scrollbar-thumb {
186
+ background: var(--doom-border);
187
+ border-radius: 5px;
188
+ }
189
+
190
+ ::selection {
191
+ background: color-mix(in srgb, var(--doom-blue) 35%, transparent);
192
+ }
193
+
194
+ @media (prefers-reduced-motion: reduce) {
195
+ *,
196
+ *::before,
197
+ *::after {
198
+ animation-duration: 0.01ms !important;
199
+ transition-duration: 0.01ms !important;
200
+ }
201
+ }
202
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "doom-nord-dark",
3
+ "label": "Doom Nord (dark)",
4
+ "scheme": "dark",
5
+ "tokens": {
6
+ "bg": "#2e3440",
7
+ "rail": "#272c36",
8
+ "panel": "#2b313d",
9
+ "deep": "#232831",
10
+ "border": "#434c5e",
11
+ "border-soft": "#353c4a",
12
+ "hi": "#eceff4",
13
+ "text": "#d8dee9",
14
+ "dim": "#9aa4b8",
15
+ "faint": "#616e88",
16
+ "blue": "#81a1c1",
17
+ "green": "#a3be8c",
18
+ "yellow": "#ebcb8b",
19
+ "red": "#bf616a",
20
+ "magenta": "#b48ead",
21
+ "violet": "#a3a7d6",
22
+ "cyan": "#88c0d0",
23
+ "orange": "#d08770",
24
+ "teal": "#8fbcbb",
25
+ "selected": "#4c6a92"
26
+ }
27
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "doom-one-dark",
3
+ "label": "Doom One (dark)",
4
+ "scheme": "dark",
5
+ "tokens": {
6
+ "bg": "#282c34",
7
+ "rail": "#21242b",
8
+ "panel": "#23272e",
9
+ "deep": "#1c1f24",
10
+ "border": "#3f444a",
11
+ "border-soft": "#2a2e35",
12
+ "hi": "#dfdfdf",
13
+ "text": "#bbc2cf",
14
+ "dim": "#9ca0a4",
15
+ "faint": "#5b6268",
16
+ "blue": "#51afef",
17
+ "green": "#98be65",
18
+ "yellow": "#ecbe7b",
19
+ "red": "#ff6c6b",
20
+ "magenta": "#c678dd",
21
+ "violet": "#a9a1e1",
22
+ "cyan": "#46d9ff",
23
+ "orange": "#da8548",
24
+ "teal": "#4db5bd",
25
+ "selected": "#2257a0",
26
+ "tint-blue": "#21313f",
27
+ "tint-green": "#262e1e",
28
+ "tint-yellow": "#312a1c",
29
+ "tint-red": "#332428",
30
+ "tint-magenta": "#2e2136",
31
+ "tint-violet": "#2d253f",
32
+ "edge-blue": "#2f4a68",
33
+ "edge-green": "#35452e",
34
+ "edge-yellow": "#574427",
35
+ "edge-red": "#6b3a3a",
36
+ "edge-magenta": "#4a3358",
37
+ "edge-violet": "#3b3558"
38
+ }
39
+ }