@plannotator/ui 0.22.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 (305) hide show
  1. package/README.md +60 -0
  2. package/assets/diff-options.png +0 -0
  3. package/assets/icon-codex.png +0 -0
  4. package/assets/look-flat.png +0 -0
  5. package/assets/look-grid.png +0 -0
  6. package/assets/review-sections.png +0 -0
  7. package/assets/review-tree.png +0 -0
  8. package/assets/workspaces.webp +0 -0
  9. package/components/AISettingsTab.tsx +145 -0
  10. package/components/ActionMenu.tsx +101 -0
  11. package/components/AgentControls.tsx +216 -0
  12. package/components/AgentsTab.tsx +1294 -0
  13. package/components/AnnotationPanel.tsx +731 -0
  14. package/components/AnnotationSidebar.tsx +86 -0
  15. package/components/AnnotationToolbar.tsx +323 -0
  16. package/components/AnnotationToolstrip.tsx +355 -0
  17. package/components/ApproveDropdown.tsx +170 -0
  18. package/components/AttachmentsButton.tsx +410 -0
  19. package/components/BlockRenderer.tsx +163 -0
  20. package/components/BorderTrail.tsx +38 -0
  21. package/components/CodeFilePicker.tsx +64 -0
  22. package/components/CodeFilePopout.tsx +602 -0
  23. package/components/CodePathValidationContext.tsx +14 -0
  24. package/components/CommentPopover.tsx +512 -0
  25. package/components/CompletionOverlay.tsx +99 -0
  26. package/components/ConfirmDialog.tsx +128 -0
  27. package/components/DocBadges.tsx +231 -0
  28. package/components/EditorAnnotationCard.tsx +65 -0
  29. package/components/ExportModal.tsx +565 -0
  30. package/components/FloatingQuickLabelPicker.tsx +144 -0
  31. package/components/GitHubIcon.tsx +16 -0
  32. package/components/GitLabIcon.tsx +30 -0
  33. package/components/GraphvizBlock.tsx +511 -0
  34. package/components/ImageAnnotator/Canvas.tsx +118 -0
  35. package/components/ImageAnnotator/Toolbar.tsx +218 -0
  36. package/components/ImageAnnotator/index.tsx +272 -0
  37. package/components/ImageAnnotator/types.ts +39 -0
  38. package/components/ImageAnnotator/utils.ts +147 -0
  39. package/components/ImageThumbnail.tsx +126 -0
  40. package/components/ImportModal.tsx +146 -0
  41. package/components/InlineMarkdown.tsx +1094 -0
  42. package/components/KeyboardShortcuts.tsx +208 -0
  43. package/components/Landing.tsx +496 -0
  44. package/components/ListItemBody.tsx +62 -0
  45. package/components/ListMarker.tsx +73 -0
  46. package/components/LookAndFeelAnnouncementDialog.tsx +230 -0
  47. package/components/MarkdownEditor.tsx +44 -0
  48. package/components/MenuVersionSection.tsx +91 -0
  49. package/components/MermaidBlock.tsx +579 -0
  50. package/components/ModeToggle.tsx +68 -0
  51. package/components/OpenInAppButton.tsx +299 -0
  52. package/components/OverlayScrollArea.tsx +82 -0
  53. package/components/PermissionModeSetup.tsx +92 -0
  54. package/components/PinpointOverlay.tsx +99 -0
  55. package/components/PlanAIAnnouncementDialog.tsx +187 -0
  56. package/components/PlanHeaderMenu.tsx +299 -0
  57. package/components/PopoutDialog.tsx +91 -0
  58. package/components/Popover.tsx +27 -0
  59. package/components/ProviderIcons.tsx +51 -0
  60. package/components/PullRequestIcon.tsx +12 -0
  61. package/components/QuickLabelDropdown.tsx +63 -0
  62. package/components/RenderedMarkdown.tsx +54 -0
  63. package/components/RepoIcon.tsx +12 -0
  64. package/components/ResizeHandle.tsx +86 -0
  65. package/components/ReviewAgentsIcon.tsx +18 -0
  66. package/components/SearchableSelect.tsx +157 -0
  67. package/components/Settings.tsx +2220 -0
  68. package/components/SparklesIcon.tsx +45 -0
  69. package/components/StickyHeaderLane.tsx +260 -0
  70. package/components/TableOfContents.tsx +157 -0
  71. package/components/TaterSpritePullup.tsx +34 -0
  72. package/components/TaterSpriteRunning.tsx +54 -0
  73. package/components/TaterSpriteSitting.tsx +37 -0
  74. package/components/TextShimmer.tsx +57 -0
  75. package/components/ThemeProvider.tsx +162 -0
  76. package/components/ThemeTab.tsx +139 -0
  77. package/components/ToolbarButtons.tsx +116 -0
  78. package/components/Tooltip.tsx +45 -0
  79. package/components/Viewer.tsx +977 -0
  80. package/components/ai/AIProviderBar.tsx +95 -0
  81. package/components/ai/DocumentAIChatPanel.tsx +313 -0
  82. package/components/blocks/AlertBlock.tsx +58 -0
  83. package/components/blocks/Callout.tsx +60 -0
  84. package/components/blocks/CodeBlock.tsx +75 -0
  85. package/components/blocks/HtmlBlock.tsx +122 -0
  86. package/components/blocks/MathBlock.tsx +36 -0
  87. package/components/blocks/TableBlock.tsx +146 -0
  88. package/components/blocks/TablePopout.tsx +279 -0
  89. package/components/blocks/TableToolbar.tsx +153 -0
  90. package/components/blocks/proseBody.tsx +102 -0
  91. package/components/core/button.tsx +44 -0
  92. package/components/core/textarea.tsx +26 -0
  93. package/components/diagramLanguages.ts +14 -0
  94. package/components/goal-setup/GoalSetupSurface.tsx +1354 -0
  95. package/components/html-viewer/HtmlViewer.tsx +386 -0
  96. package/components/html-viewer/bridge-script.ts +505 -0
  97. package/components/html-viewer/index.ts +1 -0
  98. package/components/html-viewer/useHtmlAnnotation.ts +400 -0
  99. package/components/icons/AgentIcons.tsx +66 -0
  100. package/components/icons/AppIcon.tsx +56 -0
  101. package/components/icons/MessagesIcon.tsx +11 -0
  102. package/components/icons/ObsidianIcons.tsx +208 -0
  103. package/components/icons/app/android-studio.svg +369 -0
  104. package/components/icons/app/antigravity.svg +97 -0
  105. package/components/icons/app/cursor.svg +16 -0
  106. package/components/icons/app/file-explorer.svg +20 -0
  107. package/components/icons/app/finder.png +0 -0
  108. package/components/icons/app/ghostty.svg +13 -0
  109. package/components/icons/app/iterm2.svg +13 -0
  110. package/components/icons/app/powershell.svg +14 -0
  111. package/components/icons/app/sublime-text.svg +17 -0
  112. package/components/icons/app/terminal.png +0 -0
  113. package/components/icons/app/textmate.png +0 -0
  114. package/components/icons/app/vscode.svg +39 -0
  115. package/components/icons/app/warp.png +0 -0
  116. package/components/icons/app/xcode.png +0 -0
  117. package/components/icons/app/zed-dark.svg +15 -0
  118. package/components/icons/app/zed.svg +15 -0
  119. package/components/icons/themeIcons.tsx +47 -0
  120. package/components/mermaidSvg.ts +33 -0
  121. package/components/plan-diff/PlanCleanDiffView.tsx +884 -0
  122. package/components/plan-diff/PlanDiffBadge.tsx +48 -0
  123. package/components/plan-diff/PlanDiffModeSwitcher.tsx +103 -0
  124. package/components/plan-diff/PlanDiffViewer.tsx +214 -0
  125. package/components/plan-diff/PlanRawDiffView.tsx +102 -0
  126. package/components/plan-diff/VSCodeIcon.tsx +132 -0
  127. package/components/settings/HooksTab.tsx +208 -0
  128. package/components/sidebar/ArchiveBrowser.tsx +98 -0
  129. package/components/sidebar/CountBadge.tsx +12 -0
  130. package/components/sidebar/FileBrowser.tsx +498 -0
  131. package/components/sidebar/MessagesBrowser.tsx +109 -0
  132. package/components/sidebar/SidebarContainer.tsx +353 -0
  133. package/components/sidebar/SidebarTabs.tsx +155 -0
  134. package/components/sidebar/VersionBrowser.tsx +141 -0
  135. package/components/types.d.ts +7 -0
  136. package/components/ui/badge.tsx +44 -0
  137. package/components/ui/button.tsx +83 -0
  138. package/components/ui/card.tsx +58 -0
  139. package/components/ui/dialog.tsx +106 -0
  140. package/components/ui/dropdown-menu.tsx +240 -0
  141. package/components/ui/state-pill.tsx +45 -0
  142. package/components/ui/tabs.tsx +46 -0
  143. package/components/ui/textarea.tsx +25 -0
  144. package/config/configStore.ts +214 -0
  145. package/config/index.ts +4 -0
  146. package/config/reviewView.ts +42 -0
  147. package/config/settings.ts +310 -0
  148. package/config/useConfig.ts +20 -0
  149. package/configure.ts +69 -0
  150. package/globals.d.ts +14 -0
  151. package/hooks/pfm/useCodeFilePopout.ts +111 -0
  152. package/hooks/useAIChat.ts +532 -0
  153. package/hooks/useAIProviderConfig.ts +115 -0
  154. package/hooks/useActiveSection.ts +78 -0
  155. package/hooks/useAgentJobs.ts +306 -0
  156. package/hooks/useAgentSettings.ts +579 -0
  157. package/hooks/useAgents.ts +90 -0
  158. package/hooks/useAnnotationDraft.ts +523 -0
  159. package/hooks/useAnnotationHighlighter.ts +1170 -0
  160. package/hooks/useArchive.ts +171 -0
  161. package/hooks/useAutoClose.ts +104 -0
  162. package/hooks/useCodeAnnotationDraft.ts +194 -0
  163. package/hooks/useCodeFilePopout.ts +1 -0
  164. package/hooks/useDismissOnOutsideAndEscape.ts +50 -0
  165. package/hooks/useDraggable.ts +108 -0
  166. package/hooks/useEditorAnnotations.ts +64 -0
  167. package/hooks/useExternalAnnotationHighlights.ts +105 -0
  168. package/hooks/useExternalAnnotations.ts +268 -0
  169. package/hooks/useFileBrowser.ts +402 -0
  170. package/hooks/useInputMethodSwitch.ts +89 -0
  171. package/hooks/useIsMobile.ts +17 -0
  172. package/hooks/useLinkedDoc.ts +494 -0
  173. package/hooks/useOverlayViewport.ts +36 -0
  174. package/hooks/usePinpoint.ts +182 -0
  175. package/hooks/usePlanDiff.ts +176 -0
  176. package/hooks/usePrintMode.ts +27 -0
  177. package/hooks/useResizablePanel.ts +173 -0
  178. package/hooks/useScrollViewport.ts +38 -0
  179. package/hooks/useSharing.ts +441 -0
  180. package/hooks/useSidebar.ts +55 -0
  181. package/hooks/useUpdateCheck.ts +132 -0
  182. package/hooks/useValidatedCodePaths.ts +94 -0
  183. package/icons/GitUser.tsx +17 -0
  184. package/lib/utils.ts +11 -0
  185. package/package.json +117 -0
  186. package/plannotator.webp +0 -0
  187. package/print.css +427 -0
  188. package/shortcuts/code-review/ai.shortcuts.ts +25 -0
  189. package/shortcuts/code-review/allFilesDiff.shortcuts.ts +46 -0
  190. package/shortcuts/code-review/annotationToolbar.shortcuts.ts +30 -0
  191. package/shortcuts/code-review/fileTree.shortcuts.ts +35 -0
  192. package/shortcuts/code-review/prComments.shortcuts.ts +18 -0
  193. package/shortcuts/code-review/suggestionModal.shortcuts.ts +25 -0
  194. package/shortcuts/code-review/tourDialog.shortcuts.ts +18 -0
  195. package/shortcuts/core.ts +399 -0
  196. package/shortcuts/index.ts +21 -0
  197. package/shortcuts/plan-review/annotationPanel.shortcuts.ts +25 -0
  198. package/shortcuts/plan-review/annotationToolbar.shortcuts.ts +39 -0
  199. package/shortcuts/plan-review/commentPopover.shortcuts.ts +21 -0
  200. package/shortcuts/plan-review/goalSetup.shortcuts.ts +10 -0
  201. package/shortcuts/plan-review/imageAnnotator.shortcuts.ts +42 -0
  202. package/shortcuts/plan-review/inputMethod.shortcuts.ts +30 -0
  203. package/shortcuts/plan-review/sidebar.shortcuts.ts +34 -0
  204. package/shortcuts/plan-review/viewer.shortcuts.ts +24 -0
  205. package/shortcuts/runtime.ts +259 -0
  206. package/sprite_package_additional/index.html +34 -0
  207. package/sprite_package_additional/sprite.png +0 -0
  208. package/sprite_package_new/index.html +34 -0
  209. package/sprite_package_new/sprite.png +0 -0
  210. package/sprite_package_pulluphang/index.html +34 -0
  211. package/sprite_package_pulluphang/sprite.png +0 -0
  212. package/styles.css +1 -0
  213. package/theme.css +893 -0
  214. package/themes/adwaita.css +62 -0
  215. package/themes/andromeeda.css +66 -0
  216. package/themes/aurora-x.css +66 -0
  217. package/themes/ayu-dark.css +66 -0
  218. package/themes/caffeine.css +113 -0
  219. package/themes/catppuccin.css +62 -0
  220. package/themes/claude-plus.css +60 -0
  221. package/themes/cursor-hc.css +34 -0
  222. package/themes/cursor-midnight.css +34 -0
  223. package/themes/cursor.css +62 -0
  224. package/themes/dark-plus.css +66 -0
  225. package/themes/doom-64.css +109 -0
  226. package/themes/dracula.css +33 -0
  227. package/themes/everforest-hard.css +62 -0
  228. package/themes/everforest-soft.css +62 -0
  229. package/themes/everforest.css +62 -0
  230. package/themes/github.css +66 -0
  231. package/themes/gruvbox.css +62 -0
  232. package/themes/houston.css +66 -0
  233. package/themes/kanagawa-dragon.css +34 -0
  234. package/themes/kanagawa-lotus.css +34 -0
  235. package/themes/kanagawa-wave.css +34 -0
  236. package/themes/laserwave.css +66 -0
  237. package/themes/material.css +62 -0
  238. package/themes/min.css +66 -0
  239. package/themes/monokai-pro.css +34 -0
  240. package/themes/neutral.css +59 -0
  241. package/themes/night-owl.css +66 -0
  242. package/themes/nord.css +66 -0
  243. package/themes/one-dark-pro.css +66 -0
  244. package/themes/one-light.css +66 -0
  245. package/themes/paulmillr.css +34 -0
  246. package/themes/plannotator.css +60 -0
  247. package/themes/plastic.css +66 -0
  248. package/themes/poimandres.css +66 -0
  249. package/themes/quantum-rose.css +109 -0
  250. package/themes/red.css +66 -0
  251. package/themes/rose-pine.css +62 -0
  252. package/themes/simple.css +124 -0
  253. package/themes/slack.css +66 -0
  254. package/themes/snazzy-light.css +66 -0
  255. package/themes/soft-pop.css +60 -0
  256. package/themes/solar-dusk.css +109 -0
  257. package/themes/solarized.css +66 -0
  258. package/themes/synthwave-84.css +34 -0
  259. package/themes/terminal.css +62 -0
  260. package/themes/tinacious.css +57 -0
  261. package/themes/tokyo-night.css +62 -0
  262. package/themes/vesper.css +62 -0
  263. package/themes/vitesse-black.css +66 -0
  264. package/themes/vitesse.css +62 -0
  265. package/types.ts +264 -0
  266. package/utils/agentSwitch.ts +71 -0
  267. package/utils/aiChatFormat.ts +33 -0
  268. package/utils/aiPrompt.ts +29 -0
  269. package/utils/aiProvider.ts +217 -0
  270. package/utils/anchors.ts +11 -0
  271. package/utils/annotateAgentTerminal.ts +29 -0
  272. package/utils/annotationHelpers.ts +101 -0
  273. package/utils/bear.ts +59 -0
  274. package/utils/blockTargeting.ts +240 -0
  275. package/utils/callback.ts +99 -0
  276. package/utils/commentContent.ts +8 -0
  277. package/utils/defaultNotesApp.ts +20 -0
  278. package/utils/diffFonts.ts +33 -0
  279. package/utils/editorMode.ts +31 -0
  280. package/utils/fileBrowser.ts +40 -0
  281. package/utils/generateId.ts +7 -0
  282. package/utils/generateIdentity.ts +29 -0
  283. package/utils/identity.ts +112 -0
  284. package/utils/inlineTransforms.ts +41 -0
  285. package/utils/inputMethod.ts +17 -0
  286. package/utils/lookAndFeelAnnouncement.ts +18 -0
  287. package/utils/obsidian.ts +201 -0
  288. package/utils/octarine.ts +53 -0
  289. package/utils/parser.ts +991 -0
  290. package/utils/permissionMode.ts +77 -0
  291. package/utils/planAIAnnouncement.ts +17 -0
  292. package/utils/planAgentInstructions.ts +137 -0
  293. package/utils/planDiffEngine.ts +590 -0
  294. package/utils/planSave.ts +49 -0
  295. package/utils/platform.ts +11 -0
  296. package/utils/quickLabels.ts +77 -0
  297. package/utils/reviewAgentInstructions.ts +182 -0
  298. package/utils/sanitizeHtml.ts +45 -0
  299. package/utils/sharing.ts +350 -0
  300. package/utils/slugify.ts +37 -0
  301. package/utils/storage.ts +141 -0
  302. package/utils/themeRegistry.ts +567 -0
  303. package/utils/uiPreferences.ts +34 -0
  304. package/utils/upload.ts +56 -0
  305. package/utils/wideMode.ts +48 -0
@@ -0,0 +1,109 @@
1
+ .theme-solar-dusk {
2
+ --background: oklch(0.2161 0.0061 56.0434);
3
+ --foreground: oklch(0.9699 0.0013 106.4238);
4
+ --card: oklch(0.2685 0.0063 34.2976);
5
+ --card-foreground: oklch(0.9699 0.0013 106.4238);
6
+ --popover: oklch(0.2685 0.0063 34.2976);
7
+ --popover-foreground: oklch(0.9699 0.0013 106.4238);
8
+ --primary: oklch(0.7049 0.1867 47.6044);
9
+ --primary-foreground: oklch(1.0 0 0);
10
+ --secondary: oklch(0.4444 0.0096 73.639);
11
+ --secondary-foreground: oklch(0.9232 0.0026 48.7171);
12
+ --muted: oklch(0.2685 0.0063 34.2976);
13
+ --muted-foreground: oklch(0.7161 0.0091 56.259);
14
+ --accent: oklch(0.6 0.12 229.3202);
15
+ --accent-foreground: oklch(0.15 0.02 229);
16
+ --destructive: oklch(0.5771 0.2152 27.325);
17
+ --destructive-foreground: oklch(1.0 0 0);
18
+ --border: oklch(0.3741 0.0087 67.5582);
19
+ --input: oklch(0.3741 0.0087 67.5582);
20
+ --ring: oklch(0.7049 0.1867 47.6044);
21
+ --chart-1: oklch(0.7049 0.1867 47.6044);
22
+ --chart-2: oklch(0.6847 0.1479 237.3225);
23
+ --chart-3: oklch(0.7952 0.1617 86.0468);
24
+ --chart-4: oklch(0.7161 0.0091 56.259);
25
+ --chart-5: oklch(0.5534 0.0116 58.0708);
26
+ --sidebar: oklch(0.2685 0.0063 34.2976);
27
+ --sidebar-foreground: oklch(0.9699 0.0013 106.4238);
28
+ --sidebar-primary: oklch(0.7049 0.1867 47.6044);
29
+ --sidebar-primary-foreground: oklch(1.0 0 0);
30
+ --sidebar-accent: oklch(0.6847 0.1479 237.3225);
31
+ --sidebar-accent-foreground: oklch(0.2839 0.0734 254.5378);
32
+ --sidebar-border: oklch(0.3741 0.0087 67.5582);
33
+ --sidebar-ring: oklch(0.7049 0.1867 47.6044);
34
+ --font-sans: Oxanium, sans-serif;
35
+ --font-serif: Merriweather, serif;
36
+ --font-mono: Fira Code, monospace;
37
+ --radius: 0.3rem;
38
+ --shadow-2xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
39
+ --shadow-xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
40
+ --shadow-sm: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
41
+ --shadow: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
42
+ --shadow-md: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 2px 4px -1px hsl(0 0% 5% / 0.18);
43
+ --shadow-lg: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 4px 6px -1px hsl(0 0% 5% / 0.18);
44
+ --shadow-xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 8px 10px -1px hsl(0 0% 5% / 0.18);
45
+ --shadow-2xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.45);
46
+
47
+ /* Plannotator extended tokens */
48
+ --success: oklch(0.72 0.17 150);
49
+ --success-foreground: oklch(0.15 0.02 260);
50
+ --warning: oklch(0.75 0.15 85);
51
+ --warning-foreground: oklch(0.20 0.02 260);
52
+ --code-bg: oklch(0.13 0.015 260);
53
+ --focus-highlight: oklch(0.70 0.20 200);
54
+ }
55
+
56
+ .theme-solar-dusk.light {
57
+ --background: oklch(0.9885 0.0057 84.5659);
58
+ --foreground: oklch(0.366 0.0251 49.6085);
59
+ --card: oklch(0.9686 0.0091 78.2818);
60
+ --card-foreground: oklch(0.366 0.0251 49.6085);
61
+ --popover: oklch(0.9686 0.0091 78.2818);
62
+ --popover-foreground: oklch(0.366 0.0251 49.6085);
63
+ --primary: oklch(0.5553 0.1455 48.9975);
64
+ --primary-foreground: oklch(1.0 0 0);
65
+ --secondary: oklch(0.8276 0.0752 74.44);
66
+ --secondary-foreground: oklch(0.4444 0.0096 73.639);
67
+ --muted: oklch(0.9363 0.0218 83.2637);
68
+ --muted-foreground: oklch(0.5534 0.0116 58.0708);
69
+ --accent: oklch(0.55 0.12 229);
70
+ --accent-foreground: oklch(1.0 0 0);
71
+ --destructive: oklch(0.4437 0.1613 26.8994);
72
+ --destructive-foreground: oklch(1.0 0 0);
73
+ --border: oklch(0.8866 0.0404 89.6994);
74
+ --input: oklch(0.8866 0.0404 89.6994);
75
+ --ring: oklch(0.5553 0.1455 48.9975);
76
+ --chart-1: oklch(0.5553 0.1455 48.9975);
77
+ --chart-2: oklch(0.5534 0.0116 58.0708);
78
+ --chart-3: oklch(0.5538 0.1207 66.4416);
79
+ --chart-4: oklch(0.5534 0.0116 58.0708);
80
+ --chart-5: oklch(0.6806 0.1423 75.834);
81
+ --sidebar: oklch(0.9363 0.0218 83.2637);
82
+ --sidebar-foreground: oklch(0.366 0.0251 49.6085);
83
+ --sidebar-primary: oklch(0.5553 0.1455 48.9975);
84
+ --sidebar-primary-foreground: oklch(1.0 0 0);
85
+ --sidebar-accent: oklch(0.5538 0.1207 66.4416);
86
+ --sidebar-accent-foreground: oklch(1.0 0 0);
87
+ --sidebar-border: oklch(0.8866 0.0404 89.6994);
88
+ --sidebar-ring: oklch(0.5553 0.1455 48.9975);
89
+ --font-sans: Oxanium, sans-serif;
90
+ --font-serif: Merriweather, serif;
91
+ --font-mono: Fira Code, monospace;
92
+ --radius: 0.3rem;
93
+ --shadow-2xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
94
+ --shadow-xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
95
+ --shadow-sm: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
96
+ --shadow: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
97
+ --shadow-md: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 2px 4px -1px hsl(28 18% 25% / 0.18);
98
+ --shadow-lg: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 4px 6px -1px hsl(28 18% 25% / 0.18);
99
+ --shadow-xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 8px 10px -1px hsl(28 18% 25% / 0.18);
100
+ --shadow-2xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.45);
101
+
102
+ /* Plannotator extended tokens */
103
+ --success: oklch(0.45 0.20 150);
104
+ --success-foreground: oklch(1 0 0);
105
+ --warning: oklch(0.55 0.18 85);
106
+ --warning-foreground: oklch(0.18 0.02 260);
107
+ --code-bg: oklch(0.96 0.005 260);
108
+ --focus-highlight: oklch(0.70 0.20 200);
109
+ }
@@ -0,0 +1,66 @@
1
+ /* Solarized — by Ethan Schoonover */
2
+ .theme-solarized {
3
+ --background: #002b36;
4
+ --foreground: #839496;
5
+ --card: #073642;
6
+ --card-foreground: #839496;
7
+ --popover: #073642;
8
+ --popover-foreground: #839496;
9
+ --primary: #268bd2;
10
+ --primary-foreground: #002b36;
11
+ --secondary: #003847;
12
+ --secondary-foreground: #93a1a1;
13
+ --muted: #003847;
14
+ --muted-foreground: #586e75;
15
+ --accent: #2aa198;
16
+ --accent-foreground: #002b36;
17
+ --destructive: #dc322f;
18
+ --destructive-foreground: #002b36;
19
+ --border: #094e5a;
20
+ --input: #003847;
21
+ --ring: #268bd2;
22
+ --success: #859900;
23
+ --success-foreground: #002b36;
24
+ --warning: #b58900;
25
+ --warning-foreground: #002b36;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #073642;
32
+ --focus-highlight: #268bd2;
33
+ }
34
+
35
+ .theme-solarized.light {
36
+ --background: #fdf6e3;
37
+ --foreground: #657b83;
38
+ --card: #eee8d5;
39
+ --card-foreground: #657b83;
40
+ --popover: #eee8d5;
41
+ --popover-foreground: #657b83;
42
+ --primary: #268bd2;
43
+ --primary-foreground: #fdf6e3;
44
+ --secondary: #eee8d5;
45
+ --secondary-foreground: #586e75;
46
+ --muted: #ddd6c1;
47
+ --muted-foreground: #93a1a1;
48
+ --accent: #2aa198;
49
+ --accent-foreground: #002b36;
50
+ --destructive: #dc322f;
51
+ --destructive-foreground: #fdf6e3;
52
+ --border: #ddd6c1;
53
+ --input: #ddd6c1;
54
+ --ring: #268bd2;
55
+ --success: #859900;
56
+ --success-foreground: #fdf6e3;
57
+ --warning: #b58900;
58
+ --warning-foreground: #fdf6e3;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #eee8d5;
65
+ --focus-highlight: #268bd2;
66
+ }
@@ -0,0 +1,34 @@
1
+ /* Synthwave '84 — by Robb Owen */
2
+ .theme-synthwave-84,
3
+ .theme-synthwave-84.light {
4
+ --background: #262335;
5
+ --foreground: #ffffff;
6
+ --card: #2a2139;
7
+ --card-foreground: #ffffff;
8
+ --popover: #2a2139;
9
+ --popover-foreground: #ffffff;
10
+ --primary: #ff7edb;
11
+ --primary-foreground: #262335;
12
+ --secondary: #34294f;
13
+ --secondary-foreground: #ffffff;
14
+ --muted: #37294d;
15
+ --muted-foreground: #ffffff99;
16
+ --accent: #72f1b8;
17
+ --accent-foreground: #262335;
18
+ --destructive: #fe4450;
19
+ --destructive-foreground: #ffffff;
20
+ --border: #495495;
21
+ --input: #2a2139;
22
+ --ring: #ff7edb;
23
+ --success: #72f1b8;
24
+ --success-foreground: #262335;
25
+ --warning: #fede5d;
26
+ --warning-foreground: #262335;
27
+
28
+ --font-sans: 'Inter', system-ui, sans-serif;
29
+ --font-mono: 'Fira Code', ui-monospace, monospace;
30
+ --radius: 0.625rem;
31
+
32
+ --code-bg: #241b2f;
33
+ --focus-highlight: #36f9f6;
34
+ }
@@ -0,0 +1,62 @@
1
+ .theme-terminal,
2
+ .theme-terminal.light {
3
+ --background: #000001;
4
+ --foreground: #eeeeee;
5
+ --card: #010203;
6
+ --card-foreground: #eeeeee;
7
+ --popover: #010203;
8
+ --popover-foreground: #eeeeee;
9
+ --primary: #f99100;
10
+ --primary-foreground: #ffffff;
11
+ --secondary: #2e2e2e;
12
+ --secondary-foreground: #eeeeee;
13
+ --muted: #202127;
14
+ --muted-foreground: #9e9e9e;
15
+ --accent: #00a1ff;
16
+ --accent-foreground: #ffffff;
17
+ --destructive: #f20024;
18
+ --destructive-foreground: #ffffff;
19
+ --border: #2e2e2e;
20
+ --input: #010203;
21
+ --ring: #00a1ff;
22
+ --chart-1: #2dd047;
23
+ --chart-2: #f20024;
24
+ --chart-3: #821698;
25
+ --chart-4: #f6d653;
26
+ --chart-5: #00a1ff;
27
+ --sidebar: #010203;
28
+ --sidebar-foreground: #eeeeee;
29
+ --sidebar-primary: #f99100;
30
+ --sidebar-primary-foreground: #ffffff;
31
+ --sidebar-accent: #00a1ff;
32
+ --sidebar-accent-foreground: #ffffff;
33
+ --sidebar-border: #2e2e2e;
34
+ --sidebar-ring: #00a1ff;
35
+ --font-sans: system-ui;
36
+ --font-serif: system-ui;
37
+ --font-mono: system-ui;
38
+ --radius: 4px;
39
+ --shadow-2xs: 0px 2px 4px 0px hsl(0 0% 0% / 0.1);
40
+ --shadow-xs: 0px 2px 4px 0px hsl(0 0% 0% / 0.1);
41
+ --shadow-sm: 0px 2px 4px 0px hsl(0 0% 0% / 0.2), 0px 1px 2px -1px hsl(0 0% 0% / 0.2);
42
+ --shadow: 0px 2px 4px 0px hsl(0 0% 0% / 0.2), 0px 1px 2px -1px hsl(0 0% 0% / 0.2);
43
+ --shadow-md: 0px 2px 4px 0px hsl(0 0% 0% / 0.2), 0px 2px 4px -1px hsl(0 0% 0% / 0.2);
44
+ --shadow-lg: 0px 2px 4px 0px hsl(0 0% 0% / 0.2), 0px 4px 6px -1px hsl(0 0% 0% / 0.2);
45
+ --shadow-xl: 0px 2px 4px 0px hsl(0 0% 0% / 0.2), 0px 8px 10px -1px hsl(0 0% 0% / 0.2);
46
+ --shadow-2xl: 0px 2px 4px 0px hsl(0 0% 0% / 0.5);
47
+
48
+ /* Plannotator extended tokens */
49
+ --success: oklch(0.72 0.17 150);
50
+ --success-foreground: oklch(0.15 0.02 260);
51
+ --warning: oklch(0.75 0.15 85);
52
+ --warning-foreground: oklch(0.20 0.02 260);
53
+ --code-bg: #000000;
54
+ --focus-highlight: oklch(0.70 0.20 200);
55
+ }
56
+
57
+ .theme-terminal .bg-grid,
58
+ .theme-terminal.light .bg-grid {
59
+ background-image:
60
+ linear-gradient(to right, rgba(0, 255, 0, 0.04) 1px, transparent 1px),
61
+ linear-gradient(to bottom, rgba(0, 255, 0, 0.04) 1px, transparent 1px);
62
+ }
@@ -0,0 +1,57 @@
1
+ .theme-tinacious,
2
+ .theme-tinacious.light {
3
+ --background: rgb(248, 248, 255);
4
+ --foreground: rgb(29, 29, 38);
5
+ --card: rgb(255, 255, 255);
6
+ --card-foreground: rgb(29, 29, 38);
7
+ --popover: rgb(255, 255, 255);
8
+ --popover-foreground: rgb(29, 29, 38);
9
+ --primary: rgb(0, 203, 255);
10
+ --primary-foreground: rgb(255, 255, 255);
11
+ --secondary: rgb(203, 203, 240);
12
+ --secondary-foreground: rgb(29, 29, 38);
13
+ --muted: rgb(213, 214, 243);
14
+ --muted-foreground: rgb(99, 102, 103);
15
+ --accent: rgb(0, 206, 202);
16
+ --accent-foreground: rgb(29, 29, 38);
17
+ --destructive: rgb(255, 51, 153);
18
+ --destructive-foreground: rgb(255, 255, 255);
19
+ --border: rgb(213, 214, 243);
20
+ --input: rgb(213, 214, 243);
21
+ --ring: rgb(0, 203, 255);
22
+ --chart-1: rgb(255, 51, 153);
23
+ --chart-2: rgb(0, 211, 100);
24
+ --chart-3: rgb(255, 204, 102);
25
+ --chart-4: rgb(204, 102, 255);
26
+ --chart-5: rgb(0, 206, 202);
27
+ --sidebar: rgb(240, 240, 248);
28
+ --sidebar-foreground: rgb(29, 29, 38);
29
+ --sidebar-primary: rgb(0, 203, 255);
30
+ --sidebar-primary-foreground: rgb(255, 255, 255);
31
+ --sidebar-accent: rgb(0, 206, 202);
32
+ --sidebar-accent-foreground: rgb(29, 29, 38);
33
+ --sidebar-border: rgb(213, 214, 243);
34
+ --sidebar-ring: rgb(0, 203, 255);
35
+ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
36
+ "Segoe UI Symbol", "Noto Color Emoji";
37
+ --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
38
+ --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo,
39
+ monospace;
40
+ --radius: 0.625rem;
41
+ --shadow-2xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
42
+ --shadow-xs: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
43
+ --shadow-sm: 0 2px 4px -1px rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
44
+ --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
45
+ --shadow-md: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
46
+ --shadow-lg: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
47
+ --shadow-xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
48
+ --shadow-2xl: 0 35px 60px -15px rgb(0 0 0 / 0.3);
49
+
50
+ /* Plannotator extended tokens */
51
+ --success: oklch(0.45 0.20 150);
52
+ --success-foreground: oklch(1 0 0);
53
+ --warning: oklch(0.55 0.18 85);
54
+ --warning-foreground: oklch(0.18 0.02 260);
55
+ --code-bg: rgb(240, 240, 248);
56
+ --focus-highlight: oklch(0.70 0.20 200);
57
+ }
@@ -0,0 +1,62 @@
1
+ /* Tokyo Night — Storm (dark) + Day (light) */
2
+ .theme-tokyo-night {
3
+ --background: #24283b;
4
+ --foreground: #c0caf5;
5
+ --card: #1d202f;
6
+ --card-foreground: #c0caf5;
7
+ --popover: #1d202f;
8
+ --popover-foreground: #c0caf5;
9
+ --primary: #7aa2f7;
10
+ --primary-foreground: #1d202f;
11
+ --secondary: #414868;
12
+ --secondary-foreground: #c0caf5;
13
+ --muted: #343a52;
14
+ --muted-foreground: #787c99;
15
+ --accent: #7dcfff;
16
+ --accent-foreground: #1d202f;
17
+ --destructive: #f7768e;
18
+ --destructive-foreground: #1d202f;
19
+ --border: #414868;
20
+ --input: #343a52;
21
+ --ring: #7aa2f7;
22
+ --success: #9ece6a;
23
+ --success-foreground: #1d202f;
24
+ --warning: #e0af68;
25
+ --warning-foreground: #1d202f;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #1a1b2e;
32
+ --focus-highlight: #7dcfff;
33
+ }
34
+
35
+ .theme-tokyo-night.light {
36
+ --background: #e1e2e7;
37
+ --foreground: #3760bf;
38
+ --card: #e9e9ed;
39
+ --card-foreground: #3760bf;
40
+ --popover: #e9e9ed;
41
+ --popover-foreground: #3760bf;
42
+ --primary: #2e7de9;
43
+ --primary-foreground: #e1e2e7;
44
+ --secondary: #a1a6c5;
45
+ --secondary-foreground: #3760bf;
46
+ --muted: #d0d3e1;
47
+ --muted-foreground: #848cb5;
48
+ --accent: #007197;
49
+ --accent-foreground: #e1e2e7;
50
+ --destructive: #f52a65;
51
+ --destructive-foreground: #e1e2e7;
52
+ --border: #a1a6c5;
53
+ --input: #d0d3e1;
54
+ --ring: #2e7de9;
55
+ --success: #587539;
56
+ --success-foreground: #e1e2e7;
57
+ --warning: #8c6c3e;
58
+ --warning-foreground: #e1e2e7;
59
+
60
+ --code-bg: #d5d6db;
61
+ --focus-highlight: #007197;
62
+ }
@@ -0,0 +1,62 @@
1
+ /* Vesper — by raunofreiberg */
2
+ .theme-vesper {
3
+ --background: #101010;
4
+ --foreground: #FFFFFF;
5
+ --card: #161616;
6
+ --card-foreground: #FFFFFF;
7
+ --popover: #161616;
8
+ --popover-foreground: #FFFFFF;
9
+ --primary: #FFC799;
10
+ --primary-foreground: #101010;
11
+ --secondary: #1C1C1C;
12
+ --secondary-foreground: #A0A0A0;
13
+ --muted: #1C1C1C;
14
+ --muted-foreground: #8b8b8b;
15
+ --accent: #99FFE4;
16
+ --accent-foreground: #101010;
17
+ --destructive: #FF8080;
18
+ --destructive-foreground: #101010;
19
+ --border: #282828;
20
+ --input: #1C1C1C;
21
+ --ring: #FFC799;
22
+ --success: #99FFE4;
23
+ --success-foreground: #101010;
24
+ --warning: #FFC799;
25
+ --warning-foreground: #101010;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #1C1C1C;
32
+ --focus-highlight: #FFC799;
33
+ }
34
+
35
+ .theme-vesper.light {
36
+ --background: #101010;
37
+ --foreground: #FFFFFF;
38
+ --card: #161616;
39
+ --card-foreground: #FFFFFF;
40
+ --popover: #161616;
41
+ --popover-foreground: #FFFFFF;
42
+ --primary: #FFC799;
43
+ --primary-foreground: #101010;
44
+ --secondary: #1C1C1C;
45
+ --secondary-foreground: #A0A0A0;
46
+ --muted: #1C1C1C;
47
+ --muted-foreground: #8b8b8b;
48
+ --accent: #99FFE4;
49
+ --accent-foreground: #101010;
50
+ --destructive: #FF8080;
51
+ --destructive-foreground: #101010;
52
+ --border: #282828;
53
+ --input: #1C1C1C;
54
+ --ring: #FFC799;
55
+ --success: #99FFE4;
56
+ --success-foreground: #101010;
57
+ --warning: #FFC799;
58
+ --warning-foreground: #101010;
59
+
60
+ --code-bg: #1C1C1C;
61
+ --focus-highlight: #FFC799;
62
+ }
@@ -0,0 +1,66 @@
1
+ /* Vitesse Black — by Anthony Fu */
2
+ .theme-vitesse-black {
3
+ --background: #000000;
4
+ --foreground: #dbd7ca;
5
+ --card: #121212;
6
+ --card-foreground: #dbd7ca;
7
+ --popover: #121212;
8
+ --popover-foreground: #dbd7ca;
9
+ --primary: #4d9375;
10
+ --primary-foreground: #000000;
11
+ --secondary: #191919;
12
+ --secondary-foreground: #bfbaaa;
13
+ --muted: #121212;
14
+ --muted-foreground: #758575;
15
+ --accent: #6394bf;
16
+ --accent-foreground: #000000;
17
+ --destructive: #cb7676;
18
+ --destructive-foreground: #000000;
19
+ --border: #191919;
20
+ --input: #191919;
21
+ --ring: #4d9375;
22
+ --success: #4d9375;
23
+ --success-foreground: #000000;
24
+ --warning: #e6cc77;
25
+ --warning-foreground: #000000;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #121212;
32
+ --focus-highlight: #4d9375;
33
+ }
34
+
35
+ .theme-vitesse-black.light {
36
+ --background: #000000;
37
+ --foreground: #dbd7ca;
38
+ --card: #121212;
39
+ --card-foreground: #dbd7ca;
40
+ --popover: #121212;
41
+ --popover-foreground: #dbd7ca;
42
+ --primary: #4d9375;
43
+ --primary-foreground: #000000;
44
+ --secondary: #191919;
45
+ --secondary-foreground: #bfbaaa;
46
+ --muted: #121212;
47
+ --muted-foreground: #758575;
48
+ --accent: #6394bf;
49
+ --accent-foreground: #000000;
50
+ --destructive: #cb7676;
51
+ --destructive-foreground: #000000;
52
+ --border: #191919;
53
+ --input: #191919;
54
+ --ring: #4d9375;
55
+ --success: #4d9375;
56
+ --success-foreground: #000000;
57
+ --warning: #e6cc77;
58
+ --warning-foreground: #000000;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #121212;
65
+ --focus-highlight: #4d9375;
66
+ }
@@ -0,0 +1,62 @@
1
+ /* Vitesse — by Anthony Fu */
2
+ .theme-vitesse {
3
+ --background: #121212;
4
+ --foreground: #dbd7ca;
5
+ --card: #181818;
6
+ --card-foreground: #dbd7ca;
7
+ --popover: #181818;
8
+ --popover-foreground: #dbd7ca;
9
+ --primary: #4d9375;
10
+ --primary-foreground: #121212;
11
+ --secondary: #1e1e1e;
12
+ --secondary-foreground: #bfbaaa;
13
+ --muted: #181818;
14
+ --muted-foreground: #758575;
15
+ --accent: #e6cc77;
16
+ --accent-foreground: #121212;
17
+ --destructive: #cb7676;
18
+ --destructive-foreground: #121212;
19
+ --border: #252525;
20
+ --input: #181818;
21
+ --ring: #4d9375;
22
+ --success: #4d9375;
23
+ --success-foreground: #121212;
24
+ --warning: #e6cc77;
25
+ --warning-foreground: #121212;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #181818;
32
+ --focus-highlight: #4d9375;
33
+ }
34
+
35
+ .theme-vitesse.light {
36
+ --background: #ffffff;
37
+ --foreground: #393a34;
38
+ --card: #f7f7f7;
39
+ --card-foreground: #393a34;
40
+ --popover: #ffffff;
41
+ --popover-foreground: #393a34;
42
+ --primary: #1c6b48;
43
+ --primary-foreground: #ffffff;
44
+ --secondary: #f0f0f0;
45
+ --secondary-foreground: #4e4f47;
46
+ --muted: #f7f7f7;
47
+ --muted-foreground: #a0ada0;
48
+ --accent: #bda437;
49
+ --accent-foreground: #ffffff;
50
+ --destructive: #ab5959;
51
+ --destructive-foreground: #ffffff;
52
+ --border: #f0f0f0;
53
+ --input: #f7f7f7;
54
+ --ring: #1c6b48;
55
+ --success: #1e754f;
56
+ --success-foreground: #ffffff;
57
+ --warning: #bda437;
58
+ --warning-foreground: #ffffff;
59
+
60
+ --code-bg: #f0f0f0;
61
+ --focus-highlight: #1c6b48;
62
+ }