@rovela-ai/sdk 0.14.1 → 0.15.1
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/dist/admin/api/emails.d.ts +2 -1
- package/dist/admin/api/emails.d.ts.map +1 -1
- package/dist/admin/api/emails.js +215 -34
- package/dist/admin/api/emails.js.map +1 -1
- package/dist/admin/components/AdminNav.d.ts.map +1 -1
- package/dist/admin/components/AdminNav.js +2 -1
- package/dist/admin/components/AdminNav.js.map +1 -1
- package/dist/admin/components/EmailsManager.d.ts.map +1 -1
- package/dist/admin/components/EmailsManager.js +192 -60
- package/dist/admin/components/EmailsManager.js.map +1 -1
- package/dist/admin/components/UsersTable.d.ts.map +1 -1
- package/dist/admin/components/UsersTable.js +15 -9
- package/dist/admin/components/UsersTable.js.map +1 -1
- package/dist/admin/components/emails/BlocksEditor.d.ts +19 -0
- package/dist/admin/components/emails/BlocksEditor.d.ts.map +1 -0
- package/dist/admin/components/emails/BlocksEditor.js +117 -0
- package/dist/admin/components/emails/BlocksEditor.js.map +1 -0
- package/dist/admin/components/emails/CustomerPicker.d.ts +9 -0
- package/dist/admin/components/emails/CustomerPicker.d.ts.map +1 -0
- package/dist/admin/components/emails/CustomerPicker.js +59 -0
- package/dist/admin/components/emails/CustomerPicker.js.map +1 -0
- package/dist/admin/components/emails/EmailPreviewPane.d.ts +14 -0
- package/dist/admin/components/emails/EmailPreviewPane.d.ts.map +1 -0
- package/dist/admin/components/emails/EmailPreviewPane.js +63 -0
- package/dist/admin/components/emails/EmailPreviewPane.js.map +1 -0
- package/dist/admin/components/emails/EmailThemePanel.d.ts +27 -0
- package/dist/admin/components/emails/EmailThemePanel.d.ts.map +1 -0
- package/dist/admin/components/emails/EmailThemePanel.js +25 -0
- package/dist/admin/components/emails/EmailThemePanel.js.map +1 -0
- package/dist/admin/components/emails/FontPicker.d.ts +11 -0
- package/dist/admin/components/emails/FontPicker.d.ts.map +1 -0
- package/dist/admin/components/emails/FontPicker.js +55 -0
- package/dist/admin/components/emails/FontPicker.js.map +1 -0
- package/dist/admin/components/emails/TextBlockEditor.d.ts +7 -0
- package/dist/admin/components/emails/TextBlockEditor.d.ts.map +1 -0
- package/dist/admin/components/emails/TextBlockEditor.js +87 -0
- package/dist/admin/components/emails/TextBlockEditor.js.map +1 -0
- package/dist/core/db/queries.d.ts +38 -29
- package/dist/core/db/queries.d.ts.map +1 -1
- package/dist/core/db/queries.js +20 -0
- package/dist/core/db/queries.js.map +1 -1
- package/dist/core/db/schema.d.ts +35 -1
- package/dist/core/db/schema.d.ts.map +1 -1
- package/dist/core/db/schema.js +4 -0
- package/dist/core/db/schema.js.map +1 -1
- package/dist/emails/blocks.d.ts +104 -0
- package/dist/emails/blocks.d.ts.map +1 -0
- package/dist/emails/blocks.js +270 -0
- package/dist/emails/blocks.js.map +1 -0
- package/dist/emails/google-fonts.d.ts +13 -0
- package/dist/emails/google-fonts.d.ts.map +1 -0
- package/dist/emails/google-fonts.js +1943 -0
- package/dist/emails/google-fonts.js.map +1 -0
- package/dist/emails/i18n.d.ts.map +1 -1
- package/dist/emails/i18n.js +15 -0
- package/dist/emails/i18n.js.map +1 -1
- package/dist/emails/overrides.d.ts +6 -0
- package/dist/emails/overrides.d.ts.map +1 -1
- package/dist/emails/overrides.js +10 -2
- package/dist/emails/overrides.js.map +1 -1
- package/dist/emails/registry.d.ts +49 -5
- package/dist/emails/registry.d.ts.map +1 -1
- package/dist/emails/registry.js +584 -122
- package/dist/emails/registry.js.map +1 -1
- package/dist/emails/send/auth.d.ts.map +1 -1
- package/dist/emails/send/auth.js +40 -25
- package/dist/emails/send/auth.js.map +1 -1
- package/dist/emails/send/orders.d.ts.map +1 -1
- package/dist/emails/send/orders.js +85 -55
- package/dist/emails/send/orders.js.map +1 -1
- package/dist/emails/templates/base.d.ts +7 -0
- package/dist/emails/templates/base.d.ts.map +1 -1
- package/dist/emails/templates/base.js +34 -12
- package/dist/emails/templates/base.js.map +1 -1
- package/dist/emails/templates/email-verification.d.ts +4 -0
- package/dist/emails/templates/email-verification.d.ts.map +1 -1
- package/dist/emails/templates/email-verification.js +10 -2
- package/dist/emails/templates/email-verification.js.map +1 -1
- package/dist/emails/templates/order-cancelled.d.ts +4 -0
- package/dist/emails/templates/order-cancelled.d.ts.map +1 -1
- package/dist/emails/templates/order-cancelled.js +18 -10
- package/dist/emails/templates/order-cancelled.js.map +1 -1
- package/dist/emails/templates/order-confirmation.d.ts +18 -0
- package/dist/emails/templates/order-confirmation.d.ts.map +1 -1
- package/dist/emails/templates/order-confirmation.js +43 -21
- package/dist/emails/templates/order-confirmation.js.map +1 -1
- package/dist/emails/templates/order-delivered.d.ts +6 -0
- package/dist/emails/templates/order-delivered.d.ts.map +1 -1
- package/dist/emails/templates/order-delivered.js +22 -16
- package/dist/emails/templates/order-delivered.js.map +1 -1
- package/dist/emails/templates/order-ready-for-pickup.d.ts +10 -0
- package/dist/emails/templates/order-ready-for-pickup.d.ts.map +1 -1
- package/dist/emails/templates/order-ready-for-pickup.js +38 -22
- package/dist/emails/templates/order-ready-for-pickup.js.map +1 -1
- package/dist/emails/templates/order-shipped.d.ts +6 -0
- package/dist/emails/templates/order-shipped.d.ts.map +1 -1
- package/dist/emails/templates/order-shipped.js +17 -9
- package/dist/emails/templates/order-shipped.js.map +1 -1
- package/dist/emails/templates/password-reset.d.ts +4 -0
- package/dist/emails/templates/password-reset.d.ts.map +1 -1
- package/dist/emails/templates/password-reset.js +10 -2
- package/dist/emails/templates/password-reset.js.map +1 -1
- package/dist/emails/templates/refund-processed.d.ts +6 -0
- package/dist/emails/templates/refund-processed.d.ts.map +1 -1
- package/dist/emails/templates/refund-processed.js +17 -7
- package/dist/emails/templates/refund-processed.js.map +1 -1
- package/dist/emails/templates/welcome.d.ts +2 -0
- package/dist/emails/templates/welcome.d.ts.map +1 -1
- package/dist/emails/templates/welcome.js +8 -4
- package/dist/emails/templates/welcome.js.map +1 -1
- package/dist/emails/theme.d.ts +35 -12
- package/dist/emails/theme.d.ts.map +1 -1
- package/dist/emails/theme.js +131 -42
- package/dist/emails/theme.js.map +1 -1
- package/package.json +7 -1
package/dist/emails/theme.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Resolution order (highest wins), cached briefly per process:
|
|
9
9
|
* 1. store_settings.email_theme (admin "Emails → Theme" panel)
|
|
10
|
-
* 2. brand-derived defaults (blueprint
|
|
10
|
+
* 2. brand-derived defaults (blueprint colors + heading/body fonts)
|
|
11
11
|
* 3. the shipped defaults (DEFAULT_EMAIL_STYLES)
|
|
12
12
|
*
|
|
13
13
|
* Branch-per-store means one store per process, so applying the theme via
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { findSettings } from '../core/db';
|
|
21
21
|
import { setEmailStyles } from './templates/base';
|
|
22
|
+
import { GOOGLE_FONT_NAMES } from './google-fonts';
|
|
22
23
|
function loadNodeBuiltin(id) {
|
|
23
24
|
try {
|
|
24
25
|
const proc = process;
|
|
@@ -27,7 +28,6 @@ function loadNodeBuiltin(id) {
|
|
|
27
28
|
}
|
|
28
29
|
// Bundled CJS server runtimes: an indirect require stays invisible to
|
|
29
30
|
// static analysis; pure ESM throws and we fail open.
|
|
30
|
-
// eslint-disable-next-line no-eval
|
|
31
31
|
return (0, eval)('require')(id);
|
|
32
32
|
}
|
|
33
33
|
catch {
|
|
@@ -61,9 +61,8 @@ function readBlueprintTheme() {
|
|
|
61
61
|
return value;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* else — the same progressive strategy the templates always used.
|
|
64
|
+
* Suggested fonts, shown first in the picker. The full catalog
|
|
65
|
+
* (GOOGLE_FONT_NAMES, ~1900 fonts) is valid everywhere a font is accepted.
|
|
67
66
|
*/
|
|
68
67
|
export const EMAIL_FONTS = [
|
|
69
68
|
{ name: 'Plus Jakarta Sans', stack: "'Plus Jakarta Sans', system-ui, sans-serif" },
|
|
@@ -75,43 +74,93 @@ export const EMAIL_FONTS = [
|
|
|
75
74
|
{ name: 'Playfair Display', stack: "'Playfair Display', Georgia, serif" },
|
|
76
75
|
{ name: 'Georgia', stack: 'Georgia, serif' },
|
|
77
76
|
];
|
|
77
|
+
/**
|
|
78
|
+
* Well-known serif + mono Google families, so real email clients that don't
|
|
79
|
+
* load webfonts degrade into the right typographic family instead of a
|
|
80
|
+
* generic sans. Anything not listed falls back to the system sans stack —
|
|
81
|
+
* a safe default for the long tail.
|
|
82
|
+
*/
|
|
83
|
+
const SERIF_FONTS = new Set([
|
|
84
|
+
'Lora', 'Playfair Display', 'Merriweather', 'PT Serif', 'Libre Baskerville',
|
|
85
|
+
'Crimson Text', 'Crimson Pro', 'EB Garamond', 'Cormorant', 'Cormorant Garamond',
|
|
86
|
+
'Source Serif 4', 'Source Serif Pro', 'Noto Serif', 'Roboto Serif', 'IBM Plex Serif',
|
|
87
|
+
'Bitter', 'Domine', 'Spectral', 'Zilla Slab', 'Roboto Slab', 'Arvo', 'Vollkorn',
|
|
88
|
+
'Cardo', 'Neuton', 'Alegreya', 'Frank Ruhl Libre', 'Fraunces', 'Newsreader',
|
|
89
|
+
'Literata', 'Petrona', 'Bodoni Moda', 'DM Serif Display', 'DM Serif Text',
|
|
90
|
+
'Abril Fatface', 'Georgia', 'Old Standard TT', 'Prata', 'Marcellus', 'Cinzel',
|
|
91
|
+
'Gelasio', 'Tinos', 'STIX Two Text', 'Besley', 'Brygada 1918', 'Piazzolla',
|
|
92
|
+
]);
|
|
93
|
+
const MONO_FONTS = new Set([
|
|
94
|
+
'Roboto Mono', 'JetBrains Mono', 'IBM Plex Mono', 'Source Code Pro', 'Fira Code',
|
|
95
|
+
'Fira Mono', 'Space Mono', 'Inconsolata', 'Ubuntu Mono', 'Courier Prime',
|
|
96
|
+
'DM Mono', 'Overpass Mono', 'PT Mono', 'Noto Sans Mono', 'Red Hat Mono',
|
|
97
|
+
]);
|
|
98
|
+
const FONT_SET = new Set(GOOGLE_FONT_NAMES);
|
|
99
|
+
export function isEmailFont(name) {
|
|
100
|
+
return typeof name === 'string' && FONT_SET.has(name);
|
|
101
|
+
}
|
|
102
|
+
/** CSS font-family stack for a catalog font, with the right fallback family. */
|
|
103
|
+
export function fontStack(name) {
|
|
104
|
+
const quoted = name.includes(' ') || name.includes("'") ? `'${name.replace(/'/g, '')}'` : name;
|
|
105
|
+
if (SERIF_FONTS.has(name))
|
|
106
|
+
return `${quoted}, Georgia, 'Times New Roman', serif`;
|
|
107
|
+
if (MONO_FONTS.has(name))
|
|
108
|
+
return `${quoted}, 'Courier New', monospace`;
|
|
109
|
+
return `${quoted}, system-ui, -apple-system, 'Segoe UI', sans-serif`;
|
|
110
|
+
}
|
|
78
111
|
const BUTTON_RADIUS_PX = {
|
|
79
112
|
sm: '6px',
|
|
80
113
|
md: '12px',
|
|
81
114
|
full: '9999px',
|
|
82
115
|
};
|
|
116
|
+
const CARD_RADIUS_PX = {
|
|
117
|
+
sm: '8px',
|
|
118
|
+
md: '16px',
|
|
119
|
+
lg: '24px',
|
|
120
|
+
};
|
|
121
|
+
const LOGO_WIDTH_PX = {
|
|
122
|
+
sm: '120px',
|
|
123
|
+
md: '180px',
|
|
124
|
+
lg: '260px',
|
|
125
|
+
};
|
|
83
126
|
const HEX_RE = /^#[0-9a-fA-F]{6}$/;
|
|
84
|
-
|
|
85
|
-
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
86
|
-
return false;
|
|
87
|
-
const t = raw;
|
|
88
|
-
if (t.primaryColor !== undefined && !(typeof t.primaryColor === 'string' && HEX_RE.test(t.primaryColor)))
|
|
89
|
-
return false;
|
|
90
|
-
if (t.backgroundColor !== undefined && !(typeof t.backgroundColor === 'string' && HEX_RE.test(t.backgroundColor)))
|
|
91
|
-
return false;
|
|
92
|
-
if (t.fontName !== undefined && !EMAIL_FONTS.some((f) => f.name === t.fontName))
|
|
93
|
-
return false;
|
|
94
|
-
if (t.buttonRadius !== undefined && !['sm', 'md', 'full'].includes(t.buttonRadius))
|
|
95
|
-
return false;
|
|
96
|
-
if (t.footerNote !== undefined && typeof t.footerNote !== 'string')
|
|
97
|
-
return false;
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
/** Sanitize an incoming theme (admin writes) — keeps only valid fields. */
|
|
127
|
+
/** Sanitize an incoming theme (admin writes + reads) — keeps only valid fields. */
|
|
101
128
|
export function sanitizeEmailTheme(raw) {
|
|
102
129
|
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
103
130
|
return {};
|
|
104
131
|
const t = raw;
|
|
105
132
|
const out = {};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
out.
|
|
110
|
-
|
|
133
|
+
const hex = (v) => typeof v === 'string' && HEX_RE.test(v) ? v : undefined;
|
|
134
|
+
const color = hex(t.primaryColor);
|
|
135
|
+
if (color)
|
|
136
|
+
out.primaryColor = color;
|
|
137
|
+
const bg = hex(t.backgroundColor);
|
|
138
|
+
if (bg)
|
|
139
|
+
out.backgroundColor = bg;
|
|
140
|
+
const card = hex(t.cardColor);
|
|
141
|
+
if (card)
|
|
142
|
+
out.cardColor = card;
|
|
143
|
+
const text = hex(t.textColor);
|
|
144
|
+
if (text)
|
|
145
|
+
out.textColor = text;
|
|
146
|
+
if (isEmailFont(t.headingFont))
|
|
147
|
+
out.headingFont = t.headingFont;
|
|
148
|
+
if (isEmailFont(t.bodyFont))
|
|
149
|
+
out.bodyFont = t.bodyFont;
|
|
150
|
+
if (isEmailFont(t.fontName))
|
|
111
151
|
out.fontName = t.fontName;
|
|
112
152
|
if (typeof t.buttonRadius === 'string' && ['sm', 'md', 'full'].includes(t.buttonRadius)) {
|
|
113
153
|
out.buttonRadius = t.buttonRadius;
|
|
114
154
|
}
|
|
155
|
+
if (typeof t.cardRadius === 'string' && ['sm', 'md', 'lg'].includes(t.cardRadius)) {
|
|
156
|
+
out.cardRadius = t.cardRadius;
|
|
157
|
+
}
|
|
158
|
+
if (typeof t.logoSize === 'string' && ['sm', 'md', 'lg'].includes(t.logoSize)) {
|
|
159
|
+
out.logoSize = t.logoSize;
|
|
160
|
+
}
|
|
161
|
+
if (typeof t.logoAlign === 'string' && ['left', 'center'].includes(t.logoAlign)) {
|
|
162
|
+
out.logoAlign = t.logoAlign;
|
|
163
|
+
}
|
|
115
164
|
if (typeof t.footerNote === 'string')
|
|
116
165
|
out.footerNote = t.footerNote.slice(0, 300);
|
|
117
166
|
return out;
|
|
@@ -120,9 +169,9 @@ export function sanitizeEmailTheme(raw) {
|
|
|
120
169
|
// Brand derivation (the zero-config default)
|
|
121
170
|
// =============================================================================
|
|
122
171
|
/**
|
|
123
|
-
* Derive the theme from the store's brand: blueprint primary color +
|
|
124
|
-
*
|
|
125
|
-
* store's emails brand-matched with no merchant action.
|
|
172
|
+
* Derive the theme from the store's brand: blueprint primary color +
|
|
173
|
+
* heading/body fonts (when they exist in the Google catalog). This is what
|
|
174
|
+
* makes every store's emails brand-matched with no merchant action.
|
|
126
175
|
*/
|
|
127
176
|
export function deriveBrandEmailTheme() {
|
|
128
177
|
const derived = {};
|
|
@@ -134,14 +183,41 @@ export function deriveBrandEmailTheme() {
|
|
|
134
183
|
derived.primaryColor = primary;
|
|
135
184
|
}
|
|
136
185
|
// Blueprint fonts use next/font underscore form ('Work_Sans').
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
186
|
+
const font = (raw) => {
|
|
187
|
+
if (typeof raw !== 'string')
|
|
188
|
+
return undefined;
|
|
189
|
+
const name = raw.replace(/_/g, ' ');
|
|
190
|
+
return isEmailFont(name) ? name : undefined;
|
|
191
|
+
};
|
|
192
|
+
const headingFont = font(theme.typography?.heading?.name);
|
|
193
|
+
if (headingFont)
|
|
194
|
+
derived.headingFont = headingFont;
|
|
195
|
+
const bodyFont = font(theme.typography?.body?.name);
|
|
196
|
+
if (bodyFont)
|
|
197
|
+
derived.bodyFont = bodyFont;
|
|
143
198
|
return derived;
|
|
144
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Brand color swatches for the admin theme panel — one click puts the store
|
|
202
|
+
* on-brand. Unique, ordered by prominence.
|
|
203
|
+
*/
|
|
204
|
+
export function deriveBrandPalette() {
|
|
205
|
+
const theme = readBlueprintTheme();
|
|
206
|
+
if (!theme?.colors)
|
|
207
|
+
return [];
|
|
208
|
+
const out = [];
|
|
209
|
+
const push = (v) => {
|
|
210
|
+
if (typeof v === 'string' && HEX_RE.test(v) && !out.includes(v))
|
|
211
|
+
out.push(v);
|
|
212
|
+
};
|
|
213
|
+
for (const scale of [theme.colors.primary, theme.colors.secondary, theme.colors.accent]) {
|
|
214
|
+
push(scale?.['500']);
|
|
215
|
+
push(scale?.['700']);
|
|
216
|
+
}
|
|
217
|
+
push(theme.colors.neutral?.['900']);
|
|
218
|
+
push(theme.colors.neutral?.['50']);
|
|
219
|
+
return out.slice(0, 8);
|
|
220
|
+
}
|
|
145
221
|
// =============================================================================
|
|
146
222
|
// Resolution + application (the send/preview chokepoint)
|
|
147
223
|
// =============================================================================
|
|
@@ -151,15 +227,28 @@ function themeToStyles(theme) {
|
|
|
151
227
|
styles.primaryColor = theme.primaryColor;
|
|
152
228
|
if (theme.backgroundColor)
|
|
153
229
|
styles.backgroundColor = theme.backgroundColor;
|
|
154
|
-
if (theme.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
230
|
+
if (theme.cardColor)
|
|
231
|
+
styles.cardBackground = theme.cardColor;
|
|
232
|
+
if (theme.textColor)
|
|
233
|
+
styles.textPrimary = theme.textColor;
|
|
234
|
+
const bodyFont = theme.bodyFont ?? theme.fontName;
|
|
235
|
+
if (bodyFont && isEmailFont(bodyFont)) {
|
|
236
|
+
styles.fontName = bodyFont;
|
|
237
|
+
styles.fontFamily = fontStack(bodyFont);
|
|
238
|
+
}
|
|
239
|
+
const headingFont = theme.headingFont ?? bodyFont;
|
|
240
|
+
if (headingFont && isEmailFont(headingFont)) {
|
|
241
|
+
styles.headingFontName = headingFont;
|
|
242
|
+
styles.headingFontFamily = fontStack(headingFont);
|
|
160
243
|
}
|
|
161
244
|
if (theme.buttonRadius)
|
|
162
245
|
styles.buttonRadius = BUTTON_RADIUS_PX[theme.buttonRadius];
|
|
246
|
+
if (theme.cardRadius)
|
|
247
|
+
styles.cardRadius = CARD_RADIUS_PX[theme.cardRadius];
|
|
248
|
+
if (theme.logoSize)
|
|
249
|
+
styles.logoWidth = LOGO_WIDTH_PX[theme.logoSize];
|
|
250
|
+
if (theme.logoAlign)
|
|
251
|
+
styles.logoAlign = theme.logoAlign;
|
|
163
252
|
if (theme.footerNote !== undefined)
|
|
164
253
|
styles.footerNote = theme.footerNote;
|
|
165
254
|
return styles;
|
package/dist/emails/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rovela-ai/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "Rovela SDK - Pre-built e-commerce components for AI-powered store generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -296,7 +296,13 @@
|
|
|
296
296
|
"dependencies": {
|
|
297
297
|
"@aws-sdk/client-s3": "3.978.0",
|
|
298
298
|
"@aws-sdk/s3-request-presigner": "3.978.0",
|
|
299
|
+
"@dnd-kit/core": "^6.3.1",
|
|
300
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
301
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
299
302
|
"@neondatabase/serverless": "1.0.2",
|
|
303
|
+
"@tiptap/extension-link": "^3.23.6",
|
|
304
|
+
"@tiptap/react": "^3.23.6",
|
|
305
|
+
"@tiptap/starter-kit": "^3.23.6",
|
|
300
306
|
"bcryptjs": "3.0.3",
|
|
301
307
|
"clsx": "2.1.1",
|
|
302
308
|
"drizzle-orm": "0.44.7",
|