@polderlabs/bizar 7.0.2 → 8.0.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 (490) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/bizar-dash/DESIGN.md +729 -969
  3. package/bizar-dash/GLYPH.md +418 -0
  4. package/bizar-dash/PLAN.md +1135 -0
  5. package/bizar-dash/dist/assets/ActivityFeed-BRBtQOHB.js +6 -0
  6. package/bizar-dash/dist/assets/ActivityFeed-BRBtQOHB.js.map +1 -0
  7. package/bizar-dash/dist/assets/ActivityView-CwqhxBfh.js +1 -0
  8. package/bizar-dash/dist/assets/ActivityView-CwqhxBfh.js.map +1 -0
  9. package/bizar-dash/dist/assets/AgentActivity-6MxU-a9F.js +1 -0
  10. package/bizar-dash/dist/assets/AgentActivity-6MxU-a9F.js.map +1 -0
  11. package/bizar-dash/dist/assets/AgentsView-BYrOFdwl.js +8 -0
  12. package/bizar-dash/dist/assets/AgentsView-BYrOFdwl.js.map +1 -0
  13. package/bizar-dash/dist/assets/Badge-Cd61wsBa.js +1 -0
  14. package/bizar-dash/dist/assets/Badge-Cd61wsBa.js.map +1 -0
  15. package/bizar-dash/dist/assets/Card-C_bvqXdQ.js +1 -0
  16. package/bizar-dash/dist/assets/Card-C_bvqXdQ.js.map +1 -0
  17. package/bizar-dash/dist/assets/EmptyState-BWQuKnk9.js +1 -0
  18. package/bizar-dash/dist/assets/EmptyState-BWQuKnk9.js.map +1 -0
  19. package/bizar-dash/dist/assets/GoalsView-Dok0yt9S.js +11 -0
  20. package/bizar-dash/dist/assets/GoalsView-Dok0yt9S.js.map +1 -0
  21. package/bizar-dash/dist/assets/Grid-C62gCPqt.js +1 -0
  22. package/bizar-dash/dist/assets/Grid-C62gCPqt.js.map +1 -0
  23. package/bizar-dash/dist/assets/KanbanCard-CtTKP6ZX.js +21 -0
  24. package/bizar-dash/dist/assets/KanbanCard-CtTKP6ZX.js.map +1 -0
  25. package/bizar-dash/dist/assets/LibrariesView-BcyBQXiY.js +67 -0
  26. package/bizar-dash/dist/assets/LibrariesView-BcyBQXiY.js.map +1 -0
  27. package/bizar-dash/dist/assets/MemoryView-49wR4u-y.js +13 -0
  28. package/bizar-dash/dist/assets/MemoryView-49wR4u-y.js.map +1 -0
  29. package/bizar-dash/dist/assets/OverviewView-BtQ_UWYj.js +1 -0
  30. package/bizar-dash/dist/assets/OverviewView-BtQ_UWYj.js.map +1 -0
  31. package/bizar-dash/dist/assets/ProgressBar-CpvDeq9F.js +1 -0
  32. package/bizar-dash/dist/assets/ProgressBar-CpvDeq9F.js.map +1 -0
  33. package/bizar-dash/dist/assets/SettingsRow-DmIe5OUu.js +30 -0
  34. package/bizar-dash/dist/assets/SettingsRow-DmIe5OUu.js.map +1 -0
  35. package/bizar-dash/dist/assets/SettingsView-D1KmGWbi.js +48 -0
  36. package/bizar-dash/dist/assets/SettingsView-D1KmGWbi.js.map +1 -0
  37. package/bizar-dash/dist/assets/StatTile-BkIP32gG.js +11 -0
  38. package/bizar-dash/dist/assets/StatTile-BkIP32gG.js.map +1 -0
  39. package/bizar-dash/dist/assets/TasksView-Cba3GJ42.js +1 -0
  40. package/bizar-dash/dist/assets/TasksView-Cba3GJ42.js.map +1 -0
  41. package/bizar-dash/dist/assets/ViewHeader-D6c2cw1b.js +6 -0
  42. package/bizar-dash/dist/assets/ViewHeader-D6c2cw1b.js.map +1 -0
  43. package/bizar-dash/dist/assets/brain-DeoXNDE2.js +6 -0
  44. package/bizar-dash/dist/assets/brain-DeoXNDE2.js.map +1 -0
  45. package/bizar-dash/dist/assets/calendar-DRlQkGJc.js +6 -0
  46. package/bizar-dash/dist/assets/calendar-DRlQkGJc.js.map +1 -0
  47. package/bizar-dash/dist/assets/circle-check-DmYQ3vGp.js +6 -0
  48. package/bizar-dash/dist/assets/circle-check-DmYQ3vGp.js.map +1 -0
  49. package/bizar-dash/dist/assets/cmdk-BwN8hcKQ.js +80 -0
  50. package/bizar-dash/dist/assets/cmdk-BwN8hcKQ.js.map +1 -0
  51. package/bizar-dash/dist/assets/dnd-kit-DR2Qzzxk.js +5 -0
  52. package/bizar-dash/dist/assets/dnd-kit-DR2Qzzxk.js.map +1 -0
  53. package/bizar-dash/dist/assets/git-merge-OoqBKQer.js +6 -0
  54. package/bizar-dash/dist/assets/git-merge-OoqBKQer.js.map +1 -0
  55. package/bizar-dash/dist/assets/git-pull-request-CXBQTR2f.js +6 -0
  56. package/bizar-dash/dist/assets/git-pull-request-CXBQTR2f.js.map +1 -0
  57. package/bizar-dash/dist/assets/main-COdgjqbZ.css +1 -0
  58. package/bizar-dash/dist/assets/main-Cw6gybzS.js +109 -0
  59. package/bizar-dash/dist/assets/main-Cw6gybzS.js.map +1 -0
  60. package/bizar-dash/dist/assets/message-square-DUTeIQAR.js +6 -0
  61. package/bizar-dash/dist/assets/message-square-DUTeIQAR.js.map +1 -0
  62. package/bizar-dash/dist/assets/minus-CrStJTZ7.js +6 -0
  63. package/bizar-dash/dist/assets/minus-CrStJTZ7.js.map +1 -0
  64. package/bizar-dash/dist/assets/wrench-BJ1WIC4u.js +6 -0
  65. package/bizar-dash/dist/assets/wrench-BJ1WIC4u.js.map +1 -0
  66. package/bizar-dash/dist/{mobile.html → v8.html} +6 -9
  67. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  68. package/bizar-dash/src/server/server.mjs +1 -57
  69. package/bizar-dash/src/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  70. package/bizar-dash/src/web/v8/App.tsx +188 -0
  71. package/bizar-dash/src/web/v8/__tests__/App.test.tsx +102 -0
  72. package/bizar-dash/src/web/v8/__tests__/AppShell.test.tsx +79 -0
  73. package/bizar-dash/src/web/v8/__tests__/PageSkeleton.test.tsx +12 -0
  74. package/bizar-dash/src/web/v8/__tests__/SettingsView.test.tsx +84 -0
  75. package/bizar-dash/src/web/v8/__tests__/Sidebar.test.tsx +95 -0
  76. package/bizar-dash/src/web/v8/__tests__/activity.test.tsx +63 -0
  77. package/bizar-dash/src/web/v8/__tests__/agents.test.tsx +90 -0
  78. package/bizar-dash/src/web/v8/__tests__/controls.test.tsx +135 -0
  79. package/bizar-dash/src/web/v8/__tests__/cx.test.ts +25 -0
  80. package/bizar-dash/src/web/v8/__tests__/data.test.tsx +293 -0
  81. package/bizar-dash/src/web/v8/__tests__/feedback.test.tsx +213 -0
  82. package/bizar-dash/src/web/v8/__tests__/goals.test.tsx +105 -0
  83. package/bizar-dash/src/web/v8/__tests__/kanban.test.tsx +176 -0
  84. package/bizar-dash/src/web/v8/__tests__/libraries.test.tsx +70 -0
  85. package/bizar-dash/src/web/v8/__tests__/memory.test.tsx +60 -0
  86. package/bizar-dash/src/web/v8/__tests__/navigation.test.tsx +137 -0
  87. package/bizar-dash/src/web/v8/__tests__/settings.test.tsx +104 -0
  88. package/bizar-dash/src/web/v8/__tests__/theme.test.tsx +98 -0
  89. package/bizar-dash/src/web/v8/__tests__/views.test.tsx +112 -0
  90. package/bizar-dash/src/web/v8/main.tsx +28 -0
  91. package/bizar-dash/src/web/v8/shell/AppShell.tsx +90 -0
  92. package/bizar-dash/src/web/v8/shell/PageSkeleton.tsx +29 -0
  93. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +361 -0
  94. package/bizar-dash/src/web/v8/shell/StatusBar.tsx +63 -0
  95. package/bizar-dash/src/web/v8/shell/Topbar.tsx +113 -0
  96. package/bizar-dash/src/web/v8/shell/index.ts +15 -0
  97. package/bizar-dash/src/web/v8/ui/activity/ActivityFeed.tsx +137 -0
  98. package/bizar-dash/src/web/v8/ui/agents/AgentActivity.tsx +101 -0
  99. package/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +158 -0
  100. package/bizar-dash/src/web/v8/ui/controls/Button.tsx +141 -0
  101. package/bizar-dash/src/web/v8/ui/controls/ButtonGroup.tsx +32 -0
  102. package/bizar-dash/src/web/v8/ui/controls/Checkbox.tsx +49 -0
  103. package/bizar-dash/src/web/v8/ui/controls/Field.tsx +78 -0
  104. package/bizar-dash/src/web/v8/ui/controls/Form.tsx +23 -0
  105. package/bizar-dash/src/web/v8/ui/controls/IconButton.tsx +112 -0
  106. package/bizar-dash/src/web/v8/ui/controls/Input.tsx +94 -0
  107. package/bizar-dash/src/web/v8/ui/controls/RadioGroup.tsx +74 -0
  108. package/bizar-dash/src/web/v8/ui/controls/Select.tsx +171 -0
  109. package/bizar-dash/src/web/v8/ui/controls/Slider.tsx +68 -0
  110. package/bizar-dash/src/web/v8/ui/controls/Switch.tsx +56 -0
  111. package/bizar-dash/src/web/v8/ui/controls/Textarea.tsx +64 -0
  112. package/bizar-dash/src/web/v8/ui/controls/Toggle.tsx +36 -0
  113. package/bizar-dash/src/web/v8/ui/controls/ToggleGroup.tsx +85 -0
  114. package/bizar-dash/src/web/v8/ui/data/Accordion.tsx +134 -0
  115. package/bizar-dash/src/web/v8/ui/data/Avatar.tsx +175 -0
  116. package/bizar-dash/src/web/v8/ui/data/Badge.tsx +93 -0
  117. package/bizar-dash/src/web/v8/ui/data/BarList.tsx +101 -0
  118. package/bizar-dash/src/web/v8/ui/data/Card.tsx +140 -0
  119. package/bizar-dash/src/web/v8/ui/data/Chip.tsx +96 -0
  120. package/bizar-dash/src/web/v8/ui/data/Kbd.tsx +42 -0
  121. package/bizar-dash/src/web/v8/ui/data/ProgressBar.tsx +93 -0
  122. package/bizar-dash/src/web/v8/ui/data/Sparkline.tsx +98 -0
  123. package/bizar-dash/src/web/v8/ui/data/StatTile.tsx +150 -0
  124. package/bizar-dash/src/web/v8/ui/data/Table.tsx +170 -0
  125. package/bizar-dash/src/web/v8/ui/data/Timeline.tsx +130 -0
  126. package/bizar-dash/src/web/v8/ui/data/ViewHeader.tsx +122 -0
  127. package/bizar-dash/src/web/v8/ui/feedback/Alert.tsx +95 -0
  128. package/bizar-dash/src/web/v8/ui/feedback/Banner.tsx +39 -0
  129. package/bizar-dash/src/web/v8/ui/feedback/ContextMenu.tsx +143 -0
  130. package/bizar-dash/src/web/v8/ui/feedback/Dialog.tsx +149 -0
  131. package/bizar-dash/src/web/v8/ui/feedback/Drawer.tsx +8 -0
  132. package/bizar-dash/src/web/v8/ui/feedback/DropdownMenu.tsx +231 -0
  133. package/bizar-dash/src/web/v8/ui/feedback/EmptyState.tsx +48 -0
  134. package/bizar-dash/src/web/v8/ui/feedback/Popover.tsx +56 -0
  135. package/bizar-dash/src/web/v8/ui/feedback/Sheet.tsx +103 -0
  136. package/bizar-dash/src/web/v8/ui/feedback/Skeleton.tsx +67 -0
  137. package/bizar-dash/src/web/v8/ui/feedback/Spinner.tsx +30 -0
  138. package/bizar-dash/src/web/v8/ui/feedback/Toast.tsx +66 -0
  139. package/bizar-dash/src/web/v8/ui/feedback/Tooltip.tsx +89 -0
  140. package/bizar-dash/src/web/v8/ui/goals/GoalCard.tsx +176 -0
  141. package/bizar-dash/src/web/v8/ui/goals/KeyResult.tsx +115 -0
  142. package/bizar-dash/src/web/v8/ui/index.ts +322 -0
  143. package/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +80 -0
  144. package/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +247 -0
  145. package/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +181 -0
  146. package/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +122 -0
  147. package/bizar-dash/src/web/v8/ui/kanban/KanbanQuickAdd.tsx +141 -0
  148. package/bizar-dash/src/web/v8/ui/libraries/LibraryGrid.tsx +30 -0
  149. package/bizar-dash/src/web/v8/ui/libraries/LibraryItem.tsx +161 -0
  150. package/bizar-dash/src/web/v8/ui/memory/MemoryVault.tsx +144 -0
  151. package/bizar-dash/src/web/v8/ui/navigation/CommandPalette.tsx +224 -0
  152. package/bizar-dash/src/web/v8/ui/navigation/NavLink.tsx +81 -0
  153. package/bizar-dash/src/web/v8/ui/navigation/Pagination.tsx +164 -0
  154. package/bizar-dash/src/web/v8/ui/navigation/Tabs.tsx +128 -0
  155. package/bizar-dash/src/web/v8/ui/navigation/useCommandPaletteHotkey.test.ts +79 -0
  156. package/bizar-dash/src/web/v8/ui/primitives/Box.tsx +144 -0
  157. package/bizar-dash/src/web/v8/ui/primitives/Center.tsx +40 -0
  158. package/bizar-dash/src/web/v8/ui/primitives/Cluster.tsx +67 -0
  159. package/bizar-dash/src/web/v8/ui/primitives/Grid.tsx +104 -0
  160. package/bizar-dash/src/web/v8/ui/primitives/Inline.tsx +77 -0
  161. package/bizar-dash/src/web/v8/ui/primitives/Portal.tsx +33 -0
  162. package/bizar-dash/src/web/v8/ui/primitives/ScrollArea.tsx +62 -0
  163. package/bizar-dash/src/web/v8/ui/primitives/Separator.tsx +42 -0
  164. package/bizar-dash/src/web/v8/ui/primitives/Stack.tsx +73 -0
  165. package/bizar-dash/src/web/v8/ui/primitives/VisuallyHidden.tsx +49 -0
  166. package/bizar-dash/src/web/v8/ui/settings/SettingsNav.tsx +91 -0
  167. package/bizar-dash/src/web/v8/ui/settings/SettingsRow.tsx +88 -0
  168. package/bizar-dash/src/web/v8/ui/settings/SettingsSection.tsx +109 -0
  169. package/bizar-dash/src/web/v8/ui/styles/globals.css +220 -0
  170. package/bizar-dash/src/web/v8/ui/styles/reset.css +57 -0
  171. package/bizar-dash/src/web/v8/ui/styles/tokens.css +217 -0
  172. package/bizar-dash/src/web/v8/ui/theme/DensityProvider.test.tsx +74 -0
  173. package/bizar-dash/src/web/v8/ui/theme/DensityProvider.tsx +66 -0
  174. package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.test.tsx +86 -0
  175. package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.tsx +94 -0
  176. package/bizar-dash/src/web/v8/ui/theme/ThemeToggle.tsx +88 -0
  177. package/bizar-dash/src/web/v8/ui/theme/useDensity.ts +15 -0
  178. package/bizar-dash/src/web/v8/ui/theme/useTheme.ts +16 -0
  179. package/bizar-dash/src/web/v8/ui/utils/cx.ts +19 -0
  180. package/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +33 -0
  181. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +108 -0
  182. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.test.tsx +142 -0
  183. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +144 -0
  184. package/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +84 -0
  185. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +41 -0
  186. package/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +61 -0
  187. package/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +92 -0
  188. package/bizar-dash/src/web/v8/views/Router.tsx +96 -0
  189. package/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +305 -0
  190. package/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +106 -0
  191. package/bizar-dash/src/web/v8/views/Tasks/TasksKanbanPlaceholder.tsx +62 -0
  192. package/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +74 -0
  193. package/bizar-dash/src/web/v8/vite-env.d.ts +15 -0
  194. package/bizar-dash/src/web/{mobile.html → v8.html} +4 -7
  195. package/bizar-dash/tests/settings-layout.test.tsx +2 -2
  196. package/bizar-dash/tests/settings-nav.test.tsx +6 -6
  197. package/bizar-dash/tests/setup.ts +26 -0
  198. package/bizar-dash/vite.config.ts +26 -2
  199. package/bizar-dash/vitest.config.ts +5 -3
  200. package/cli/provision-claude.mjs +108 -5
  201. package/package.json +36 -3
  202. package/bizar-dash/dist/assets/EnvVarsSection-BfhAz3ax.js +0 -114
  203. package/bizar-dash/dist/assets/EnvVarsSection-BfhAz3ax.js.map +0 -1
  204. package/bizar-dash/dist/assets/MobileChat-DLWdv6tQ.js +0 -1
  205. package/bizar-dash/dist/assets/MobileChat-DLWdv6tQ.js.map +0 -1
  206. package/bizar-dash/dist/assets/MobileSettings-Bxv62uPY.js +0 -1
  207. package/bizar-dash/dist/assets/MobileSettings-Bxv62uPY.js.map +0 -1
  208. package/bizar-dash/dist/assets/Toast-ATSAmbdi.js +0 -26
  209. package/bizar-dash/dist/assets/Toast-ATSAmbdi.js.map +0 -1
  210. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js +0 -1
  211. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js.map +0 -1
  212. package/bizar-dash/dist/assets/main-306CZfn6.js +0 -430
  213. package/bizar-dash/dist/assets/main-306CZfn6.js.map +0 -1
  214. package/bizar-dash/dist/assets/main-G3bNDpY3.css +0 -1
  215. package/bizar-dash/dist/assets/mobile-C_naUN91.js +0 -1
  216. package/bizar-dash/dist/assets/mobile-C_naUN91.js.map +0 -1
  217. package/bizar-dash/dist/assets/mobile-layout-BWLtwtfQ.css +0 -1
  218. package/bizar-dash/dist/assets/mobile-layout-GZ3bE8L6.js +0 -211
  219. package/bizar-dash/dist/assets/mobile-layout-GZ3bE8L6.js.map +0 -1
  220. package/bizar-dash/dist/assets/useSlashCommands-BOwD7lNb.js +0 -65
  221. package/bizar-dash/dist/assets/useSlashCommands-BOwD7lNb.js.map +0 -1
  222. package/bizar-dash/dist/index.html +0 -43
  223. package/bizar-dash/src/web/App.tsx +0 -915
  224. package/bizar-dash/src/web/MobileApp.tsx +0 -414
  225. package/bizar-dash/src/web/components/ArtifactCreateDialog.tsx +0 -95
  226. package/bizar-dash/src/web/components/ArtifactListDialog.tsx +0 -55
  227. package/bizar-dash/src/web/components/ArtifactViewer.tsx +0 -144
  228. package/bizar-dash/src/web/components/AuditDialog.tsx +0 -79
  229. package/bizar-dash/src/web/components/AutosaveField.tsx +0 -50
  230. package/bizar-dash/src/web/components/BackupRestore.tsx +0 -330
  231. package/bizar-dash/src/web/components/BgStatusBadge.tsx +0 -32
  232. package/bizar-dash/src/web/components/Button.tsx +0 -56
  233. package/bizar-dash/src/web/components/CanvasContextMenu.tsx +0 -68
  234. package/bizar-dash/src/web/components/Card.tsx +0 -40
  235. package/bizar-dash/src/web/components/CollapsibleSection.tsx +0 -72
  236. package/bizar-dash/src/web/components/CommandDialog.tsx +0 -66
  237. package/bizar-dash/src/web/components/DoctorPanel.tsx +0 -160
  238. package/bizar-dash/src/web/components/EmptyState.tsx +0 -30
  239. package/bizar-dash/src/web/components/EnvVarManager.tsx +0 -430
  240. package/bizar-dash/src/web/components/EvalDiff.tsx +0 -157
  241. package/bizar-dash/src/web/components/EvalExportButton.tsx +0 -27
  242. package/bizar-dash/src/web/components/EvalRunCard.tsx +0 -78
  243. package/bizar-dash/src/web/components/FileBrowser.tsx +0 -633
  244. package/bizar-dash/src/web/components/HeadroomSettings.tsx +0 -418
  245. package/bizar-dash/src/web/components/HeadroomStatus.tsx +0 -158
  246. package/bizar-dash/src/web/components/HelpDialog.tsx +0 -55
  247. package/bizar-dash/src/web/components/InviteDialog.tsx +0 -205
  248. package/bizar-dash/src/web/components/KillConfirmDialog.tsx +0 -88
  249. package/bizar-dash/src/web/components/MobileBottomNav.tsx +0 -38
  250. package/bizar-dash/src/web/components/MobileDrawer.tsx +0 -68
  251. package/bizar-dash/src/web/components/MobileHeader.tsx +0 -50
  252. package/bizar-dash/src/web/components/MobileLayout.tsx +0 -63
  253. package/bizar-dash/src/web/components/Modal.tsx +0 -215
  254. package/bizar-dash/src/web/components/Notifications.tsx +0 -242
  255. package/bizar-dash/src/web/components/ScheduleTemplateCard.tsx +0 -72
  256. package/bizar-dash/src/web/components/ScreenshotCapture.tsx +0 -138
  257. package/bizar-dash/src/web/components/ScreenshotOCR.tsx +0 -42
  258. package/bizar-dash/src/web/components/SearchModal.tsx +0 -227
  259. package/bizar-dash/src/web/components/SettingsNav.tsx +0 -112
  260. package/bizar-dash/src/web/components/SettingsSearch.tsx +0 -328
  261. package/bizar-dash/src/web/components/Sidebar.tsx +0 -89
  262. package/bizar-dash/src/web/components/Spinner.tsx +0 -19
  263. package/bizar-dash/src/web/components/StatusBadge.tsx +0 -56
  264. package/bizar-dash/src/web/components/Tag.tsx +0 -41
  265. package/bizar-dash/src/web/components/TailscaleSettings.tsx +0 -161
  266. package/bizar-dash/src/web/components/TaskCard.tsx +0 -69
  267. package/bizar-dash/src/web/components/TaskCreateSheet.tsx +0 -76
  268. package/bizar-dash/src/web/components/Toast.tsx +0 -150
  269. package/bizar-dash/src/web/components/Toggle.tsx +0 -31
  270. package/bizar-dash/src/web/components/Topbar.tsx +0 -410
  271. package/bizar-dash/src/web/components/UsageChart.tsx +0 -250
  272. package/bizar-dash/src/web/components/UsageTable.tsx +0 -90
  273. package/bizar-dash/src/web/components/VirtualList.tsx +0 -53
  274. package/bizar-dash/src/web/components/VisualPlanDialog.tsx +0 -58
  275. package/bizar-dash/src/web/components/VoiceNotesPanel.tsx +0 -211
  276. package/bizar-dash/src/web/components/VoiceRecorder.tsx +0 -105
  277. package/bizar-dash/src/web/components/WorkspaceSelector.tsx +0 -158
  278. package/bizar-dash/src/web/components/agents/CommunicationLog.tsx +0 -126
  279. package/bizar-dash/src/web/components/agents/DependencyGraph.tsx +0 -163
  280. package/bizar-dash/src/web/components/agents/QualityGates.tsx +0 -123
  281. package/bizar-dash/src/web/components/agents/RealTimeEventLog.tsx +0 -127
  282. package/bizar-dash/src/web/components/agents/RoutingDecisions.test.tsx +0 -148
  283. package/bizar-dash/src/web/components/agents/RoutingDecisions.tsx +0 -160
  284. package/bizar-dash/src/web/components/background/AttachButton.tsx +0 -96
  285. package/bizar-dash/src/web/components/background/TmuxAttachCard.tsx +0 -122
  286. package/bizar-dash/src/web/components/chat/AgentChip.tsx +0 -68
  287. package/bizar-dash/src/web/components/chat/AgentNode.tsx +0 -127
  288. package/bizar-dash/src/web/components/chat/AgentTree.tsx +0 -80
  289. package/bizar-dash/src/web/components/chat/ChatBubble.tsx +0 -60
  290. package/bizar-dash/src/web/components/chat/ChatComposer.tsx +0 -72
  291. package/bizar-dash/src/web/components/chat/ChatInfoPanel.tsx +0 -370
  292. package/bizar-dash/src/web/components/chat/ChatRail.tsx +0 -387
  293. package/bizar-dash/src/web/components/chat/ChatThread.tsx +0 -127
  294. package/bizar-dash/src/web/components/chat/ChatTopBar.tsx +0 -50
  295. package/bizar-dash/src/web/components/chat/Composer.tsx +0 -166
  296. package/bizar-dash/src/web/components/chat/ConfirmModal.tsx +0 -54
  297. package/bizar-dash/src/web/components/chat/EmptyState.tsx +0 -21
  298. package/bizar-dash/src/web/components/chat/FirstRunGreeting.tsx +0 -18
  299. package/bizar-dash/src/web/components/chat/FloatingComposer.tsx +0 -38
  300. package/bizar-dash/src/web/components/chat/InfoPanel.tsx +0 -184
  301. package/bizar-dash/src/web/components/chat/JumpToLatest.tsx +0 -58
  302. package/bizar-dash/src/web/components/chat/LoadingSkeleton.tsx +0 -19
  303. package/bizar-dash/src/web/components/chat/MessageBlock.tsx +0 -260
  304. package/bizar-dash/src/web/components/chat/MessageBubble.tsx +0 -60
  305. package/bizar-dash/src/web/components/chat/SessionList.tsx +0 -163
  306. package/bizar-dash/src/web/components/chat/SessionRowMenu.tsx +0 -206
  307. package/bizar-dash/src/web/components/chat/StreamingIndicator.tsx +0 -37
  308. package/bizar-dash/src/web/components/chat/SuggestionCards.tsx +0 -55
  309. package/bizar-dash/src/web/components/chat/WelcomeScreen.tsx +0 -36
  310. package/bizar-dash/src/web/components/chat/_legacy.ts +0 -30
  311. package/bizar-dash/src/web/components/chat/index.ts +0 -31
  312. package/bizar-dash/src/web/components/chat/useAutoGrowTextarea.ts +0 -18
  313. package/bizar-dash/src/web/components/chat/useChat.ts +0 -1190
  314. package/bizar-dash/src/web/components/chat/useSlashCommands.ts +0 -47
  315. package/bizar-dash/src/web/components/goals/GoalInput.tsx +0 -86
  316. package/bizar-dash/src/web/components/goals/PlanVisualization.tsx +0 -111
  317. package/bizar-dash/src/web/components/tasks/BacklogPanel.css +0 -109
  318. package/bizar-dash/src/web/components/tasks/BacklogPanel.tsx +0 -209
  319. package/bizar-dash/src/web/hooks/useAutosave.ts +0 -107
  320. package/bizar-dash/src/web/hooks/useI18n.ts +0 -13
  321. package/bizar-dash/src/web/index.html +0 -37
  322. package/bizar-dash/src/web/lib/api.ts +0 -237
  323. package/bizar-dash/src/web/lib/goapPlanner.ts +0 -614
  324. package/bizar-dash/src/web/lib/i18n.ts +0 -25
  325. package/bizar-dash/src/web/lib/logger.ts +0 -30
  326. package/bizar-dash/src/web/lib/markdown.tsx +0 -59
  327. package/bizar-dash/src/web/lib/search.ts +0 -115
  328. package/bizar-dash/src/web/lib/types.ts +0 -894
  329. package/bizar-dash/src/web/lib/utils.ts +0 -114
  330. package/bizar-dash/src/web/lib/ws.ts +0 -177
  331. package/bizar-dash/src/web/locales/en.json +0 -52
  332. package/bizar-dash/src/web/main.tsx +0 -43
  333. package/bizar-dash/src/web/mobile/MobileApp.tsx +0 -309
  334. package/bizar-dash/src/web/mobile/MobileBottomNav.tsx +0 -38
  335. package/bizar-dash/src/web/mobile/MobileChat.tsx +0 -138
  336. package/bizar-dash/src/web/mobile/MobileDoctor.tsx +0 -80
  337. package/bizar-dash/src/web/mobile/MobileEval.tsx +0 -167
  338. package/bizar-dash/src/web/mobile/MobileMemory.tsx +0 -108
  339. package/bizar-dash/src/web/mobile/MobileOverview.tsx +0 -213
  340. package/bizar-dash/src/web/mobile/MobileSettings.tsx +0 -251
  341. package/bizar-dash/src/web/mobile/MobileTasks.tsx +0 -94
  342. package/bizar-dash/src/web/mobile/MobileTopbar.tsx +0 -115
  343. package/bizar-dash/src/web/mobile/components/MobileBottomSheet.tsx +0 -182
  344. package/bizar-dash/src/web/mobile/components/MobileListItem.tsx +0 -64
  345. package/bizar-dash/src/web/mobile/components/MobileModal.tsx +0 -123
  346. package/bizar-dash/src/web/mobile/views/MobileActivity.tsx +0 -273
  347. package/bizar-dash/src/web/mobile/views/MobileAgents.tsx +0 -374
  348. package/bizar-dash/src/web/mobile/views/MobileArtifactCanvas.tsx +0 -439
  349. package/bizar-dash/src/web/mobile/views/MobileArtifacts.tsx +0 -143
  350. package/bizar-dash/src/web/mobile/views/MobileChat.tsx +0 -257
  351. package/bizar-dash/src/web/mobile/views/MobileConfig.tsx +0 -175
  352. package/bizar-dash/src/web/mobile/views/MobileHistory.tsx +0 -191
  353. package/bizar-dash/src/web/mobile/views/MobileMods.tsx +0 -149
  354. package/bizar-dash/src/web/mobile/views/MobileMore.tsx +0 -121
  355. package/bizar-dash/src/web/mobile/views/MobileNotifications.tsx +0 -137
  356. package/bizar-dash/src/web/mobile/views/MobilePlans.tsx +0 -26
  357. package/bizar-dash/src/web/mobile/views/MobileSchedules.tsx +0 -685
  358. package/bizar-dash/src/web/mobile/views/MobileSearchModal.tsx +0 -172
  359. package/bizar-dash/src/web/mobile/views/MobileSettings.tsx +0 -363
  360. package/bizar-dash/src/web/mobile/views/MobileSkills.tsx +0 -153
  361. package/bizar-dash/src/web/mobile/views/MobileTasks.tsx +0 -564
  362. package/bizar-dash/src/web/mobile/views/QrCodePanel.tsx +0 -69
  363. package/bizar-dash/src/web/mobile.tsx +0 -14
  364. package/bizar-dash/src/web/styles/agents-redesign.css +0 -311
  365. package/bizar-dash/src/web/styles/chat.css +0 -1740
  366. package/bizar-dash/src/web/styles/glyphs.css +0 -960
  367. package/bizar-dash/src/web/styles/main.css +0 -10391
  368. package/bizar-dash/src/web/styles/memory.css +0 -1182
  369. package/bizar-dash/src/web/styles/minimax-usage.css +0 -842
  370. package/bizar-dash/src/web/styles/mobile-chat.css +0 -5
  371. package/bizar-dash/src/web/styles/mobile-layout.css +0 -233
  372. package/bizar-dash/src/web/styles/mobile.css +0 -2181
  373. package/bizar-dash/src/web/styles/settings.css +0 -795
  374. package/bizar-dash/src/web/styles/skills.css +0 -302
  375. package/bizar-dash/src/web/styles/tasks-redesign.css +0 -253
  376. package/bizar-dash/src/web/styles/tasks.css +0 -605
  377. package/bizar-dash/src/web/ui/controls/Button.tsx +0 -77
  378. package/bizar-dash/src/web/ui/controls/Checkbox.tsx +0 -95
  379. package/bizar-dash/src/web/ui/controls/IconButton.tsx +0 -66
  380. package/bizar-dash/src/web/ui/controls/Kbd.tsx +0 -24
  381. package/bizar-dash/src/web/ui/controls/NumberInput.tsx +0 -77
  382. package/bizar-dash/src/web/ui/controls/RadioGroup.tsx +0 -109
  383. package/bizar-dash/src/web/ui/controls/SearchInput.tsx +0 -91
  384. package/bizar-dash/src/web/ui/controls/Select.tsx +0 -92
  385. package/bizar-dash/src/web/ui/controls/Slider.tsx +0 -70
  386. package/bizar-dash/src/web/ui/controls/TextInput.tsx +0 -67
  387. package/bizar-dash/src/web/ui/controls/Textarea.tsx +0 -56
  388. package/bizar-dash/src/web/ui/controls/Toggle.tsx +0 -79
  389. package/bizar-dash/src/web/ui/controls/controls.css +0 -476
  390. package/bizar-dash/src/web/ui/controls/index.ts +0 -35
  391. package/bizar-dash/src/web/ui/data/BarChart.tsx +0 -60
  392. package/bizar-dash/src/web/ui/data/DataTable.tsx +0 -216
  393. package/bizar-dash/src/web/ui/data/EmptyState.tsx +0 -60
  394. package/bizar-dash/src/web/ui/data/ErrorState.tsx +0 -56
  395. package/bizar-dash/src/web/ui/data/KeyValueList.tsx +0 -106
  396. package/bizar-dash/src/web/ui/data/LoadingState.tsx +0 -65
  397. package/bizar-dash/src/web/ui/data/Sparkline.tsx +0 -87
  398. package/bizar-dash/src/web/ui/data/StatTile.tsx +0 -87
  399. package/bizar-dash/src/web/ui/data/data.css +0 -535
  400. package/bizar-dash/src/web/ui/data/index.ts +0 -31
  401. package/bizar-dash/src/web/ui/feedback/Badge.tsx +0 -49
  402. package/bizar-dash/src/web/ui/feedback/Dialog.tsx +0 -209
  403. package/bizar-dash/src/web/ui/feedback/ProgressBar.tsx +0 -69
  404. package/bizar-dash/src/web/ui/feedback/StatusDot.tsx +0 -50
  405. package/bizar-dash/src/web/ui/feedback/Toast.tsx +0 -200
  406. package/bizar-dash/src/web/ui/feedback/Tooltip.tsx +0 -126
  407. package/bizar-dash/src/web/ui/feedback/feedback.css +0 -314
  408. package/bizar-dash/src/web/ui/feedback/index.ts +0 -43
  409. package/bizar-dash/src/web/ui/index.ts +0 -56
  410. package/bizar-dash/src/web/ui/layout/AppShell.tsx +0 -51
  411. package/bizar-dash/src/web/ui/layout/Breadcrumbs.tsx +0 -97
  412. package/bizar-dash/src/web/ui/layout/Panel.tsx +0 -73
  413. package/bizar-dash/src/web/ui/layout/PanelHeader.tsx +0 -39
  414. package/bizar-dash/src/web/ui/layout/Sidebar.tsx +0 -131
  415. package/bizar-dash/src/web/ui/layout/Tabs.tsx +0 -133
  416. package/bizar-dash/src/web/ui/layout/Topbar.tsx +0 -42
  417. package/bizar-dash/src/web/ui/layout/ViewHeader.tsx +0 -48
  418. package/bizar-dash/src/web/ui/layout/index.ts +0 -34
  419. package/bizar-dash/src/web/ui/layout/layout.css +0 -464
  420. package/bizar-dash/src/web/ui/navigation/CommandPalette.tsx +0 -199
  421. package/bizar-dash/src/web/ui/navigation/NavGroup.tsx +0 -95
  422. package/bizar-dash/src/web/ui/navigation/NavLink.tsx +0 -93
  423. package/bizar-dash/src/web/ui/navigation/index.ts +0 -17
  424. package/bizar-dash/src/web/ui/navigation/navigation.css +0 -343
  425. package/bizar-dash/src/web/ui/primitives/Box.tsx +0 -91
  426. package/bizar-dash/src/web/ui/primitives/Grid.tsx +0 -49
  427. package/bizar-dash/src/web/ui/primitives/Inline.tsx +0 -55
  428. package/bizar-dash/src/web/ui/primitives/Separator.tsx +0 -46
  429. package/bizar-dash/src/web/ui/primitives/Stack.tsx +0 -54
  430. package/bizar-dash/src/web/ui/primitives/VisuallyHidden.tsx +0 -26
  431. package/bizar-dash/src/web/ui/primitives/index.ts +0 -23
  432. package/bizar-dash/src/web/ui/primitives/primitives.css +0 -183
  433. package/bizar-dash/src/web/ui/styles/globals.css +0 -86
  434. package/bizar-dash/src/web/ui/styles/reset.css +0 -125
  435. package/bizar-dash/src/web/ui/styles/tokens.css +0 -208
  436. package/bizar-dash/src/web/ui/theme/ThemeProvider.tsx +0 -142
  437. package/bizar-dash/src/web/ui/theme/tokens.ts +0 -131
  438. package/bizar-dash/src/web/ui/theme/useTheme.ts +0 -22
  439. package/bizar-dash/src/web/ui/utils/cx.ts +0 -42
  440. package/bizar-dash/src/web/views/Activity.tsx +0 -1221
  441. package/bizar-dash/src/web/views/Agents.tsx +0 -964
  442. package/bizar-dash/src/web/views/Artifacts.tsx +0 -1494
  443. package/bizar-dash/src/web/views/BackgroundAgents.tsx +0 -822
  444. package/bizar-dash/src/web/views/Chat.tsx +0 -532
  445. package/bizar-dash/src/web/views/Config.tsx +0 -3
  446. package/bizar-dash/src/web/views/Doctor.tsx +0 -317
  447. package/bizar-dash/src/web/views/Eval.tsx +0 -372
  448. package/bizar-dash/src/web/views/EvalReport.tsx +0 -353
  449. package/bizar-dash/src/web/views/GoalPlanner.tsx +0 -158
  450. package/bizar-dash/src/web/views/Harness.tsx +0 -306
  451. package/bizar-dash/src/web/views/History.tsx +0 -353
  452. package/bizar-dash/src/web/views/Memory.tsx +0 -161
  453. package/bizar-dash/src/web/views/MiniMaxUsage.tsx +0 -942
  454. package/bizar-dash/src/web/views/ModView.tsx +0 -207
  455. package/bizar-dash/src/web/views/Mods.tsx +0 -706
  456. package/bizar-dash/src/web/views/Overview.tsx +0 -1364
  457. package/bizar-dash/src/web/views/Providers.tsx +0 -302
  458. package/bizar-dash/src/web/views/Schedules.tsx +0 -902
  459. package/bizar-dash/src/web/views/Settings.tsx +0 -308
  460. package/bizar-dash/src/web/views/Skills.tsx +0 -383
  461. package/bizar-dash/src/web/views/SpawnAgentModal.tsx +0 -221
  462. package/bizar-dash/src/web/views/Tasks.tsx +0 -789
  463. package/bizar-dash/src/web/views/Workspace.tsx +0 -294
  464. package/bizar-dash/src/web/views/glyphs/GlyphRenderer.tsx +0 -844
  465. package/bizar-dash/src/web/views/glyphs/components.tsx +0 -1098
  466. package/bizar-dash/src/web/views/memory/ConfigPanel.tsx +0 -426
  467. package/bizar-dash/src/web/views/memory/FromScreenshotPanel.tsx +0 -23
  468. package/bizar-dash/src/web/views/memory/GitSyncPanel.tsx +0 -220
  469. package/bizar-dash/src/web/views/memory/LightragPanel.tsx +0 -310
  470. package/bizar-dash/src/web/views/memory/MemoryGraphLegend.tsx +0 -29
  471. package/bizar-dash/src/web/views/memory/MemoryGraphPanel.tsx +0 -192
  472. package/bizar-dash/src/web/views/memory/MemoryGraphView.tsx +0 -336
  473. package/bizar-dash/src/web/views/memory/MemoryOverview.tsx +0 -367
  474. package/bizar-dash/src/web/views/memory/MemoryStatusCard.tsx +0 -160
  475. package/bizar-dash/src/web/views/memory/ObsidianPanel.tsx +0 -650
  476. package/bizar-dash/src/web/views/memory/SemanticSearchPanel.tsx +0 -197
  477. package/bizar-dash/src/web/views/memory/VaultFromClipboardPanel.tsx +0 -101
  478. package/bizar-dash/src/web/views/settings/ActivitySection.tsx +0 -205
  479. package/bizar-dash/src/web/views/settings/AgentSection.tsx +0 -305
  480. package/bizar-dash/src/web/views/settings/AuthSection.tsx +0 -159
  481. package/bizar-dash/src/web/views/settings/EnvVarsSection.tsx +0 -15
  482. package/bizar-dash/src/web/views/settings/GeneralSection.tsx +0 -128
  483. package/bizar-dash/src/web/views/settings/HeadroomSection.tsx +0 -39
  484. package/bizar-dash/src/web/views/settings/MemorySection.tsx +0 -154
  485. package/bizar-dash/src/web/views/settings/NetworkSection.tsx +0 -87
  486. package/bizar-dash/src/web/views/settings/NotificationsSection.tsx +0 -34
  487. package/bizar-dash/src/web/views/settings/SystemLlmSection.tsx +0 -81
  488. package/bizar-dash/src/web/views/settings/ThemeSection.tsx +0 -168
  489. package/bizar-dash/src/web/views/settings/UpdatesSection.tsx +0 -256
  490. package/bizar-dash/src/web/views/settings/WorkspacesSection.tsx +0 -189
@@ -1,55 +0,0 @@
1
- /*
2
- * Inline.tsx — horizontal flex container with gap (Wave 2A).
3
- *
4
- * Mirror of Stack tuned for horizontal layouts: defaults to
5
- * flex-direction:row with wrap-on overflow (rows of chips / tags /
6
- * buttons). Switch direction to column by setting `direction='column'`.
7
- * All gap / align / justify modifiers share the same utility classes
8
- * as Stack so a single className namespace covers both.
9
- */
10
-
11
- import { createElement, type HTMLAttributes, type ReactNode } from 'react';
12
- import { cx } from '../utils/cx';
13
-
14
- export type InlineSpace = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
15
- export type InlineAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
16
- export type InlineJustify = 'start' | 'center' | 'end' | 'between' | 'around';
17
-
18
- export type InlineProps = Omit<HTMLAttributes<HTMLElement>, 'children'> & {
19
- direction?: 'row' | 'column';
20
- gap?: InlineSpace;
21
- align?: InlineAlign;
22
- justify?: InlineJustify;
23
- wrap?: boolean;
24
- as?: 'div' | 'span' | 'ul' | 'ol' | 'p';
25
- children?: ReactNode;
26
- };
27
-
28
- export function Inline({
29
- direction = 'row',
30
- gap = 3,
31
- align,
32
- justify,
33
- wrap = true,
34
- as = 'div',
35
- className,
36
- children,
37
- ...rest
38
- }: InlineProps): React.JSX.Element {
39
- return createElement(
40
- as,
41
- {
42
- ...rest,
43
- className: cx(
44
- 'inline',
45
- direction === 'column' && 'inline-col',
46
- `gap-${gap}`,
47
- align && `align-${align}`,
48
- justify && `justify-${justify}`,
49
- wrap ? 'wrap' : 'nowrap',
50
- className,
51
- ),
52
- },
53
- children,
54
- );
55
- }
@@ -1,46 +0,0 @@
1
- /*
2
- * Separator.tsx — visual divider (Wave 2A).
3
- *
4
- * Renders a true <hr> for the bare case (semantic + accessible) and a
5
- * div+role=separator with hairline ::before/::after rules when an
6
- * optional centered label is supplied. Vertical orientation produces
7
- * a 1px-left-bordered column-suitable rule (caller controls height via
8
- * parent flex). `label`, if provided, is the label shown between the
9
- * two hairline halves of a horizontal separator.
10
- */
11
-
12
- import type { ReactNode } from 'react';
13
- import { cx } from '../utils/cx';
14
-
15
- export type SeparatorProps = {
16
- orientation?: 'horizontal' | 'vertical';
17
- label?: ReactNode;
18
- className?: string;
19
- };
20
-
21
- export function Separator({
22
- orientation = 'horizontal',
23
- label,
24
- className,
25
- }: SeparatorProps): React.JSX.Element {
26
- if (label !== undefined) {
27
- return (
28
- <div
29
- role="separator"
30
- aria-orientation={orientation}
31
- className={cx('separator-with-label', className)}
32
- >
33
- <span className="separator-label">{label}</span>
34
- </div>
35
- );
36
- }
37
- return (
38
- <hr
39
- className={cx(
40
- 'separator',
41
- orientation === 'vertical' && 'separator-vertical',
42
- className,
43
- )}
44
- />
45
- );
46
- }
@@ -1,54 +0,0 @@
1
- /*
2
- * Stack.tsx — vertical flex container with gap (Wave 2A).
3
- *
4
- * Defaults to flex-direction:column with gap=3. Switch to row by setting
5
- * `direction='row'` (renders the same `stack-row` class). gap / align /
6
- * justify / wrap all map to single-purpose utility classes so the React
7
- * layer stays declarative and CSS holds the visual truth.
8
- */
9
-
10
- import { createElement, type HTMLAttributes, type ReactNode } from 'react';
11
- import { cx } from '../utils/cx';
12
-
13
- export type StackSpace = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
14
- export type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
15
- export type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around';
16
-
17
- export type StackProps = Omit<HTMLAttributes<HTMLElement>, 'children'> & {
18
- direction?: 'row' | 'column';
19
- gap?: StackSpace;
20
- align?: StackAlign;
21
- justify?: StackJustify;
22
- wrap?: boolean;
23
- as?: 'div' | 'section' | 'article' | 'main' | 'ul' | 'ol' | 'li';
24
- children?: ReactNode;
25
- };
26
-
27
- export function Stack({
28
- direction = 'column',
29
- gap = 3,
30
- align,
31
- justify,
32
- wrap,
33
- as = 'div',
34
- className,
35
- children,
36
- ...rest
37
- }: StackProps): React.JSX.Element {
38
- return createElement(
39
- as,
40
- {
41
- ...rest,
42
- className: cx(
43
- 'stack',
44
- direction === 'row' && 'stack-row',
45
- `gap-${gap}`,
46
- align && `align-${align}`,
47
- justify && `justify-${justify}`,
48
- wrap === true && 'wrap',
49
- className,
50
- ),
51
- },
52
- children,
53
- );
54
- }
@@ -1,26 +0,0 @@
1
- /*
2
- * VisuallyHidden.tsx — screen-reader-only span (Wave 2A).
3
- *
4
- * Renders content that is invisible to sighted users but still announced
5
- * by assistive tech. Use for: skip-link targets, descriptive labels on
6
- * icon-only buttons that already use aria-label redundantly, hidden form
7
- * instructions, and decorative text that still carries semantic meaning
8
- * (e.g. status changes announced without a visible toast).
9
- */
10
-
11
- import type { HTMLAttributes, ReactNode } from 'react';
12
-
13
- export type VisuallyHiddenProps = HTMLAttributes<HTMLSpanElement> & {
14
- children?: ReactNode;
15
- };
16
-
17
- export function VisuallyHidden({
18
- children,
19
- ...rest
20
- }: VisuallyHiddenProps): React.JSX.Element {
21
- return (
22
- <span className="vh" {...rest}>
23
- {children}
24
- </span>
25
- );
26
- }
@@ -1,23 +0,0 @@
1
- /*
2
- * index.ts — Barrel for the layout primitives (Wave 2A).
3
- *
4
- * Side-effect import of primitives.css ships the stylesheet to any
5
- * consumer that imports from this module graph. Wave 2's ui/index.ts
6
- * re-exports the exports below — leaving the CSS wiring in place means
7
- * styles arrive without an additional integration step.
8
- */
9
-
10
- import './primitives.css';
11
-
12
- export { Box } from './Box';
13
- export type { BoxProps, BoxAs, BoxBg, BoxBorder, BoxRounded, BoxShadow, BoxDisplay, BoxPosition, BoxSpace } from './Box';
14
- export { Stack } from './Stack';
15
- export type { StackProps, StackSpace, StackAlign, StackJustify } from './Stack';
16
- export { Inline } from './Inline';
17
- export type { InlineProps, InlineSpace, InlineAlign, InlineJustify } from './Inline';
18
- export { Grid } from './Grid';
19
- export type { GridProps, GridSpace } from './Grid';
20
- export { Separator } from './Separator';
21
- export type { SeparatorProps } from './Separator';
22
- export { VisuallyHidden } from './VisuallyHidden';
23
- export type { VisuallyHiddenProps } from './VisuallyHidden';
@@ -1,183 +0,0 @@
1
- /* primitives.css — Visual styles for layout primitives (Wave 2A). */
2
- .box { box-sizing: border-box; }
3
-
4
- /* padding all */
5
- .box-p-0 { padding: 0; } .box-p-1 { padding: var(--space-1); } .box-p-2 { padding: var(--space-2); }
6
- .box-p-3 { padding: var(--space-3); } .box-p-4 { padding: var(--space-4); } .box-p-5 { padding: var(--space-5); }
7
- .box-p-6 { padding: var(--space-6); } .box-p-7 { padding: var(--space-7); } .box-p-8 { padding: var(--space-8); }
8
- /* padding x/y */
9
- .box-px-0 { padding-left: 0; padding-right: 0; }
10
- .box-px-1 { padding-left: var(--space-1); padding-right: var(--space-1); }
11
- .box-px-2 { padding-left: var(--space-2); padding-right: var(--space-2); }
12
- .box-px-3 { padding-left: var(--space-3); padding-right: var(--space-3); }
13
- .box-px-4 { padding-left: var(--space-4); padding-right: var(--space-4); }
14
- .box-px-5 { padding-left: var(--space-5); padding-right: var(--space-5); }
15
- .box-px-6 { padding-left: var(--space-6); padding-right: var(--space-6); }
16
- .box-px-7 { padding-left: var(--space-7); padding-right: var(--space-7); }
17
- .box-px-8 { padding-left: var(--space-8); padding-right: var(--space-8); }
18
- .box-py-0 { padding-top: 0; padding-bottom: 0; }
19
- .box-py-1 { padding-top: var(--space-1); padding-bottom: var(--space-1); }
20
- .box-py-2 { padding-top: var(--space-2); padding-bottom: var(--space-2); }
21
- .box-py-3 { padding-top: var(--space-3); padding-bottom: var(--space-3); }
22
- .box-py-4 { padding-top: var(--space-4); padding-bottom: var(--space-4); }
23
- .box-py-5 { padding-top: var(--space-5); padding-bottom: var(--space-5); }
24
- .box-py-6 { padding-top: var(--space-6); padding-bottom: var(--space-6); }
25
- .box-py-7 { padding-top: var(--space-7); padding-bottom: var(--space-7); }
26
- .box-py-8 { padding-top: var(--space-8); padding-bottom: var(--space-8); }
27
-
28
- /* margin all */
29
- .box-m-0 { margin: 0; } .box-m-1 { margin: var(--space-1); } .box-m-2 { margin: var(--space-2); }
30
- .box-m-3 { margin: var(--space-3); } .box-m-4 { margin: var(--space-4); } .box-m-5 { margin: var(--space-5); }
31
- .box-m-6 { margin: var(--space-6); } .box-m-7 { margin: var(--space-7); } .box-m-8 { margin: var(--space-8); }
32
- .box-mx-0 { margin-left: 0; margin-right: 0; }
33
- .box-mx-1 { margin-left: var(--space-1); margin-right: var(--space-1); }
34
- .box-mx-2 { margin-left: var(--space-2); margin-right: var(--space-2); }
35
- .box-mx-3 { margin-left: var(--space-3); margin-right: var(--space-3); }
36
- .box-mx-4 { margin-left: var(--space-4); margin-right: var(--space-4); }
37
- .box-mx-5 { margin-left: var(--space-5); margin-right: var(--space-5); }
38
- .box-mx-6 { margin-left: var(--space-6); margin-right: var(--space-6); }
39
- .box-mx-7 { margin-left: var(--space-7); margin-right: var(--space-7); }
40
- .box-mx-8 { margin-left: var(--space-8); margin-right: var(--space-8); }
41
- .box-my-0 { margin-top: 0; margin-bottom: 0; }
42
- .box-my-1 { margin-top: var(--space-1); margin-bottom: var(--space-1); }
43
- .box-my-2 { margin-top: var(--space-2); margin-bottom: var(--space-2); }
44
- .box-my-3 { margin-top: var(--space-3); margin-bottom: var(--space-3); }
45
- .box-my-4 { margin-top: var(--space-4); margin-bottom: var(--space-4); }
46
- .box-my-5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
47
- .box-my-6 { margin-top: var(--space-6); margin-bottom: var(--space-6); }
48
- .box-my-7 { margin-top: var(--space-7); margin-bottom: var(--space-7); }
49
- .box-my-8 { margin-top: var(--space-8); margin-bottom: var(--space-8); }
50
-
51
- /* background surfaces */
52
- .box-bg-0 { background-color: var(--surface-0); }
53
- .box-bg-1 { background-color: var(--surface-1); }
54
- .box-bg-2 { background-color: var(--surface-2); }
55
- .box-bg-3 { background-color: var(--surface-3); }
56
- .box-bg-overlay { background-color: var(--surface-overlay); }
57
-
58
- /* borders */
59
- .box-border-none { border: 0; }
60
- .box-border-subtle { border: 1px solid var(--border-subtle); }
61
- .box-border-default { border: 1px solid var(--border-default); }
62
- .box-border-strong { border: 1px solid var(--border-strong); }
63
-
64
- /* radii */
65
- .box-rounded-none { border-radius: 0; }
66
- .box-rounded-sm { border-radius: var(--radius-sm); }
67
- .box-rounded-md { border-radius: var(--radius-md); }
68
- .box-rounded-lg { border-radius: var(--radius-lg); }
69
- .box-rounded-full { border-radius: var(--radius-full); }
70
-
71
- /* shadows */
72
- .box-shadow-none { box-shadow: none; }
73
- .box-shadow-hairline { box-shadow: var(--shadow-hairline); }
74
- .box-shadow-overlay { box-shadow: var(--shadow-overlay); }
75
- .box-shadow-tooltip { box-shadow: var(--shadow-tooltip); }
76
-
77
- /* display */
78
- .box-d-block { display: block; }
79
- .box-d-flex { display: flex; }
80
- .box-d-inline-flex { display: inline-flex; }
81
- .box-d-grid { display: grid; }
82
- .box-d-inline-block { display: inline-block; }
83
- .box-d-none { display: none; }
84
-
85
- /* position */
86
- .box-pos-static { position: static; }
87
- .box-pos-relative { position: relative; }
88
- .box-pos-absolute { position: absolute; }
89
- .box-pos-fixed { position: fixed; }
90
- .box-pos-sticky { position: sticky; }
91
-
92
- /* ===== Stack / Inline — flex containers with gap ===== */
93
- .stack,
94
- .inline {
95
- display: flex;
96
- box-sizing: border-box;
97
- }
98
- .stack { flex-direction: column; }
99
- .inline { flex-direction: row; flex-wrap: wrap; }
100
- .stack-row { flex-direction: row; }
101
- .inline-row { flex-direction: row; }
102
- .stack-col { flex-direction: column; }
103
- .inline-col { flex-direction: column; }
104
-
105
- /* gap 0..8 */
106
- .gap-0 { gap: 0; } .gap-1 { gap: var(--space-1); } .gap-2 { gap: var(--space-2); }
107
- .gap-3 { gap: var(--space-3); } .gap-4 { gap: var(--space-4); } .gap-5 { gap: var(--space-5); }
108
- .gap-6 { gap: var(--space-6); } .gap-7 { gap: var(--space-7); } .gap-8 { gap: var(--space-8); }
109
-
110
- /* alignment */
111
- .align-start { align-items: flex-start; }
112
- .align-center { align-items: center; }
113
- .align-end { align-items: flex-end; }
114
- .align-stretch { align-items: stretch; }
115
- .align-baseline { align-items: baseline; }
116
-
117
- .justify-start { justify-content: flex-start; }
118
- .justify-center { justify-content: center; }
119
- .justify-end { justify-content: flex-end; }
120
- .justify-between { justify-content: space-between; }
121
- .justify-around { justify-content: space-around; }
122
-
123
- .wrap { flex-wrap: wrap; }
124
- .nowrap { flex-wrap: nowrap; }
125
-
126
- /* ===== Grid ===== */
127
- .grid {
128
- display: grid;
129
- box-sizing: border-box;
130
- }
131
- .cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
132
- .cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
133
- .cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
134
- .cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
135
- .cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
136
- .cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
137
- .cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
138
- .grid-autofit { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
139
-
140
- /* ===== Separator ===== */
141
- .separator {
142
- border: 0;
143
- border-top: 1px solid var(--border-subtle);
144
- margin: var(--space-5) 0;
145
- }
146
- .separator-vertical {
147
- border: 0;
148
- border-left: 1px solid var(--border-subtle);
149
- margin: 0 var(--space-5);
150
- width: 1px;
151
- align-self: stretch;
152
- min-height: 100%;
153
- }
154
- .separator-with-label {
155
- display: flex;
156
- align-items: center;
157
- gap: var(--space-3);
158
- border: 0;
159
- margin: var(--space-5) 0;
160
- }
161
- .separator-with-label::before,
162
- .separator-with-label::after {
163
- content: "";
164
- flex: 1;
165
- border-top: 1px solid var(--border-subtle);
166
- }
167
- .separator-label {
168
- color: var(--text-tertiary);
169
- font-size: var(--text-sm);
170
- }
171
-
172
- /* ===== VisuallyHidden ===== */
173
- .vh {
174
- position: absolute;
175
- width: 1px;
176
- height: 1px;
177
- padding: 0;
178
- margin: -1px;
179
- overflow: hidden;
180
- clip: rect(0, 0, 0, 0);
181
- white-space: nowrap;
182
- border: 0;
183
- }
@@ -1,86 +0,0 @@
1
- /*
2
- * globals.css — Base element styles for the Bizar design system (Wave 1).
3
- *
4
- * Import order is load-bearing:
5
- * 1. tokens.css — defines every CSS custom property the reset + base
6
- * element styles below reference.
7
- * 2. reset.css — zeroes out UA defaults (box-sizing, margins, body bg).
8
- * This file is a third layer that re-establishes sane defaults for common
9
- * form / typography / horizontal-rule / link elements that the tight reset
10
- * intentionally left alone.
11
- */
12
-
13
- @import './tokens.css';
14
- @import './reset.css';
15
-
16
- button {
17
- cursor: pointer;
18
- font-family: inherit;
19
- color: inherit;
20
- background: transparent;
21
- border: 0;
22
- padding: 0;
23
- }
24
-
25
- input,
26
- select,
27
- textarea {
28
- font-family: var(--font-sans);
29
- font-size: var(--text-base);
30
- line-height: var(--leading-normal);
31
- color: var(--text-primary);
32
- background-color: var(--surface-1);
33
- border: 1px solid var(--border-default);
34
- border-radius: var(--radius-md);
35
- padding: var(--space-2) var(--space-3);
36
- transition: border-color var(--duration-fast) var(--ease-out),
37
- box-shadow var(--duration-fast) var(--ease-out);
38
- }
39
-
40
- input:focus,
41
- select:focus,
42
- textarea:focus {
43
- border-color: var(--border-focus);
44
- outline: none;
45
- box-shadow: 0 0 0 2px var(--accent-subtle);
46
- }
47
-
48
- input::placeholder,
49
- textarea::placeholder {
50
- color: var(--text-tertiary);
51
- }
52
-
53
- code,
54
- pre,
55
- kbd,
56
- samp {
57
- font-family: var(--font-mono);
58
- font-size: 0.9em;
59
- }
60
-
61
- pre {
62
- background-color: var(--surface-1);
63
- padding: var(--space-4);
64
- border-radius: var(--radius-md);
65
- overflow-x: auto;
66
- }
67
-
68
- hr {
69
- border: 0;
70
- border-top: 1px solid var(--border-subtle);
71
- margin: var(--space-5) 0;
72
- }
73
-
74
- a {
75
- color: inherit;
76
- text-decoration: none;
77
- }
78
-
79
- a:hover {
80
- text-decoration: underline;
81
- }
82
-
83
- ::selection {
84
- background-color: var(--accent);
85
- color: var(--accent-fg);
86
- }
@@ -1,125 +0,0 @@
1
- /*
2
- * reset.css — Modern, minimal CSS reset for the Bizar design system.
3
- *
4
- * Tighter than Andy Bell's "modern CSS reset": focused on what a
5
- * Supabase-style data-dense UI actually needs (tabular numbers on body,
6
- * hairline-bordered focus ring, themed thin scrollbar, no default margins
7
- * on prose elements). Imported by globals.css; do not import directly.
8
- */
9
-
10
- *,
11
- *::before,
12
- *::after {
13
- box-sizing: border-box;
14
- }
15
-
16
- * {
17
- margin: 0;
18
- }
19
-
20
- html,
21
- body,
22
- #root {
23
- height: 100%;
24
- }
25
-
26
- body {
27
- font-family: var(--font-sans);
28
- font-size: var(--text-base);
29
- line-height: var(--leading-normal);
30
- font-variant-numeric: tabular-nums;
31
- background-color: var(--surface-0);
32
- color: var(--text-primary);
33
- -webkit-font-smoothing: antialiased;
34
- -moz-osx-font-smoothing: grayscale;
35
- text-rendering: optimizeLegibility;
36
- }
37
-
38
- img,
39
- picture,
40
- video,
41
- canvas,
42
- svg {
43
- display: block;
44
- max-width: 100%;
45
- }
46
-
47
- input,
48
- button,
49
- textarea,
50
- select {
51
- font: inherit;
52
- color: inherit;
53
- line-height: inherit;
54
- }
55
-
56
- button {
57
- background: none;
58
- border: 0;
59
- padding: 0;
60
- cursor: pointer;
61
- }
62
-
63
- p,
64
- h1,
65
- h2,
66
- h3,
67
- h4,
68
- h5,
69
- h6,
70
- figure,
71
- blockquote,
72
- dl,
73
- dd {
74
- margin: 0;
75
- }
76
-
77
- ul[role='list'],
78
- ol[role='list'] {
79
- list-style: none;
80
- padding: 0;
81
- }
82
-
83
- a {
84
- color: inherit;
85
- text-decoration: none;
86
- }
87
-
88
- :focus {
89
- outline: none;
90
- }
91
-
92
- :focus-visible {
93
- outline: 2px solid var(--border-focus);
94
- outline-offset: 2px;
95
- border-radius: var(--radius-sm);
96
- }
97
-
98
- ::selection {
99
- background-color: var(--accent);
100
- color: var(--accent-fg);
101
- }
102
-
103
- /* Themed, thin scrollbar — only WebKit/Blink; Firefox falls back to thin. */
104
- * {
105
- scrollbar-width: thin;
106
- scrollbar-color: var(--border-strong) transparent;
107
- }
108
-
109
- *::-webkit-scrollbar {
110
- width: 8px;
111
- height: 8px;
112
- }
113
-
114
- *::-webkit-scrollbar-track {
115
- background: transparent;
116
- }
117
-
118
- *::-webkit-scrollbar-thumb {
119
- background: var(--border-default);
120
- border-radius: var(--radius-full);
121
- }
122
-
123
- *::-webkit-scrollbar-thumb:hover {
124
- background: var(--border-strong);
125
- }