@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,314 +0,0 @@
1
- /*
2
- * feedback.css — Styles for Bizar feedback components (Wave 2C).
3
- *
4
- * Ships the visual surface for Toast, Dialog, Tooltip, Badge, StatusDot,
5
- * and ProgressBar. Every value references a token — no literals. Side-
6
- * effect import from `ui/feedback/index.ts`. Class names are scoped
7
- * under `.bizar-` so the new feedback components never collide with
8
- * legacy `.toast` / `.modal` / `.spinner` rules in main.css.
9
- */
10
-
11
- /* ─────────────────────────────────────────────────────────────────────
12
- * Toast
13
- * ──────────────────────────────────────────────────────────────────── */
14
-
15
- .bizar-toast-viewport {
16
- position: fixed;
17
- right: var(--space-5);
18
- bottom: var(--space-5);
19
- z-index: var(--z-toast);
20
- display: flex;
21
- flex-direction: column-reverse;
22
- gap: var(--space-2);
23
- max-width: min(360px, calc(100vw - 32px));
24
- pointer-events: none;
25
- }
26
-
27
- .bizar-toast {
28
- display: grid;
29
- grid-template-columns: auto 1fr auto;
30
- align-items: center;
31
- gap: var(--space-3);
32
- padding: var(--space-3) var(--space-4);
33
- border: 1px solid var(--border-default);
34
- border-radius: var(--radius-md);
35
- background: var(--surface-0);
36
- color: var(--text-primary);
37
- font-size: var(--text-base);
38
- box-shadow: var(--shadow-overlay);
39
- pointer-events: auto;
40
- animation: bizar-toast-in var(--duration-normal) var(--ease-out);
41
- }
42
-
43
- @keyframes bizar-toast-in {
44
- from { opacity: 0; transform: translateY(4px); }
45
- to { opacity: 1; transform: translateY(0); }
46
- }
47
-
48
- .bizar-toast--info { border-left: 3px solid var(--info); }
49
- .bizar-toast--success { border-left: 3px solid var(--success); }
50
- .bizar-toast--warning { border-left: 3px solid var(--warning); }
51
- .bizar-toast--error { border-left: 3px solid var(--danger); }
52
-
53
- .bizar-toast__icon {
54
- display: inline-flex;
55
- align-items: center;
56
- justify-content: center;
57
- width: 18px;
58
- height: 18px;
59
- flex-shrink: 0;
60
- }
61
-
62
- .bizar-toast--info .bizar-toast__icon { color: var(--info); }
63
- .bizar-toast--success .bizar-toast__icon { color: var(--success); }
64
- .bizar-toast--warning .bizar-toast__icon { color: var(--warning); }
65
- .bizar-toast--error .bizar-toast__icon { color: var(--danger); }
66
-
67
- .bizar-toast__message {
68
- line-height: var(--leading-snug);
69
- word-break: break-word;
70
- }
71
-
72
- .bizar-toast__close {
73
- display: inline-flex;
74
- align-items: center;
75
- justify-content: center;
76
- width: 22px;
77
- height: 22px;
78
- border: 0;
79
- background: transparent;
80
- color: var(--text-tertiary);
81
- border-radius: var(--radius-sm);
82
- cursor: pointer;
83
- }
84
-
85
- .bizar-toast__close:hover {
86
- background: var(--surface-overlay);
87
- color: var(--text-primary);
88
- }
89
-
90
- /* ─────────────────────────────────────────────────────────────────────
91
- * Dialog
92
- * ──────────────────────────────────────────────────────────────────── */
93
-
94
- .bizar-dialog-backdrop {
95
- position: fixed;
96
- inset: 0;
97
- background: rgba(0, 0, 0, 0.4);
98
- backdrop-filter: blur(2px);
99
- z-index: var(--z-modal);
100
- display: flex;
101
- align-items: center;
102
- justify-content: center;
103
- padding: var(--space-5);
104
- }
105
-
106
- .bizar-dialog {
107
- background: var(--surface-0);
108
- color: var(--text-primary);
109
- border: 1px solid var(--border-default);
110
- border-radius: var(--radius-md);
111
- box-shadow: var(--shadow-overlay);
112
- width: 100%;
113
- max-width: 480px;
114
- max-height: calc(100vh - 64px);
115
- display: flex;
116
- flex-direction: column;
117
- outline: 0;
118
- animation: bizar-dialog-in var(--duration-normal) var(--ease-out);
119
- }
120
-
121
- @keyframes bizar-dialog-in {
122
- from { opacity: 0; transform: translateY(8px) scale(0.98); }
123
- to { opacity: 1; transform: translateY(0) scale(1); }
124
- }
125
-
126
- .bizar-dialog__header {
127
- padding: var(--space-5) var(--space-6) var(--space-3);
128
- display: flex;
129
- align-items: flex-start;
130
- gap: var(--space-4);
131
- }
132
-
133
- .bizar-dialog__title {
134
- margin: 0;
135
- font-size: var(--text-lg);
136
- font-weight: var(--weight-semibold);
137
- line-height: var(--leading-tight);
138
- }
139
-
140
- .bizar-dialog__description {
141
- margin: var(--space-1) 0 0;
142
- color: var(--text-secondary);
143
- font-size: var(--text-base);
144
- line-height: var(--leading-snug);
145
- }
146
-
147
- .bizar-dialog__close {
148
- margin-left: auto;
149
- display: inline-flex;
150
- align-items: center;
151
- justify-content: center;
152
- width: 28px;
153
- height: 28px;
154
- border: 0;
155
- background: transparent;
156
- color: var(--text-secondary);
157
- border-radius: var(--radius-md);
158
- cursor: pointer;
159
- }
160
-
161
- .bizar-dialog__close:hover {
162
- background: var(--surface-overlay);
163
- color: var(--text-primary);
164
- }
165
-
166
- .bizar-dialog__body {
167
- padding: var(--space-3) var(--space-6) var(--space-5);
168
- overflow: auto;
169
- }
170
-
171
- .bizar-dialog__actions {
172
- display: flex;
173
- align-items: center;
174
- justify-content: flex-end;
175
- gap: var(--space-2);
176
- padding: var(--space-4) var(--space-6);
177
- border-top: 1px solid var(--border-subtle);
178
- }
179
-
180
- /* ─────────────────────────────────────────────────────────────────────
181
- * Tooltip
182
- * ──────────────────────────────────────────────────────────────────── */
183
-
184
- .bizar-tooltip {
185
- position: relative;
186
- display: inline-flex;
187
- }
188
-
189
- .bizar-tooltip__popup {
190
- position: absolute;
191
- z-index: var(--z-tooltip);
192
- padding: var(--space-2) var(--space-3);
193
- background: var(--surface-3);
194
- color: var(--text-primary);
195
- font-size: var(--text-sm);
196
- line-height: var(--leading-snug);
197
- border: 1px solid var(--border-default);
198
- border-radius: var(--radius-md);
199
- box-shadow: var(--shadow-tooltip);
200
- white-space: nowrap;
201
- pointer-events: none;
202
- animation: bizar-tooltip-in var(--duration-fast) var(--ease-out);
203
- }
204
-
205
- @keyframes bizar-tooltip-in {
206
- from { opacity: 0; }
207
- to { opacity: 1; }
208
- }
209
-
210
- .bizar-tooltip__popup--top { bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); }
211
- .bizar-tooltip__popup--right { left: calc(100% + 6px); top: 50%; transform: translateY(-50%); }
212
- .bizar-tooltip__popup--bottom { top: calc(100% + 6px); left: 50%; transform: translateX(-50%); }
213
- .bizar-tooltip__popup--left { right: calc(100% + 6px); top: 50%; transform: translateY(-50%); }
214
-
215
- /* ─────────────────────────────────────────────────────────────────────
216
- * Badge
217
- * ──────────────────────────────────────────────────────────────────── */
218
-
219
- .bizar-badge {
220
- display: inline-flex;
221
- align-items: center;
222
- gap: var(--space-2);
223
- padding: 2px 6px;
224
- border-radius: var(--radius-full);
225
- font-size: var(--text-xs);
226
- font-weight: var(--weight-medium);
227
- line-height: var(--leading-tight);
228
- background: var(--surface-overlay);
229
- color: var(--text-secondary);
230
- white-space: nowrap;
231
- }
232
-
233
- .bizar-badge--sm { padding: 1px 5px; font-size: 10px; }
234
- .bizar-badge--md { padding: 2px 6px; }
235
-
236
- .bizar-badge--info { background: var(--info-subtle); color: var(--info); }
237
- .bizar-badge--success { background: var(--success-subtle); color: var(--success); }
238
- .bizar-badge--warning { background: var(--warning-subtle); color: var(--warning); }
239
- .bizar-badge--danger { background: var(--danger-subtle); color: var(--danger); }
240
- .bizar-badge--accent { background: var(--accent-subtle); color: var(--accent); }
241
-
242
- /* ─────────────────────────────────────────────────────────────────────
243
- * StatusDot
244
- * ──────────────────────────────────────────────────────────────────── */
245
-
246
- .bizar-status-dot {
247
- display: inline-block;
248
- border-radius: var(--radius-full);
249
- background: var(--text-tertiary);
250
- flex-shrink: 0;
251
- }
252
-
253
- .bizar-status-dot--sm { width: 6px; height: 6px; }
254
- .bizar-status-dot--md { width: 8px; height: 8px; }
255
-
256
- .bizar-status-dot--info { background: var(--info); }
257
- .bizar-status-dot--success { background: var(--success); }
258
- .bizar-status-dot--warning { background: var(--warning); }
259
- .bizar-status-dot--danger { background: var(--danger); }
260
-
261
- @keyframes bizar-status-dot-pulse {
262
- 0%, 100% { opacity: 1; }
263
- 50% { opacity: 0.35; }
264
- }
265
-
266
- .bizar-status-dot--pulse {
267
- animation: bizar-status-dot-pulse 2s var(--ease-in-out) infinite;
268
- }
269
-
270
- /* ─────────────────────────────────────────────────────────────────────
271
- * ProgressBar
272
- * ──────────────────────────────────────────────────────────────────── */
273
-
274
- .bizar-progress {
275
- width: 100%;
276
- background: var(--surface-2);
277
- border-radius: var(--radius-full);
278
- overflow: hidden;
279
- display: block;
280
- position: relative;
281
- }
282
-
283
- .bizar-progress--sm { height: 4px; }
284
- .bizar-progress--md { height: 6px; }
285
- .bizar-progress--lg { height: 10px; }
286
-
287
- .bizar-progress__fill {
288
- height: 100%;
289
- background: var(--accent);
290
- border-radius: var(--radius-full);
291
- transition: width var(--duration-normal) var(--ease-out);
292
- }
293
-
294
- .bizar-progress__fill--accent { background: var(--accent); }
295
- .bizar-progress__fill--neutral { background: var(--text-tertiary); }
296
- .bizar-progress__fill--success { background: var(--success); }
297
- .bizar-progress__fill--danger { background: var(--danger); }
298
-
299
- @keyframes bizar-progress-indeterminate {
300
- 0% { transform: translateX(-100%); }
301
- 100% { transform: translateX(400%); }
302
- }
303
-
304
- .bizar-progress--indeterminate .bizar-progress__fill {
305
- width: 25%;
306
- animation: bizar-progress-indeterminate 1.4s linear infinite;
307
- }
308
-
309
- .bizar-progress__label {
310
- display: block;
311
- margin-bottom: var(--space-2);
312
- font-size: var(--text-sm);
313
- color: var(--text-secondary);
314
- }
@@ -1,43 +0,0 @@
1
- /*
2
- * feedback/index.ts — Barrel export for the Bizar feedback components (Wave 2C).
3
- *
4
- * Side-effect imports ship `feedback.css` alongside the JS so consumers
5
- * only need `import { ToastProvider, useToast } from '../ui/feedback'`
6
- * to mount the visual surface. Exports are deliberately focused — no
7
- * re-export of legacy components, no prefix collisions.
8
- */
9
-
10
- import './feedback.css';
11
-
12
- export {
13
- ToastProvider,
14
- useToast,
15
- type ToastProviderProps,
16
- type ToastApi,
17
- type ToastItem,
18
- type ToastKind,
19
- } from './Toast';
20
- export { Dialog, type DialogProps } from './Dialog';
21
- export {
22
- Tooltip,
23
- type TooltipProps,
24
- type TooltipSide,
25
- } from './Tooltip';
26
- export {
27
- Badge,
28
- type BadgeProps,
29
- type BadgeVariant,
30
- type BadgeSize,
31
- } from './Badge';
32
- export {
33
- StatusDot,
34
- type StatusDotProps,
35
- type StatusDotVariant,
36
- type StatusDotSize,
37
- } from './StatusDot';
38
- export {
39
- ProgressBar,
40
- type ProgressBarProps,
41
- type ProgressVariant,
42
- type ProgressSize,
43
- } from './ProgressBar';
@@ -1,56 +0,0 @@
1
- /*
2
- * index.ts — Barrel export for the Bizar design system.
3
- *
4
- * One stop for every primitive, control, data, layout, navigation, and
5
- * feedback component. Side-effect CSS imports ship every stylesheet
6
- * (reset + tokens + globals) to any consumer that imports from this
7
- * module graph. The legacy main.css also imports globals.css directly
8
- * so non-TS code paths still get the tokens via the CSS pipeline alone.
9
- *
10
- * Naming collision: `layout/Sidebar` re-exports its own `NavLinkProps`
11
- * (self-contained Sidebar.tsx, doesn't depend on navigation/NavLink to
12
- * avoid a parallel-Wave 2 dependency cycle). We intentionally drop
13
- * layout's `NavLinkProps` here and re-export `navigation/NavLink`'s
14
- * canonical `NavLinkProps` instead — the two have identical shape but
15
- * the navigation one is the public API.
16
- */
17
-
18
- // foundation styles (side-effect)
19
- import './styles/reset.css';
20
- import './styles/tokens.css';
21
- import './styles/globals.css';
22
-
23
- // theme
24
- export { ThemeProvider, type Theme } from './theme/ThemeProvider';
25
- export type { ThemeContextValue } from './theme/ThemeProvider';
26
- export { useTheme } from './theme/useTheme';
27
- export * as tokens from './theme/tokens';
28
-
29
- // utils
30
- export { cx, type ClassValue } from './utils/cx';
31
-
32
- // primitives
33
- export * from './primitives';
34
-
35
- // controls
36
- export * from './controls';
37
-
38
- // data
39
- export * from './data';
40
-
41
- // navigation (must come before layout — its NavLinkProps is canonical)
42
- export * from './navigation';
43
-
44
- // layout (selective: drop layout's shadow NavLinkProps in favour of navigation's)
45
- export {
46
- AppShell, type AppShellProps,
47
- Sidebar, type SidebarProps, type SidebarGroup, type NavItemIcon,
48
- Topbar, type TopbarProps,
49
- Panel, type PanelProps, type PanelPadding, type PanelVariant,
50
- PanelHeader, type PanelHeaderProps,
51
- Tabs, type TabsProps, type TabDef,
52
- Breadcrumbs, type BreadcrumbsProps, type BreadcrumbItem,
53
- } from './layout';
54
-
55
- // feedback
56
- export * from './feedback';
@@ -1,51 +0,0 @@
1
- /*
2
- * AppShell.tsx — Outer shell layout for the Bizar design system (Wave 2C).
3
- *
4
- * Composes a sticky topbar above a sidebar + main content area using a CSS
5
- * grid. Tokens `--layout-sidebar-width` and `--layout-topbar-height` drive
6
- * the dimensions so theming/sizing changes flow through CSS only. Pass
7
- * `sidebarCollapsed=true` to collapse the rail (animated width-zero via the
8
- * `--collapsed` modifier). This component is additive — it does not replace
9
- * the existing App.tsx shell; old layouts continue to render unchanged.
10
- */
11
-
12
- import type { ReactNode } from 'react';
13
- import { cx } from '../utils/cx';
14
-
15
- export type AppShellProps = {
16
- topbar?: ReactNode;
17
- sidebar?: ReactNode;
18
- children?: ReactNode;
19
- /** When true the sidebar collapses to a 0px rail. Default false. */
20
- sidebarCollapsed?: boolean;
21
- /** Optional className on the outermost grid. */
22
- className?: string;
23
- };
24
-
25
- export function AppShell({
26
- topbar,
27
- sidebar,
28
- children,
29
- sidebarCollapsed = false,
30
- className,
31
- }: AppShellProps): React.JSX.Element {
32
- return (
33
- <div className={cx('bizar-app-shell', className)}>
34
- {topbar && (
35
- <div className="bizar-app-shell__topbar">{topbar}</div>
36
- )}
37
- {sidebar && !sidebarCollapsed && (
38
- <aside className="bizar-app-shell__sidebar">{sidebar}</aside>
39
- )}
40
- {sidebar && sidebarCollapsed && (
41
- <aside
42
- className="bizar-app-shell__sidebar bizar-app-shell__sidebar--collapsed"
43
- aria-hidden="true"
44
- />
45
- )}
46
- <main className="bizar-app-shell__main">
47
- <div className="bizar-app-shell__main-inner">{children}</div>
48
- </main>
49
- </div>
50
- );
51
- }
@@ -1,97 +0,0 @@
1
- /*
2
- * Breadcrumbs.tsx — Breadcrumb trail for the Bizar design system (Wave 2C).
3
- *
4
- * Renders a horizontal chain of clickable crumbs separated by a chevron.
5
- * Default separator is the lucide `ChevronRight` icon (15px, muted), but
6
- * callers can replace it with any ReactNode — including a custom glyph,
7
- * "/", or "›". The final crumb is rendered in `--text-primary` with
8
- * medium weight and is not interactive: it represents the current page.
9
- * Items with `href` render as <a>; items with only `onClick` render as
10
- * <button>; the current item renders as a non-interactive <span>.
11
- */
12
-
13
- import type { ReactNode } from 'react';
14
- import { ChevronRight } from 'lucide-react';
15
- import { cx } from '../utils/cx';
16
-
17
- export type BreadcrumbItem = {
18
- label: string;
19
- href?: string;
20
- onClick?: () => void;
21
- };
22
-
23
- export type BreadcrumbsProps = {
24
- items: BreadcrumbItem[];
25
- separator?: ReactNode;
26
- className?: string;
27
- };
28
-
29
- export function Breadcrumbs({
30
- items,
31
- separator,
32
- className,
33
- }: BreadcrumbsProps): React.JSX.Element {
34
- return (
35
- <nav className={cx('bizar-breadcrumbs', className)} aria-label="Breadcrumb">
36
- <ol
37
- style={{
38
- display: 'contents',
39
- listStyle: 'none',
40
- margin: 0,
41
- padding: 0,
42
- }}
43
- >
44
- {items.map((item, idx) => {
45
- const isCurrent = idx === items.length - 1;
46
- const sep =
47
- idx < items.length - 1 ? (
48
- <span className="bizar-breadcrumbs__separator" aria-hidden="true">
49
- {separator ?? <ChevronRight size={15} />}
50
- </span>
51
- ) : null;
52
-
53
- if (isCurrent) {
54
- return (
55
- <li
56
- key={idx}
57
- aria-current="page"
58
- className="bizar-breadcrumbs__item bizar-breadcrumbs__item--current"
59
- >
60
- {item.label}
61
- {sep}
62
- </li>
63
- );
64
- }
65
-
66
- if (item.href) {
67
- return (
68
- <li key={idx}>
69
- <a
70
- href={item.href}
71
- className="bizar-breadcrumbs__item"
72
- onClick={() => item.onClick?.()}
73
- >
74
- {item.label}
75
- </a>
76
- {sep}
77
- </li>
78
- );
79
- }
80
-
81
- return (
82
- <li key={idx}>
83
- <button
84
- type="button"
85
- className="bizar-breadcrumbs__item"
86
- onClick={() => item.onClick?.()}
87
- >
88
- {item.label}
89
- </button>
90
- {sep}
91
- </li>
92
- );
93
- })}
94
- </ol>
95
- </nav>
96
- );
97
- }
@@ -1,73 +0,0 @@
1
- /*
2
- * Panel.tsx — Bordered card surface for the Bizar design system (Wave 2C).
3
- *
4
- * The workhorse container for grouped content. Renders an optional
5
- * header (title + description + actions) with a hairline separator from
6
- * the body, then any children inside a padded region. Two surface tones
7
- * — `outlined` (default, surface-1) and `filled` (surface-2 + stronger
8
- * border) — handle the two densities found across the dashboard. Padding
9
- * accepts a 0..5 scale that maps to the `--space-N` tokens (default 4).
10
- *
11
- * The header is only rendered when at least one of `title`, `description`,
12
- * `actions` is set, so an empty Panel renders just the body.
13
- */
14
-
15
- import type { ReactNode } from 'react';
16
- import { cx } from '../utils/cx';
17
-
18
- export type PanelPadding = 0 | 1 | 2 | 3 | 4 | 5;
19
- export type PanelVariant = 'outlined' | 'filled';
20
-
21
- export type PanelProps = {
22
- title?: ReactNode;
23
- description?: ReactNode;
24
- actions?: ReactNode;
25
- children?: ReactNode;
26
- padding?: PanelPadding;
27
- variant?: PanelVariant;
28
- className?: string;
29
- };
30
-
31
- export function Panel({
32
- title,
33
- description,
34
- actions,
35
- children,
36
- padding = 4,
37
- variant = 'outlined',
38
- className,
39
- }: PanelProps): React.JSX.Element {
40
- const hasHeader =
41
- title !== undefined || description !== undefined || actions !== undefined;
42
- return (
43
- <section
44
- className={cx(
45
- 'bizar-panel',
46
- variant === 'filled' && 'bizar-panel--filled',
47
- className,
48
- )}
49
- >
50
- {hasHeader && (
51
- <div className="bizar-panel__header">
52
- {(title || description) && (
53
- <div className="bizar-panel__header-text">
54
- {title && <h3 className="bizar-panel__title">{title}</h3>}
55
- {description && (
56
- <p className="bizar-panel__description">{description}</p>
57
- )}
58
- </div>
59
- )}
60
- {actions && <div className="bizar-panel__actions">{actions}</div>}
61
- </div>
62
- )}
63
- <div
64
- className={cx(
65
- 'bizar-panel__body',
66
- `bizar-panel__padding--${padding}`,
67
- )}
68
- >
69
- {children}
70
- </div>
71
- </section>
72
- );
73
- }
@@ -1,39 +0,0 @@
1
- /*
2
- * PanelHeader.tsx — Standalone header block for use inside a Panel (Wave 2C).
3
- *
4
- * Splits a header into three regions (text on the left, actions on the
5
- * right, optional custom children prepended above all). The bottom border
6
- * that separates header from body is owned by Panel; this component only
7
- * renders the inner layout. Use `<Panel>` for the standard header shape
8
- * — drop down to `<PanelHeader>` only when you need a non-trivial header
9
- * (e.g. tab strip + filter chips stacked above the title).
10
- */
11
-
12
- import type { ReactNode } from 'react';
13
-
14
- export type PanelHeaderProps = {
15
- title?: ReactNode;
16
- description?: ReactNode;
17
- actions?: ReactNode;
18
- children?: ReactNode;
19
- };
20
-
21
- export function PanelHeader({
22
- title,
23
- description,
24
- actions,
25
- children,
26
- }: PanelHeaderProps): React.JSX.Element {
27
- return (
28
- <div className="bizar-panel__header">
29
- <div className="bizar-panel__header-text">
30
- {children}
31
- {title && <h3 className="bizar-panel__title">{title}</h3>}
32
- {description && (
33
- <p className="bizar-panel__description">{description}</p>
34
- )}
35
- </div>
36
- {actions && <div className="bizar-panel__actions">{actions}</div>}
37
- </div>
38
- );
39
- }