@adea-ai/ui 0.60.4 → 0.61.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 (862) hide show
  1. package/README.md +108 -34
  2. package/dist/components/composites/account-menu/account-menu.d.ts +48 -0
  3. package/dist/components/composites/account-menu/account-menu.d.ts.map +1 -0
  4. package/dist/components/composites/account-menu/account-menu.js +119 -0
  5. package/dist/components/composites/account-menu/account-menu.js.map +1 -0
  6. package/dist/components/composites/account-menu/index.d.ts +2 -0
  7. package/dist/components/composites/account-menu/index.d.ts.map +1 -0
  8. package/dist/components/composites/list-row/index.d.ts +2 -0
  9. package/dist/components/composites/list-row/index.d.ts.map +1 -0
  10. package/dist/components/composites/list-row/list-row.d.ts +44 -0
  11. package/dist/components/composites/list-row/list-row.d.ts.map +1 -0
  12. package/dist/components/composites/list-row/list-row.js +124 -0
  13. package/dist/components/composites/list-row/list-row.js.map +1 -0
  14. package/dist/components/composites/settings/index.d.ts +2 -0
  15. package/dist/components/composites/settings/index.d.ts.map +1 -0
  16. package/dist/components/composites/settings/settings.d.ts +49 -0
  17. package/dist/components/composites/settings/settings.d.ts.map +1 -0
  18. package/dist/components/composites/settings/settings.js +148 -0
  19. package/dist/components/composites/settings/settings.js.map +1 -0
  20. package/dist/components/composites/stat/index.d.ts +2 -0
  21. package/dist/components/composites/stat/index.d.ts.map +1 -0
  22. package/dist/components/composites/stat/stat.d.ts +48 -0
  23. package/dist/components/composites/stat/stat.d.ts.map +1 -0
  24. package/dist/components/composites/stat/stat.js +148 -0
  25. package/dist/components/composites/stat/stat.js.map +1 -0
  26. package/dist/components/composites/update-dialog/index.d.ts +2 -0
  27. package/dist/components/composites/update-dialog/index.d.ts.map +1 -0
  28. package/dist/components/composites/update-dialog/update-dialog.d.ts +108 -0
  29. package/dist/components/composites/update-dialog/update-dialog.d.ts.map +1 -0
  30. package/dist/components/composites/update-dialog/update-dialog.js +452 -0
  31. package/dist/components/composites/update-dialog/update-dialog.js.map +1 -0
  32. package/dist/components/composites/workspace-mark/index.d.ts +2 -0
  33. package/dist/components/composites/workspace-mark/index.d.ts.map +1 -0
  34. package/dist/components/composites/workspace-mark/workspace-mark.d.ts +24 -0
  35. package/dist/components/composites/workspace-mark/workspace-mark.d.ts.map +1 -0
  36. package/dist/components/composites/workspace-mark/workspace-mark.js +76 -0
  37. package/dist/components/composites/workspace-mark/workspace-mark.js.map +1 -0
  38. package/dist/components/conversation/conversation-avatar.d.ts +21 -0
  39. package/dist/components/conversation/conversation-avatar.d.ts.map +1 -0
  40. package/dist/components/conversation/conversation-avatar.js +52 -0
  41. package/dist/components/conversation/conversation-avatar.js.map +1 -0
  42. package/dist/components/conversation/conversation-surface.d.ts +27 -0
  43. package/dist/components/conversation/conversation-surface.d.ts.map +1 -0
  44. package/dist/components/conversation/conversation-surface.js +118 -0
  45. package/dist/components/conversation/conversation-surface.js.map +1 -0
  46. package/dist/components/conversation/index.d.ts +6 -0
  47. package/dist/components/conversation/index.d.ts.map +1 -0
  48. package/dist/components/conversation/message-composer.d.ts +70 -0
  49. package/dist/components/conversation/message-composer.d.ts.map +1 -0
  50. package/dist/components/conversation/message-composer.js +235 -0
  51. package/dist/components/conversation/message-composer.js.map +1 -0
  52. package/dist/components/conversation/message-row.d.ts +101 -0
  53. package/dist/components/conversation/message-row.d.ts.map +1 -0
  54. package/dist/components/conversation/message-row.js +389 -0
  55. package/dist/components/conversation/message-row.js.map +1 -0
  56. package/dist/components/conversation/thread-panel.d.ts +45 -0
  57. package/dist/components/conversation/thread-panel.d.ts.map +1 -0
  58. package/dist/components/conversation/thread-panel.js +123 -0
  59. package/dist/components/conversation/thread-panel.js.map +1 -0
  60. package/dist/components/layout/app-shell/app-shell.d.ts +45 -0
  61. package/dist/components/layout/app-shell/app-shell.d.ts.map +1 -0
  62. package/dist/components/layout/app-shell/app-shell.js +89 -0
  63. package/dist/components/layout/app-shell/app-shell.js.map +1 -0
  64. package/dist/components/layout/app-shell/index.d.ts +2 -0
  65. package/dist/components/layout/app-shell/index.d.ts.map +1 -0
  66. package/dist/components/layout/page/index.d.ts +2 -0
  67. package/dist/components/layout/page/index.d.ts.map +1 -0
  68. package/dist/components/layout/page/page.d.ts +31 -0
  69. package/dist/components/layout/page/page.d.ts.map +1 -0
  70. package/dist/components/layout/page/page.js +143 -0
  71. package/dist/components/layout/page/page.js.map +1 -0
  72. package/dist/components/layout/panel/index.d.ts +2 -0
  73. package/dist/components/layout/panel/index.d.ts.map +1 -0
  74. package/dist/components/layout/panel/panel.d.ts +44 -0
  75. package/dist/components/layout/panel/panel.d.ts.map +1 -0
  76. package/dist/components/layout/panel/panel.js +151 -0
  77. package/dist/components/layout/panel/panel.js.map +1 -0
  78. package/dist/components/layout/side-rail/index.d.ts +3 -0
  79. package/dist/components/layout/side-rail/index.d.ts.map +1 -0
  80. package/dist/components/layout/side-rail/side-rail-context.d.ts +23 -0
  81. package/dist/components/layout/side-rail/side-rail-context.d.ts.map +1 -0
  82. package/dist/components/layout/side-rail/side-rail-context.js +18 -0
  83. package/dist/components/layout/side-rail/side-rail-context.js.map +1 -0
  84. package/dist/components/layout/side-rail/side-rail.d.ts +101 -0
  85. package/dist/components/layout/side-rail/side-rail.d.ts.map +1 -0
  86. package/dist/components/layout/side-rail/side-rail.js +336 -0
  87. package/dist/components/layout/side-rail/side-rail.js.map +1 -0
  88. package/dist/components/layout/sidebar-nav/index.d.ts +2 -0
  89. package/dist/components/layout/sidebar-nav/index.d.ts.map +1 -0
  90. package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts +62 -0
  91. package/dist/components/layout/sidebar-nav/sidebar-nav.d.ts.map +1 -0
  92. package/dist/components/layout/sidebar-nav/sidebar-nav.js +231 -0
  93. package/dist/components/layout/sidebar-nav/sidebar-nav.js.map +1 -0
  94. package/dist/components/layout/status-bar/index.d.ts +2 -0
  95. package/dist/components/layout/status-bar/index.d.ts.map +1 -0
  96. package/dist/components/layout/status-bar/status-bar.d.ts +23 -0
  97. package/dist/components/layout/status-bar/status-bar.d.ts.map +1 -0
  98. package/dist/components/layout/status-bar/status-bar.js +68 -0
  99. package/dist/components/layout/status-bar/status-bar.js.map +1 -0
  100. package/dist/components/layout/top-bar/index.d.ts +2 -0
  101. package/dist/components/layout/top-bar/index.d.ts.map +1 -0
  102. package/dist/components/layout/top-bar/top-bar.d.ts +59 -0
  103. package/dist/components/layout/top-bar/top-bar.d.ts.map +1 -0
  104. package/dist/components/layout/top-bar/top-bar.js +118 -0
  105. package/dist/components/layout/top-bar/top-bar.js.map +1 -0
  106. package/dist/components/motion/index.d.ts +3 -0
  107. package/dist/components/motion/index.d.ts.map +1 -0
  108. package/dist/components/motion/index.js +3 -0
  109. package/dist/components/motion/presence.d.ts +29 -0
  110. package/dist/components/motion/presence.d.ts.map +1 -0
  111. package/dist/components/motion/presence.js +10 -0
  112. package/dist/components/motion/presence.js.map +1 -0
  113. package/dist/components/theme/appearance-panel.d.ts +25 -0
  114. package/dist/components/theme/appearance-panel.d.ts.map +1 -0
  115. package/dist/components/theme/appearance-panel.js +162 -0
  116. package/dist/components/theme/appearance-panel.js.map +1 -0
  117. package/dist/components/theme/index.d.ts +5 -0
  118. package/dist/components/theme/index.d.ts.map +1 -0
  119. package/dist/components/theme/theme-picker.d.ts +54 -0
  120. package/dist/components/theme/theme-picker.d.ts.map +1 -0
  121. package/dist/components/theme/theme-picker.js +156 -0
  122. package/dist/components/theme/theme-picker.js.map +1 -0
  123. package/dist/components/theme/theme-provider.d.ts +130 -0
  124. package/dist/components/theme/theme-provider.d.ts.map +1 -0
  125. package/dist/components/theme/theme-provider.js +164 -0
  126. package/dist/components/theme/theme-provider.js.map +1 -0
  127. package/dist/components/theme/theme-toggle.d.ts +19 -0
  128. package/dist/components/theme/theme-toggle.d.ts.map +1 -0
  129. package/dist/components/theme/theme-toggle.js +69 -0
  130. package/dist/components/theme/theme-toggle.js.map +1 -0
  131. package/dist/components/ui/accordion/accordion.d.ts +18 -0
  132. package/dist/components/ui/accordion/accordion.d.ts.map +1 -0
  133. package/dist/components/ui/accordion/accordion.js +60 -0
  134. package/dist/components/ui/accordion/accordion.js.map +1 -0
  135. package/dist/components/ui/accordion/index.d.ts +2 -0
  136. package/dist/components/ui/accordion/index.d.ts.map +1 -0
  137. package/dist/components/ui/alert/alert.d.ts +26 -0
  138. package/dist/components/ui/alert/alert.d.ts.map +1 -0
  139. package/dist/components/ui/alert/alert.js +89 -0
  140. package/dist/components/ui/alert/alert.js.map +1 -0
  141. package/dist/components/ui/alert/index.d.ts +2 -0
  142. package/dist/components/ui/alert/index.d.ts.map +1 -0
  143. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +29 -0
  144. package/dist/components/ui/alert-dialog/alert-dialog.d.ts.map +1 -0
  145. package/dist/components/ui/alert-dialog/alert-dialog.js +155 -0
  146. package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -0
  147. package/dist/components/ui/alert-dialog/index.d.ts +2 -0
  148. package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
  149. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +22 -0
  150. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  151. package/dist/components/ui/aspect-ratio/aspect-ratio.js +29 -0
  152. package/dist/components/ui/aspect-ratio/aspect-ratio.js.map +1 -0
  153. package/dist/components/ui/aspect-ratio/index.d.ts +2 -0
  154. package/dist/components/ui/aspect-ratio/index.d.ts.map +1 -0
  155. package/dist/components/ui/avatar/avatar.d.ts +41 -0
  156. package/dist/components/ui/avatar/avatar.d.ts.map +1 -0
  157. package/dist/components/ui/avatar/avatar.js +106 -0
  158. package/dist/components/ui/avatar/avatar.js.map +1 -0
  159. package/dist/components/ui/avatar/index.d.ts +2 -0
  160. package/dist/components/ui/avatar/index.d.ts.map +1 -0
  161. package/dist/components/ui/badge/badge.d.ts +22 -0
  162. package/dist/components/ui/badge/badge.d.ts.map +1 -0
  163. package/dist/components/ui/badge/badge.js +58 -0
  164. package/dist/components/ui/badge/badge.js.map +1 -0
  165. package/dist/components/ui/badge/index.d.ts +2 -0
  166. package/dist/components/ui/badge/index.d.ts.map +1 -0
  167. package/dist/components/ui/board/board.d.ts +78 -0
  168. package/dist/components/ui/board/board.d.ts.map +1 -0
  169. package/dist/components/ui/board/board.js +200 -0
  170. package/dist/components/ui/board/board.js.map +1 -0
  171. package/dist/components/ui/board/index.d.ts +2 -0
  172. package/dist/components/ui/board/index.d.ts.map +1 -0
  173. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +24 -0
  174. package/dist/components/ui/breadcrumb/breadcrumb.d.ts.map +1 -0
  175. package/dist/components/ui/breadcrumb/breadcrumb.js +109 -0
  176. package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -0
  177. package/dist/components/ui/breadcrumb/index.d.ts +2 -0
  178. package/dist/components/ui/breadcrumb/index.d.ts.map +1 -0
  179. package/dist/components/ui/button/button.d.ts +30 -0
  180. package/dist/components/ui/button/button.d.ts.map +1 -0
  181. package/dist/components/ui/button/button.js +80 -0
  182. package/dist/components/ui/button/button.js.map +1 -0
  183. package/dist/components/ui/button/index.d.ts +2 -0
  184. package/dist/components/ui/button/index.d.ts.map +1 -0
  185. package/dist/components/ui/button-group/button-group.d.ts +39 -0
  186. package/dist/components/ui/button-group/button-group.d.ts.map +1 -0
  187. package/dist/components/ui/button-group/button-group.js +63 -0
  188. package/dist/components/ui/button-group/button-group.js.map +1 -0
  189. package/dist/components/ui/button-group/index.d.ts +2 -0
  190. package/dist/components/ui/button-group/index.d.ts.map +1 -0
  191. package/dist/components/ui/calendar/calendar.d.ts +93 -0
  192. package/dist/components/ui/calendar/calendar.d.ts.map +1 -0
  193. package/dist/components/ui/calendar/calendar.js +243 -0
  194. package/dist/components/ui/calendar/calendar.js.map +1 -0
  195. package/dist/components/ui/calendar/index.d.ts +2 -0
  196. package/dist/components/ui/calendar/index.d.ts.map +1 -0
  197. package/dist/components/ui/card/card.d.ts +23 -0
  198. package/dist/components/ui/card/card.d.ts.map +1 -0
  199. package/dist/components/ui/card/card.js +98 -0
  200. package/dist/components/ui/card/card.js.map +1 -0
  201. package/dist/components/ui/card/index.d.ts +2 -0
  202. package/dist/components/ui/card/index.d.ts.map +1 -0
  203. package/dist/components/ui/carousel/carousel.d.ts +66 -0
  204. package/dist/components/ui/carousel/carousel.d.ts.map +1 -0
  205. package/dist/components/ui/carousel/carousel.js +178 -0
  206. package/dist/components/ui/carousel/carousel.js.map +1 -0
  207. package/dist/components/ui/carousel/index.d.ts +2 -0
  208. package/dist/components/ui/carousel/index.d.ts.map +1 -0
  209. package/dist/components/ui/chart/chart.d.ts +154 -0
  210. package/dist/components/ui/chart/chart.d.ts.map +1 -0
  211. package/dist/components/ui/chart/chart.js +373 -0
  212. package/dist/components/ui/chart/chart.js.map +1 -0
  213. package/dist/components/ui/chart/index.d.ts +2 -0
  214. package/dist/components/ui/chart/index.d.ts.map +1 -0
  215. package/dist/components/ui/checkbox/checkbox.d.ts +33 -0
  216. package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
  217. package/dist/components/ui/checkbox/checkbox.js +76 -0
  218. package/dist/components/ui/checkbox/checkbox.js.map +1 -0
  219. package/dist/components/ui/checkbox/index.d.ts +2 -0
  220. package/dist/components/ui/checkbox/index.d.ts.map +1 -0
  221. package/dist/components/ui/code-block/code-block.d.ts +75 -0
  222. package/dist/components/ui/code-block/code-block.d.ts.map +1 -0
  223. package/dist/components/ui/code-block/code-block.js +186 -0
  224. package/dist/components/ui/code-block/code-block.js.map +1 -0
  225. package/dist/components/ui/code-block/index.d.ts +2 -0
  226. package/dist/components/ui/code-block/index.d.ts.map +1 -0
  227. package/dist/components/ui/collapsible/collapsible.d.ts +17 -0
  228. package/dist/components/ui/collapsible/collapsible.d.ts.map +1 -0
  229. package/dist/components/ui/collapsible/collapsible.js +38 -0
  230. package/dist/components/ui/collapsible/collapsible.js.map +1 -0
  231. package/dist/components/ui/collapsible/index.d.ts +2 -0
  232. package/dist/components/ui/collapsible/index.d.ts.map +1 -0
  233. package/dist/components/ui/combobox/combobox.d.ts +28 -0
  234. package/dist/components/ui/combobox/combobox.d.ts.map +1 -0
  235. package/dist/components/ui/combobox/combobox.js +102 -0
  236. package/dist/components/ui/combobox/combobox.js.map +1 -0
  237. package/dist/components/ui/combobox/index.d.ts +2 -0
  238. package/dist/components/ui/combobox/index.d.ts.map +1 -0
  239. package/dist/components/ui/command/command.d.ts +53 -0
  240. package/dist/components/ui/command/command.d.ts.map +1 -0
  241. package/dist/components/ui/command/command.js +137 -0
  242. package/dist/components/ui/command/command.js.map +1 -0
  243. package/dist/components/ui/command/index.d.ts +2 -0
  244. package/dist/components/ui/command/index.d.ts.map +1 -0
  245. package/dist/components/ui/context-menu/context-menu.d.ts +32 -0
  246. package/dist/components/ui/context-menu/context-menu.d.ts.map +1 -0
  247. package/dist/components/ui/context-menu/context-menu.js +119 -0
  248. package/dist/components/ui/context-menu/context-menu.js.map +1 -0
  249. package/dist/components/ui/context-menu/index.d.ts +2 -0
  250. package/dist/components/ui/context-menu/index.d.ts.map +1 -0
  251. package/dist/components/ui/detail-panel/detail-panel.d.ts +61 -0
  252. package/dist/components/ui/detail-panel/detail-panel.d.ts.map +1 -0
  253. package/dist/components/ui/detail-panel/detail-panel.js +132 -0
  254. package/dist/components/ui/detail-panel/detail-panel.js.map +1 -0
  255. package/dist/components/ui/detail-panel/index.d.ts +2 -0
  256. package/dist/components/ui/detail-panel/index.d.ts.map +1 -0
  257. package/dist/components/ui/dialog/dialog.d.ts +40 -0
  258. package/dist/components/ui/dialog/dialog.d.ts.map +1 -0
  259. package/dist/components/ui/dialog/dialog.js +125 -0
  260. package/dist/components/ui/dialog/dialog.js.map +1 -0
  261. package/dist/components/ui/dialog/index.d.ts +2 -0
  262. package/dist/components/ui/dialog/index.d.ts.map +1 -0
  263. package/dist/components/ui/diff-block/diff-block.d.ts +95 -0
  264. package/dist/components/ui/diff-block/diff-block.d.ts.map +1 -0
  265. package/dist/components/ui/diff-block/diff-block.js +230 -0
  266. package/dist/components/ui/diff-block/diff-block.js.map +1 -0
  267. package/dist/components/ui/diff-block/diff-block.test.d.ts +2 -0
  268. package/dist/components/ui/diff-block/diff-block.test.d.ts.map +1 -0
  269. package/dist/components/ui/diff-block/index.d.ts +2 -0
  270. package/dist/components/ui/diff-block/index.d.ts.map +1 -0
  271. package/dist/components/ui/drawer/drawer.d.ts +39 -0
  272. package/dist/components/ui/drawer/drawer.d.ts.map +1 -0
  273. package/dist/components/ui/drawer/drawer.js +106 -0
  274. package/dist/components/ui/drawer/drawer.js.map +1 -0
  275. package/dist/components/ui/drawer/index.d.ts +2 -0
  276. package/dist/components/ui/drawer/index.d.ts.map +1 -0
  277. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +48 -0
  278. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  279. package/dist/components/ui/dropdown-menu/dropdown-menu.js +151 -0
  280. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
  281. package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
  282. package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
  283. package/dist/components/ui/empty/empty.d.ts +27 -0
  284. package/dist/components/ui/empty/empty.d.ts.map +1 -0
  285. package/dist/components/ui/{empty.js → empty/empty.js} +28 -23
  286. package/dist/components/ui/empty/empty.js.map +1 -0
  287. package/dist/components/ui/empty/index.d.ts +2 -0
  288. package/dist/components/ui/empty/index.d.ts.map +1 -0
  289. package/dist/components/ui/entity-icon/entity-icon.d.ts +59 -0
  290. package/dist/components/ui/entity-icon/entity-icon.d.ts.map +1 -0
  291. package/dist/components/ui/entity-icon/entity-icon.js +145 -0
  292. package/dist/components/ui/entity-icon/entity-icon.js.map +1 -0
  293. package/dist/components/ui/entity-icon/index.d.ts +2 -0
  294. package/dist/components/ui/entity-icon/index.d.ts.map +1 -0
  295. package/dist/components/ui/field/field.d.ts +39 -0
  296. package/dist/components/ui/field/field.d.ts.map +1 -0
  297. package/dist/components/ui/field/field.js +111 -0
  298. package/dist/components/ui/field/field.js.map +1 -0
  299. package/dist/components/ui/field/index.d.ts +2 -0
  300. package/dist/components/ui/field/index.d.ts.map +1 -0
  301. package/dist/components/ui/hover-card/hover-card.d.ts +17 -0
  302. package/dist/components/ui/hover-card/hover-card.d.ts.map +1 -0
  303. package/dist/components/ui/hover-card/hover-card.js +40 -0
  304. package/dist/components/ui/hover-card/hover-card.js.map +1 -0
  305. package/dist/components/ui/hover-card/index.d.ts +2 -0
  306. package/dist/components/ui/hover-card/index.d.ts.map +1 -0
  307. package/dist/components/ui/input/index.d.ts +2 -0
  308. package/dist/components/ui/input/index.d.ts.map +1 -0
  309. package/dist/components/ui/input/input.d.ts +15 -0
  310. package/dist/components/ui/input/input.d.ts.map +1 -0
  311. package/dist/components/ui/input/input.js +36 -0
  312. package/dist/components/ui/input/input.js.map +1 -0
  313. package/dist/components/ui/input-group/index.d.ts +2 -0
  314. package/dist/components/ui/input-group/index.d.ts.map +1 -0
  315. package/dist/components/ui/input-group/input-group.d.ts +34 -0
  316. package/dist/components/ui/input-group/input-group.d.ts.map +1 -0
  317. package/dist/components/ui/input-group/input-group.js +93 -0
  318. package/dist/components/ui/input-group/input-group.js.map +1 -0
  319. package/dist/components/ui/input-otp/index.d.ts +2 -0
  320. package/dist/components/ui/input-otp/index.d.ts.map +1 -0
  321. package/dist/components/ui/input-otp/input-otp.d.ts +37 -0
  322. package/dist/components/ui/input-otp/input-otp.d.ts.map +1 -0
  323. package/dist/components/ui/input-otp/input-otp.js +92 -0
  324. package/dist/components/ui/input-otp/input-otp.js.map +1 -0
  325. package/dist/components/ui/item/index.d.ts +2 -0
  326. package/dist/components/ui/item/index.d.ts.map +1 -0
  327. package/dist/components/ui/item/item.d.ts +49 -0
  328. package/dist/components/ui/item/item.d.ts.map +1 -0
  329. package/dist/components/ui/item/item.js +163 -0
  330. package/dist/components/ui/item/item.js.map +1 -0
  331. package/dist/components/ui/kbd/index.d.ts +2 -0
  332. package/dist/components/ui/kbd/index.d.ts.map +1 -0
  333. package/dist/components/ui/kbd/kbd.d.ts +14 -0
  334. package/dist/components/ui/kbd/kbd.d.ts.map +1 -0
  335. package/dist/components/ui/kbd/kbd.js +40 -0
  336. package/dist/components/ui/kbd/kbd.js.map +1 -0
  337. package/dist/components/ui/label/index.d.ts +2 -0
  338. package/dist/components/ui/label/index.d.ts.map +1 -0
  339. package/dist/components/ui/label/label.d.ts +17 -0
  340. package/dist/components/ui/label/label.d.ts.map +1 -0
  341. package/dist/components/ui/label/label.js +33 -0
  342. package/dist/components/ui/label/label.js.map +1 -0
  343. package/dist/components/ui/menubar/index.d.ts +2 -0
  344. package/dist/components/ui/menubar/index.d.ts.map +1 -0
  345. package/dist/components/ui/menubar/menubar.d.ts +38 -0
  346. package/dist/components/ui/menubar/menubar.d.ts.map +1 -0
  347. package/dist/components/ui/menubar/menubar.js +138 -0
  348. package/dist/components/ui/menubar/menubar.js.map +1 -0
  349. package/dist/components/ui/modal-dialog/index.d.ts +2 -0
  350. package/dist/components/ui/modal-dialog/index.d.ts.map +1 -0
  351. package/dist/components/ui/modal-dialog/modal-dialog.d.ts +35 -0
  352. package/dist/components/ui/modal-dialog/modal-dialog.d.ts.map +1 -0
  353. package/dist/components/ui/modal-dialog/modal-dialog.js +78 -0
  354. package/dist/components/ui/modal-dialog/modal-dialog.js.map +1 -0
  355. package/dist/components/ui/navigation-menu/index.d.ts +2 -0
  356. package/dist/components/ui/navigation-menu/index.d.ts.map +1 -0
  357. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +77 -0
  358. package/dist/components/ui/navigation-menu/navigation-menu.d.ts.map +1 -0
  359. package/dist/components/ui/navigation-menu/navigation-menu.js +116 -0
  360. package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -0
  361. package/dist/components/ui/pagination/index.d.ts +2 -0
  362. package/dist/components/ui/pagination/index.d.ts.map +1 -0
  363. package/dist/components/ui/pagination/pagination.d.ts +33 -0
  364. package/dist/components/ui/pagination/pagination.d.ts.map +1 -0
  365. package/dist/components/ui/pagination/pagination.js +92 -0
  366. package/dist/components/ui/pagination/pagination.js.map +1 -0
  367. package/dist/components/ui/popover/index.d.ts +2 -0
  368. package/dist/components/ui/popover/index.d.ts.map +1 -0
  369. package/dist/components/ui/popover/popover.d.ts +26 -0
  370. package/dist/components/ui/popover/popover.d.ts.map +1 -0
  371. package/dist/components/ui/popover/popover.js +66 -0
  372. package/dist/components/ui/popover/popover.js.map +1 -0
  373. package/dist/components/ui/progress/index.d.ts +2 -0
  374. package/dist/components/ui/progress/index.d.ts.map +1 -0
  375. package/dist/components/ui/progress/progress.d.ts +29 -0
  376. package/dist/components/ui/progress/progress.d.ts.map +1 -0
  377. package/dist/components/ui/progress/progress.js +53 -0
  378. package/dist/components/ui/progress/progress.js.map +1 -0
  379. package/dist/components/ui/radio-group/index.d.ts +2 -0
  380. package/dist/components/ui/radio-group/index.d.ts.map +1 -0
  381. package/dist/components/ui/radio-group/radio-group.d.ts +26 -0
  382. package/dist/components/ui/radio-group/radio-group.d.ts.map +1 -0
  383. package/dist/components/ui/radio-group/radio-group.js +77 -0
  384. package/dist/components/ui/radio-group/radio-group.js.map +1 -0
  385. package/dist/components/ui/resizable/index.d.ts +2 -0
  386. package/dist/components/ui/resizable/index.d.ts.map +1 -0
  387. package/dist/components/ui/resizable/resizable.d.ts +33 -0
  388. package/dist/components/ui/resizable/resizable.d.ts.map +1 -0
  389. package/dist/components/ui/resizable/resizable.js +57 -0
  390. package/dist/components/ui/resizable/resizable.js.map +1 -0
  391. package/dist/components/ui/scroll-area/index.d.ts +2 -0
  392. package/dist/components/ui/scroll-area/index.d.ts.map +1 -0
  393. package/dist/components/ui/scroll-area/scroll-area.d.ts +26 -0
  394. package/dist/components/ui/scroll-area/scroll-area.d.ts.map +1 -0
  395. package/dist/components/ui/scroll-area/scroll-area.js +36 -0
  396. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -0
  397. package/dist/components/ui/select/index.d.ts +2 -0
  398. package/dist/components/ui/select/index.d.ts.map +1 -0
  399. package/dist/components/ui/select/select.d.ts +63 -0
  400. package/dist/components/ui/select/select.d.ts.map +1 -0
  401. package/dist/components/ui/select/select.js +142 -0
  402. package/dist/components/ui/select/select.js.map +1 -0
  403. package/dist/components/ui/separator/index.d.ts +2 -0
  404. package/dist/components/ui/separator/index.d.ts.map +1 -0
  405. package/dist/components/ui/separator/separator.d.ts +17 -0
  406. package/dist/components/ui/separator/separator.d.ts.map +1 -0
  407. package/dist/components/ui/separator/separator.js +24 -0
  408. package/dist/components/ui/separator/separator.js.map +1 -0
  409. package/dist/components/ui/sheet/index.d.ts +2 -0
  410. package/dist/components/ui/sheet/index.d.ts.map +1 -0
  411. package/dist/components/ui/sheet/sheet.d.ts +32 -0
  412. package/dist/components/ui/sheet/sheet.d.ts.map +1 -0
  413. package/dist/components/ui/sheet/sheet.js +118 -0
  414. package/dist/components/ui/sheet/sheet.js.map +1 -0
  415. package/dist/components/ui/skeleton/index.d.ts +2 -0
  416. package/dist/components/ui/skeleton/index.d.ts.map +1 -0
  417. package/dist/components/ui/skeleton/skeleton.d.ts +15 -0
  418. package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -0
  419. package/dist/components/ui/skeleton/skeleton.js +31 -0
  420. package/dist/components/ui/skeleton/skeleton.js.map +1 -0
  421. package/dist/components/ui/slider/index.d.ts +2 -0
  422. package/dist/components/ui/slider/index.d.ts.map +1 -0
  423. package/dist/components/ui/slider/slider.d.ts +22 -0
  424. package/dist/components/ui/slider/slider.d.ts.map +1 -0
  425. package/dist/components/ui/slider/slider.js +59 -0
  426. package/dist/components/ui/slider/slider.js.map +1 -0
  427. package/dist/components/ui/spinner/index.d.ts +2 -0
  428. package/dist/components/ui/spinner/index.d.ts.map +1 -0
  429. package/dist/components/ui/spinner/spinner.d.ts +25 -0
  430. package/dist/components/ui/spinner/spinner.d.ts.map +1 -0
  431. package/dist/components/ui/spinner/spinner.js +57 -0
  432. package/dist/components/ui/spinner/spinner.js.map +1 -0
  433. package/dist/components/ui/status-chip/index.d.ts +2 -0
  434. package/dist/components/ui/status-chip/index.d.ts.map +1 -0
  435. package/dist/components/ui/status-chip/status-chip.d.ts +70 -0
  436. package/dist/components/ui/status-chip/status-chip.d.ts.map +1 -0
  437. package/dist/components/ui/status-chip/status-chip.js +140 -0
  438. package/dist/components/ui/status-chip/status-chip.js.map +1 -0
  439. package/dist/components/ui/switch/index.d.ts +2 -0
  440. package/dist/components/ui/switch/index.d.ts.map +1 -0
  441. package/dist/components/ui/switch/switch.d.ts +36 -0
  442. package/dist/components/ui/switch/switch.d.ts.map +1 -0
  443. package/dist/components/ui/switch/switch.js +74 -0
  444. package/dist/components/ui/switch/switch.js.map +1 -0
  445. package/dist/components/ui/table/index.d.ts +2 -0
  446. package/dist/components/ui/table/index.d.ts.map +1 -0
  447. package/dist/components/ui/table/table.d.ts +29 -0
  448. package/dist/components/ui/table/table.d.ts.map +1 -0
  449. package/dist/components/ui/table/table.js +129 -0
  450. package/dist/components/ui/table/table.js.map +1 -0
  451. package/dist/components/ui/tabs/index.d.ts +2 -0
  452. package/dist/components/ui/tabs/index.d.ts.map +1 -0
  453. package/dist/components/ui/tabs/tabs.d.ts +23 -0
  454. package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
  455. package/dist/components/ui/tabs/tabs.js +43 -0
  456. package/dist/components/ui/tabs/tabs.js.map +1 -0
  457. package/dist/components/ui/textarea/index.d.ts +2 -0
  458. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  459. package/dist/components/ui/textarea/textarea.d.ts +14 -0
  460. package/dist/components/ui/textarea/textarea.d.ts.map +1 -0
  461. package/dist/components/ui/textarea/textarea.js +30 -0
  462. package/dist/components/ui/textarea/textarea.js.map +1 -0
  463. package/dist/components/ui/toast/index.d.ts +2 -0
  464. package/dist/components/ui/toast/index.d.ts.map +1 -0
  465. package/dist/components/ui/toast/toast.d.ts +68 -0
  466. package/dist/components/ui/toast/toast.d.ts.map +1 -0
  467. package/dist/components/ui/toast/toast.js +186 -0
  468. package/dist/components/ui/toast/toast.js.map +1 -0
  469. package/dist/components/ui/toggle/index.d.ts +2 -0
  470. package/dist/components/ui/toggle/index.d.ts.map +1 -0
  471. package/dist/components/ui/toggle/toggle.d.ts +22 -0
  472. package/dist/components/ui/toggle/toggle.d.ts.map +1 -0
  473. package/dist/components/ui/toggle/toggle.js +64 -0
  474. package/dist/components/ui/toggle/toggle.js.map +1 -0
  475. package/dist/components/ui/toggle-group/index.d.ts +2 -0
  476. package/dist/components/ui/toggle-group/index.d.ts.map +1 -0
  477. package/dist/components/ui/toggle-group/toggle-group.d.ts +35 -0
  478. package/dist/components/ui/toggle-group/toggle-group.d.ts.map +1 -0
  479. package/dist/components/ui/toggle-group/toggle-group.js +38 -0
  480. package/dist/components/ui/toggle-group/toggle-group.js.map +1 -0
  481. package/dist/components/ui/tooltip/index.d.ts +2 -0
  482. package/dist/components/ui/tooltip/index.d.ts.map +1 -0
  483. package/dist/components/ui/tooltip/tooltip.d.ts +18 -0
  484. package/dist/components/ui/tooltip/tooltip.d.ts.map +1 -0
  485. package/dist/components/ui/tooltip/tooltip.js +67 -0
  486. package/dist/components/ui/tooltip/tooltip.js.map +1 -0
  487. package/dist/index.d.ts +96 -19
  488. package/dist/index.d.ts.map +1 -0
  489. package/dist/index.js +90 -20
  490. package/dist/lib/keyed-rows.d.ts +36 -0
  491. package/dist/lib/keyed-rows.d.ts.map +1 -0
  492. package/dist/lib/keyed-rows.js +53 -0
  493. package/dist/lib/keyed-rows.js.map +1 -0
  494. package/dist/lib/keyed-rows.test.d.ts +2 -0
  495. package/dist/lib/keyed-rows.test.d.ts.map +1 -0
  496. package/dist/lib/overlay.d.ts +44 -0
  497. package/dist/lib/overlay.d.ts.map +1 -0
  498. package/dist/lib/overlay.js +57 -0
  499. package/dist/lib/overlay.js.map +1 -0
  500. package/dist/lib/themes.d.ts +197 -0
  501. package/dist/lib/themes.d.ts.map +1 -0
  502. package/dist/lib/themes.js +303 -0
  503. package/dist/lib/themes.js.map +1 -0
  504. package/dist/lib/tokens.d.ts +103 -0
  505. package/dist/lib/tokens.d.ts.map +1 -0
  506. package/dist/lib/tokens.js +805 -0
  507. package/dist/lib/tokens.js.map +1 -0
  508. package/dist/lib/utils.d.ts +27 -0
  509. package/dist/lib/utils.d.ts.map +1 -0
  510. package/dist/lib/utils.js +61 -3
  511. package/dist/lib/utils.js.map +1 -0
  512. package/dist/lib/variants.d.ts +57 -0
  513. package/dist/lib/variants.d.ts.map +1 -0
  514. package/dist/lib/variants.js +49 -0
  515. package/dist/lib/variants.js.map +1 -0
  516. package/dist/lib/version-notes.d.ts +24 -0
  517. package/dist/lib/version-notes.d.ts.map +1 -0
  518. package/dist/lib/version-notes.js +41 -1
  519. package/dist/lib/version-notes.js.map +1 -0
  520. package/dist/r/accordion.json +23 -0
  521. package/dist/r/account-menu.json +25 -0
  522. package/dist/r/alert-dialog.json +22 -0
  523. package/dist/r/alert.json +22 -0
  524. package/dist/r/app-shell.json +20 -0
  525. package/dist/r/aspect-ratio.json +20 -0
  526. package/dist/r/avatar.json +20 -0
  527. package/dist/r/badge.json +22 -0
  528. package/dist/r/board.json +20 -0
  529. package/dist/r/breadcrumb.json +22 -0
  530. package/dist/r/button-group.json +22 -0
  531. package/dist/r/button.json +22 -0
  532. package/dist/r/calendar.json +25 -0
  533. package/dist/r/card.json +20 -0
  534. package/dist/r/carousel.json +26 -0
  535. package/dist/r/chart.json +23 -0
  536. package/dist/r/checkbox.json +23 -0
  537. package/dist/r/code-block.json +24 -0
  538. package/dist/r/collapsible.json +22 -0
  539. package/dist/r/combobox.json +23 -0
  540. package/dist/r/command.json +23 -0
  541. package/dist/r/context-menu.json +23 -0
  542. package/dist/r/conversation.json +48 -0
  543. package/dist/r/detail-panel.json +24 -0
  544. package/dist/r/dialog.json +23 -0
  545. package/dist/r/diff-block.json +20 -0
  546. package/dist/r/drawer.json +22 -0
  547. package/dist/r/dropdown-menu.json +23 -0
  548. package/dist/r/empty.json +20 -0
  549. package/dist/r/entity-icon.json +20 -0
  550. package/dist/r/field.json +22 -0
  551. package/dist/r/hover-card.json +22 -0
  552. package/dist/r/input-group.json +20 -0
  553. package/dist/r/input-otp.json +22 -0
  554. package/dist/r/input.json +20 -0
  555. package/dist/r/item.json +20 -0
  556. package/dist/r/kbd.json +20 -0
  557. package/dist/r/label.json +20 -0
  558. package/dist/r/list-row.json +22 -0
  559. package/dist/r/menubar.json +23 -0
  560. package/dist/r/modal-dialog.json +22 -0
  561. package/dist/r/navigation-menu.json +23 -0
  562. package/dist/r/page.json +20 -0
  563. package/dist/r/pagination.json +23 -0
  564. package/dist/r/panel.json +20 -0
  565. package/dist/r/popover.json +22 -0
  566. package/dist/r/progress.json +22 -0
  567. package/dist/r/radio-group.json +23 -0
  568. package/dist/r/registry.json +1676 -0
  569. package/dist/r/resizable.json +23 -0
  570. package/dist/r/scroll-area.json +20 -0
  571. package/dist/r/select.json +23 -0
  572. package/dist/r/separator.json +22 -0
  573. package/dist/r/settings.json +20 -0
  574. package/dist/r/sheet.json +25 -0
  575. package/dist/r/side-rail.json +27 -0
  576. package/dist/r/sidebar-nav.json +23 -0
  577. package/dist/r/skeleton.json +20 -0
  578. package/dist/r/slider.json +22 -0
  579. package/dist/r/spinner.json +22 -0
  580. package/dist/r/stat.json +22 -0
  581. package/dist/r/status-bar.json +20 -0
  582. package/dist/r/status-chip.json +22 -0
  583. package/dist/r/switch.json +22 -0
  584. package/dist/r/table.json +20 -0
  585. package/dist/r/tabs.json +22 -0
  586. package/dist/r/textarea.json +20 -0
  587. package/dist/r/theme.json +36 -0
  588. package/dist/r/toast.json +23 -0
  589. package/dist/r/toggle-group.json +24 -0
  590. package/dist/r/toggle.json +22 -0
  591. package/dist/r/tooltip.json +22 -0
  592. package/dist/r/top-bar.json +20 -0
  593. package/dist/r/update-dialog.json +27 -0
  594. package/dist/r/workspace-mark.json +22 -0
  595. package/package.json +75 -21
  596. package/registry.json +1676 -0
  597. package/src/components/composites/account-menu/account-menu.tsx +150 -0
  598. package/src/components/composites/account-menu/index.ts +1 -0
  599. package/src/components/composites/list-row/index.ts +1 -0
  600. package/src/components/composites/list-row/list-row.tsx +116 -0
  601. package/src/components/composites/settings/index.ts +1 -0
  602. package/src/components/composites/settings/settings.tsx +142 -0
  603. package/src/components/composites/stat/index.ts +9 -0
  604. package/src/components/composites/stat/stat.tsx +155 -0
  605. package/src/components/composites/update-dialog/index.ts +7 -0
  606. package/src/components/composites/update-dialog/update-dialog.tsx +529 -0
  607. package/src/components/composites/workspace-mark/index.ts +1 -0
  608. package/src/components/composites/workspace-mark/workspace-mark.tsx +72 -0
  609. package/src/components/conversation/conversation-avatar.tsx +60 -0
  610. package/src/components/conversation/conversation-surface.tsx +107 -0
  611. package/src/components/conversation/index.ts +25 -0
  612. package/src/components/conversation/message-composer.tsx +239 -0
  613. package/src/components/conversation/message-row.tsx +387 -0
  614. package/src/components/conversation/thread-panel.tsx +141 -0
  615. package/src/components/layout/app-shell/app-shell.tsx +92 -0
  616. package/src/components/layout/app-shell/index.ts +1 -0
  617. package/src/components/layout/page/index.ts +9 -0
  618. package/src/components/layout/page/page.tsx +122 -0
  619. package/src/components/layout/panel/index.ts +12 -0
  620. package/src/components/layout/panel/panel.tsx +166 -0
  621. package/src/components/layout/side-rail/index.ts +12 -0
  622. package/src/components/layout/side-rail/side-rail-context.ts +42 -0
  623. package/src/components/layout/side-rail/side-rail.tsx +405 -0
  624. package/src/components/layout/sidebar-nav/index.ts +14 -0
  625. package/src/components/layout/sidebar-nav/sidebar-nav.tsx +244 -0
  626. package/src/components/layout/status-bar/index.ts +1 -0
  627. package/src/components/layout/status-bar/status-bar.tsx +73 -0
  628. package/src/components/layout/top-bar/index.ts +10 -0
  629. package/src/components/layout/top-bar/top-bar.tsx +166 -0
  630. package/src/components/motion/index.ts +2 -0
  631. package/src/components/motion/presence.tsx +32 -0
  632. package/src/components/theme/appearance-panel.tsx +179 -0
  633. package/src/components/theme/index.ts +22 -0
  634. package/src/components/theme/theme-picker.tsx +174 -0
  635. package/src/components/theme/theme-provider.tsx +309 -0
  636. package/src/components/theme/theme-toggle.tsx +64 -0
  637. package/src/components/ui/accordion/accordion.tsx +66 -0
  638. package/src/components/ui/accordion/index.ts +1 -0
  639. package/src/components/ui/alert/alert.tsx +95 -0
  640. package/src/components/ui/alert/index.ts +1 -0
  641. package/src/components/ui/alert-dialog/alert-dialog.tsx +176 -0
  642. package/src/components/ui/alert-dialog/index.ts +13 -0
  643. package/src/components/ui/aspect-ratio/aspect-ratio.tsx +38 -0
  644. package/src/components/ui/aspect-ratio/index.ts +1 -0
  645. package/src/components/ui/avatar/avatar.tsx +114 -0
  646. package/src/components/ui/avatar/index.ts +9 -0
  647. package/src/components/ui/badge/badge.tsx +59 -0
  648. package/src/components/ui/badge/index.ts +1 -0
  649. package/src/components/ui/board/board.tsx +254 -0
  650. package/src/components/ui/board/index.ts +10 -0
  651. package/src/components/ui/breadcrumb/breadcrumb.tsx +117 -0
  652. package/src/components/ui/breadcrumb/index.ts +9 -0
  653. package/src/components/ui/button/button.tsx +89 -0
  654. package/src/components/ui/button/index.ts +1 -0
  655. package/src/components/ui/button-group/button-group.tsx +92 -0
  656. package/src/components/ui/button-group/index.ts +6 -0
  657. package/src/components/ui/calendar/calendar.tsx +277 -0
  658. package/src/components/ui/calendar/index.ts +1 -0
  659. package/src/components/ui/card/card.tsx +82 -0
  660. package/src/components/ui/card/index.ts +10 -0
  661. package/src/components/ui/carousel/carousel.tsx +209 -0
  662. package/src/components/ui/carousel/index.ts +1 -0
  663. package/src/components/ui/chart/chart.tsx +413 -0
  664. package/src/components/ui/chart/index.ts +17 -0
  665. package/src/components/ui/checkbox/checkbox.tsx +99 -0
  666. package/src/components/ui/checkbox/index.ts +1 -0
  667. package/src/components/ui/code-block/code-block.tsx +238 -0
  668. package/src/components/ui/code-block/index.ts +1 -0
  669. package/src/components/ui/collapsible/collapsible.tsx +54 -0
  670. package/src/components/ui/collapsible/index.ts +1 -0
  671. package/src/components/ui/combobox/combobox.tsx +142 -0
  672. package/src/components/ui/combobox/index.ts +10 -0
  673. package/src/components/ui/command/command.tsx +214 -0
  674. package/src/components/ui/command/index.ts +12 -0
  675. package/src/components/ui/context-menu/context-menu.tsx +163 -0
  676. package/src/components/ui/context-menu/index.ts +15 -0
  677. package/src/components/ui/detail-panel/detail-panel.tsx +161 -0
  678. package/src/components/ui/detail-panel/index.ts +9 -0
  679. package/src/components/ui/dialog/dialog.tsx +138 -0
  680. package/src/components/ui/dialog/index.ts +14 -0
  681. package/src/components/ui/diff-block/diff-block.tsx +286 -0
  682. package/src/components/ui/diff-block/index.ts +11 -0
  683. package/src/components/ui/drawer/drawer.tsx +144 -0
  684. package/src/components/ui/drawer/index.ts +13 -0
  685. package/src/components/ui/dropdown-menu/dropdown-menu.tsx +203 -0
  686. package/src/components/ui/dropdown-menu/index.ts +18 -0
  687. package/src/components/ui/empty/empty.tsx +104 -0
  688. package/src/components/ui/empty/index.ts +10 -0
  689. package/src/components/ui/entity-icon/entity-icon.tsx +154 -0
  690. package/src/components/ui/entity-icon/index.ts +1 -0
  691. package/src/components/ui/field/field.tsx +131 -0
  692. package/src/components/ui/field/index.ts +11 -0
  693. package/src/components/ui/hover-card/hover-card.tsx +48 -0
  694. package/src/components/ui/hover-card/index.ts +1 -0
  695. package/src/components/ui/input/index.ts +1 -0
  696. package/src/components/ui/input/input.tsx +41 -0
  697. package/src/components/ui/input-group/index.ts +8 -0
  698. package/src/components/ui/input-group/input-group.tsx +111 -0
  699. package/src/components/ui/input-otp/index.ts +1 -0
  700. package/src/components/ui/input-otp/input-otp.tsx +108 -0
  701. package/src/components/ui/item/index.ts +10 -0
  702. package/src/components/ui/item/item.tsx +146 -0
  703. package/src/components/ui/kbd/index.ts +1 -0
  704. package/src/components/ui/kbd/kbd.tsx +42 -0
  705. package/src/components/ui/label/index.ts +1 -0
  706. package/src/components/ui/label/label.tsx +36 -0
  707. package/src/components/ui/menubar/index.ts +16 -0
  708. package/src/components/ui/menubar/menubar.tsx +190 -0
  709. package/src/components/ui/modal-dialog/index.ts +1 -0
  710. package/src/components/ui/modal-dialog/modal-dialog.tsx +95 -0
  711. package/src/components/ui/navigation-menu/index.ts +13 -0
  712. package/src/components/ui/navigation-menu/navigation-menu.tsx +229 -0
  713. package/src/components/ui/pagination/index.ts +8 -0
  714. package/src/components/ui/pagination/pagination.tsx +144 -0
  715. package/src/components/ui/popover/index.ts +10 -0
  716. package/src/components/ui/popover/popover.tsx +81 -0
  717. package/src/components/ui/progress/index.ts +1 -0
  718. package/src/components/ui/progress/progress.tsx +67 -0
  719. package/src/components/ui/radio-group/index.ts +1 -0
  720. package/src/components/ui/radio-group/radio-group.tsx +78 -0
  721. package/src/components/ui/resizable/index.ts +6 -0
  722. package/src/components/ui/resizable/resizable.tsx +74 -0
  723. package/src/components/ui/scroll-area/index.ts +1 -0
  724. package/src/components/ui/scroll-area/scroll-area.tsx +66 -0
  725. package/src/components/ui/select/index.ts +11 -0
  726. package/src/components/ui/select/select.tsx +188 -0
  727. package/src/components/ui/separator/index.ts +1 -0
  728. package/src/components/ui/separator/separator.tsx +40 -0
  729. package/src/components/ui/sheet/index.ts +13 -0
  730. package/src/components/ui/sheet/sheet.tsx +132 -0
  731. package/src/components/ui/skeleton/index.ts +1 -0
  732. package/src/components/ui/skeleton/skeleton.tsx +28 -0
  733. package/src/components/ui/slider/index.ts +1 -0
  734. package/src/components/ui/slider/slider.tsx +81 -0
  735. package/src/components/ui/spinner/index.ts +1 -0
  736. package/src/components/ui/spinner/spinner.tsx +58 -0
  737. package/src/components/ui/status-chip/index.ts +8 -0
  738. package/src/components/ui/status-chip/status-chip.tsx +142 -0
  739. package/src/components/ui/switch/index.ts +1 -0
  740. package/src/components/ui/switch/switch.tsx +100 -0
  741. package/src/components/ui/table/index.ts +11 -0
  742. package/src/components/ui/table/table.tsx +125 -0
  743. package/src/components/ui/tabs/index.ts +8 -0
  744. package/src/components/ui/tabs/tabs.tsx +77 -0
  745. package/src/components/ui/textarea/index.ts +1 -0
  746. package/src/components/ui/textarea/textarea.tsx +36 -0
  747. package/src/components/ui/toast/index.ts +1 -0
  748. package/src/components/ui/toast/toast.tsx +220 -0
  749. package/src/components/ui/toggle/index.ts +1 -0
  750. package/src/components/ui/toggle/toggle.tsx +60 -0
  751. package/src/components/ui/toggle-group/index.ts +6 -0
  752. package/src/components/ui/toggle-group/toggle-group.tsx +66 -0
  753. package/src/components/ui/tooltip/index.ts +9 -0
  754. package/src/components/ui/tooltip/tooltip.tsx +102 -0
  755. package/src/index.ts +154 -0
  756. package/src/lib/keyed-rows.ts +68 -0
  757. package/src/lib/overlay.ts +70 -0
  758. package/src/lib/themes.ts +490 -0
  759. package/src/lib/tokens.ts +688 -0
  760. package/src/lib/utils.ts +74 -4
  761. package/src/lib/variants.ts +62 -0
  762. package/src/lib/version-notes.ts +35 -0
  763. package/src/styles/base.css +489 -484
  764. package/src/styles/fonts.css +26 -0
  765. package/src/styles/globals.css +14 -3
  766. package/src/styles/theme.css +838 -229
  767. package/LICENSE +0 -201
  768. package/dist/components/account-drawer.d.ts +0 -11
  769. package/dist/components/account-drawer.js +0 -120
  770. package/dist/components/appearance.d.ts +0 -261
  771. package/dist/components/appearance.js +0 -802
  772. package/dist/components/on-screen-controls.d.ts +0 -8
  773. package/dist/components/on-screen-controls.js +0 -162
  774. package/dist/components/scene-settings.d.ts +0 -33
  775. package/dist/components/scene-settings.js +0 -253
  776. package/dist/components/theme-preview.d.ts +0 -40
  777. package/dist/components/theme-preview.js +0 -210
  778. package/dist/components/theme-provider.d.ts +0 -52
  779. package/dist/components/theme-provider.js +0 -128
  780. package/dist/components/theme-swatch.d.ts +0 -12
  781. package/dist/components/theme-swatch.js +0 -66
  782. package/dist/components/theme-toggle.d.ts +0 -7
  783. package/dist/components/theme-toggle.js +0 -64
  784. package/dist/components/ui/badge.d.ts +0 -8
  785. package/dist/components/ui/badge.js +0 -34
  786. package/dist/components/ui/button.d.ts +0 -9
  787. package/dist/components/ui/button.js +0 -52
  788. package/dist/components/ui/card.d.ts +0 -4
  789. package/dist/components/ui/card.js +0 -28
  790. package/dist/components/ui/dialog.d.ts +0 -15
  791. package/dist/components/ui/dialog.js +0 -104
  792. package/dist/components/ui/drawer.d.ts +0 -24
  793. package/dist/components/ui/drawer.js +0 -120
  794. package/dist/components/ui/dropdown-menu.d.ts +0 -35
  795. package/dist/components/ui/dropdown-menu.js +0 -180
  796. package/dist/components/ui/empty.d.ts +0 -12
  797. package/dist/components/ui/field.d.ts +0 -25
  798. package/dist/components/ui/field.js +0 -188
  799. package/dist/components/ui/input.d.ts +0 -3
  800. package/dist/components/ui/input.js +0 -22
  801. package/dist/components/ui/label.d.ts +0 -3
  802. package/dist/components/ui/label.js +0 -17
  803. package/dist/components/ui/radio-group.d.ts +0 -5
  804. package/dist/components/ui/radio-group.js +0 -39
  805. package/dist/components/ui/separator.d.ts +0 -7
  806. package/dist/components/ui/separator.js +0 -20
  807. package/dist/components/ui/skeleton.d.ts +0 -3
  808. package/dist/components/ui/skeleton.js +0 -17
  809. package/dist/components/ui/spinner.d.ts +0 -5
  810. package/dist/components/ui/spinner.js +0 -17
  811. package/dist/components/ui/switch.d.ts +0 -8
  812. package/dist/components/ui/switch.js +0 -59
  813. package/dist/components/ui/tabs.d.ts +0 -11
  814. package/dist/components/ui/tabs.js +0 -57
  815. package/dist/components/ui/toggle-group.d.ts +0 -13
  816. package/dist/components/ui/toggle-group.js +0 -95
  817. package/dist/components/ui/toggle.d.ts +0 -10
  818. package/dist/components/ui/toggle.js +0 -41
  819. package/dist/components/ui/tooltip.d.ts +0 -15
  820. package/dist/components/ui/tooltip.js +0 -55
  821. package/dist/components/version-dialog.d.ts +0 -25
  822. package/dist/components/version-dialog.js +0 -330
  823. package/dist/components/workspace-brand.d.ts +0 -5
  824. package/dist/components/workspace-brand.js +0 -13
  825. package/dist/components/workspace-logo.d.ts +0 -3
  826. package/dist/components/workspace-logo.js +0 -17
  827. package/src/components/account-drawer.tsx +0 -114
  828. package/src/components/appearance.ts +0 -1112
  829. package/src/components/on-screen-controls.tsx +0 -149
  830. package/src/components/scene-settings.tsx +0 -199
  831. package/src/components/theme-preview.tsx +0 -170
  832. package/src/components/theme-provider.tsx +0 -214
  833. package/src/components/theme-swatch.tsx +0 -49
  834. package/src/components/theme-toggle.tsx +0 -48
  835. package/src/components/ui/badge.tsx +0 -40
  836. package/src/components/ui/button.tsx +0 -58
  837. package/src/components/ui/card.tsx +0 -21
  838. package/src/components/ui/dialog.tsx +0 -132
  839. package/src/components/ui/drawer.tsx +0 -168
  840. package/src/components/ui/dropdown-menu.tsx +0 -235
  841. package/src/components/ui/empty.tsx +0 -97
  842. package/src/components/ui/field.tsx +0 -220
  843. package/src/components/ui/input.tsx +0 -20
  844. package/src/components/ui/label.tsx +0 -19
  845. package/src/components/ui/radio-group.tsx +0 -41
  846. package/src/components/ui/separator.tsx +0 -28
  847. package/src/components/ui/skeleton.tsx +0 -16
  848. package/src/components/ui/spinner.tsx +0 -20
  849. package/src/components/ui/switch.tsx +0 -59
  850. package/src/components/ui/tabs.tsx +0 -76
  851. package/src/components/ui/toggle-group.tsx +0 -98
  852. package/src/components/ui/toggle.tsx +0 -42
  853. package/src/components/ui/tooltip.tsx +0 -61
  854. package/src/components/version-dialog.tsx +0 -368
  855. package/src/components/workspace-brand.tsx +0 -18
  856. package/src/components/workspace-logo.tsx +0 -21
  857. package/src/index.tsx +0 -53
  858. package/src/styles/auth-shell.css +0 -167
  859. package/src/styles/conventional-workspace.css +0 -2858
  860. package/src/styles/dev-view.css +0 -899
  861. package/src/styles/workspace-shell.css +0 -82
  862. package/tsconfig.json +0 -11
@@ -1,802 +0,0 @@
1
- //#region src/components/appearance.ts
2
- var APPEARANCE_STORAGE_KEY = "appearance";
3
- /** The pre-#425 key. Migration reads it and never deletes it. */
4
- var LEGACY_THEME_STORAGE_KEY = "theme";
5
- /**
6
- * Recovery envelope for unread preference documents (Dev Runtime spec,
7
- * "Compatibility, migrations, and waivers": a failed migration retains the
8
- * original record; it never silently rewrites or deletes the input). A
9
- * malformed or future-version document is quarantined here — before any
10
- * write can touch the main key — so saving valid preferences later can never
11
- * destroy the user's unread data.
12
- */
13
- var APPEARANCE_RECOVERY_STORAGE_KEY = "appearance.recovery";
14
- var DARK_QUERY = "(prefers-color-scheme: dark)";
15
- var REDUCED_TRANSPARENCY_QUERY = "(prefers-reduced-transparency: reduce)";
16
- var defaultAppearancePreferences = Object.freeze({
17
- version: 2,
18
- mode: "system",
19
- lightThemeId: "adea-light",
20
- darkThemeId: "adea-dark",
21
- accent: "theme",
22
- surface: "opaque",
23
- reduceTransparency: false
24
- });
25
- /**
26
- * Combine the user's choice with the OS state. A pinned mode ignores the OS;
27
- * `system` follows it. (Zeron `resolve`.)
28
- */
29
- function resolveAppearanceMode(mode, system) {
30
- if (mode === "system") return system;
31
- return mode;
32
- }
33
- var ColorParseError = class extends Error {
34
- constructor() {
35
- super("expected a CSS hex color (#rgb, #rgba, #rrggbb, or #rrggbbaa)");
36
- this.name = "ColorParseError";
37
- }
38
- };
39
- var NIBBLES = {
40
- "0": 0,
41
- "1": 1,
42
- "2": 2,
43
- "3": 3,
44
- "4": 4,
45
- "5": 5,
46
- "6": 6,
47
- "7": 7,
48
- "8": 8,
49
- "9": 9,
50
- a: 10,
51
- b: 11,
52
- c: 12,
53
- d: 13,
54
- e: 14,
55
- f: 15,
56
- A: 10,
57
- B: 11,
58
- C: 12,
59
- D: 13,
60
- E: 14,
61
- F: 15
62
- };
63
- function expandNibble(nibble) {
64
- return nibble << 4 | nibble;
65
- }
66
- function parseByte(high, low) {
67
- return high << 4 | low;
68
- }
69
- /** Parse a hex color. Returns `undefined` for anything unsupported. */
70
- function parseColor(value) {
71
- const trimmed = value.trim();
72
- if (!trimmed.startsWith("#")) return void 0;
73
- const bytes = trimmed.slice(1);
74
- if (bytes.length === 3 || bytes.length === 4) {
75
- const nibbles = [];
76
- for (const character of bytes) {
77
- const nibble = NIBBLES[character];
78
- if (nibble === void 0) return void 0;
79
- nibbles.push(nibble);
80
- }
81
- return {
82
- r: expandNibble(nibbles[0]),
83
- g: expandNibble(nibbles[1]),
84
- b: expandNibble(nibbles[2]),
85
- a: nibbles.length === 4 ? expandNibble(nibbles[3]) : 255
86
- };
87
- }
88
- if (bytes.length === 6 || bytes.length === 8) {
89
- const nibbles = [];
90
- for (const character of bytes) {
91
- const nibble = NIBBLES[character];
92
- if (nibble === void 0) return void 0;
93
- nibbles.push(nibble);
94
- }
95
- const pair = (index) => parseByte(nibbles[index], nibbles[index + 1]);
96
- return {
97
- r: pair(0),
98
- g: pair(2),
99
- b: pair(4),
100
- a: nibbles.length === 8 ? pair(6) : 255
101
- };
102
- }
103
- }
104
- function toHexByte(value) {
105
- return value.toString(16).padStart(2, "0");
106
- }
107
- function colorToHex(color) {
108
- if (color.a === 255) return `#${toHexByte(color.r)}${toHexByte(color.g)}${toHexByte(color.b)}`;
109
- return `#${toHexByte(color.r)}${toHexByte(color.g)}${toHexByte(color.b)}${toHexByte(color.a)}`;
110
- }
111
- function blendOver(foreground, background) {
112
- const alpha = foreground.a / 255;
113
- const blend = (front, back) => Math.round(front * alpha + back * (1 - alpha));
114
- return {
115
- r: blend(foreground.r, background.r),
116
- g: blend(foreground.g, background.g),
117
- b: blend(foreground.b, background.b),
118
- a: 255
119
- };
120
- }
121
- function mixColors(left, right, amount) {
122
- const clamped = Math.min(1, Math.max(0, amount));
123
- const mix = (a, b) => Math.round(a + (b - a) * clamped);
124
- return {
125
- r: mix(left.r, right.r),
126
- g: mix(left.g, right.g),
127
- b: mix(left.b, right.b),
128
- a: 255
129
- };
130
- }
131
- function linearChannel(channel) {
132
- const value = channel / 255;
133
- return value <= .04045 ? value / 12.92 : ((value + .055) / 1.055) ** 2.4;
134
- }
135
- function relativeLuminance(color) {
136
- return .2126 * linearChannel(color.r) + .7152 * linearChannel(color.g) + .0722 * linearChannel(color.b);
137
- }
138
- /** WCAG contrast ratio between two colors. Alpha composites over the background first. */
139
- function contrastRatio(foreground, background) {
140
- const front = typeof foreground === "string" ? parseColor(foreground) : foreground;
141
- const back = typeof background === "string" ? parseColor(background) : background;
142
- if (!front || !back) return 0;
143
- const a = relativeLuminance(front.a === 255 ? front : blendOver(front, back));
144
- const b = relativeLuminance(back);
145
- return (Math.max(a, b) + .05) / (Math.min(a, b) + .05);
146
- }
147
- function bestOnColor(color) {
148
- return contrastRatio(WHITE, color) >= contrastRatio(BLACK, color) ? WHITE : BLACK;
149
- }
150
- var WHITE = {
151
- r: 255,
152
- g: 255,
153
- b: 255,
154
- a: 255
155
- };
156
- var BLACK = {
157
- r: 0,
158
- g: 0,
159
- b: 0,
160
- a: 255
161
- };
162
- /** Move toward black or white until the requested contrast is met. (Zeron `ensure_contrast`.) */
163
- function ensureContrast(color, background, minimum) {
164
- if (contrastRatio(color, background) >= minimum) return color;
165
- const target = contrastRatio(BLACK, background) >= contrastRatio(WHITE, background) ? BLACK : WHITE;
166
- for (let step = 1; step <= 20; step++) {
167
- const candidate = mixColors(color, target, step / 20);
168
- if (contrastRatio(candidate, background) >= minimum) return candidate;
169
- }
170
- return target;
171
- }
172
- var accentPresets = Object.freeze([
173
- {
174
- id: "violet",
175
- label: "Violet",
176
- dark: "#a78bfa",
177
- light: "#6d28d9"
178
- },
179
- {
180
- id: "blue",
181
- label: "Blue",
182
- dark: "#60a5fa",
183
- light: "#2563eb"
184
- },
185
- {
186
- id: "green",
187
- label: "Green",
188
- dark: "#4ade80",
189
- light: "#15803d"
190
- },
191
- {
192
- id: "amber",
193
- label: "Amber",
194
- dark: "#fbbf24",
195
- light: "#b45309"
196
- },
197
- {
198
- id: "cyan",
199
- label: "Cyan",
200
- dark: "#22d3ee",
201
- light: "#0e7490"
202
- },
203
- {
204
- id: "pink",
205
- label: "Pink",
206
- dark: "#f472b6",
207
- light: "#be185d"
208
- }
209
- ]);
210
- /**
211
- * Normalize a custom accent color against a variant background: unparseable
212
- * input is rejected (`undefined`), and any accepted color is raised to the
213
- * 3:1 interaction minimum so an accent can never ship unreadable.
214
- */
215
- function normalizeAccentValue(value, background) {
216
- const parsed = parseColor(value);
217
- if (!parsed) return void 0;
218
- return colorToHex(ensureContrast(parsed, parseColor(background) ?? WHITE, 3));
219
- }
220
- function accentPresetById(id) {
221
- return accentPresets.find((preset) => preset.id === id);
222
- }
223
- /**
224
- * Derive the accent roles for a selection against a variant. `'theme'` keeps
225
- * the variant's own accent; presets and custom colors are normalized to the
226
- * 3:1 interaction minimum (Zeron `AccentRoles::derive`, thresholds preserved).
227
- */
228
- function deriveAccentRoles(selection, variant) {
229
- const background = variant.colors.background;
230
- let primary = variant.colors.primary;
231
- let overrides = false;
232
- if (selection !== "theme") {
233
- const preset = accentPresetById(selection);
234
- const requested = preset ? parseColor(variant.appearance === "dark" ? preset.dark : preset.light) : parseColor(selection);
235
- if (requested) {
236
- primary = colorToHex(ensureContrast(requested, parseColor(background), 3));
237
- overrides = true;
238
- }
239
- }
240
- const primaryRgb = parseColor(primary);
241
- const onPrimary = colorToHex(bestOnColor(primaryRgb));
242
- let strong = primary;
243
- if (contrastRatio(onPrimary, strong) < 4.5) strong = colorToHex(ensureContrast(primaryRgb, parseColor(onPrimary), 4.5));
244
- return {
245
- primary,
246
- onPrimary,
247
- strong,
248
- ring: strong,
249
- overrides
250
- };
251
- }
252
- function resolveSurface(preference, environment) {
253
- if (environment.osReducedTransparency || environment.userReducedTransparency) return "opaque";
254
- if (preference === "translucent" && !environment.nativeTranslucency) return "frosted";
255
- return preference;
256
- }
257
- function themeSelectionVariantId(selection, appearance) {
258
- return appearance === "dark" ? selection.darkThemeId : selection.lightThemeId;
259
- }
260
- /**
261
- * Registry validation, ported from Zeron `ThemeRegistry::validate`: core text
262
- * and muted text must reach 4.5:1, the accent 3:1, on-accent 4.5:1, the
263
- * terminal foreground 4.5:1, and every chromatic ANSI slot 3:1 (slots 0 and 8
264
- * are structural black/dim colors). Provenance completeness is a Zeron
265
- * library concept; M12 ships only built-ins, so the structural check here is
266
- * id/non-empty-color integrity.
267
- */
268
- function validateThemeRegistry(registry) {
269
- const issues = [];
270
- const seen = /* @__PURE__ */ new Set();
271
- for (const variant of registry) {
272
- if (variant.id.trim().length === 0 || seen.has(variant.id)) issues.push({
273
- variantId: variant.id,
274
- severity: "error",
275
- message: "variant id must be unique"
276
- });
277
- seen.add(variant.id);
278
- const check = (role, foreground, background, minimum) => {
279
- const actual = contrastRatio(foreground, background);
280
- if (actual < minimum) issues.push({
281
- variantId: variant.id,
282
- severity: "error",
283
- message: `${role} contrast is ${actual.toFixed(2)}:1; expected ${minimum.toFixed(1)}:1`
284
- });
285
- };
286
- check("text", variant.colors.foreground, variant.colors.background, 4.5);
287
- check("muted text", variant.colors.mutedForeground, variant.colors.background, 4.5);
288
- check("primary", variant.colors.primary, variant.colors.background, 3);
289
- check("on-primary", variant.colors.primaryForeground, variant.colors.primary, 4.5);
290
- check("terminal foreground", variant.terminal.foreground, variant.terminal.background, 4.5);
291
- for (const [index, color] of variant.terminal.ansi.entries()) {
292
- if (index % 8 === 0) continue;
293
- if (contrastRatio(color, variant.terminal.background) < 3) issues.push({
294
- variantId: variant.id,
295
- severity: "warning",
296
- message: `terminal ANSI slot ${index} is below 3:1`
297
- });
298
- }
299
- check("editor comment", variant.editor.comment, variant.colors.background, 4.5);
300
- check("diff delete", variant.editor.diffDelete, variant.colors.background, 3);
301
- check("diff add", variant.editor.diffAdd, variant.colors.background, 3);
302
- }
303
- return issues;
304
- }
305
- /**
306
- * Resolve the variant for a selection, falling back deterministically to the
307
- * default variant of the same appearance when the stored id is missing or
308
- * broken — a corrupt preference degrades the palette, never the UI.
309
- * (Zeron `ThemeRegistry::resolve`.)
310
- */
311
- function resolveThemeVariant(registry, selection, appearance) {
312
- const wanted = themeSelectionVariantId(selection, appearance);
313
- const found = registry.find((variant) => variant.id === wanted);
314
- if (found) return found;
315
- const fallbackId = appearance === "dark" ? defaultAppearancePreferences.darkThemeId : defaultAppearancePreferences.lightThemeId;
316
- const fallback = registry.find((variant) => variant.id === fallbackId);
317
- if (fallback) return fallback;
318
- const sameAppearance = registry.find((variant) => variant.appearance === appearance);
319
- if (sameAppearance) return sameAppearance;
320
- return registry[0];
321
- }
322
- var lightTerminal = Object.freeze({
323
- background: "#ffffff",
324
- foreground: "#1b1f24",
325
- cursor: "#24292f",
326
- selection: "#b6c7ff",
327
- ansi: Object.freeze([
328
- "#1b1f24",
329
- "#b91c1c",
330
- "#116a2e",
331
- "#8a5a1b",
332
- "#0b57d0",
333
- "#a0186f",
334
- "#0e7490",
335
- "#57606a",
336
- "#57606a",
337
- "#c94d4d",
338
- "#1f9d4f",
339
- "#a9752c",
340
- "#3b82f6",
341
- "#c04a92",
342
- "#0891b2",
343
- "#24292f"
344
- ])
345
- });
346
- var darkTerminal = Object.freeze({
347
- background: "#0d1117",
348
- foreground: "#e6edf3",
349
- cursor: "#e6edf3",
350
- selection: "#264f78",
351
- ansi: Object.freeze([
352
- "#2f3742",
353
- "#ff8183",
354
- "#56d364",
355
- "#e3b341",
356
- "#6ca4f8",
357
- "#db61a2",
358
- "#39c5cf",
359
- "#d5dde5",
360
- "#57606a",
361
- "#ff9494",
362
- "#79dd8a",
363
- "#f0c264",
364
- "#8db9ff",
365
- "#e87cb4",
366
- "#66d3dc",
367
- "#eef2f6"
368
- ])
369
- });
370
- var lightEditor = Object.freeze({
371
- keyword: "#0b57d0",
372
- string: "#116a2e",
373
- number: "#8a5a1b",
374
- comment: "#57606a",
375
- function: "#a0186f",
376
- variable: "#1b1f24",
377
- type: "#0e7490",
378
- tag: "#b91c1c",
379
- attribute: "#8a5a1b",
380
- operator: "#1b1f24",
381
- heading: "#1b1f24",
382
- link: "#0b57d0",
383
- diffAdd: "#116a2e",
384
- diffDelete: "#b91c1c",
385
- diffHunk: "#57606a",
386
- searchMatch: "#8a5a1b"
387
- });
388
- var darkEditor = Object.freeze({
389
- keyword: "#6ca4f8",
390
- string: "#56d364",
391
- number: "#e3b341",
392
- comment: "#8b949e",
393
- function: "#db61a2",
394
- variable: "#e6edf3",
395
- type: "#39c5cf",
396
- tag: "#ff8183",
397
- attribute: "#e3b341",
398
- operator: "#e6edf3",
399
- heading: "#e6edf3",
400
- link: "#6ca4f8",
401
- diffAdd: "#56d364",
402
- diffDelete: "#ff8183",
403
- diffHunk: "#8b949e",
404
- searchMatch: "#e3b341"
405
- });
406
- var lightCharts = Object.freeze({
407
- chart1: "#0b57d0",
408
- chart2: "#116a2e",
409
- chart3: "#8a5a1b",
410
- chart4: "#a0186f",
411
- chart5: "#0e7490",
412
- chart6: "#57606a"
413
- });
414
- var darkCharts = Object.freeze({
415
- chart1: "#6ca4f8",
416
- chart2: "#56d364",
417
- chart3: "#e3b341",
418
- chart4: "#db61a2",
419
- chart5: "#39c5cf",
420
- chart6: "#8b949e"
421
- });
422
- function defineVariant(id, familyId, familyName, name, appearance, colors) {
423
- const light = appearance === "light";
424
- return {
425
- id,
426
- familyId,
427
- familyName,
428
- name,
429
- appearance,
430
- colors,
431
- terminal: light ? lightTerminal : darkTerminal,
432
- editor: light ? lightEditor : darkEditor,
433
- charts: light ? lightCharts : darkCharts
434
- };
435
- }
436
- /** The `adea-light`/`adea-dark` entries mirror `styles/theme.css`. */
437
- var builtinThemeRegistry = Object.freeze([
438
- defineVariant("adea-light", "adea", "Adea", "Adea Light", "light", {
439
- background: "#ffffff",
440
- foreground: "#252525",
441
- card: "#ffffff",
442
- cardForeground: "#252525",
443
- popover: "#ffffff",
444
- popoverForeground: "#252525",
445
- primary: "#343434",
446
- primaryForeground: "#fcfcfc",
447
- secondary: "#f7f7f7",
448
- secondaryForeground: "#343434",
449
- muted: "#f7f7f7",
450
- mutedForeground: "#6f6f6f",
451
- accent: "#f7f7f7",
452
- accentForeground: "#343434",
453
- destructive: "#c53c2b",
454
- success: "#1a7f37",
455
- border: "#ebebeb",
456
- input: "#ebebeb",
457
- ring: "#a3a3a3"
458
- }),
459
- defineVariant("adea-dark", "adea", "Adea", "Adea Dark", "dark", {
460
- background: "#252525",
461
- foreground: "#fcfcfc",
462
- card: "#343434",
463
- cardForeground: "#fcfcfc",
464
- popover: "#343434",
465
- popoverForeground: "#fcfcfc",
466
- primary: "#ebebeb",
467
- primaryForeground: "#343434",
468
- secondary: "#444444",
469
- secondaryForeground: "#fcfcfc",
470
- muted: "#444444",
471
- mutedForeground: "#a3a3a3",
472
- accent: "#444444",
473
- accentForeground: "#fcfcfc",
474
- destructive: "#e07060",
475
- success: "#3fb950",
476
- border: "rgba(255, 255, 255, 0.16)",
477
- input: "rgba(255, 255, 255, 0.2)",
478
- ring: "#7c7c7c"
479
- }),
480
- defineVariant("slate-light", "slate", "Slate", "Slate Light", "light", {
481
- background: "#f8fafc",
482
- foreground: "#0f172a",
483
- card: "#ffffff",
484
- cardForeground: "#0f172a",
485
- popover: "#ffffff",
486
- popoverForeground: "#0f172a",
487
- primary: "#0f172a",
488
- primaryForeground: "#f8fafc",
489
- secondary: "#e2e8f0",
490
- secondaryForeground: "#0f172a",
491
- muted: "#e2e8f0",
492
- mutedForeground: "#475569",
493
- accent: "#e2e8f0",
494
- accentForeground: "#0f172a",
495
- destructive: "#b91c1c",
496
- success: "#15803d",
497
- border: "#cbd5e1",
498
- input: "#cbd5e1",
499
- ring: "#64748b"
500
- }),
501
- defineVariant("slate-dark", "slate", "Slate", "Slate Dark", "dark", {
502
- background: "#0f172a",
503
- foreground: "#f1f5f9",
504
- card: "#1e293b",
505
- cardForeground: "#f1f5f9",
506
- popover: "#1e293b",
507
- popoverForeground: "#f1f5f9",
508
- primary: "#e2e8f0",
509
- primaryForeground: "#0f172a",
510
- secondary: "#334155",
511
- secondaryForeground: "#f1f5f9",
512
- muted: "#334155",
513
- mutedForeground: "#94a3b8",
514
- accent: "#334155",
515
- accentForeground: "#f1f5f9",
516
- destructive: "#f87171",
517
- success: "#4ade80",
518
- border: "rgba(148, 163, 184, 0.2)",
519
- input: "rgba(148, 163, 184, 0.25)",
520
- ring: "#64748b"
521
- }),
522
- defineVariant("contrast-light", "contrast", "High Contrast", "High Contrast Light", "light", {
523
- background: "#ffffff",
524
- foreground: "#000000",
525
- card: "#ffffff",
526
- cardForeground: "#000000",
527
- popover: "#ffffff",
528
- popoverForeground: "#000000",
529
- primary: "#143d8f",
530
- primaryForeground: "#ffffff",
531
- secondary: "#f0f0f0",
532
- secondaryForeground: "#000000",
533
- muted: "#f0f0f0",
534
- mutedForeground: "#333333",
535
- accent: "#f0f0f0",
536
- accentForeground: "#000000",
537
- destructive: "#b91c1c",
538
- success: "#14532d",
539
- border: "#767676",
540
- input: "#767676",
541
- ring: "#000000"
542
- }),
543
- defineVariant("contrast-dark", "contrast", "High Contrast", "High Contrast Dark", "dark", {
544
- background: "#000000",
545
- foreground: "#ffffff",
546
- card: "#0a0a0a",
547
- cardForeground: "#ffffff",
548
- popover: "#0a0a0a",
549
- popoverForeground: "#ffffff",
550
- primary: "#8ab4ff",
551
- primaryForeground: "#000000",
552
- secondary: "#1a1a1a",
553
- secondaryForeground: "#ffffff",
554
- muted: "#1a1a1a",
555
- mutedForeground: "#e5e5e5",
556
- accent: "#1a1a1a",
557
- accentForeground: "#ffffff",
558
- destructive: "#ff6b6b",
559
- success: "#4ade80",
560
- border: "#8f8f8f",
561
- input: "#8f8f8f",
562
- ring: "#ffffff"
563
- })
564
- ]);
565
- function normalizeMode(value) {
566
- return value === "light" || value === "dark" || value === "system" ? value : "system";
567
- }
568
- function normalizeSurface(value) {
569
- return value === "frosted" || value === "translucent" || value === "opaque" ? value : "opaque";
570
- }
571
- function normalizeThemeId(value, fallback) {
572
- return typeof value === "string" && value.trim().length > 0 ? value : fallback;
573
- }
574
- function normalizeAccent(value) {
575
- if (value === "theme") return "theme";
576
- if (typeof value !== "string") return "theme";
577
- if (accentPresetById(value)) return value;
578
- const parsed = parseColor(value);
579
- return parsed ? colorToHex(parsed) : "theme";
580
- }
581
- /**
582
- * Parse a stored appearance document. Anything that is not a strict version-2
583
- * record falls back to the defaults and keeps the raw value for retention;
584
- * individual unknown values inside a v2 record are corrected field by field.
585
- */
586
- function normalizeAppearancePreferences(raw) {
587
- if (typeof raw !== "object" || raw === null || raw.version !== 2) return {
588
- value: defaultAppearancePreferences,
589
- retainedRaw: raw
590
- };
591
- const record = raw;
592
- return { value: {
593
- version: 2,
594
- mode: normalizeMode(record.mode),
595
- lightThemeId: normalizeThemeId(record.lightThemeId, defaultAppearancePreferences.lightThemeId),
596
- darkThemeId: normalizeThemeId(record.darkThemeId, defaultAppearancePreferences.darkThemeId),
597
- accent: normalizeAccent(record.accent),
598
- surface: normalizeSurface(record.surface),
599
- reduceTransparency: record.reduceTransparency === true
600
- } };
601
- }
602
- /** The legacy single-key preference, mapped into v2 during migration. */
603
- function migrateLegacyThemeValue(stored) {
604
- if (stored !== "light" && stored !== "dark" && stored !== "system") return void 0;
605
- return {
606
- ...defaultAppearancePreferences,
607
- mode: stored
608
- };
609
- }
610
- /**
611
- * Quarantine an unread raw document into the recovery envelope. Runs at read
612
- * time — before any later write can overwrite the main key — and is
613
- * idempotent: re-reading the same unread value refreshes the capture without
614
- * losing it.
615
- */
616
- function retainRecoveryEnvelope(storage, raw, reason) {
617
- try {
618
- const envelope = {
619
- schemaVersion: 1,
620
- reason,
621
- capturedAt: (/* @__PURE__ */ new Date()).toISOString(),
622
- raw
623
- };
624
- storage.setItem(APPEARANCE_RECOVERY_STORAGE_KEY, JSON.stringify(envelope));
625
- } catch {}
626
- }
627
- /**
628
- * Read the appearance preferences: the v2 key first, then the legacy `theme`
629
- * key, then defaults. A malformed or future-version document is quarantined
630
- * into the recovery envelope and the defaults are returned; storage failures
631
- * degrade to defaults like every other blocked-storage consumer.
632
- */
633
- function readAppearancePreferences(storage) {
634
- if (!storage) return defaultAppearancePreferences;
635
- try {
636
- const raw = storage.getItem(APPEARANCE_STORAGE_KEY);
637
- if (raw !== null) {
638
- let parsed;
639
- try {
640
- parsed = JSON.parse(raw);
641
- } catch {
642
- retainRecoveryEnvelope(storage, raw, "corrupt_json");
643
- return defaultAppearancePreferences;
644
- }
645
- const normalized = normalizeAppearancePreferences(parsed);
646
- if (normalized.retainedRaw !== void 0) retainRecoveryEnvelope(storage, raw, typeof parsed === "object" && parsed !== null ? "unsupported_record" : "corrupt_json");
647
- return normalized.value;
648
- }
649
- return migrateLegacyThemeValue(storage.getItem("theme")) ?? defaultAppearancePreferences;
650
- } catch {
651
- return defaultAppearancePreferences;
652
- }
653
- }
654
- function writeAppearancePreferences(storage, preferences) {
655
- if (!storage) return;
656
- try {
657
- storage.setItem(APPEARANCE_STORAGE_KEY, JSON.stringify(preferences));
658
- } catch {}
659
- }
660
- /** Resolve preferences against the environment into the applied document state. */
661
- function resolveAppearanceState(preferences, environment, registry = builtinThemeRegistry) {
662
- const resolvedMode = resolveAppearanceMode(preferences.mode, environment.systemAppearance);
663
- const variant = resolveThemeVariant(registry, preferences, resolvedMode);
664
- return {
665
- resolvedMode,
666
- variant,
667
- accent: deriveAccentRoles(preferences.accent, variant),
668
- effectiveSurface: resolveSurface(preferences.surface, {
669
- osReducedTransparency: environment.osReducedTransparency,
670
- userReducedTransparency: preferences.reduceTransparency,
671
- nativeTranslucency: environment.nativeTranslucency
672
- }),
673
- reduceTransparencyActive: environment.osReducedTransparency || preferences.reduceTransparency
674
- };
675
- }
676
- var SURFACE_BACKGROUND_ALPHA = {
677
- opaque: "1",
678
- frosted: "0.92",
679
- translucent: "0.8"
680
- };
681
- /**
682
- * The custom properties a non-default variant owns, as a flat map. This one
683
- * mapping feeds both the live provider and the pre-paint no-flash script, so
684
- * a restored first paint and a later live switch cannot disagree. Default
685
- * variants return an empty map: `styles/theme.css` declares those tokens.
686
- */
687
- function flatVariantTokens(variant) {
688
- if (isDefaultVariant(variant)) return {};
689
- const tokens = {};
690
- for (const [role, value] of Object.entries(variant.colors)) tokens[`--${kebabCase(role)}`] = value;
691
- const terminal = variant.terminal;
692
- tokens["--terminal-background"] = terminal.background;
693
- tokens["--terminal-foreground"] = terminal.foreground;
694
- tokens["--terminal-cursor"] = terminal.cursor;
695
- tokens["--terminal-selection"] = terminal.selection;
696
- const ansiNames = [
697
- "black",
698
- "red",
699
- "green",
700
- "yellow",
701
- "blue",
702
- "magenta",
703
- "cyan",
704
- "white"
705
- ];
706
- for (const [index, color] of terminal.ansi.entries()) {
707
- const name = ansiNames[index % 8];
708
- tokens[index < 8 ? `--terminal-ansi-${name}` : `--terminal-ansi-bright-${name}`] = color;
709
- }
710
- for (const [role, value] of Object.entries(variant.editor)) tokens[`--editor-${kebabCase(role)}`] = value;
711
- for (const [index, value] of Object.values(variant.charts).entries()) tokens[`--chart-${index + 1}`] = value;
712
- return tokens;
713
- }
714
- /**
715
- * Apply a resolved state to a document: the `dark` class and color scheme for
716
- * the palette, the diagnostic data attributes, the accent role overrides, and
717
- * the resolved variant's semantic tokens (including terminal ANSI and editor
718
- * roles). CSS custom properties cascade, so terminals and editors update live
719
- * without remounting.
720
- *
721
- * The default `adea-light`/`adea-dark` variants skip the palette override —
722
- * `styles/theme.css` declares those tokens already, and leaving them CSS-owned
723
- * keeps first paint byte-identical to the pre-#425 app.
724
- */
725
- function applyAppearanceToDocument(document, state) {
726
- const root = document.documentElement;
727
- const style = root.style;
728
- root.classList.toggle("dark", state.resolvedMode === "dark");
729
- style.colorScheme = state.resolvedMode;
730
- root.dataset.theme = state.variant.id;
731
- root.dataset.appearanceMode = state.resolvedMode;
732
- root.dataset.surface = state.effectiveSurface;
733
- root.dataset.accent = state.accent.overrides ? "custom" : "theme";
734
- root.dataset.reduceTransparency = state.reduceTransparencyActive ? "true" : "false";
735
- const setToken = (name, value) => style.setProperty(name, value);
736
- setToken("--surface-alpha", SURFACE_BACKGROUND_ALPHA[state.effectiveSurface]);
737
- if (state.accent.overrides) {
738
- setToken("--primary", state.accent.primary);
739
- setToken("--primary-foreground", state.accent.onPrimary);
740
- setToken("--ring", state.accent.ring);
741
- } else {
742
- style.removeProperty("--primary");
743
- style.removeProperty("--primary-foreground");
744
- style.removeProperty("--ring");
745
- }
746
- for (const [name, value] of Object.entries(flatVariantTokens(state.variant))) setToken(name, value);
747
- }
748
- /**
749
- * The no-flash preload script rendered in the document head. It re-resolves
750
- * the stored (or legacy) preference against the OS before first paint and
751
- * applies the same palette state the provider would, so hydration never shows
752
- * the wrong palette. Accent overrides land with the provider: they decorate
753
- * the resolved palette and cannot produce a wrong-palette flash.
754
- */
755
- function appearanceThemeScript() {
756
- const preload = builtinThemeRegistry.map((variant) => ({
757
- id: variant.id,
758
- dark: variant.appearance === "dark",
759
- tokens: flatVariantTokens(variant)
760
- }));
761
- const registry = JSON.stringify(preload);
762
- const alpha = JSON.stringify(SURFACE_BACKGROUND_ALPHA);
763
- return `(function(){try{
764
- var prefs=null;var raw=null;
765
- try{raw=localStorage.getItem('${APPEARANCE_STORAGE_KEY}')}catch(e){}
766
- if(raw){try{var parsed=JSON.parse(raw);if(parsed&&parsed.version===2)prefs=parsed}catch(e){}}
767
- var mode='system';
768
- if(prefs){if(prefs.mode==='light'||prefs.mode==='dark')mode=prefs.mode}
769
- else{try{var t=localStorage.getItem('${LEGACY_THEME_STORAGE_KEY}');if(t==='light'||t==='dark')mode=t}catch(e){}}
770
- var dark=mode==='dark'||(mode==='system'&&window.matchMedia('${DARK_QUERY}').matches);
771
- var registry=${registry};
772
- var wanted=dark?(prefs&&prefs.darkThemeId)||'${defaultAppearancePreferences.darkThemeId}':(prefs&&prefs.lightThemeId)||'${defaultAppearancePreferences.lightThemeId}';
773
- var variant=null;
774
- for(var i=0;i<registry.length;i++){if(registry[i].id===wanted)variant=registry[i]}
775
- if(!variant){for(var j=0;j<registry.length;j++){if(registry[j].dark===dark)variant=registry[j]}}
776
- if(!variant)variant=registry[0];
777
- var reduce=window.matchMedia('${REDUCED_TRANSPARENCY_QUERY}').matches||!!(prefs&&prefs.reduceTransparency);
778
- /* Pre-hydration the host translucency capability is unknown, so the script
779
- resolves every glass request to the conservative frosted tokens; the
780
- provider re-resolves with the real capability once mounted. */
781
- var surface=reduce?'opaque':(prefs&&prefs.surface==='frosted'||prefs&&prefs.surface==='translucent'?'frosted':'opaque');
782
- if(surface!=='opaque'&&surface!=='frosted')surface='opaque';
783
- var r=document.documentElement,s=r.style;
784
- r.classList.toggle('dark',dark);
785
- s.colorScheme=dark?'dark':'light';
786
- r.dataset.theme=variant.id;
787
- r.dataset.appearanceMode=mode;
788
- r.dataset.surface=surface;
789
- r.dataset.reduceTransparency=reduce?'true':'false';
790
- s.setProperty('--surface-alpha',${alpha}[surface]||'1');
791
- var tokens=variant.tokens||{};
792
- for(var name in tokens){s.setProperty(name,tokens[name])}
793
- }catch(e){}})();`;
794
- }
795
- function isDefaultVariant(variant) {
796
- return variant.id === defaultAppearancePreferences.lightThemeId || variant.id === defaultAppearancePreferences.darkThemeId;
797
- }
798
- function kebabCase(value) {
799
- return value.replaceAll(/[A-Z]/g, (character) => `-${character.toLocaleLowerCase()}`);
800
- }
801
- //#endregion
802
- export { APPEARANCE_RECOVERY_STORAGE_KEY, APPEARANCE_STORAGE_KEY, ColorParseError, DARK_QUERY, LEGACY_THEME_STORAGE_KEY, REDUCED_TRANSPARENCY_QUERY, accentPresetById, accentPresets, appearanceThemeScript, applyAppearanceToDocument, builtinThemeRegistry, colorToHex, contrastRatio, defaultAppearancePreferences, deriveAccentRoles, flatVariantTokens, migrateLegacyThemeValue, normalizeAccentValue, normalizeAppearancePreferences, parseColor, readAppearancePreferences, resolveAppearanceMode, resolveAppearanceState, resolveSurface, resolveThemeVariant, themeSelectionVariantId, validateThemeRegistry, writeAppearancePreferences };