@opencode-ai/ui 0.0.0-dev-202606260805 → 0.0.0-dev-202606260844

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 (119) hide show
  1. package/dist/components/accordion.d.ts +24 -0
  2. package/dist/components/animated-number.d.ts +4 -0
  3. package/dist/components/app-icon.d.ts +6 -0
  4. package/dist/components/app-icons/types.d.ts +2 -0
  5. package/dist/components/avatar.d.ts +9 -0
  6. package/dist/components/button.d.ts +9 -0
  7. package/dist/components/card.d.ts +22 -0
  8. package/dist/components/checkbox.d.ts +8 -0
  9. package/dist/components/collapsible.d.ts +17 -0
  10. package/dist/components/context-menu.d.ts +80 -0
  11. package/dist/components/dialog.d.ts +12 -0
  12. package/dist/components/diff-changes.d.ts +11 -0
  13. package/dist/components/dock-surface.d.ts +7 -0
  14. package/dist/components/dropdown-menu.d.ts +80 -0
  15. package/dist/components/favicon.d.ts +1 -0
  16. package/dist/components/file-icon.d.ts +12 -0
  17. package/dist/components/file-icons/types.d.ts +2 -0
  18. package/dist/components/font.d.ts +1 -0
  19. package/dist/components/hover-card.d.ts +9 -0
  20. package/dist/components/icon-button.d.ts +10 -0
  21. package/dist/components/icon.d.ts +104 -0
  22. package/dist/components/image-preview.d.ts +5 -0
  23. package/dist/components/inline-input.d.ts +5 -0
  24. package/dist/components/keybind.d.ts +6 -0
  25. package/dist/components/list.d.ts +45 -0
  26. package/dist/components/logo.d.ts +8 -0
  27. package/dist/components/motion-spring.d.ts +4 -0
  28. package/dist/components/popover.d.ts +14 -0
  29. package/dist/components/progress-circle.d.ts +7 -0
  30. package/dist/components/progress.d.ts +7 -0
  31. package/dist/components/provider-icon.d.ts +5 -0
  32. package/dist/components/provider-icons/types.d.ts +2 -0
  33. package/dist/components/radio-group.d.ts +16 -0
  34. package/dist/components/resize-handle.d.ts +12 -0
  35. package/dist/components/scroll-view.d.ts +15 -0
  36. package/dist/components/select.d.ts +21 -0
  37. package/dist/components/spinner.d.ts +6 -0
  38. package/dist/components/sticky-accordion-header.d.ts +5 -0
  39. package/dist/components/switch.d.ts +7 -0
  40. package/dist/components/tabs.d.ts +32 -0
  41. package/dist/components/tag.d.ts +5 -0
  42. package/dist/components/text-field.d.ts +13 -0
  43. package/dist/components/text-reveal.d.ts +13 -0
  44. package/dist/components/text-shimmer.d.ts +8 -0
  45. package/dist/components/text-strikethrough.d.ts +11 -0
  46. package/dist/components/toast.d.ts +56 -0
  47. package/dist/components/tooltip.d.ts +17 -0
  48. package/dist/components/typewriter.d.ts +6 -0
  49. package/dist/context/dialog.d.ts +18 -0
  50. package/dist/context/file.d.ts +5 -0
  51. package/dist/context/helper.d.ts +14 -0
  52. package/dist/context/i18n.d.ts +12 -0
  53. package/dist/context/index.d.ts +4 -0
  54. package/dist/context/marked.d.ts +9 -0
  55. package/dist/context/worker-pool.d.ts +9 -0
  56. package/dist/hooks/create-auto-scroll.d.ts +17 -0
  57. package/dist/hooks/index.d.ts +2 -0
  58. package/dist/hooks/use-filtered-list.d.ts +39 -0
  59. package/dist/i18n/ar.d.ts +148 -0
  60. package/dist/i18n/br.d.ts +148 -0
  61. package/dist/i18n/bs.d.ts +148 -0
  62. package/dist/i18n/da.d.ts +148 -0
  63. package/dist/i18n/de.d.ts +148 -0
  64. package/dist/i18n/en.d.ts +1 -0
  65. package/dist/i18n/es.d.ts +148 -0
  66. package/dist/i18n/fr.d.ts +148 -0
  67. package/dist/i18n/ja.d.ts +148 -0
  68. package/dist/i18n/ko.d.ts +148 -0
  69. package/dist/i18n/no.d.ts +4 -0
  70. package/dist/i18n/pl.d.ts +148 -0
  71. package/dist/i18n/ru.d.ts +148 -0
  72. package/dist/i18n/th.d.ts +148 -0
  73. package/dist/i18n/tr.d.ts +148 -0
  74. package/dist/i18n/uk.d.ts +1 -0
  75. package/dist/i18n/zh.d.ts +148 -0
  76. package/dist/i18n/zht.d.ts +148 -0
  77. package/dist/storybook/fixtures.d.ts +19 -0
  78. package/dist/storybook/scaffold.d.ts +16 -0
  79. package/dist/theme/color.d.ts +30 -0
  80. package/dist/theme/context.d.ts +21 -0
  81. package/dist/theme/default-themes.d.ts +39 -0
  82. package/dist/theme/index.d.ts +7 -0
  83. package/dist/theme/loader.d.ts +6 -0
  84. package/dist/theme/resolve.d.ts +7 -0
  85. package/dist/theme/types.d.ts +56 -0
  86. package/dist/theme/v2/avatar.d.ts +5 -0
  87. package/dist/theme/v2/default-primitives.d.ts +3 -0
  88. package/dist/theme/v2/foreground.d.ts +2 -0
  89. package/dist/theme/v2/mapping.d.ts +3 -0
  90. package/dist/theme/v2/resolve.d.ts +9 -0
  91. package/dist/v2/components/accordion-v2.d.ts +26 -0
  92. package/dist/v2/components/avatar-v2.d.ts +11 -0
  93. package/dist/v2/components/badge-v2.d.ts +5 -0
  94. package/dist/v2/components/button-v2.d.ts +10 -0
  95. package/dist/v2/components/checkbox-v2.d.ts +10 -0
  96. package/dist/v2/components/dialog-v2.d.ts +14 -0
  97. package/dist/v2/components/diff-changes-v2.d.ts +11 -0
  98. package/dist/v2/components/field-v2.d.ts +28 -0
  99. package/dist/v2/components/icon-button-v2.d.ts +11 -0
  100. package/dist/v2/components/icon.d.ts +81 -0
  101. package/dist/v2/components/inline-input-v2.d.ts +21 -0
  102. package/dist/v2/components/keybind-v2.d.ts +7 -0
  103. package/dist/v2/components/line-comment-v2.d.ts +28 -0
  104. package/dist/v2/components/menu-v2.d.ts +52 -0
  105. package/dist/v2/components/project-avatar-v2.d.ts +11 -0
  106. package/dist/v2/components/radio-v2.d.ts +16 -0
  107. package/dist/v2/components/segmented-control-v2.d.ts +21 -0
  108. package/dist/v2/components/select-v2.d.ts +24 -0
  109. package/dist/v2/components/switch-v2.d.ts +7 -0
  110. package/dist/v2/components/tab-state-indicator.d.ts +2 -0
  111. package/dist/v2/components/tabs-v2.d.ts +34 -0
  112. package/dist/v2/components/text-input-v2.d.ts +17 -0
  113. package/dist/v2/components/text-shimmer-v2.d.ts +9 -0
  114. package/dist/v2/components/textarea-v2.d.ts +7 -0
  115. package/dist/v2/components/toast-v2.d.ts +48 -0
  116. package/dist/v2/components/tooltip-v2.d.ts +13 -0
  117. package/dist/v2/components/wordmark-v2.d.ts +2 -0
  118. package/package.json +59 -15
  119. package/src/styles/tailwind/colors.css +1 -1
@@ -0,0 +1,148 @@
1
+ export declare const dict: {
2
+ "ui.sessionReview.title": string;
3
+ "ui.sessionReview.title.lastTurn": string;
4
+ "ui.sessionReview.diffStyle.unified": string;
5
+ "ui.sessionReview.diffStyle.split": string;
6
+ "ui.sessionReview.openFile": string;
7
+ "ui.sessionReview.selection.line": string;
8
+ "ui.sessionReview.selection.lines": string;
9
+ "ui.sessionReview.expandAll": string;
10
+ "ui.sessionReview.collapseAll": string;
11
+ "ui.sessionReview.change.added": string;
12
+ "ui.sessionReview.change.removed": string;
13
+ "ui.sessionReview.change.modified": string;
14
+ "ui.sessionReview.image.loading": string;
15
+ "ui.sessionReview.image.placeholder": string;
16
+ "ui.sessionReview.largeDiff.title": string;
17
+ "ui.sessionReview.largeDiff.meta": string;
18
+ "ui.sessionReview.largeDiff.renderAnyway": string;
19
+ "ui.fileMedia.kind.image": string;
20
+ "ui.fileMedia.kind.audio": string;
21
+ "ui.fileMedia.state.removed": string;
22
+ "ui.fileMedia.state.loading": string;
23
+ "ui.fileMedia.state.error": string;
24
+ "ui.fileMedia.state.unavailable": string;
25
+ "ui.fileMedia.binary.title": string;
26
+ "ui.fileMedia.binary.description.path": string;
27
+ "ui.fileMedia.binary.description.default": string;
28
+ "ui.lineComment.label.prefix": string;
29
+ "ui.lineComment.label.suffix": string;
30
+ "ui.lineComment.editorLabel.prefix": string;
31
+ "ui.lineComment.editorLabel.suffix": string;
32
+ "ui.lineComment.placeholder": string;
33
+ "ui.lineComment.submit": string;
34
+ "ui.sessionTurn.steps.show": string;
35
+ "ui.sessionTurn.steps.hide": string;
36
+ "ui.sessionTurn.summary.response": string;
37
+ "ui.sessionTurn.diff.showMore": string;
38
+ "ui.sessionTurn.retry.retrying": string;
39
+ "ui.sessionTurn.retry.inSeconds": string;
40
+ "ui.sessionTurn.retry.attempt": string;
41
+ "ui.sessionTurn.retry.attemptLine": string;
42
+ "ui.sessionTurn.retry.geminiHot": string;
43
+ "ui.sessionTurn.error.freeUsageExceeded": string;
44
+ "ui.sessionTurn.error.addCredits": string;
45
+ "dialog.usageExceeded.freeTier.title": string;
46
+ "dialog.usageExceeded.freeTier.description": string;
47
+ "dialog.usageExceeded.freeTier.actionLabel": string;
48
+ "dialog.usageExceeded.accountRateLimit.title": string;
49
+ "dialog.usageExceeded.accountRateLimit.description": string;
50
+ "dialog.usageExceeded.accountRateLimit.actionLabel": string;
51
+ "ui.sessionTurn.status.delegating": string;
52
+ "ui.sessionTurn.status.planning": string;
53
+ "ui.sessionTurn.status.gatheringContext": string;
54
+ "ui.sessionTurn.status.gatheredContext": string;
55
+ "ui.sessionTurn.status.searchingCodebase": string;
56
+ "ui.sessionTurn.status.searchingWeb": string;
57
+ "ui.sessionTurn.status.makingEdits": string;
58
+ "ui.sessionTurn.status.runningCommands": string;
59
+ "ui.sessionTurn.status.thinking": string;
60
+ "ui.sessionTurn.status.thinkingWithTopic": string;
61
+ "ui.sessionTurn.status.gatheringThoughts": string;
62
+ "ui.sessionTurn.status.consideringNextSteps": string;
63
+ "ui.messagePart.questions.dismissed": string;
64
+ "ui.messagePart.compaction": string;
65
+ "ui.messagePart.context.read.one": string;
66
+ "ui.messagePart.context.read.other": string;
67
+ "ui.messagePart.context.search.one": string;
68
+ "ui.messagePart.context.search.other": string;
69
+ "ui.messagePart.context.list.one": string;
70
+ "ui.messagePart.context.list.other": string;
71
+ "ui.messagePart.diagnostic.error": string;
72
+ "ui.messagePart.title.edit": string;
73
+ "ui.messagePart.title.write": string;
74
+ "ui.messagePart.option.typeOwnAnswer": string;
75
+ "ui.messagePart.review.title": string;
76
+ "ui.list.loading": string;
77
+ "ui.list.empty": string;
78
+ "ui.list.clearFilter": string;
79
+ "ui.list.emptyWithFilter.prefix": string;
80
+ "ui.list.emptyWithFilter.suffix": string;
81
+ "ui.messageNav.newMessage": string;
82
+ "ui.textField.copyToClipboard": string;
83
+ "ui.textField.copyLink": string;
84
+ "ui.textField.copied": string;
85
+ "ui.imagePreview.alt": string;
86
+ "ui.scrollView.ariaLabel": string;
87
+ "ui.tool.read": string;
88
+ "ui.tool.loaded": string;
89
+ "ui.tool.list": string;
90
+ "ui.tool.glob": string;
91
+ "ui.tool.grep": string;
92
+ "ui.tool.webfetch": string;
93
+ "ui.tool.websearch": string;
94
+ "ui.tool.shell": string;
95
+ "ui.tool.patch": string;
96
+ "ui.tool.todos": string;
97
+ "ui.tool.todos.read": string;
98
+ "ui.tool.questions": string;
99
+ "ui.tool.agent": string;
100
+ "ui.tool.agent.default": string;
101
+ "ui.common.file.one": string;
102
+ "ui.common.file.other": string;
103
+ "ui.common.question.one": string;
104
+ "ui.common.question.other": string;
105
+ "ui.common.add": string;
106
+ "ui.common.back": string;
107
+ "ui.common.cancel": string;
108
+ "ui.common.confirm": string;
109
+ "ui.common.dismiss": string;
110
+ "ui.common.close": string;
111
+ "ui.common.next": string;
112
+ "ui.common.submit": string;
113
+ "ui.permission.deny": string;
114
+ "ui.permission.allowAlways": string;
115
+ "ui.permission.allowOnce": string;
116
+ "ui.message.expand": string;
117
+ "ui.message.collapse": string;
118
+ "ui.message.copy": string;
119
+ "ui.message.copyMessage": string;
120
+ "ui.message.forkMessage": string;
121
+ "ui.message.revertMessage": string;
122
+ "ui.message.copyResponse": string;
123
+ "ui.message.copied": string;
124
+ "ui.message.interrupted": string;
125
+ "ui.message.queued": string;
126
+ "ui.message.attachment.alt": string;
127
+ "ui.patch.action.deleted": string;
128
+ "ui.patch.action.created": string;
129
+ "ui.patch.action.moved": string;
130
+ "ui.patch.action.patched": string;
131
+ "ui.question.subtitle.answered": string;
132
+ "ui.question.answer.none": string;
133
+ "ui.question.review.notAnswered": string;
134
+ "ui.question.multiHint": string;
135
+ "ui.question.singleHint": string;
136
+ "ui.question.custom.placeholder": string;
137
+ "ui.fileSearch.placeholder": string;
138
+ "ui.fileSearch.previousMatch": string;
139
+ "ui.fileSearch.nextMatch": string;
140
+ "ui.fileSearch.close": string;
141
+ "ui.tool.task": string;
142
+ "ui.tool.skill": string;
143
+ "ui.basicTool.called": string;
144
+ "ui.toolErrorCard.failed": string;
145
+ "ui.toolErrorCard.copyError": string;
146
+ "ui.message.duration.seconds": string;
147
+ "ui.message.duration.minutesSeconds": string;
148
+ };
@@ -0,0 +1,148 @@
1
+ export declare const dict: {
2
+ "ui.sessionReview.title": string;
3
+ "ui.sessionReview.title.lastTurn": string;
4
+ "ui.sessionReview.diffStyle.unified": string;
5
+ "ui.sessionReview.diffStyle.split": string;
6
+ "ui.sessionReview.openFile": string;
7
+ "ui.sessionReview.selection.line": string;
8
+ "ui.sessionReview.selection.lines": string;
9
+ "ui.sessionReview.expandAll": string;
10
+ "ui.sessionReview.collapseAll": string;
11
+ "ui.sessionReview.change.added": string;
12
+ "ui.sessionReview.change.removed": string;
13
+ "ui.sessionReview.change.modified": string;
14
+ "ui.sessionReview.image.loading": string;
15
+ "ui.sessionReview.image.placeholder": string;
16
+ "ui.sessionReview.largeDiff.title": string;
17
+ "ui.sessionReview.largeDiff.meta": string;
18
+ "ui.sessionReview.largeDiff.renderAnyway": string;
19
+ "ui.fileMedia.kind.image": string;
20
+ "ui.fileMedia.kind.audio": string;
21
+ "ui.fileMedia.state.removed": string;
22
+ "ui.fileMedia.state.loading": string;
23
+ "ui.fileMedia.state.error": string;
24
+ "ui.fileMedia.state.unavailable": string;
25
+ "ui.fileMedia.binary.title": string;
26
+ "ui.fileMedia.binary.description.path": string;
27
+ "ui.fileMedia.binary.description.default": string;
28
+ "ui.lineComment.label.prefix": string;
29
+ "ui.lineComment.label.suffix": string;
30
+ "ui.lineComment.editorLabel.prefix": string;
31
+ "ui.lineComment.editorLabel.suffix": string;
32
+ "ui.lineComment.placeholder": string;
33
+ "ui.lineComment.submit": string;
34
+ "ui.sessionTurn.steps.show": string;
35
+ "ui.sessionTurn.steps.hide": string;
36
+ "ui.sessionTurn.summary.response": string;
37
+ "ui.sessionTurn.diff.showMore": string;
38
+ "ui.sessionTurn.retry.retrying": string;
39
+ "ui.sessionTurn.retry.inSeconds": string;
40
+ "ui.sessionTurn.retry.attempt": string;
41
+ "ui.sessionTurn.retry.attemptLine": string;
42
+ "ui.sessionTurn.retry.geminiHot": string;
43
+ "ui.sessionTurn.error.freeUsageExceeded": string;
44
+ "ui.sessionTurn.error.addCredits": string;
45
+ "dialog.usageExceeded.freeTier.title": string;
46
+ "dialog.usageExceeded.freeTier.description": string;
47
+ "dialog.usageExceeded.freeTier.actionLabel": string;
48
+ "dialog.usageExceeded.accountRateLimit.title": string;
49
+ "dialog.usageExceeded.accountRateLimit.description": string;
50
+ "dialog.usageExceeded.accountRateLimit.actionLabel": string;
51
+ "ui.sessionTurn.status.delegating": string;
52
+ "ui.sessionTurn.status.planning": string;
53
+ "ui.sessionTurn.status.gatheringContext": string;
54
+ "ui.sessionTurn.status.gatheredContext": string;
55
+ "ui.sessionTurn.status.searchingCodebase": string;
56
+ "ui.sessionTurn.status.searchingWeb": string;
57
+ "ui.sessionTurn.status.makingEdits": string;
58
+ "ui.sessionTurn.status.runningCommands": string;
59
+ "ui.sessionTurn.status.thinking": string;
60
+ "ui.sessionTurn.status.thinkingWithTopic": string;
61
+ "ui.sessionTurn.status.gatheringThoughts": string;
62
+ "ui.sessionTurn.status.consideringNextSteps": string;
63
+ "ui.messagePart.questions.dismissed": string;
64
+ "ui.messagePart.compaction": string;
65
+ "ui.messagePart.context.read.one": string;
66
+ "ui.messagePart.context.read.other": string;
67
+ "ui.messagePart.context.search.one": string;
68
+ "ui.messagePart.context.search.other": string;
69
+ "ui.messagePart.context.list.one": string;
70
+ "ui.messagePart.context.list.other": string;
71
+ "ui.messagePart.diagnostic.error": string;
72
+ "ui.messagePart.title.edit": string;
73
+ "ui.messagePart.title.write": string;
74
+ "ui.messagePart.option.typeOwnAnswer": string;
75
+ "ui.messagePart.review.title": string;
76
+ "ui.list.loading": string;
77
+ "ui.list.empty": string;
78
+ "ui.list.clearFilter": string;
79
+ "ui.list.emptyWithFilter.prefix": string;
80
+ "ui.list.emptyWithFilter.suffix": string;
81
+ "ui.messageNav.newMessage": string;
82
+ "ui.textField.copyToClipboard": string;
83
+ "ui.textField.copyLink": string;
84
+ "ui.textField.copied": string;
85
+ "ui.imagePreview.alt": string;
86
+ "ui.scrollView.ariaLabel": string;
87
+ "ui.tool.read": string;
88
+ "ui.tool.loaded": string;
89
+ "ui.tool.list": string;
90
+ "ui.tool.glob": string;
91
+ "ui.tool.grep": string;
92
+ "ui.tool.webfetch": string;
93
+ "ui.tool.websearch": string;
94
+ "ui.tool.shell": string;
95
+ "ui.tool.patch": string;
96
+ "ui.tool.todos": string;
97
+ "ui.tool.todos.read": string;
98
+ "ui.tool.questions": string;
99
+ "ui.tool.agent": string;
100
+ "ui.tool.agent.default": string;
101
+ "ui.common.file.one": string;
102
+ "ui.common.file.other": string;
103
+ "ui.common.question.one": string;
104
+ "ui.common.question.other": string;
105
+ "ui.common.add": string;
106
+ "ui.common.back": string;
107
+ "ui.common.cancel": string;
108
+ "ui.common.confirm": string;
109
+ "ui.common.dismiss": string;
110
+ "ui.common.close": string;
111
+ "ui.common.next": string;
112
+ "ui.common.submit": string;
113
+ "ui.permission.deny": string;
114
+ "ui.permission.allowAlways": string;
115
+ "ui.permission.allowOnce": string;
116
+ "ui.message.expand": string;
117
+ "ui.message.collapse": string;
118
+ "ui.message.copy": string;
119
+ "ui.message.copyMessage": string;
120
+ "ui.message.forkMessage": string;
121
+ "ui.message.revertMessage": string;
122
+ "ui.message.copyResponse": string;
123
+ "ui.message.copied": string;
124
+ "ui.message.interrupted": string;
125
+ "ui.message.queued": string;
126
+ "ui.message.attachment.alt": string;
127
+ "ui.patch.action.deleted": string;
128
+ "ui.patch.action.created": string;
129
+ "ui.patch.action.moved": string;
130
+ "ui.patch.action.patched": string;
131
+ "ui.question.subtitle.answered": string;
132
+ "ui.question.answer.none": string;
133
+ "ui.question.review.notAnswered": string;
134
+ "ui.question.multiHint": string;
135
+ "ui.question.singleHint": string;
136
+ "ui.question.custom.placeholder": string;
137
+ "ui.fileSearch.placeholder": string;
138
+ "ui.fileSearch.previousMatch": string;
139
+ "ui.fileSearch.nextMatch": string;
140
+ "ui.fileSearch.close": string;
141
+ "ui.tool.task": string;
142
+ "ui.tool.skill": string;
143
+ "ui.basicTool.called": string;
144
+ "ui.toolErrorCard.failed": string;
145
+ "ui.toolErrorCard.copyError": string;
146
+ "ui.message.duration.seconds": string;
147
+ "ui.message.duration.minutesSeconds": string;
148
+ };
@@ -0,0 +1,19 @@
1
+ export declare const diff: {
2
+ before: {
3
+ name: string;
4
+ contents: string;
5
+ };
6
+ after: {
7
+ name: string;
8
+ contents: string;
9
+ };
10
+ };
11
+ export declare const code: {
12
+ name: string;
13
+ contents: string;
14
+ };
15
+ export declare const markdown: string;
16
+ export declare const changes: {
17
+ additions: number;
18
+ deletions: number;
19
+ };
@@ -0,0 +1,16 @@
1
+ import { type ValidComponent } from "solid-js";
2
+ export declare function create(input: {
3
+ title: string;
4
+ mod: Record<string, unknown>;
5
+ name?: string;
6
+ args?: Record<string, unknown>;
7
+ }): {
8
+ meta: {
9
+ title: string;
10
+ component: ValidComponent;
11
+ };
12
+ Basic: {
13
+ args: Record<string, unknown>;
14
+ render: (args: Record<string, unknown>) => import("solid-js").JSX.Element;
15
+ };
16
+ };
@@ -0,0 +1,30 @@
1
+ import type { HexColor, OklchColor } from "./types";
2
+ export declare function hexToRgb(hex: HexColor): {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ };
7
+ export declare function rgbToHex(r: number, g: number, b: number): HexColor;
8
+ export declare function rgbToOklch(r: number, g: number, b: number): OklchColor;
9
+ export declare function oklchToRgb(oklch: OklchColor): {
10
+ r: number;
11
+ g: number;
12
+ b: number;
13
+ };
14
+ export declare function hexToOklch(hex: HexColor): OklchColor;
15
+ export declare function fitOklch(oklch: OklchColor): OklchColor;
16
+ export declare function oklchToHex(oklch: OklchColor): HexColor;
17
+ export declare function generateScale(seed: HexColor, isDark: boolean): HexColor[];
18
+ export declare function generateNeutralScale(seed: HexColor, isDark: boolean, ink?: HexColor): HexColor[];
19
+ export declare function generateAlphaScale(scale: HexColor[], isDark: boolean): HexColor[];
20
+ export declare function mixColors(color1: HexColor, color2: HexColor, amount: number): HexColor;
21
+ export declare function shift(color: HexColor, value: {
22
+ l?: number;
23
+ c?: number;
24
+ h?: number;
25
+ }): HexColor;
26
+ export declare function contrastRatio(foreground: HexColor, background: HexColor): number;
27
+ export declare function blend(color: HexColor, background: HexColor, alpha: number): HexColor;
28
+ export declare function lighten(color: HexColor, amount: number): HexColor;
29
+ export declare function darken(color: HexColor, amount: number): HexColor;
30
+ export declare function withAlpha(color: HexColor, alpha: number): string;
@@ -0,0 +1,21 @@
1
+ import type { DesktopTheme } from "./types";
2
+ export type ColorScheme = "light" | "dark" | "system";
3
+ export declare const useTheme: () => {
4
+ themeId: () => string;
5
+ colorScheme: () => ColorScheme;
6
+ mode: () => "light" | "dark";
7
+ ids: () => string[];
8
+ name: (id: string) => string;
9
+ loadThemes: () => Promise<Record<string, DesktopTheme>>;
10
+ themes: () => Record<string, DesktopTheme>;
11
+ setTheme: (id: string) => void;
12
+ setColorScheme: (scheme: ColorScheme) => void;
13
+ registerTheme: (theme: DesktopTheme) => void;
14
+ previewTheme: (id: string) => void;
15
+ previewColorScheme: (scheme: ColorScheme) => void;
16
+ commitPreview: () => void;
17
+ cancelPreview: () => void;
18
+ }, ThemeProvider: (props: import("solid-js").ParentProps<{
19
+ defaultTheme?: string;
20
+ onThemeApplied?: (theme: DesktopTheme, mode: "light" | "dark") => void;
21
+ }>) => import("solid-js").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import type { DesktopTheme } from "./types";
2
+ export declare const oc2Theme: DesktopTheme;
3
+ export declare const amoledTheme: DesktopTheme;
4
+ export declare const auraTheme: DesktopTheme;
5
+ export declare const ayuTheme: DesktopTheme;
6
+ export declare const carbonfoxTheme: DesktopTheme;
7
+ export declare const catppuccinTheme: DesktopTheme;
8
+ export declare const catppuccinFrappeTheme: DesktopTheme;
9
+ export declare const catppuccinMacchiatoTheme: DesktopTheme;
10
+ export declare const cobalt2Theme: DesktopTheme;
11
+ export declare const cursorTheme: DesktopTheme;
12
+ export declare const draculaTheme: DesktopTheme;
13
+ export declare const everforestTheme: DesktopTheme;
14
+ export declare const flexokiTheme: DesktopTheme;
15
+ export declare const githubTheme: DesktopTheme;
16
+ export declare const gruvboxTheme: DesktopTheme;
17
+ export declare const kanagawaTheme: DesktopTheme;
18
+ export declare const lucentOrngTheme: DesktopTheme;
19
+ export declare const materialTheme: DesktopTheme;
20
+ export declare const matrixTheme: DesktopTheme;
21
+ export declare const mercuryTheme: DesktopTheme;
22
+ export declare const monokaiTheme: DesktopTheme;
23
+ export declare const nightowlTheme: DesktopTheme;
24
+ export declare const nordTheme: DesktopTheme;
25
+ export declare const oneDarkTheme: DesktopTheme;
26
+ export declare const oneDarkProTheme: DesktopTheme;
27
+ export declare const opencodeTheme: DesktopTheme;
28
+ export declare const orngTheme: DesktopTheme;
29
+ export declare const osakaJadeTheme: DesktopTheme;
30
+ export declare const palenightTheme: DesktopTheme;
31
+ export declare const rosepineTheme: DesktopTheme;
32
+ export declare const shadesOfPurpleTheme: DesktopTheme;
33
+ export declare const solarizedTheme: DesktopTheme;
34
+ export declare const synthwave84Theme: DesktopTheme;
35
+ export declare const tokyonightTheme: DesktopTheme;
36
+ export declare const vercelTheme: DesktopTheme;
37
+ export declare const vesperTheme: DesktopTheme;
38
+ export declare const zenburnTheme: DesktopTheme;
39
+ export declare const DEFAULT_THEMES: Record<string, DesktopTheme>;
@@ -0,0 +1,7 @@
1
+ export type { DesktopTheme, ThemePaletteColors, ThemeSeedColors, ThemeVariant, HexColor, OklchColor, ResolvedTheme, ColorValue, CssVarRef, V2ColorValue, ResolvedV2Theme, } from "./types";
2
+ export { hexToRgb, rgbToHex, hexToOklch, oklchToHex, rgbToOklch, oklchToRgb, generateScale, generateNeutralScale, generateAlphaScale, fitOklch, blend, mixColors, shift, lighten, darken, withAlpha, } from "./color";
3
+ export { resolveThemeVariant, resolveTheme, themeToCss } from "./resolve";
4
+ export { resolveThemeVariantV2, resolveThemeV2, themeV2ToCss, generateV2Primitives } from "./v2/resolve";
5
+ export { applyTheme, loadThemeFromUrl, getActiveTheme, removeTheme, setColorScheme } from "./loader";
6
+ export { ThemeProvider, useTheme, type ColorScheme } from "./context";
7
+ export { DEFAULT_THEMES, oc2Theme, amoledTheme, auraTheme, ayuTheme, carbonfoxTheme, catppuccinTheme, catppuccinFrappeTheme, catppuccinMacchiatoTheme, cobalt2Theme, cursorTheme, draculaTheme, everforestTheme, flexokiTheme, githubTheme, gruvboxTheme, kanagawaTheme, lucentOrngTheme, materialTheme, matrixTheme, mercuryTheme, monokaiTheme, nightowlTheme, nordTheme, oneDarkTheme, oneDarkProTheme, opencodeTheme, orngTheme, osakaJadeTheme, palenightTheme, rosepineTheme, shadesOfPurpleTheme, solarizedTheme, synthwave84Theme, tokyonightTheme, vercelTheme, vesperTheme, zenburnTheme, } from "./default-themes";
@@ -0,0 +1,6 @@
1
+ import type { DesktopTheme } from "./types";
2
+ export declare function applyTheme(theme: DesktopTheme, themeId?: string): void;
3
+ export declare function loadThemeFromUrl(url: string): Promise<DesktopTheme>;
4
+ export declare function getActiveTheme(): DesktopTheme | null;
5
+ export declare function removeTheme(): void;
6
+ export declare function setColorScheme(scheme: "light" | "dark" | "auto"): void;
@@ -0,0 +1,7 @@
1
+ import type { DesktopTheme, ResolvedTheme, ThemeVariant } from "./types";
2
+ export declare function resolveThemeVariant(variant: ThemeVariant, isDark: boolean): ResolvedTheme;
3
+ export declare function resolveTheme(theme: DesktopTheme): {
4
+ light: ResolvedTheme;
5
+ dark: ResolvedTheme;
6
+ };
7
+ export declare function themeToCss(tokens: ResolvedTheme): string;
@@ -0,0 +1,56 @@
1
+ export type HexColor = `#${string}`;
2
+ export interface OklchColor {
3
+ l: number;
4
+ c: number;
5
+ h: number;
6
+ }
7
+ export interface ThemeSeedColors {
8
+ neutral: HexColor;
9
+ primary: HexColor;
10
+ success: HexColor;
11
+ warning: HexColor;
12
+ error: HexColor;
13
+ info: HexColor;
14
+ interactive: HexColor;
15
+ diffAdd: HexColor;
16
+ diffDelete: HexColor;
17
+ }
18
+ export interface ThemePaletteColors {
19
+ neutral: HexColor;
20
+ ink: HexColor;
21
+ primary: HexColor;
22
+ success: HexColor;
23
+ warning: HexColor;
24
+ error: HexColor;
25
+ info: HexColor;
26
+ accent?: HexColor;
27
+ interactive?: HexColor;
28
+ diffAdd?: HexColor;
29
+ diffDelete?: HexColor;
30
+ }
31
+ type ThemeVariantBase = {
32
+ overrides?: Record<string, ColorValue>;
33
+ v2Overrides?: Record<string, V2ColorValue>;
34
+ };
35
+ export type ThemeVariant = ({
36
+ seeds: ThemeSeedColors;
37
+ palette?: never;
38
+ } & ThemeVariantBase) | ({
39
+ palette: ThemePaletteColors;
40
+ seeds?: never;
41
+ } & ThemeVariantBase);
42
+ export interface DesktopTheme {
43
+ $schema?: string;
44
+ name: string;
45
+ id: string;
46
+ light: ThemeVariant;
47
+ dark: ThemeVariant;
48
+ }
49
+ export type TokenCategory = "background" | "surface" | "text" | "border" | "icon" | "input" | "button" | "syntax" | "markdown" | "diff" | "avatar";
50
+ export type ThemeToken = string;
51
+ export type CssVarRef = `var(--${string})`;
52
+ export type ColorValue = HexColor | CssVarRef;
53
+ export type V2ColorValue = HexColor | CssVarRef | string;
54
+ export type ResolvedTheme = Record<ThemeToken, ColorValue>;
55
+ export type ResolvedV2Theme = Record<string, V2ColorValue>;
56
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { V2ColorValue } from "../types";
2
+ /** Fixed project avatar colors (OC-2); theme-independent like v1 `avatar-background-*`. */
3
+ export declare const V2_AVATAR_FG = "#ffffffff";
4
+ export declare const V2_AVATAR_LIGHT: Record<string, V2ColorValue>;
5
+ export declare const V2_AVATAR_DARK: Record<string, V2ColorValue>;
@@ -0,0 +1,3 @@
1
+ import type { V2ColorValue } from "../types";
2
+ /** Default v2 hue ramps from `v2/styles/colors.css` (OC-2). Alpha ramps live in CSS only. */
3
+ export declare const V2_PRIMITIVES_DEFAULT: Record<string, V2ColorValue>;
@@ -0,0 +1,2 @@
1
+ import type { ColorValue, HexColor, V2ColorValue } from "../types";
2
+ export declare function mapV2Foreground(ink: HexColor, isDark: boolean, primitives: Record<string, V2ColorValue>, overrides?: Record<string, ColorValue>): Record<string, V2ColorValue>;
@@ -0,0 +1,3 @@
1
+ import type { V2ColorValue } from "../types";
2
+ export declare function mapV2Semantics(isDark: boolean): Record<string, V2ColorValue>;
3
+ export declare function mergeV2Tokens(...layers: Record<string, V2ColorValue>[]): Record<string, V2ColorValue>;
@@ -0,0 +1,9 @@
1
+ import type { DesktopTheme, ResolvedV2Theme, ThemeVariant, V2ColorValue } from "../types";
2
+ /** Build v2 primitive ramps (100 = lightest). Alpha ramps are static in `v2/styles/colors.css`. */
3
+ export declare function generateV2Primitives(variant: ThemeVariant, isDark: boolean): Record<string, V2ColorValue>;
4
+ export declare function resolveThemeVariantV2(variant: ThemeVariant, isDark: boolean): ResolvedV2Theme;
5
+ export declare function resolveThemeV2(theme: DesktopTheme): {
6
+ light: ResolvedV2Theme;
7
+ dark: ResolvedV2Theme;
8
+ };
9
+ export declare function themeV2ToCss(tokens: ResolvedV2Theme): string;
@@ -0,0 +1,26 @@
1
+ import { Accordion as Kobalte } from "@kobalte/core/accordion";
2
+ import { type ComponentProps, type ParentProps } from "solid-js";
3
+ import "./accordion-v2.css";
4
+ export interface AccordionV2Props extends ComponentProps<typeof Kobalte> {
5
+ }
6
+ export interface AccordionV2ItemProps extends ComponentProps<typeof Kobalte.Item> {
7
+ }
8
+ export interface AccordionV2HeaderProps extends ComponentProps<typeof Kobalte.Header> {
9
+ }
10
+ export interface AccordionV2TriggerProps extends ComponentProps<typeof Kobalte.Trigger> {
11
+ hideChevron?: boolean;
12
+ }
13
+ export interface AccordionV2ContentProps extends ComponentProps<typeof Kobalte.Content> {
14
+ }
15
+ declare function AccordionV2Root(props: ParentProps<AccordionV2Props>): import("solid-js").JSX.Element;
16
+ declare function AccordionV2Item(props: ParentProps<AccordionV2ItemProps>): import("solid-js").JSX.Element;
17
+ declare function AccordionV2Header(props: ParentProps<AccordionV2HeaderProps>): import("solid-js").JSX.Element;
18
+ declare function AccordionV2Trigger(props: ParentProps<AccordionV2TriggerProps>): import("solid-js").JSX.Element;
19
+ declare function AccordionV2Content(props: ParentProps<AccordionV2ContentProps>): import("solid-js").JSX.Element;
20
+ export declare const AccordionV2: typeof AccordionV2Root & {
21
+ Item: typeof AccordionV2Item;
22
+ Header: typeof AccordionV2Header;
23
+ Trigger: typeof AccordionV2Trigger;
24
+ Content: typeof AccordionV2Content;
25
+ };
26
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./avatar-v2.css";
3
+ export interface AvatarProps extends ComponentProps<"div"> {
4
+ fallback: string;
5
+ src?: string;
6
+ background?: string;
7
+ foreground?: string;
8
+ size?: "small" | "normal" | "large";
9
+ kind?: "user" | "org";
10
+ }
11
+ export declare function Avatar(props: AvatarProps): import("solid-js").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { type ComponentProps } from "solid-js";
2
+ import "./badge-v2.css";
3
+ export interface TagProps extends ComponentProps<"span"> {
4
+ }
5
+ export declare function Tag(props: TagProps): import("solid-js").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { Button as Kobalte } from "@kobalte/core/button";
2
+ import { type ComponentProps } from "solid-js";
3
+ import { type IconProps } from "./icon";
4
+ import "./button-v2.css";
5
+ export interface ButtonV2Props extends ComponentProps<typeof Kobalte>, Pick<ComponentProps<"button">, "class" | "classList" | "children"> {
6
+ size?: "small" | "normal" | "large";
7
+ variant?: "neutral" | "contrast" | "ghost" | "ghost-muted";
8
+ icon?: IconProps["name"];
9
+ }
10
+ export declare function ButtonV2(props: ButtonV2Props): import("solid-js").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { Checkbox as Kobalte } from "@kobalte/core/checkbox";
2
+ import { type JSX } from "solid-js";
3
+ import type { ComponentProps } from "solid-js";
4
+ import "./checkbox-v2.css";
5
+ export interface CheckboxV2Props extends ComponentProps<typeof Kobalte> {
6
+ label: JSX.Element;
7
+ description?: JSX.Element;
8
+ hideLabel?: boolean;
9
+ }
10
+ export declare function CheckboxV2(props: CheckboxV2Props): JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { type ComponentProps, type JSXElement, type ParentProps } from "solid-js";
2
+ import "./dialog-v2.css";
3
+ export interface DialogProps extends ParentProps {
4
+ title?: JSXElement;
5
+ description?: JSXElement;
6
+ action?: JSXElement;
7
+ size?: "normal" | "large" | "x-large";
8
+ variant?: "default" | "settings";
9
+ class?: ComponentProps<"div">["class"];
10
+ classList?: ComponentProps<"div">["classList"];
11
+ fit?: boolean;
12
+ }
13
+ export declare function DialogFooter(props: ParentProps): import("solid-js").JSX.Element;
14
+ export declare function Dialog(props: DialogProps): import("solid-js").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import "./diff-changes-v2.css";
2
+ export declare function DiffChanges(props: {
3
+ class?: string;
4
+ changes: {
5
+ additions: number;
6
+ deletions: number;
7
+ } | {
8
+ additions: number;
9
+ deletions: number;
10
+ }[];
11
+ }): import("solid-js").JSX.Element;