@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,62 @@
1
+ /* Material Theme — by Mattia Astorino (equinusocio) */
2
+ .theme-material {
3
+ --background: #263238;
4
+ --foreground: #EEFFFF;
5
+ --card: #2E3C43;
6
+ --card-foreground: #EEFFFF;
7
+ --popover: #263238;
8
+ --popover-foreground: #EEFFFF;
9
+ --primary: #80CBC4;
10
+ --primary-foreground: #263238;
11
+ --secondary: #37474F;
12
+ --secondary-foreground: #6c8692;
13
+ --muted: #303C41;
14
+ --muted-foreground: #546E7A;
15
+ --accent: #C3E88D;
16
+ --accent-foreground: #263238;
17
+ --destructive: #f07178;
18
+ --destructive-foreground: #263238;
19
+ --border: #37474F;
20
+ --input: #303C41;
21
+ --ring: #80CBC4;
22
+ --success: #C3E88D;
23
+ --success-foreground: #263238;
24
+ --warning: #FFCB6B;
25
+ --warning-foreground: #263238;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #2D3B41;
32
+ --focus-highlight: #80CBC4;
33
+ }
34
+
35
+ .theme-material.light {
36
+ --background: #FAFAFA;
37
+ --foreground: #546E7A;
38
+ --card: #F0F4F5;
39
+ --card-foreground: #546E7A;
40
+ --popover: #FAFAFA;
41
+ --popover-foreground: #546E7A;
42
+ --primary: #80CBC4;
43
+ --primary-foreground: #263238;
44
+ --secondary: #E8EDEF;
45
+ --secondary-foreground: #758a95;
46
+ --muted: #EEEEEE;
47
+ --muted-foreground: #B0BEC5;
48
+ --accent: #39ADB5;
49
+ --accent-foreground: #FAFAFA;
50
+ --destructive: #E53935;
51
+ --destructive-foreground: #FAFAFA;
52
+ --border: #B0BEC5;
53
+ --input: #EEEEEE;
54
+ --ring: #80CBC4;
55
+ --success: #91B859;
56
+ --success-foreground: #FAFAFA;
57
+ --warning: #E2931D;
58
+ --warning-foreground: #FAFAFA;
59
+
60
+ --code-bg: #EEEEEE;
61
+ --focus-highlight: #80CBC4;
62
+ }
package/themes/min.css ADDED
@@ -0,0 +1,66 @@
1
+ /* Min — by Miguel Solorio */
2
+ .theme-min {
3
+ --background: #1f1f1f;
4
+ --foreground: #b392f0;
5
+ --card: #242424;
6
+ --card-foreground: #b392f0;
7
+ --popover: #242424;
8
+ --popover-foreground: #b392f0;
9
+ --primary: #b392f0;
10
+ --primary-foreground: #1f1f1f;
11
+ --secondary: #2a2a2a;
12
+ --secondary-foreground: #bbbbbb;
13
+ --muted: #2a2a2a;
14
+ --muted-foreground: #6b737c;
15
+ --accent: #79b8ff;
16
+ --accent-foreground: #1f1f1f;
17
+ --destructive: #ff7a84;
18
+ --destructive-foreground: #1f1f1f;
19
+ --border: #383838;
20
+ --input: #383838;
21
+ --ring: #b392f0;
22
+ --success: #3a632a;
23
+ --success-foreground: #ffffff;
24
+ --warning: #cd9731;
25
+ --warning-foreground: #1f1f1f;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #2a2a2a;
32
+ --focus-highlight: #b392f0;
33
+ }
34
+
35
+ .theme-min.light {
36
+ --background: #ffffff;
37
+ --foreground: #24292e;
38
+ --card: #f6f6f6;
39
+ --card-foreground: #24292e;
40
+ --popover: #f6f6f6;
41
+ --popover-foreground: #24292e;
42
+ --primary: #6f42c1;
43
+ --primary-foreground: #ffffff;
44
+ --secondary: #eeeeee;
45
+ --secondary-foreground: #212121;
46
+ --muted: #f6f6f6;
47
+ --muted-foreground: #c2c3c5;
48
+ --accent: #1976d2;
49
+ --accent-foreground: #ffffff;
50
+ --destructive: #d32f2f;
51
+ --destructive-foreground: #ffffff;
52
+ --border: #e9e9e9;
53
+ --input: #e9e9e9;
54
+ --ring: #6f42c1;
55
+ --success: #77cc00;
56
+ --success-foreground: #ffffff;
57
+ --warning: #f29718;
58
+ --warning-foreground: #ffffff;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #f3f3f3;
65
+ --focus-highlight: #6f42c1;
66
+ }
@@ -0,0 +1,34 @@
1
+ /* Monokai Pro — dark only */
2
+ .theme-monokai-pro,
3
+ .theme-monokai-pro.light {
4
+ --background: #2d2a2e;
5
+ --foreground: #fcfcfa;
6
+ --card: #403e41;
7
+ --card-foreground: #fcfcfa;
8
+ --popover: #403e41;
9
+ --popover-foreground: #fcfcfa;
10
+ --primary: #ffd866;
11
+ --primary-foreground: #2d2a2e;
12
+ --secondary: #5b595c;
13
+ --secondary-foreground: #fcfcfa;
14
+ --muted: #403e41;
15
+ --muted-foreground: #727072;
16
+ --accent: #78dce8;
17
+ --accent-foreground: #2d2a2e;
18
+ --destructive: #ff6188;
19
+ --destructive-foreground: #2d2a2e;
20
+ --border: #5b595c;
21
+ --input: #403e41;
22
+ --ring: #ffd866;
23
+ --success: #a9dc76;
24
+ --success-foreground: #2d2a2e;
25
+ --warning: #fc9867;
26
+ --warning-foreground: #2d2a2e;
27
+
28
+ --font-sans: system-ui, sans-serif;
29
+ --font-mono: 'Fira Code', ui-monospace, monospace;
30
+ --radius: 0.625rem;
31
+
32
+ --code-bg: #221f22;
33
+ --focus-highlight: #78dce8;
34
+ }
@@ -0,0 +1,59 @@
1
+ .theme-neutral {
2
+ --background: oklch(0.141 0.005 285.823);
3
+ --foreground: oklch(0.985 0 0);
4
+ --card: oklch(0.205 0.006 285.885);
5
+ --card-foreground: oklch(0.985 0 0);
6
+ --popover: oklch(0.225 0.006 285.885);
7
+ --popover-foreground: oklch(0.985 0 0);
8
+ --primary: oklch(0.985 0 0);
9
+ --primary-foreground: oklch(0.21 0.006 285.885);
10
+ --secondary: oklch(0.274 0.006 286.033);
11
+ --secondary-foreground: oklch(0.985 0 0);
12
+ --muted: oklch(0.16 0.005 285.823);
13
+ --muted-foreground: oklch(0.705 0.015 286.067);
14
+ --accent: oklch(0.274 0.006 286.033);
15
+ --accent-foreground: oklch(0.985 0 0);
16
+ --destructive: oklch(0.396 0.141 25.723);
17
+ --destructive-foreground: oklch(0.637 0.237 25.331);
18
+ --border: oklch(0.274 0.006 286.033);
19
+ --input: oklch(0.274 0.006 286.033);
20
+ --ring: oklch(0.442 0.017 285.786);
21
+ --success: oklch(0.62 0.194 149.214);
22
+ --success-foreground: oklch(0.985 0 0);
23
+ --warning: oklch(0.75 0.15 85);
24
+ --warning-foreground: oklch(0.21 0.006 285.885);
25
+
26
+ --font-sans: "Inter", system-ui, sans-serif;
27
+ --font-mono: "Geist Mono", "SF Mono", Consolas, monospace;
28
+ --radius: 0.625rem;
29
+
30
+ --code-bg: oklch(0.205 0.006 285.885);
31
+ }
32
+
33
+ .theme-neutral.light {
34
+ --background: oklch(1 0 0);
35
+ --foreground: oklch(0.141 0.005 285.823);
36
+ --card: oklch(1 0 0);
37
+ --card-foreground: oklch(0.141 0.005 285.823);
38
+ --popover: oklch(1 0 0);
39
+ --popover-foreground: oklch(0.141 0.005 285.823);
40
+ --primary: oklch(0.21 0.006 285.885);
41
+ --primary-foreground: oklch(0.985 0 0);
42
+ --secondary: oklch(0.967 0.001 286.375);
43
+ --secondary-foreground: oklch(0.21 0.006 285.885);
44
+ --muted: oklch(0.967 0.001 286.375);
45
+ --muted-foreground: oklch(0.552 0.016 285.938);
46
+ --accent: oklch(0.967 0.001 286.375);
47
+ --accent-foreground: oklch(0.21 0.006 285.885);
48
+ --destructive: oklch(0.577 0.245 27.325);
49
+ --destructive-foreground: oklch(0.577 0.245 27.325);
50
+ --border: oklch(0.92 0.004 286.32);
51
+ --input: oklch(0.92 0.004 286.32);
52
+ --ring: oklch(0.871 0.006 286.286);
53
+ --success: oklch(0.62 0.194 149.214);
54
+ --success-foreground: oklch(0.141 0.005 285.823);
55
+ --warning: oklch(0.55 0.18 85);
56
+ --warning-foreground: oklch(0.141 0.005 285.823);
57
+
58
+ --code-bg: oklch(0.967 0.001 286.375);
59
+ }
@@ -0,0 +1,66 @@
1
+ /* Night Owl — by Sarah Drasner */
2
+ .theme-night-owl {
3
+ --background: #011627;
4
+ --foreground: #d6deeb;
5
+ --card: #0b2942;
6
+ --card-foreground: #d6deeb;
7
+ --popover: #0b2942;
8
+ --popover-foreground: #d6deeb;
9
+ --primary: #7e57c2;
10
+ --primary-foreground: #ffffff;
11
+ --secondary: #0b253a;
12
+ --secondary-foreground: #89a4bb;
13
+ --muted: #0b253a;
14
+ --muted-foreground: #4b6479;
15
+ --accent: #82aaff;
16
+ --accent-foreground: #011627;
17
+ --destructive: #ef5350;
18
+ --destructive-foreground: #011627;
19
+ --border: #5f7e97;
20
+ --input: #0b253a;
21
+ --ring: #7e57c2;
22
+ --success: #addb67;
23
+ --success-foreground: #011627;
24
+ --warning: #ffcb6b;
25
+ --warning-foreground: #011627;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #0b2942;
32
+ --focus-highlight: #7e57c2;
33
+ }
34
+
35
+ .theme-night-owl.light {
36
+ --background: #011627;
37
+ --foreground: #d6deeb;
38
+ --card: #0b2942;
39
+ --card-foreground: #d6deeb;
40
+ --popover: #0b2942;
41
+ --popover-foreground: #d6deeb;
42
+ --primary: #7e57c2;
43
+ --primary-foreground: #ffffff;
44
+ --secondary: #0b253a;
45
+ --secondary-foreground: #89a4bb;
46
+ --muted: #0b253a;
47
+ --muted-foreground: #4b6479;
48
+ --accent: #82aaff;
49
+ --accent-foreground: #011627;
50
+ --destructive: #ef5350;
51
+ --destructive-foreground: #011627;
52
+ --border: #5f7e97;
53
+ --input: #0b253a;
54
+ --ring: #7e57c2;
55
+ --success: #addb67;
56
+ --success-foreground: #011627;
57
+ --warning: #ffcb6b;
58
+ --warning-foreground: #011627;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #0b2942;
65
+ --focus-highlight: #7e57c2;
66
+ }
@@ -0,0 +1,66 @@
1
+ /* Nord — by Arctic Ice Studio */
2
+ .theme-nord {
3
+ --background: #2e3440;
4
+ --foreground: #d8dee9;
5
+ --card: #3b4252;
6
+ --card-foreground: #d8dee9;
7
+ --popover: #3b4252;
8
+ --popover-foreground: #d8dee9;
9
+ --primary: #88c0d0;
10
+ --primary-foreground: #2e3440;
11
+ --secondary: #434c5e;
12
+ --secondary-foreground: #d8dee9;
13
+ --muted: #3b4252;
14
+ --muted-foreground: #616e88;
15
+ --accent: #81a1c1;
16
+ --accent-foreground: #2e3440;
17
+ --destructive: #bf616a;
18
+ --destructive-foreground: #2e3440;
19
+ --border: #434c5e;
20
+ --input: #3b4252;
21
+ --ring: #88c0d0;
22
+ --success: #a3be8c;
23
+ --success-foreground: #2e3440;
24
+ --warning: #ebcb8b;
25
+ --warning-foreground: #2e3440;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #4c566a;
32
+ --focus-highlight: #88c0d0;
33
+ }
34
+
35
+ .theme-nord.light {
36
+ --background: #2e3440;
37
+ --foreground: #d8dee9;
38
+ --card: #3b4252;
39
+ --card-foreground: #d8dee9;
40
+ --popover: #3b4252;
41
+ --popover-foreground: #d8dee9;
42
+ --primary: #88c0d0;
43
+ --primary-foreground: #2e3440;
44
+ --secondary: #434c5e;
45
+ --secondary-foreground: #d8dee9;
46
+ --muted: #3b4252;
47
+ --muted-foreground: #616e88;
48
+ --accent: #81a1c1;
49
+ --accent-foreground: #2e3440;
50
+ --destructive: #bf616a;
51
+ --destructive-foreground: #2e3440;
52
+ --border: #434c5e;
53
+ --input: #3b4252;
54
+ --ring: #88c0d0;
55
+ --success: #a3be8c;
56
+ --success-foreground: #2e3440;
57
+ --warning: #ebcb8b;
58
+ --warning-foreground: #2e3440;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #4c566a;
65
+ --focus-highlight: #88c0d0;
66
+ }
@@ -0,0 +1,66 @@
1
+ /* One Dark Pro — by Binaryify */
2
+ .theme-one-dark-pro {
3
+ --background: #282c34;
4
+ --foreground: #abb2bf;
5
+ --card: #21252b;
6
+ --card-foreground: #abb2bf;
7
+ --popover: #21252b;
8
+ --popover-foreground: #abb2bf;
9
+ --primary: #61afef;
10
+ --primary-foreground: #282c34;
11
+ --secondary: #21252b;
12
+ --secondary-foreground: #abb2bf;
13
+ --muted: #1d1f23;
14
+ --muted-foreground: #5c6370;
15
+ --accent: #c678dd;
16
+ --accent-foreground: #282c34;
17
+ --destructive: #e06c75;
18
+ --destructive-foreground: #282c34;
19
+ --border: #3e4452;
20
+ --input: #1d1f23;
21
+ --ring: #528bff;
22
+ --success: #98c379;
23
+ --success-foreground: #282c34;
24
+ --warning: #e5c07b;
25
+ --warning-foreground: #282c34;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #2c313a;
32
+ --focus-highlight: #528bff;
33
+ }
34
+
35
+ .theme-one-dark-pro.light {
36
+ --background: #282c34;
37
+ --foreground: #abb2bf;
38
+ --card: #21252b;
39
+ --card-foreground: #abb2bf;
40
+ --popover: #21252b;
41
+ --popover-foreground: #abb2bf;
42
+ --primary: #61afef;
43
+ --primary-foreground: #282c34;
44
+ --secondary: #21252b;
45
+ --secondary-foreground: #abb2bf;
46
+ --muted: #1d1f23;
47
+ --muted-foreground: #5c6370;
48
+ --accent: #c678dd;
49
+ --accent-foreground: #282c34;
50
+ --destructive: #e06c75;
51
+ --destructive-foreground: #282c34;
52
+ --border: #3e4452;
53
+ --input: #1d1f23;
54
+ --ring: #528bff;
55
+ --success: #98c379;
56
+ --success-foreground: #282c34;
57
+ --warning: #e5c07b;
58
+ --warning-foreground: #282c34;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #2c313a;
65
+ --focus-highlight: #528bff;
66
+ }
@@ -0,0 +1,66 @@
1
+ /* One Light — by Atom */
2
+ .theme-one-light {
3
+ --background: #fafafa;
4
+ --foreground: #383a42;
5
+ --card: #eaeaeb;
6
+ --card-foreground: #383a42;
7
+ --popover: #eaeaeb;
8
+ --popover-foreground: #383a42;
9
+ --primary: #526fff;
10
+ --primary-foreground: #ffffff;
11
+ --secondary: #e5e5e6;
12
+ --secondary-foreground: #383a42;
13
+ --muted: #eaeaeb;
14
+ --muted-foreground: #a0a1a7;
15
+ --accent: #4078f2;
16
+ --accent-foreground: #ffffff;
17
+ --destructive: #e45649;
18
+ --destructive-foreground: #ffffff;
19
+ --border: #dbdbdc;
20
+ --input: #dbdbdc;
21
+ --ring: #526fff;
22
+ --success: #3bba54;
23
+ --success-foreground: #ffffff;
24
+ --warning: #c18401;
25
+ --warning-foreground: #ffffff;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #e5e5e6;
32
+ --focus-highlight: #526fff;
33
+ }
34
+
35
+ .theme-one-light.light {
36
+ --background: #fafafa;
37
+ --foreground: #383a42;
38
+ --card: #eaeaeb;
39
+ --card-foreground: #383a42;
40
+ --popover: #eaeaeb;
41
+ --popover-foreground: #383a42;
42
+ --primary: #526fff;
43
+ --primary-foreground: #ffffff;
44
+ --secondary: #e5e5e6;
45
+ --secondary-foreground: #383a42;
46
+ --muted: #eaeaeb;
47
+ --muted-foreground: #a0a1a7;
48
+ --accent: #4078f2;
49
+ --accent-foreground: #ffffff;
50
+ --destructive: #e45649;
51
+ --destructive-foreground: #ffffff;
52
+ --border: #dbdbdc;
53
+ --input: #dbdbdc;
54
+ --ring: #526fff;
55
+ --success: #3bba54;
56
+ --success-foreground: #ffffff;
57
+ --warning: #c18401;
58
+ --warning-foreground: #ffffff;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #e5e5e6;
65
+ --focus-highlight: #526fff;
66
+ }
@@ -0,0 +1,34 @@
1
+ /* PaulMillr — terminal color scheme */
2
+ .theme-paulmillr,
3
+ .theme-paulmillr.light {
4
+ --background: #000000;
5
+ --foreground: #f2f2f2;
6
+ --card: #2a2a2a;
7
+ --card-foreground: #f2f2f2;
8
+ --popover: #2a2a2a;
9
+ --popover-foreground: #f2f2f2;
10
+ --primary: #396bd7;
11
+ --primary-foreground: #ffffff;
12
+ --secondary: #414141;
13
+ --secondary-foreground: #f2f2f2;
14
+ --muted: #2a2a2a;
15
+ --muted-foreground: #bbbbbb;
16
+ --accent: #66ccff;
17
+ --accent-foreground: #000000;
18
+ --destructive: #ff0000;
19
+ --destructive-foreground: #ffffff;
20
+ --border: #414141;
21
+ --input: #2a2a2a;
22
+ --ring: #396bd7;
23
+ --success: #79ff0f;
24
+ --success-foreground: #000000;
25
+ --warning: #e7bf00;
26
+ --warning-foreground: #000000;
27
+
28
+ --font-sans: system-ui, sans-serif;
29
+ --font-mono: ui-monospace, 'SF Mono', Consolas, monospace;
30
+ --radius: 0.625rem;
31
+
32
+ --code-bg: #1a1a1a;
33
+ --focus-highlight: #66ccff;
34
+ }
@@ -0,0 +1,60 @@
1
+ .theme-plannotator {
2
+ --background: oklch(0.15 0.02 260);
3
+ --foreground: oklch(0.90 0.01 260);
4
+ --card: oklch(0.22 0.02 260);
5
+ --card-foreground: oklch(0.90 0.01 260);
6
+ --popover: oklch(0.28 0.025 260);
7
+ --popover-foreground: oklch(0.90 0.01 260);
8
+ --primary: oklch(0.75 0.18 280);
9
+ --primary-foreground: oklch(0.15 0.02 260);
10
+ --secondary: oklch(0.65 0.15 180);
11
+ --secondary-foreground: oklch(0.15 0.02 260);
12
+ --muted: oklch(0.26 0.02 260);
13
+ --muted-foreground: oklch(0.72 0.02 260);
14
+ --accent: oklch(0.70 0.20 60);
15
+ --accent-foreground: oklch(0.15 0.02 260);
16
+ --destructive: oklch(0.65 0.20 25);
17
+ --destructive-foreground: oklch(0.98 0 0);
18
+ --border: oklch(0.35 0.02 260);
19
+ --input: oklch(0.26 0.02 260);
20
+ --ring: oklch(0.75 0.18 280);
21
+ --success: oklch(0.72 0.17 150);
22
+ --success-foreground: oklch(0.15 0.02 260);
23
+ --warning: oklch(0.75 0.15 85);
24
+ --warning-foreground: oklch(0.20 0.02 260);
25
+
26
+ --font-sans: 'Inter', system-ui, sans-serif;
27
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
28
+ --radius: 0.625rem;
29
+
30
+ --code-bg: oklch(0.26 0.02 260);
31
+ --focus-highlight: oklch(0.70 0.20 200);
32
+ }
33
+
34
+ .theme-plannotator.light {
35
+ --background: oklch(0.97 0.005 260);
36
+ --foreground: oklch(0.18 0.02 260);
37
+ --card: oklch(1 0 0);
38
+ --card-foreground: oklch(0.18 0.02 260);
39
+ --popover: oklch(1 0 0);
40
+ --popover-foreground: oklch(0.18 0.02 260);
41
+ --primary: oklch(0.50 0.25 280);
42
+ --primary-foreground: oklch(1 0 0);
43
+ --secondary: oklch(0.50 0.18 180);
44
+ --secondary-foreground: oklch(1 0 0);
45
+ --muted: oklch(0.92 0.01 260);
46
+ --muted-foreground: oklch(0.40 0.02 260);
47
+ --accent: oklch(0.60 0.22 50);
48
+ --accent-foreground: oklch(0.18 0.02 260);
49
+ --destructive: oklch(0.50 0.25 25);
50
+ --destructive-foreground: oklch(1 0 0);
51
+ --border: oklch(0.88 0.01 260);
52
+ --input: oklch(0.92 0.01 260);
53
+ --ring: oklch(0.50 0.25 280);
54
+ --success: oklch(0.45 0.20 150);
55
+ --success-foreground: oklch(1 0 0);
56
+ --warning: oklch(0.55 0.18 85);
57
+ --warning-foreground: oklch(0.18 0.02 260);
58
+
59
+ --code-bg: oklch(0.92 0.01 260);
60
+ }
@@ -0,0 +1,66 @@
1
+ /* Plastic — by Will Stone */
2
+ .theme-plastic {
3
+ --background: #21252b;
4
+ --foreground: #a9b2c3;
5
+ --card: #181a1f;
6
+ --card-foreground: #a9b2c3;
7
+ --popover: #181a1f;
8
+ --popover-foreground: #a9b2c3;
9
+ --primary: #1085ff;
10
+ --primary-foreground: #ffffff;
11
+ --secondary: #0d1117;
12
+ --secondary-foreground: #c6ccd7;
13
+ --muted: #181a1f;
14
+ --muted-foreground: #5f6672;
15
+ --accent: #61afef;
16
+ --accent-foreground: #0d1117;
17
+ --destructive: #d74e42;
18
+ --destructive-foreground: #ffffff;
19
+ --border: #0d1117;
20
+ --input: #0d1117;
21
+ --ring: #1085ff;
22
+ --success: #98c379;
23
+ --success-foreground: #0d1117;
24
+ --warning: #e5c07b;
25
+ --warning-foreground: #0d1117;
26
+
27
+ --font-sans: system-ui, sans-serif;
28
+ --font-mono: 'Fira Code', ui-monospace, monospace;
29
+ --radius: 0.625rem;
30
+
31
+ --code-bg: #0d1117;
32
+ --focus-highlight: #1085ff;
33
+ }
34
+
35
+ .theme-plastic.light {
36
+ --background: #21252b;
37
+ --foreground: #a9b2c3;
38
+ --card: #181a1f;
39
+ --card-foreground: #a9b2c3;
40
+ --popover: #181a1f;
41
+ --popover-foreground: #a9b2c3;
42
+ --primary: #1085ff;
43
+ --primary-foreground: #ffffff;
44
+ --secondary: #0d1117;
45
+ --secondary-foreground: #c6ccd7;
46
+ --muted: #181a1f;
47
+ --muted-foreground: #5f6672;
48
+ --accent: #61afef;
49
+ --accent-foreground: #0d1117;
50
+ --destructive: #d74e42;
51
+ --destructive-foreground: #ffffff;
52
+ --border: #0d1117;
53
+ --input: #0d1117;
54
+ --ring: #1085ff;
55
+ --success: #98c379;
56
+ --success-foreground: #0d1117;
57
+ --warning: #e5c07b;
58
+ --warning-foreground: #0d1117;
59
+
60
+ --font-sans: system-ui, sans-serif;
61
+ --font-mono: 'Fira Code', ui-monospace, monospace;
62
+ --radius: 0.625rem;
63
+
64
+ --code-bg: #0d1117;
65
+ --focus-highlight: #1085ff;
66
+ }