@oppulence/design-system 1.0.3 → 1.0.5
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.
- package/hooks/use-resize-observer.ts +24 -0
- package/lib/ai.ts +31 -0
- package/package.json +19 -1
- package/src/components/atoms/animated-size-container.tsx +59 -0
- package/src/components/atoms/button.tsx +2 -0
- package/src/components/atoms/currency-input.tsx +16 -0
- package/src/components/atoms/icons.tsx +840 -0
- package/src/components/atoms/image.tsx +23 -0
- package/src/components/atoms/index.ts +10 -0
- package/src/components/atoms/loader.tsx +92 -0
- package/src/components/atoms/quantity-input.tsx +103 -0
- package/src/components/atoms/record-button.tsx +178 -0
- package/src/components/atoms/submit-button.tsx +26 -0
- package/src/components/atoms/text-effect.tsx +251 -0
- package/src/components/atoms/text-shimmer.tsx +74 -0
- package/src/components/molecules/actions.tsx +53 -0
- package/src/components/molecules/branch.tsx +192 -0
- package/src/components/molecules/code-block.tsx +151 -0
- package/src/components/molecules/form.tsx +177 -0
- package/src/components/molecules/index.ts +12 -0
- package/src/components/molecules/inline-citation.tsx +295 -0
- package/src/components/molecules/message.tsx +64 -0
- package/src/components/molecules/sources.tsx +116 -0
- package/src/components/molecules/suggestion.tsx +53 -0
- package/src/components/molecules/task.tsx +74 -0
- package/src/components/molecules/time-range-input.tsx +73 -0
- package/src/components/molecules/tool-call-indicator.tsx +42 -0
- package/src/components/molecules/tool.tsx +130 -0
- package/src/components/organisms/combobox-dropdown.tsx +171 -0
- package/src/components/organisms/conversation.tsx +98 -0
- package/src/components/organisms/date-range-picker.tsx +53 -0
- package/src/components/organisms/editor/extentions/bubble-menu/bubble-item.tsx +30 -0
- package/src/components/organisms/editor/extentions/bubble-menu/bubble-menu-button.tsx +27 -0
- package/src/components/organisms/editor/extentions/bubble-menu/index.tsx +63 -0
- package/src/components/organisms/editor/extentions/bubble-menu/link-item.tsx +104 -0
- package/src/components/organisms/editor/extentions/register.ts +22 -0
- package/src/components/organisms/editor/index.tsx +50 -0
- package/src/components/organisms/editor/styles.css +31 -0
- package/src/components/organisms/editor/utils.ts +19 -0
- package/src/components/organisms/index.ts +11 -0
- package/src/components/organisms/multiple-selector.tsx +632 -0
- package/src/components/organisms/prompt-input.tsx +747 -0
- package/src/components/organisms/reasoning.tsx +170 -0
- package/src/components/organisms/response.tsx +121 -0
- package/src/components/organisms/toast-toaster.tsx +84 -0
- package/src/components/organisms/toast.tsx +124 -0
- package/src/components/organisms/use-toast.tsx +206 -0
- package/src/styles/globals.css +169 -212
package/src/styles/globals.css
CHANGED
|
@@ -7,117 +7,126 @@
|
|
|
7
7
|
|
|
8
8
|
@custom-variant dark (&:is(.dark *));
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
10
|
+
:root {
|
|
11
|
+
--radius: 0.625rem;
|
|
12
|
+
--background: oklch(1 0 0);
|
|
13
|
+
--foreground: oklch(0.141 0.005 285.823);
|
|
14
|
+
--card: oklch(1 0 0);
|
|
15
|
+
--card-foreground: oklch(0.141 0.005 285.823);
|
|
16
|
+
--popover: oklch(1 0 0);
|
|
17
|
+
--popover-foreground: oklch(0.141 0.005 285.823);
|
|
18
|
+
--primary: var(--color-lime-500);
|
|
19
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
20
|
+
--secondary: oklch(0.967 0.001 286.375);
|
|
21
|
+
--secondary-foreground: oklch(0.21 0.006 285.885);
|
|
22
|
+
--muted: oklch(0.967 0.001 286.375);
|
|
23
|
+
--muted-foreground: oklch(0.552 0.016 285.938);
|
|
24
|
+
--accent: oklch(0.967 0.001 286.375);
|
|
25
|
+
--accent-foreground: oklch(0.21 0.006 285.885);
|
|
26
|
+
--destructive: oklch(0.54 0.1864 11.25);
|
|
27
|
+
--destructive-foreground: oklch(0.9082 0.048775 8.6356);
|
|
28
|
+
--border: oklch(0.96 0.0053 286.3);
|
|
29
|
+
--input: oklch(0.92 0.004 286.32);
|
|
30
|
+
--ring: oklch(0.705 0.015 286.067);
|
|
31
|
+
|
|
32
|
+
--chart-1: oklch(0.93 0.1421 124.85);
|
|
33
|
+
--chart-2: oklch(0.79 0.1287 184.79);
|
|
34
|
+
--chart-3: oklch(0.69 0.1763 246.45);
|
|
35
|
+
--chart-4: oklch(0.49 0.2229 281.04);
|
|
36
|
+
--chart-5: oklch(0.78 0.193 322.07);
|
|
37
|
+
--chart-6: oklch(0.71 0.2007 357.57);
|
|
38
|
+
--chart-7: oklch(0.83 0.1475 83);
|
|
39
|
+
--chart-8: oklch(0.41 0.1227 263.12);
|
|
40
|
+
--chart-9: oklch(0.03 0.001 286.32);
|
|
41
|
+
|
|
42
|
+
--sidebar: oklch(1 0 0);
|
|
43
|
+
--sidebar-foreground: oklch(0.141 0.005 285.823);
|
|
44
|
+
--sidebar-primary: oklch(0.21 0.006 285.885);
|
|
45
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
46
|
+
--sidebar-accent: oklch(0.967 0.001 286.375);
|
|
47
|
+
--sidebar-accent-foreground: oklch(0.21 0.006 285.885);
|
|
48
|
+
--sidebar-border: oklch(0.92 0.004 286.32);
|
|
49
|
+
--sidebar-ring: oklch(0.705 0.015 286.067);
|
|
50
|
+
|
|
51
|
+
--gray-900: oklch(0.1 0 0);
|
|
52
|
+
--gray-800: oklch(0.159 0 0);
|
|
53
|
+
--gray-700: oklch(0.261 0 0);
|
|
54
|
+
--gray-600: oklch(0.339 0 0);
|
|
55
|
+
--gray-500: oklch(0.461 0 0);
|
|
56
|
+
--gray-400: oklch(0.649 0 0);
|
|
57
|
+
--gray-300: oklch(0.839 0 0);
|
|
58
|
+
--gray-200: oklch(0.9 0 0);
|
|
59
|
+
--gray-100: oklch(0.959 0 0);
|
|
60
|
+
|
|
61
|
+
--region: var(--gray-100);
|
|
62
|
+
--region-hover: var(--gray-200);
|
|
63
|
+
|
|
64
|
+
--chart-negative: var(--gray-200);
|
|
65
|
+
--chart-cartesian: var(--gray-200);
|
|
66
|
+
|
|
67
|
+
--header-height: 68px;
|
|
68
|
+
|
|
69
|
+
.logo-dark {
|
|
70
|
+
mix-blend-mode: plus-lighter;
|
|
71
|
+
border: 1px solid red;
|
|
66
72
|
}
|
|
73
|
+
}
|
|
67
74
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
75
|
+
.dark {
|
|
76
|
+
--background: var(--gray-900);
|
|
77
|
+
--foreground: oklch(0.985 0 0);
|
|
78
|
+
--card: var(--gray-700);
|
|
79
|
+
--card-foreground: var(--color-gray-300);
|
|
80
|
+
--popover: var(--gray-900);
|
|
81
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
82
|
+
--primary: oklch(0.93 0.1421 124.85);
|
|
83
|
+
--primary-foreground: oklch(0.32 0.0617 115.83);
|
|
84
|
+
--secondary: var(--gray-600);
|
|
85
|
+
--secondary-foreground: var(--color-white);
|
|
86
|
+
--muted: var(--gray-700);
|
|
87
|
+
--muted-foreground: var(--gray-200);
|
|
88
|
+
--accent: var(--gray-600);
|
|
89
|
+
--accent-foreground: var(--color-white);
|
|
90
|
+
--destructive: oklch(45.9% 0.187 3.815);
|
|
91
|
+
--destructive-foreground: oklch(0.9082 0.048775 8.6356);
|
|
92
|
+
--border: var(--gray-600);
|
|
93
|
+
--input: var(--gray-600);
|
|
94
|
+
--ring: var(--gray-200);
|
|
95
|
+
|
|
96
|
+
--chart-1: oklch(0.93 0.1421 124.85);
|
|
97
|
+
--chart-2: oklch(0.79 0.1287 184.79);
|
|
98
|
+
--chart-3: oklch(0.69 0.1763 246.45);
|
|
99
|
+
--chart-4: oklch(0.49 0.2229 281.04);
|
|
100
|
+
--chart-5: oklch(0.78 0.193 322.07);
|
|
101
|
+
--chart-6: oklch(0.71 0.2007 357.57);
|
|
102
|
+
--chart-7: oklch(0.83 0.1475 83);
|
|
103
|
+
--chart-8: oklch(0.41 0.1227 263.12);
|
|
104
|
+
--chart-9: oklch(0.03 0.001 286.32);
|
|
105
|
+
|
|
106
|
+
--sidebar: var(--gray-900);
|
|
107
|
+
--sidebar-foreground: var(--gray-200);
|
|
108
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
109
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
110
|
+
--sidebar-accent: var(--gray-700);
|
|
111
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
112
|
+
--sidebar-border: oklch(0.269 0 0);
|
|
113
|
+
--sidebar-ring: var(--gray-200);
|
|
114
|
+
|
|
115
|
+
--gray-900: oklch(0.1445 0.0047 263.79);
|
|
116
|
+
--gray-800: oklch(0.1829 0.0083 274.43);
|
|
117
|
+
--gray-700: oklch(0.2068 0.014 278.71);
|
|
118
|
+
--gray-600: oklch(0.2386 0.0192 280.36);
|
|
119
|
+
--gray-500: oklch(0.2856 0.0238 281.33);
|
|
120
|
+
--gray-400: oklch(0.3741 0.0307 282.31);
|
|
121
|
+
--gray-300: oklch(0.4671 0.0323 282.82);
|
|
122
|
+
--gray-200: oklch(0.5638 0.0358 277.43);
|
|
123
|
+
--gray-100: oklch(0.6589 0.0178 278.35);
|
|
124
|
+
|
|
125
|
+
--region: var(--gray-500);
|
|
126
|
+
--region-hover: var(--gray-600);
|
|
127
|
+
|
|
128
|
+
--chart-negative: var(--gray-500);
|
|
129
|
+
--chart-cartesian: var(--gray-500);
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
@theme inline {
|
|
@@ -125,11 +134,6 @@
|
|
|
125
134
|
"Plus Jakarta Sans Variable", ui-sans-serif, system-ui, sans-serif,
|
|
126
135
|
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
127
136
|
|
|
128
|
-
/* Letter spacing tokens */
|
|
129
|
-
--tracking-tighter: -0.05em;
|
|
130
|
-
--tracking-tight: -0.025em;
|
|
131
|
-
--tracking-normal: 0;
|
|
132
|
-
--tracking-wide: 0.025em;
|
|
133
137
|
--color-background: var(--background);
|
|
134
138
|
--color-foreground: var(--foreground);
|
|
135
139
|
--color-card: var(--card);
|
|
@@ -146,9 +150,6 @@
|
|
|
146
150
|
--color-accent-foreground: var(--accent-foreground);
|
|
147
151
|
--color-destructive: var(--destructive);
|
|
148
152
|
--color-destructive-foreground: var(--destructive-foreground);
|
|
149
|
-
--color-success: var(--success);
|
|
150
|
-
--color-warning: var(--warning);
|
|
151
|
-
--color-info: var(--info);
|
|
152
153
|
--color-border: var(--border);
|
|
153
154
|
--color-input: var(--input);
|
|
154
155
|
--color-ring: var(--ring);
|
|
@@ -157,10 +158,16 @@
|
|
|
157
158
|
--color-chart-3: var(--chart-3);
|
|
158
159
|
--color-chart-4: var(--chart-4);
|
|
159
160
|
--color-chart-5: var(--chart-5);
|
|
161
|
+
--color-chart-6: var(--chart-6);
|
|
162
|
+
--color-chart-7: var(--chart-7);
|
|
163
|
+
--color-chart-8: var(--chart-8);
|
|
164
|
+
--color-chart-9: var(--chart-9);
|
|
165
|
+
|
|
160
166
|
--radius-sm: calc(var(--radius) - 4px);
|
|
161
167
|
--radius-md: calc(var(--radius) - 2px);
|
|
162
168
|
--radius-lg: var(--radius);
|
|
163
169
|
--radius-xl: calc(var(--radius) + 4px);
|
|
170
|
+
|
|
164
171
|
--color-sidebar: var(--sidebar);
|
|
165
172
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
166
173
|
--color-sidebar-primary: var(--sidebar-primary);
|
|
@@ -169,129 +176,79 @@
|
|
|
169
176
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
170
177
|
--color-sidebar-border: var(--sidebar-border);
|
|
171
178
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
179
|
+
|
|
180
|
+
--color-gray-900: var(--gray-900);
|
|
181
|
+
--color-gray-800: var(--gray-800);
|
|
182
|
+
--color-gray-700: var(--gray-700);
|
|
183
|
+
--color-gray-600: var(--gray-600);
|
|
184
|
+
--color-gray-500: var(--gray-500);
|
|
185
|
+
--color-gray-400: var(--gray-400);
|
|
186
|
+
--color-gray-300: var(--gray-300);
|
|
187
|
+
--color-gray-200: var(--gray-200);
|
|
188
|
+
--color-gray-100: var(--gray-100);
|
|
189
|
+
|
|
190
|
+
--color-region: var(--region);
|
|
191
|
+
--color-region-hover: var(--region-hover);
|
|
172
192
|
}
|
|
173
193
|
|
|
174
194
|
@layer base {
|
|
175
195
|
* {
|
|
176
196
|
@apply border-border outline-ring/50;
|
|
177
197
|
}
|
|
178
|
-
|
|
179
|
-
html {
|
|
180
|
-
-webkit-font-smoothing: antialiased;
|
|
181
|
-
-moz-osx-font-smoothing: grayscale;
|
|
182
|
-
text-rendering: optimizeLegibility;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
198
|
body {
|
|
186
199
|
@apply bg-background text-foreground;
|
|
187
|
-
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
|
188
|
-
line-height: 1.6;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/* Refined focus states for accessibility */
|
|
192
|
-
:focus-visible {
|
|
193
|
-
@apply outline-2 outline-offset-2 outline-ring;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/* Smooth scrolling */
|
|
197
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
198
|
-
html {
|
|
199
|
-
scroll-behavior: smooth;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/* Selection styling */
|
|
204
|
-
::selection {
|
|
205
|
-
@apply bg-foreground/10;
|
|
206
200
|
}
|
|
207
201
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
h2,
|
|
211
|
-
h3,
|
|
212
|
-
h4,
|
|
213
|
-
h5,
|
|
214
|
-
h6 {
|
|
215
|
-
@apply font-semibold;
|
|
216
|
-
text-wrap: balance;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
h1 {
|
|
220
|
-
@apply text-4xl;
|
|
221
|
-
letter-spacing: -0.05em;
|
|
222
|
-
}
|
|
223
|
-
h2 {
|
|
224
|
-
@apply text-3xl;
|
|
225
|
-
letter-spacing: -0.025em;
|
|
226
|
-
}
|
|
227
|
-
h3 {
|
|
228
|
-
@apply text-2xl;
|
|
229
|
-
letter-spacing: -0.025em;
|
|
230
|
-
}
|
|
231
|
-
h4 {
|
|
232
|
-
@apply text-xl;
|
|
233
|
-
}
|
|
234
|
-
h5 {
|
|
235
|
-
@apply text-lg;
|
|
236
|
-
}
|
|
237
|
-
h6 {
|
|
238
|
-
@apply text-base font-medium;
|
|
202
|
+
code.inline {
|
|
203
|
+
@apply bg-muted py-1 px-1.5 text-xs rounded font-mono;
|
|
239
204
|
}
|
|
205
|
+
}
|
|
240
206
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
text-wrap: pretty;
|
|
244
|
-
}
|
|
207
|
+
@utility progressive-blur {
|
|
208
|
+
@apply backdrop-blur-md mask-b-from-65%;
|
|
245
209
|
}
|
|
246
210
|
|
|
247
|
-
|
|
248
|
-
@
|
|
249
|
-
navigation: auto;
|
|
211
|
+
.mapboxgl-ctrl-logo {
|
|
212
|
+
@apply hidden!;
|
|
250
213
|
}
|
|
251
214
|
|
|
252
|
-
|
|
253
|
-
|
|
215
|
+
.bklit-conic {
|
|
216
|
+
background: linear-gradient(to bottom, #000000, #ffffff);
|
|
254
217
|
}
|
|
255
218
|
|
|
256
|
-
|
|
257
|
-
|
|
219
|
+
.squircle {
|
|
220
|
+
/* biome-ignore lint/correctness/noUnknownProperty: corner-shape is experimental */
|
|
221
|
+
corner-shape: squircle;
|
|
258
222
|
}
|
|
259
223
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
224
|
+
.page-content {
|
|
225
|
+
@apply text-muted-foreground space-y-4;
|
|
226
|
+
|
|
227
|
+
& h2 {
|
|
228
|
+
@apply text-2xl font-bold text-card-foreground;
|
|
264
229
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
230
|
+
|
|
231
|
+
& h3 {
|
|
232
|
+
@apply text-lg font-semibold mb-2 text-card-foreground;
|
|
268
233
|
}
|
|
269
|
-
}
|
|
270
234
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
opacity: 0;
|
|
274
|
-
transform: translateY(4px);
|
|
235
|
+
& p {
|
|
236
|
+
@apply text-lg mb-4;
|
|
275
237
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
238
|
+
|
|
239
|
+
& ul {
|
|
240
|
+
@apply list-disc pl-4 space-y-2;
|
|
279
241
|
}
|
|
280
242
|
}
|
|
281
243
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
view-transition-name: page-content;
|
|
285
|
-
animation: page-enter 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
286
|
-
}
|
|
244
|
+
.article {
|
|
245
|
+
@apply text-muted-foreground;
|
|
287
246
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
opacity: 0;
|
|
291
|
-
transform: translateY(4px);
|
|
247
|
+
& h2 {
|
|
248
|
+
@apply text-card-foreground;
|
|
292
249
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
250
|
+
|
|
251
|
+
& h3 {
|
|
252
|
+
@apply text-card-foreground;
|
|
296
253
|
}
|
|
297
254
|
}
|