@jant/core 0.3.27 → 0.3.29

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 (314) hide show
  1. package/bin/reset-password.js +22 -0
  2. package/dist/client/client.css +1 -0
  3. package/dist/client/client.js +31561 -0
  4. package/dist/index.js +15209 -15
  5. package/package.json +25 -15
  6. package/src/__tests__/helpers/app.ts +19 -3
  7. package/src/__tests__/helpers/db.ts +44 -0
  8. package/src/__tests__/helpers/lingui-core-macro-mock.ts +33 -0
  9. package/src/app.tsx +111 -174
  10. package/src/client.ts +13 -0
  11. package/src/db/migrations/0007_post_collections_m2m.sql +94 -0
  12. package/src/db/migrations/0008_add_collection_dividers.sql +8 -0
  13. package/src/db/migrations/0009_drop_collection_show_divider.sql +2 -0
  14. package/src/db/migrations/0010_add_performance_indexes.sql +16 -0
  15. package/src/db/schema.ts +24 -4
  16. package/src/i18n/locales/en.po +810 -385
  17. package/src/i18n/locales/en.ts +1 -1
  18. package/src/i18n/locales/zh-Hans.po +733 -522
  19. package/src/i18n/locales/zh-Hans.ts +1 -1
  20. package/src/i18n/locales/zh-Hant.po +733 -522
  21. package/src/i18n/locales/zh-Hant.ts +1 -1
  22. package/src/i18n/middleware.ts +7 -11
  23. package/src/index.ts +1 -1
  24. package/src/lib/__tests__/icons.test.ts +178 -0
  25. package/src/lib/__tests__/resolve-config.test.ts +184 -0
  26. package/src/lib/__tests__/schemas.test.ts +12 -6
  27. package/src/lib/__tests__/theme.test.ts +62 -0
  28. package/src/lib/__tests__/timezones.test.ts +1 -1
  29. package/src/lib/__tests__/url.test.ts +12 -0
  30. package/src/lib/__tests__/view.test.ts +1 -5
  31. package/src/lib/avatar-upload.ts +18 -10
  32. package/src/lib/collection-form-bridge.ts +52 -0
  33. package/src/lib/collections-reorder.ts +28 -0
  34. package/src/lib/compose-bridge.ts +251 -0
  35. package/src/lib/errors.ts +116 -0
  36. package/src/lib/excerpt.ts +1 -1
  37. package/src/lib/favicon.ts +3 -5
  38. package/src/lib/html.ts +22 -0
  39. package/src/lib/icon-catalog.ts +181 -0
  40. package/src/lib/icons.ts +202 -0
  41. package/src/lib/navigation.ts +18 -33
  42. package/src/lib/pagination.ts +3 -2
  43. package/src/lib/post-form-bridge.ts +136 -0
  44. package/src/lib/render.tsx +11 -4
  45. package/src/lib/resolve-config.ts +157 -0
  46. package/src/lib/schemas.ts +76 -12
  47. package/src/lib/settings-bridge.ts +139 -0
  48. package/src/lib/storage.ts +37 -16
  49. package/src/lib/theme.ts +5 -7
  50. package/src/lib/timeline.ts +4 -8
  51. package/src/lib/toast.ts +134 -0
  52. package/src/lib/upload.ts +71 -0
  53. package/src/lib/url.ts +9 -1
  54. package/src/lib/version.ts +16 -0
  55. package/src/lib/view.ts +9 -10
  56. package/src/middleware/__tests__/auth.test.ts +6 -28
  57. package/src/middleware/__tests__/onboarding.test.ts +1 -1
  58. package/src/middleware/auth.ts +6 -12
  59. package/src/middleware/config.ts +51 -0
  60. package/src/middleware/error-handler.ts +56 -0
  61. package/src/middleware/onboarding.ts +1 -1
  62. package/src/preset.css +6 -0
  63. package/src/routes/__tests__/compose.test.ts +104 -17
  64. package/src/routes/api/__tests__/collections.test.ts +93 -2
  65. package/src/routes/api/__tests__/posts.test.ts +2 -1
  66. package/src/routes/api/__tests__/settings.test.ts +1 -1
  67. package/src/routes/api/collections.ts +64 -68
  68. package/src/routes/api/nav-items.ts +21 -59
  69. package/src/routes/api/pages.ts +18 -46
  70. package/src/routes/api/posts.ts +64 -86
  71. package/src/routes/api/search.ts +6 -4
  72. package/src/routes/api/settings.ts +8 -24
  73. package/src/routes/api/upload.ts +55 -53
  74. package/src/routes/auth/__tests__/setup.test.ts +118 -0
  75. package/src/routes/auth/reset.tsx +17 -66
  76. package/src/routes/auth/setup.tsx +67 -11
  77. package/src/routes/auth/signin.tsx +44 -8
  78. package/src/routes/compose.tsx +194 -0
  79. package/src/routes/dash/__tests__/font-theme.test.ts +110 -0
  80. package/src/routes/dash/__tests__/pages.test.ts +2 -2
  81. package/src/routes/dash/__tests__/settings-avatar.test.ts +23 -12
  82. package/src/routes/dash/appearance.tsx +173 -0
  83. package/src/routes/dash/collections.tsx +80 -14
  84. package/src/routes/dash/index.tsx +12 -14
  85. package/src/routes/dash/media.tsx +46 -49
  86. package/src/routes/dash/pages.tsx +85 -37
  87. package/src/routes/dash/posts.tsx +60 -23
  88. package/src/routes/dash/redirects.tsx +43 -33
  89. package/src/routes/dash/settings.tsx +234 -214
  90. package/src/routes/feed/__tests__/rss.test.ts +7 -3
  91. package/src/routes/feed/rss.ts +11 -16
  92. package/src/routes/feed/sitemap.ts +15 -9
  93. package/src/routes/pages/__tests__/collections.test.ts +9 -8
  94. package/src/routes/pages/archive.tsx +2 -2
  95. package/src/routes/pages/collection.tsx +76 -9
  96. package/src/routes/pages/collections.tsx +3 -1
  97. package/src/routes/pages/featured.tsx +2 -2
  98. package/src/routes/pages/home.tsx +3 -3
  99. package/src/routes/pages/latest.tsx +2 -2
  100. package/src/routes/pages/page.tsx +2 -2
  101. package/src/routes/pages/post.tsx +2 -2
  102. package/src/routes/pages/search.tsx +2 -2
  103. package/src/services/__tests__/collection.test.ts +324 -34
  104. package/src/services/__tests__/media.test.ts +1 -1
  105. package/src/services/__tests__/page.test.ts +116 -1
  106. package/src/services/auth.ts +88 -0
  107. package/src/services/collection.ts +169 -30
  108. package/src/services/index.ts +8 -3
  109. package/src/services/media.ts +39 -12
  110. package/src/services/navigation.ts +17 -5
  111. package/src/services/page.ts +24 -4
  112. package/src/services/post.ts +87 -19
  113. package/src/services/search.ts +0 -1
  114. package/src/services/settings.ts +21 -13
  115. package/src/style.css +3 -0
  116. package/src/styles/components.css +42 -1
  117. package/src/styles/tokens.css +4 -0
  118. package/src/styles/ui.css +902 -73
  119. package/src/types/app-context.ts +25 -0
  120. package/src/types/bindings.ts +1 -0
  121. package/src/types/config.ts +60 -23
  122. package/src/types/entities.ts +12 -2
  123. package/src/types/lingui-react-macro.d.ts +3 -3
  124. package/src/types/operations.ts +2 -4
  125. package/src/types/views.ts +1 -3
  126. package/src/ui/__tests__/font-themes.test.ts +27 -8
  127. package/src/ui/color-themes.ts +1 -1
  128. package/src/ui/components/__tests__/jant-collection-form.test.ts +153 -0
  129. package/src/ui/components/__tests__/jant-compose-dialog.test.ts +512 -0
  130. package/src/ui/components/__tests__/jant-compose-editor.test.ts +272 -0
  131. package/src/ui/components/__tests__/jant-post-form.test.ts +172 -0
  132. package/src/ui/components/__tests__/jant-settings-avatar.test.ts +235 -0
  133. package/src/ui/components/__tests__/jant-settings-general.test.ts +319 -0
  134. package/src/ui/components/collection-types.ts +45 -0
  135. package/src/ui/components/compose-types.ts +75 -0
  136. package/src/ui/components/jant-collection-form.ts +512 -0
  137. package/src/ui/components/jant-compose-dialog.ts +494 -0
  138. package/src/ui/components/jant-compose-editor.ts +799 -0
  139. package/src/ui/components/jant-post-form.ts +290 -0
  140. package/src/ui/components/jant-settings-avatar.ts +231 -0
  141. package/src/ui/components/jant-settings-general.ts +436 -0
  142. package/src/ui/components/post-form-template.ts +260 -0
  143. package/src/ui/components/post-form-types.ts +87 -0
  144. package/src/ui/components/settings-types.ts +62 -0
  145. package/src/ui/compose/ComposeDialog.tsx +141 -385
  146. package/src/ui/compose/ComposePrompt.tsx +3 -3
  147. package/src/ui/dash/PostList.tsx +55 -61
  148. package/src/ui/dash/appearance/AdvancedContent.tsx +80 -0
  149. package/src/ui/dash/appearance/AppearanceNav.tsx +56 -0
  150. package/src/ui/dash/appearance/ColorThemeContent.tsx +129 -0
  151. package/src/ui/dash/appearance/FontThemeContent.tsx +98 -0
  152. package/src/ui/dash/collections/CollectionForm.tsx +130 -117
  153. package/src/ui/dash/collections/CollectionsListContent.tsx +102 -41
  154. package/src/ui/dash/collections/IconPickerGrid.tsx +50 -0
  155. package/src/ui/dash/collections/ViewCollectionContent.tsx +14 -3
  156. package/src/ui/dash/index.ts +1 -1
  157. package/src/ui/dash/posts/PostForm.tsx +248 -0
  158. package/src/ui/dash/settings/AccountContent.tsx +69 -80
  159. package/src/ui/dash/settings/GeneralContent.tsx +159 -478
  160. package/src/ui/dash/settings/SettingsNav.tsx +4 -4
  161. package/src/ui/font-themes.ts +115 -32
  162. package/src/ui/layouts/BaseLayout.tsx +49 -19
  163. package/src/ui/layouts/DashLayout.tsx +14 -9
  164. package/src/ui/layouts/SiteLayout.tsx +38 -23
  165. package/src/ui/pages/CollectionPage.tsx +12 -2
  166. package/src/ui/pages/CollectionsPage.tsx +27 -27
  167. package/src/ui/pages/HomePage.tsx +15 -6
  168. package/src/ui/pages/SearchPage.tsx +1 -2
  169. package/src/ui/shared/CollectionsSidebar.tsx +59 -0
  170. package/src/ui/shared/Pagination.tsx +2 -2
  171. package/dist/app.js +0 -267
  172. package/dist/auth.js +0 -39
  173. package/dist/client.js +0 -13
  174. package/dist/db/index.js +0 -10
  175. package/dist/db/schema.js +0 -224
  176. package/dist/i18n/Trans.js +0 -24
  177. package/dist/i18n/context.js +0 -58
  178. package/dist/i18n/detect.js +0 -26
  179. package/dist/i18n/i18n.js +0 -49
  180. package/dist/i18n/index.js +0 -44
  181. package/dist/i18n/locales/en.js +0 -1
  182. package/dist/i18n/locales/zh-Hans.js +0 -1
  183. package/dist/i18n/locales/zh-Hant.js +0 -1
  184. package/dist/i18n/locales.js +0 -13
  185. package/dist/i18n/middleware.js +0 -30
  186. package/dist/lib/avatar-upload.js +0 -134
  187. package/dist/lib/config.js +0 -143
  188. package/dist/lib/constants.js +0 -50
  189. package/dist/lib/excerpt.js +0 -76
  190. package/dist/lib/favicon.js +0 -102
  191. package/dist/lib/feed.js +0 -123
  192. package/dist/lib/image-processor.js +0 -187
  193. package/dist/lib/image.js +0 -97
  194. package/dist/lib/index.js +0 -7
  195. package/dist/lib/markdown.js +0 -83
  196. package/dist/lib/media-helpers.js +0 -49
  197. package/dist/lib/media-upload.js +0 -104
  198. package/dist/lib/nav-reorder.js +0 -27
  199. package/dist/lib/navigation.js +0 -79
  200. package/dist/lib/pagination.js +0 -44
  201. package/dist/lib/render.js +0 -53
  202. package/dist/lib/schemas.js +0 -174
  203. package/dist/lib/sqid.js +0 -72
  204. package/dist/lib/sse.js +0 -218
  205. package/dist/lib/storage.js +0 -164
  206. package/dist/lib/theme.js +0 -65
  207. package/dist/lib/time.js +0 -159
  208. package/dist/lib/timeline.js +0 -95
  209. package/dist/lib/timezones.js +0 -388
  210. package/dist/lib/url.js +0 -89
  211. package/dist/lib/view.js +0 -217
  212. package/dist/middleware/auth.js +0 -52
  213. package/dist/middleware/onboarding.js +0 -41
  214. package/dist/routes/api/collections.js +0 -124
  215. package/dist/routes/api/nav-items.js +0 -104
  216. package/dist/routes/api/pages.js +0 -91
  217. package/dist/routes/api/posts.js +0 -218
  218. package/dist/routes/api/search.js +0 -48
  219. package/dist/routes/api/settings.js +0 -68
  220. package/dist/routes/api/upload.js +0 -246
  221. package/dist/routes/auth/reset.js +0 -221
  222. package/dist/routes/auth/setup.js +0 -194
  223. package/dist/routes/auth/signin.js +0 -176
  224. package/dist/routes/compose.js +0 -48
  225. package/dist/routes/dash/collections.js +0 -115
  226. package/dist/routes/dash/index.js +0 -118
  227. package/dist/routes/dash/media.js +0 -106
  228. package/dist/routes/dash/pages.js +0 -294
  229. package/dist/routes/dash/posts.js +0 -244
  230. package/dist/routes/dash/redirects.js +0 -257
  231. package/dist/routes/dash/settings.js +0 -379
  232. package/dist/routes/feed/rss.js +0 -62
  233. package/dist/routes/feed/sitemap.js +0 -49
  234. package/dist/routes/pages/archive.js +0 -62
  235. package/dist/routes/pages/collection.js +0 -34
  236. package/dist/routes/pages/collections.js +0 -28
  237. package/dist/routes/pages/featured.js +0 -36
  238. package/dist/routes/pages/home.js +0 -64
  239. package/dist/routes/pages/latest.js +0 -45
  240. package/dist/routes/pages/page.js +0 -68
  241. package/dist/routes/pages/post.js +0 -44
  242. package/dist/routes/pages/search.js +0 -54
  243. package/dist/services/collection.js +0 -109
  244. package/dist/services/index.js +0 -24
  245. package/dist/services/media.js +0 -117
  246. package/dist/services/navigation.js +0 -91
  247. package/dist/services/page.js +0 -84
  248. package/dist/services/post.js +0 -229
  249. package/dist/services/redirect.js +0 -48
  250. package/dist/services/search.js +0 -67
  251. package/dist/services/settings.js +0 -68
  252. package/dist/types/bindings.js +0 -3
  253. package/dist/types/config.js +0 -147
  254. package/dist/types/constants.js +0 -27
  255. package/dist/types/entities.js +0 -3
  256. package/dist/types/lingui-react-macro.d.js +0 -9
  257. package/dist/types/operations.js +0 -3
  258. package/dist/types/props.js +0 -3
  259. package/dist/types/sortablejs.d.js +0 -5
  260. package/dist/types/views.js +0 -5
  261. package/dist/types.js +0 -11
  262. package/dist/ui/color-themes.js +0 -268
  263. package/dist/ui/compose/ComposeDialog.js +0 -467
  264. package/dist/ui/compose/ComposePrompt.js +0 -55
  265. package/dist/ui/dash/ActionButtons.js +0 -46
  266. package/dist/ui/dash/CrudPageHeader.js +0 -22
  267. package/dist/ui/dash/DangerZone.js +0 -36
  268. package/dist/ui/dash/FormatBadge.js +0 -27
  269. package/dist/ui/dash/ListItemRow.js +0 -21
  270. package/dist/ui/dash/PageForm.js +0 -195
  271. package/dist/ui/dash/PostForm.js +0 -395
  272. package/dist/ui/dash/PostList.js +0 -83
  273. package/dist/ui/dash/StatusBadge.js +0 -46
  274. package/dist/ui/dash/collections/CollectionForm.js +0 -152
  275. package/dist/ui/dash/collections/CollectionsListContent.js +0 -68
  276. package/dist/ui/dash/collections/ViewCollectionContent.js +0 -96
  277. package/dist/ui/dash/index.js +0 -10
  278. package/dist/ui/dash/media/MediaListContent.js +0 -166
  279. package/dist/ui/dash/media/ViewMediaContent.js +0 -212
  280. package/dist/ui/dash/pages/LinkFormContent.js +0 -130
  281. package/dist/ui/dash/pages/UnifiedPagesContent.js +0 -193
  282. package/dist/ui/dash/settings/AccountContent.js +0 -209
  283. package/dist/ui/dash/settings/AppearanceContent.js +0 -259
  284. package/dist/ui/dash/settings/GeneralContent.js +0 -536
  285. package/dist/ui/dash/settings/SettingsNav.js +0 -41
  286. package/dist/ui/feed/LinkCard.js +0 -72
  287. package/dist/ui/feed/NoteCard.js +0 -58
  288. package/dist/ui/feed/QuoteCard.js +0 -63
  289. package/dist/ui/feed/ThreadPreview.js +0 -48
  290. package/dist/ui/feed/TimelineFeed.js +0 -41
  291. package/dist/ui/feed/TimelineItem.js +0 -27
  292. package/dist/ui/font-themes.js +0 -36
  293. package/dist/ui/layouts/BaseLayout.js +0 -153
  294. package/dist/ui/layouts/DashLayout.js +0 -141
  295. package/dist/ui/layouts/SiteLayout.js +0 -169
  296. package/dist/ui/pages/ArchivePage.js +0 -143
  297. package/dist/ui/pages/CollectionPage.js +0 -70
  298. package/dist/ui/pages/CollectionsPage.js +0 -76
  299. package/dist/ui/pages/FeaturedPage.js +0 -24
  300. package/dist/ui/pages/HomePage.js +0 -24
  301. package/dist/ui/pages/PostPage.js +0 -55
  302. package/dist/ui/pages/SearchPage.js +0 -122
  303. package/dist/ui/pages/SinglePage.js +0 -23
  304. package/dist/ui/shared/EmptyState.js +0 -27
  305. package/dist/ui/shared/MediaGallery.js +0 -35
  306. package/dist/ui/shared/Pagination.js +0 -195
  307. package/dist/ui/shared/ThreadView.js +0 -108
  308. package/dist/ui/shared/index.js +0 -5
  309. package/dist/vendor/datastar.js +0 -1606
  310. package/src/lib/__tests__/config.test.ts +0 -192
  311. package/src/lib/config.ts +0 -167
  312. package/src/routes/compose.ts +0 -63
  313. package/src/ui/dash/PostForm.tsx +0 -360
  314. package/src/ui/dash/settings/AppearanceContent.tsx +0 -254
@@ -1,3 +0,0 @@
1
- /**
2
- * Operation Types (create/update DTOs)
3
- */ export { };
@@ -1,3 +0,0 @@
1
- /**
2
- * Page-Level Props & Feed Data Types
3
- */ /** Props for the timeline feed wrapper */ export { };
@@ -1,5 +0,0 @@
1
- /**
2
- * Minimal type declarations for sortablejs
3
- *
4
- * Only covers the API surface used by nav-reorder.ts.
5
- */
@@ -1,5 +0,0 @@
1
- /**
2
- * View Model Types (render-ready, for theme components)
3
- */ /**
4
- * Site Layout Props
5
- */ export { };
package/dist/types.js DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * Jant Type Definitions (v2)
3
- *
4
- * Barrel re-export from focused submodules.
5
- */ export * from "./types/constants.js";
6
- export * from "./types/bindings.js";
7
- export * from "./types/config.js";
8
- export * from "./types/entities.js";
9
- export * from "./types/operations.js";
10
- export * from "./types/views.js";
11
- export * from "./types/props.js";
@@ -1,268 +0,0 @@
1
- /**
2
- * Built-in Color Themes
3
- *
4
- * Each theme defines CSS variable overrides for light and dark modes,
5
- * plus preview colors for the theme picker UI.
6
- */ /**
7
- * A color theme definition with light and dark mode CSS variable overrides.
8
- */ /**
9
- * Create a comprehensive color theme from key colors.
10
- * Derives card, popover, muted, secondary, accent, and sidebar variables.
11
- */ function defineTheme(opts) {
12
- const { light, dark } = opts;
13
- return {
14
- id: opts.id,
15
- name: opts.name,
16
- preview: opts.preview,
17
- light: {
18
- "--background": light.bg,
19
- "--foreground": light.fg,
20
- "--card": light.bg,
21
- "--card-foreground": light.fg,
22
- "--popover": light.bg,
23
- "--popover-foreground": light.fg,
24
- "--primary": light.primary,
25
- "--primary-foreground": light.primaryFg,
26
- "--secondary": light.muted,
27
- "--secondary-foreground": light.fg,
28
- "--muted": light.muted,
29
- "--muted-foreground": light.mutedFg,
30
- "--accent": light.muted,
31
- "--accent-foreground": light.fg,
32
- "--border": light.border,
33
- "--input": light.border,
34
- "--ring": light.primary,
35
- "--sidebar": light.bg,
36
- "--sidebar-foreground": light.fg,
37
- "--sidebar-primary": light.primary,
38
- "--sidebar-primary-foreground": light.primaryFg,
39
- "--sidebar-accent": light.muted,
40
- "--sidebar-accent-foreground": light.fg,
41
- "--sidebar-border": light.border,
42
- "--sidebar-ring": light.primary
43
- },
44
- dark: {
45
- "--background": dark.bg,
46
- "--foreground": dark.fg,
47
- "--card": dark.bg,
48
- "--card-foreground": dark.fg,
49
- "--popover": dark.bg,
50
- "--popover-foreground": dark.fg,
51
- "--primary": dark.primary,
52
- "--primary-foreground": dark.primaryFg,
53
- "--secondary": dark.muted,
54
- "--secondary-foreground": dark.fg,
55
- "--muted": dark.muted,
56
- "--muted-foreground": dark.mutedFg,
57
- "--accent": dark.muted,
58
- "--accent-foreground": dark.fg,
59
- "--border": dark.border,
60
- "--input": dark.border,
61
- "--ring": dark.primary,
62
- "--sidebar": dark.bg,
63
- "--sidebar-foreground": dark.fg,
64
- "--sidebar-primary": dark.primary,
65
- "--sidebar-primary-foreground": dark.primaryFg,
66
- "--sidebar-accent": dark.muted,
67
- "--sidebar-accent-foreground": dark.fg,
68
- "--sidebar-border": dark.border,
69
- "--sidebar-ring": dark.primary
70
- }
71
- };
72
- }
73
- export const BUILTIN_COLOR_THEMES = [
74
- defineTheme({
75
- id: "halloween",
76
- name: "Halloween",
77
- preview: {
78
- lightBg: "#f9f2e3",
79
- lightText: "#352200",
80
- lightLink: "#b84400",
81
- darkBg: "#1e1000",
82
- darkText: "#dfc390",
83
- darkLink: "#ff8c00"
84
- },
85
- light: {
86
- bg: "oklch(0.97 0.015 75)",
87
- fg: "oklch(0.25 0.04 55)",
88
- primary: "oklch(0.47 0.17 50)",
89
- primaryFg: "oklch(0.98 0.01 75)",
90
- muted: "oklch(0.93 0.02 75)",
91
- mutedFg: "oklch(0.5 0.025 55)",
92
- border: "oklch(0.88 0.025 75)"
93
- },
94
- dark: {
95
- bg: "oklch(0.16 0.03 50)",
96
- fg: "oklch(0.85 0.025 75)",
97
- primary: "oklch(0.72 0.19 55)",
98
- primaryFg: "oklch(0.14 0.03 50)",
99
- muted: "oklch(0.22 0.025 50)",
100
- mutedFg: "oklch(0.62 0.02 75)",
101
- border: "oklch(0.28 0.025 50)"
102
- }
103
- }),
104
- {
105
- id: "default",
106
- name: "Panda",
107
- light: {},
108
- dark: {},
109
- preview: {
110
- lightBg: "#ffffff",
111
- lightText: "#1e1e1e",
112
- lightLink: "#1e1e1e",
113
- darkBg: "#262626",
114
- darkText: "#fafafa",
115
- darkLink: "#eaeaea"
116
- }
117
- },
118
- defineTheme({
119
- id: "beach",
120
- name: "Beach",
121
- preview: {
122
- lightBg: "#f9f3ea",
123
- lightText: "#3d3527",
124
- lightLink: "#2d6a59",
125
- darkBg: "#2d4553",
126
- darkText: "#e2d6c4",
127
- darkLink: "#7cc5a2"
128
- },
129
- light: {
130
- bg: "oklch(0.97 0.01 85)",
131
- fg: "oklch(0.28 0.02 65)",
132
- primary: "oklch(0.46 0.1 170)",
133
- primaryFg: "oklch(0.98 0.005 85)",
134
- muted: "oklch(0.93 0.015 85)",
135
- mutedFg: "oklch(0.52 0.015 65)",
136
- border: "oklch(0.88 0.018 85)"
137
- },
138
- dark: {
139
- bg: "oklch(0.27 0.03 210)",
140
- fg: "oklch(0.88 0.015 80)",
141
- primary: "oklch(0.72 0.1 165)",
142
- primaryFg: "oklch(0.22 0.03 210)",
143
- muted: "oklch(0.33 0.025 210)",
144
- mutedFg: "oklch(0.65 0.015 80)",
145
- border: "oklch(0.38 0.02 210)"
146
- }
147
- }),
148
- defineTheme({
149
- id: "gameboy",
150
- name: "Gameboy",
151
- preview: {
152
- lightBg: "#d3d7c0",
153
- lightText: "#2b3326",
154
- lightLink: "#466740",
155
- darkBg: "#1b1f18",
156
- darkText: "#a6b09a",
157
- darkLink: "#6d9660"
158
- },
159
- light: {
160
- bg: "oklch(0.87 0.03 130)",
161
- fg: "oklch(0.25 0.04 140)",
162
- primary: "oklch(0.4 0.08 145)",
163
- primaryFg: "oklch(0.92 0.02 130)",
164
- muted: "oklch(0.83 0.035 130)",
165
- mutedFg: "oklch(0.48 0.03 140)",
166
- border: "oklch(0.79 0.035 130)"
167
- },
168
- dark: {
169
- bg: "oklch(0.18 0.02 140)",
170
- fg: "oklch(0.78 0.025 130)",
171
- primary: "oklch(0.6 0.08 145)",
172
- primaryFg: "oklch(0.15 0.02 140)",
173
- muted: "oklch(0.24 0.02 140)",
174
- mutedFg: "oklch(0.58 0.02 130)",
175
- border: "oklch(0.3 0.02 140)"
176
- }
177
- }),
178
- defineTheme({
179
- id: "grayscale",
180
- name: "Grayscale",
181
- preview: {
182
- lightBg: "#efefef",
183
- lightText: "#3a3a3a",
184
- lightLink: "#555555",
185
- darkBg: "#1e1e1e",
186
- darkText: "#c8c8c8",
187
- darkLink: "#999999"
188
- },
189
- light: {
190
- bg: "oklch(0.96 0 0)",
191
- fg: "oklch(0.3 0 0)",
192
- primary: "oklch(0.4 0 0)",
193
- primaryFg: "oklch(0.96 0 0)",
194
- muted: "oklch(0.92 0 0)",
195
- mutedFg: "oklch(0.55 0 0)",
196
- border: "oklch(0.87 0 0)"
197
- },
198
- dark: {
199
- bg: "oklch(0.18 0 0)",
200
- fg: "oklch(0.82 0 0)",
201
- primary: "oklch(0.7 0 0)",
202
- primaryFg: "oklch(0.18 0 0)",
203
- muted: "oklch(0.24 0 0)",
204
- mutedFg: "oklch(0.6 0 0)",
205
- border: "oklch(0.3 0 0)"
206
- }
207
- }),
208
- defineTheme({
209
- id: "notepad",
210
- name: "Notepad",
211
- preview: {
212
- lightBg: "#fdfce8",
213
- lightText: "#333333",
214
- lightLink: "#2060b8",
215
- darkBg: "#2a291a",
216
- darkText: "#d2d2b8",
217
- darkLink: "#6695cc"
218
- },
219
- light: {
220
- bg: "oklch(0.985 0.018 95)",
221
- fg: "oklch(0.27 0 0)",
222
- primary: "oklch(0.5 0.17 260)",
223
- primaryFg: "oklch(0.985 0.01 95)",
224
- muted: "oklch(0.94 0.022 95)",
225
- mutedFg: "oklch(0.52 0 0)",
226
- border: "oklch(0.88 0.025 95)"
227
- },
228
- dark: {
229
- bg: "oklch(0.2 0.02 90)",
230
- fg: "oklch(0.87 0.015 95)",
231
- primary: "oklch(0.65 0.14 260)",
232
- primaryFg: "oklch(0.98 0.01 95)",
233
- muted: "oklch(0.26 0.018 90)",
234
- mutedFg: "oklch(0.62 0.012 95)",
235
- border: "oklch(0.32 0.018 90)"
236
- }
237
- }),
238
- defineTheme({
239
- id: "sonnet",
240
- name: "Sonnet",
241
- preview: {
242
- lightBg: "#f7eef5",
243
- lightText: "#2e1e2c",
244
- lightLink: "#7a30a8",
245
- darkBg: "#1d1428",
246
- darkText: "#d4c2d0",
247
- darkLink: "#c080fc"
248
- },
249
- light: {
250
- bg: "oklch(0.97 0.012 325)",
251
- fg: "oklch(0.25 0.02 310)",
252
- primary: "oklch(0.45 0.2 300)",
253
- primaryFg: "oklch(0.98 0.008 325)",
254
- muted: "oklch(0.93 0.016 325)",
255
- mutedFg: "oklch(0.52 0.015 310)",
256
- border: "oklch(0.88 0.016 325)"
257
- },
258
- dark: {
259
- bg: "oklch(0.18 0.025 300)",
260
- fg: "oklch(0.87 0.012 325)",
261
- primary: "oklch(0.72 0.18 300)",
262
- primaryFg: "oklch(0.98 0.008 325)",
263
- muted: "oklch(0.24 0.022 300)",
264
- mutedFg: "oklch(0.62 0.012 325)",
265
- border: "oklch(0.3 0.022 300)"
266
- }
267
- })
268
- ];