@melv1c/ui-kit 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/base.css +5 -0
  2. package/dist/chunk-5SGT7Y7J.js +172 -0
  3. package/dist/chunk-5SGT7Y7J.js.map +1 -0
  4. package/dist/chunk-RKE7ZPNV.cjs +180 -0
  5. package/dist/chunk-RKE7ZPNV.cjs.map +1 -0
  6. package/dist/code-editors/index.cjs +157 -0
  7. package/dist/code-editors/index.cjs.map +1 -0
  8. package/dist/code-editors/index.d.cts +46 -0
  9. package/dist/code-editors/index.d.ts +46 -0
  10. package/dist/code-editors/index.js +154 -0
  11. package/dist/code-editors/index.js.map +1 -0
  12. package/dist/index.cjs +426 -31
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +66 -116
  15. package/dist/index.d.ts +66 -116
  16. package/dist/index.js +414 -27
  17. package/dist/index.js.map +1 -1
  18. package/dist/locales/index.cjs +7 -7
  19. package/dist/locales/index.d.cts +132 -6
  20. package/dist/locales/index.d.ts +132 -6
  21. package/dist/locales/index.js +1 -1
  22. package/dist/{rich-text-editor-MOJDWQTI.cjs → rich-text-editor/index.cjs} +5 -5
  23. package/dist/rich-text-editor/index.cjs.map +1 -0
  24. package/dist/rich-text-editor/index.d.cts +50 -0
  25. package/dist/rich-text-editor/index.d.ts +50 -0
  26. package/dist/{rich-text-editor-JUERRDHQ.js → rich-text-editor/index.js} +5 -5
  27. package/dist/rich-text-editor/index.js.map +1 -0
  28. package/package.json +11 -1
  29. package/dist/chunk-2ZWQNZEN.cjs +0 -63
  30. package/dist/chunk-2ZWQNZEN.cjs.map +0 -1
  31. package/dist/chunk-4H5OSMBC.js +0 -52
  32. package/dist/chunk-4H5OSMBC.js.map +0 -1
  33. package/dist/chunk-QV4CTFLS.cjs +0 -60
  34. package/dist/chunk-QV4CTFLS.cjs.map +0 -1
  35. package/dist/chunk-RZJFYAJW.js +0 -60
  36. package/dist/chunk-RZJFYAJW.js.map +0 -1
  37. package/dist/code-diff-editor-IT2RMVDC.js +0 -73
  38. package/dist/code-diff-editor-IT2RMVDC.js.map +0 -1
  39. package/dist/code-diff-editor-J24VGXHL.cjs +0 -75
  40. package/dist/code-diff-editor-J24VGXHL.cjs.map +0 -1
  41. package/dist/code-editor-DK64HVFQ.cjs +0 -84
  42. package/dist/code-editor-DK64HVFQ.cjs.map +0 -1
  43. package/dist/code-editor-EJIJXZLN.js +0 -82
  44. package/dist/code-editor-EJIJXZLN.js.map +0 -1
  45. package/dist/rich-text-editor-JUERRDHQ.js.map +0 -1
  46. package/dist/rich-text-editor-MOJDWQTI.cjs.map +0 -1
@@ -1,33 +1,33 @@
1
1
  'use strict';
2
2
 
3
- var chunkQV4CTFLS_cjs = require('../chunk-QV4CTFLS.cjs');
3
+ var chunkRKE7ZPNV_cjs = require('../chunk-RKE7ZPNV.cjs');
4
4
  require('../chunk-Q7SFCCGT.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "de", {
9
9
  enumerable: true,
10
- get: function () { return chunkQV4CTFLS_cjs.de_default; }
10
+ get: function () { return chunkRKE7ZPNV_cjs.de_default; }
11
11
  });
12
12
  Object.defineProperty(exports, "en", {
13
13
  enumerable: true,
14
- get: function () { return chunkQV4CTFLS_cjs.en_default; }
14
+ get: function () { return chunkRKE7ZPNV_cjs.en_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "es", {
17
17
  enumerable: true,
18
- get: function () { return chunkQV4CTFLS_cjs.es_default; }
18
+ get: function () { return chunkRKE7ZPNV_cjs.es_default; }
19
19
  });
20
20
  Object.defineProperty(exports, "fr", {
21
21
  enumerable: true,
22
- get: function () { return chunkQV4CTFLS_cjs.fr_default; }
22
+ get: function () { return chunkRKE7ZPNV_cjs.fr_default; }
23
23
  });
24
24
  Object.defineProperty(exports, "it", {
25
25
  enumerable: true,
26
- get: function () { return chunkQV4CTFLS_cjs.it_default; }
26
+ get: function () { return chunkRKE7ZPNV_cjs.it_default; }
27
27
  });
28
28
  Object.defineProperty(exports, "nl", {
29
29
  enumerable: true,
30
- get: function () { return chunkQV4CTFLS_cjs.nl_default; }
30
+ get: function () { return chunkRKE7ZPNV_cjs.nl_default; }
31
31
  });
32
32
  //# sourceMappingURL=index.cjs.map
33
33
  //# sourceMappingURL=index.cjs.map
@@ -1,43 +1,169 @@
1
1
  var next$5 = "Weiter";
2
2
  var previous$5 = "Zurück";
3
+ var loginForm$5 = {
4
+ title: "Anmelden bei Ihrem Konto",
5
+ description: "Geben Sie Ihre Anmeldedaten ein, um auf Ihr Konto zuzugreifen",
6
+ email: "E-Mail",
7
+ emailPlaceholder: "name@beispiel.com",
8
+ password: "Passwort",
9
+ forgotPassword: "Passwort vergessen?",
10
+ login: "Anmelden",
11
+ loggingIn: "Anmeldung läuft...",
12
+ orContinueWith: "oder fortfahren mit",
13
+ noAccount: "Sie haben noch kein Konto?",
14
+ signUp: "Registrieren",
15
+ providers: {
16
+ google: "Mit Google fortfahren",
17
+ github: "Mit GitHub fortfahren",
18
+ apple: "Mit Apple fortfahren",
19
+ microsoft: "Mit Microsoft fortfahren",
20
+ facebook: "Mit Facebook fortfahren"
21
+ }
22
+ };
3
23
  var de = {
4
24
  next: next$5,
5
- previous: previous$5
25
+ previous: previous$5,
26
+ loginForm: loginForm$5
6
27
  };
7
28
 
8
29
  var next$4 = "Next";
9
30
  var previous$4 = "Previous";
31
+ var loginForm$4 = {
32
+ title: "Login to your account",
33
+ description: "Enter your credentials to access your account",
34
+ email: "Email",
35
+ emailPlaceholder: "name@example.com",
36
+ password: "Password",
37
+ forgotPassword: "Forgot password?",
38
+ login: "Login",
39
+ loggingIn: "Logging in...",
40
+ orContinueWith: "or continue with",
41
+ noAccount: "Don't have an account?",
42
+ signUp: "Sign up",
43
+ providers: {
44
+ google: "Continue with Google",
45
+ github: "Continue with GitHub",
46
+ apple: "Continue with Apple",
47
+ microsoft: "Continue with Microsoft",
48
+ facebook: "Continue with Facebook"
49
+ }
50
+ };
10
51
  var en = {
11
52
  next: next$4,
12
- previous: previous$4
53
+ previous: previous$4,
54
+ loginForm: loginForm$4
13
55
  };
14
56
 
15
57
  var next$3 = "Siguiente";
16
58
  var previous$3 = "Anterior";
59
+ var loginForm$3 = {
60
+ title: "Iniciar sesión en su cuenta",
61
+ description: "Introduzca sus credenciales para acceder a su cuenta",
62
+ email: "Correo electrónico",
63
+ emailPlaceholder: "nombre@ejemplo.com",
64
+ password: "Contraseña",
65
+ forgotPassword: "¿Olvidó su contraseña?",
66
+ login: "Iniciar sesión",
67
+ loggingIn: "Iniciando sesión...",
68
+ orContinueWith: "o continuar con",
69
+ noAccount: "¿No tiene una cuenta?",
70
+ signUp: "Registrarse",
71
+ providers: {
72
+ google: "Continuar con Google",
73
+ github: "Continuar con GitHub",
74
+ apple: "Continuar con Apple",
75
+ microsoft: "Continuar con Microsoft",
76
+ facebook: "Continuar con Facebook"
77
+ }
78
+ };
17
79
  var es = {
18
80
  next: next$3,
19
- previous: previous$3
81
+ previous: previous$3,
82
+ loginForm: loginForm$3
20
83
  };
21
84
 
22
85
  var next$2 = "Suivant";
23
86
  var previous$2 = "Précédent";
87
+ var loginForm$2 = {
88
+ title: "Connexion à votre compte",
89
+ description: "Entrez vos identifiants pour accéder à votre compte",
90
+ email: "Email",
91
+ emailPlaceholder: "nom@exemple.com",
92
+ password: "Mot de passe",
93
+ forgotPassword: "Mot de passe oublié ?",
94
+ login: "Se connecter",
95
+ loggingIn: "Connexion en cours...",
96
+ orContinueWith: "ou continuer avec",
97
+ noAccount: "Vous n'avez pas de compte ?",
98
+ signUp: "S'inscrire",
99
+ providers: {
100
+ google: "Continuer avec Google",
101
+ github: "Continuer avec GitHub",
102
+ apple: "Continuer avec Apple",
103
+ microsoft: "Continuer avec Microsoft",
104
+ facebook: "Continuer avec Facebook"
105
+ }
106
+ };
24
107
  var fr = {
25
108
  next: next$2,
26
- previous: previous$2
109
+ previous: previous$2,
110
+ loginForm: loginForm$2
27
111
  };
28
112
 
29
113
  var next$1 = "Successivo";
30
114
  var previous$1 = "Precedente";
115
+ var loginForm$1 = {
116
+ title: "Accedi al tuo account",
117
+ description: "Inserisci le tue credenziali per accedere al tuo account",
118
+ email: "Email",
119
+ emailPlaceholder: "nome@esempio.com",
120
+ password: "Password",
121
+ forgotPassword: "Password dimenticata?",
122
+ login: "Accedi",
123
+ loggingIn: "Accesso in corso...",
124
+ orContinueWith: "o continua con",
125
+ noAccount: "Non hai un account?",
126
+ signUp: "Registrati",
127
+ providers: {
128
+ google: "Continua con Google",
129
+ github: "Continua con GitHub",
130
+ apple: "Continua con Apple",
131
+ microsoft: "Continua con Microsoft",
132
+ facebook: "Continua con Facebook"
133
+ }
134
+ };
31
135
  var it = {
32
136
  next: next$1,
33
- previous: previous$1
137
+ previous: previous$1,
138
+ loginForm: loginForm$1
34
139
  };
35
140
 
36
141
  var next = "Volgende";
37
142
  var previous = "Vorige";
143
+ var loginForm = {
144
+ title: "Inloggen op uw account",
145
+ description: "Voer uw gegevens in om toegang te krijgen tot uw account",
146
+ email: "E-mail",
147
+ emailPlaceholder: "naam@voorbeeld.com",
148
+ password: "Wachtwoord",
149
+ forgotPassword: "Wachtwoord vergeten?",
150
+ login: "Inloggen",
151
+ loggingIn: "Bezig met inloggen...",
152
+ orContinueWith: "of ga verder met",
153
+ noAccount: "Heeft u geen account?",
154
+ signUp: "Registreren",
155
+ providers: {
156
+ google: "Doorgaan met Google",
157
+ github: "Doorgaan met GitHub",
158
+ apple: "Doorgaan met Apple",
159
+ microsoft: "Doorgaan met Microsoft",
160
+ facebook: "Doorgaan met Facebook"
161
+ }
162
+ };
38
163
  var nl = {
39
164
  next: next,
40
- previous: previous
165
+ previous: previous,
166
+ loginForm: loginForm
41
167
  };
42
168
 
43
169
  export { de, en, es, fr, it, nl };
@@ -1,43 +1,169 @@
1
1
  var next$5 = "Weiter";
2
2
  var previous$5 = "Zurück";
3
+ var loginForm$5 = {
4
+ title: "Anmelden bei Ihrem Konto",
5
+ description: "Geben Sie Ihre Anmeldedaten ein, um auf Ihr Konto zuzugreifen",
6
+ email: "E-Mail",
7
+ emailPlaceholder: "name@beispiel.com",
8
+ password: "Passwort",
9
+ forgotPassword: "Passwort vergessen?",
10
+ login: "Anmelden",
11
+ loggingIn: "Anmeldung läuft...",
12
+ orContinueWith: "oder fortfahren mit",
13
+ noAccount: "Sie haben noch kein Konto?",
14
+ signUp: "Registrieren",
15
+ providers: {
16
+ google: "Mit Google fortfahren",
17
+ github: "Mit GitHub fortfahren",
18
+ apple: "Mit Apple fortfahren",
19
+ microsoft: "Mit Microsoft fortfahren",
20
+ facebook: "Mit Facebook fortfahren"
21
+ }
22
+ };
3
23
  var de = {
4
24
  next: next$5,
5
- previous: previous$5
25
+ previous: previous$5,
26
+ loginForm: loginForm$5
6
27
  };
7
28
 
8
29
  var next$4 = "Next";
9
30
  var previous$4 = "Previous";
31
+ var loginForm$4 = {
32
+ title: "Login to your account",
33
+ description: "Enter your credentials to access your account",
34
+ email: "Email",
35
+ emailPlaceholder: "name@example.com",
36
+ password: "Password",
37
+ forgotPassword: "Forgot password?",
38
+ login: "Login",
39
+ loggingIn: "Logging in...",
40
+ orContinueWith: "or continue with",
41
+ noAccount: "Don't have an account?",
42
+ signUp: "Sign up",
43
+ providers: {
44
+ google: "Continue with Google",
45
+ github: "Continue with GitHub",
46
+ apple: "Continue with Apple",
47
+ microsoft: "Continue with Microsoft",
48
+ facebook: "Continue with Facebook"
49
+ }
50
+ };
10
51
  var en = {
11
52
  next: next$4,
12
- previous: previous$4
53
+ previous: previous$4,
54
+ loginForm: loginForm$4
13
55
  };
14
56
 
15
57
  var next$3 = "Siguiente";
16
58
  var previous$3 = "Anterior";
59
+ var loginForm$3 = {
60
+ title: "Iniciar sesión en su cuenta",
61
+ description: "Introduzca sus credenciales para acceder a su cuenta",
62
+ email: "Correo electrónico",
63
+ emailPlaceholder: "nombre@ejemplo.com",
64
+ password: "Contraseña",
65
+ forgotPassword: "¿Olvidó su contraseña?",
66
+ login: "Iniciar sesión",
67
+ loggingIn: "Iniciando sesión...",
68
+ orContinueWith: "o continuar con",
69
+ noAccount: "¿No tiene una cuenta?",
70
+ signUp: "Registrarse",
71
+ providers: {
72
+ google: "Continuar con Google",
73
+ github: "Continuar con GitHub",
74
+ apple: "Continuar con Apple",
75
+ microsoft: "Continuar con Microsoft",
76
+ facebook: "Continuar con Facebook"
77
+ }
78
+ };
17
79
  var es = {
18
80
  next: next$3,
19
- previous: previous$3
81
+ previous: previous$3,
82
+ loginForm: loginForm$3
20
83
  };
21
84
 
22
85
  var next$2 = "Suivant";
23
86
  var previous$2 = "Précédent";
87
+ var loginForm$2 = {
88
+ title: "Connexion à votre compte",
89
+ description: "Entrez vos identifiants pour accéder à votre compte",
90
+ email: "Email",
91
+ emailPlaceholder: "nom@exemple.com",
92
+ password: "Mot de passe",
93
+ forgotPassword: "Mot de passe oublié ?",
94
+ login: "Se connecter",
95
+ loggingIn: "Connexion en cours...",
96
+ orContinueWith: "ou continuer avec",
97
+ noAccount: "Vous n'avez pas de compte ?",
98
+ signUp: "S'inscrire",
99
+ providers: {
100
+ google: "Continuer avec Google",
101
+ github: "Continuer avec GitHub",
102
+ apple: "Continuer avec Apple",
103
+ microsoft: "Continuer avec Microsoft",
104
+ facebook: "Continuer avec Facebook"
105
+ }
106
+ };
24
107
  var fr = {
25
108
  next: next$2,
26
- previous: previous$2
109
+ previous: previous$2,
110
+ loginForm: loginForm$2
27
111
  };
28
112
 
29
113
  var next$1 = "Successivo";
30
114
  var previous$1 = "Precedente";
115
+ var loginForm$1 = {
116
+ title: "Accedi al tuo account",
117
+ description: "Inserisci le tue credenziali per accedere al tuo account",
118
+ email: "Email",
119
+ emailPlaceholder: "nome@esempio.com",
120
+ password: "Password",
121
+ forgotPassword: "Password dimenticata?",
122
+ login: "Accedi",
123
+ loggingIn: "Accesso in corso...",
124
+ orContinueWith: "o continua con",
125
+ noAccount: "Non hai un account?",
126
+ signUp: "Registrati",
127
+ providers: {
128
+ google: "Continua con Google",
129
+ github: "Continua con GitHub",
130
+ apple: "Continua con Apple",
131
+ microsoft: "Continua con Microsoft",
132
+ facebook: "Continua con Facebook"
133
+ }
134
+ };
31
135
  var it = {
32
136
  next: next$1,
33
- previous: previous$1
137
+ previous: previous$1,
138
+ loginForm: loginForm$1
34
139
  };
35
140
 
36
141
  var next = "Volgende";
37
142
  var previous = "Vorige";
143
+ var loginForm = {
144
+ title: "Inloggen op uw account",
145
+ description: "Voer uw gegevens in om toegang te krijgen tot uw account",
146
+ email: "E-mail",
147
+ emailPlaceholder: "naam@voorbeeld.com",
148
+ password: "Wachtwoord",
149
+ forgotPassword: "Wachtwoord vergeten?",
150
+ login: "Inloggen",
151
+ loggingIn: "Bezig met inloggen...",
152
+ orContinueWith: "of ga verder met",
153
+ noAccount: "Heeft u geen account?",
154
+ signUp: "Registreren",
155
+ providers: {
156
+ google: "Doorgaan met Google",
157
+ github: "Doorgaan met GitHub",
158
+ apple: "Doorgaan met Apple",
159
+ microsoft: "Doorgaan met Microsoft",
160
+ facebook: "Doorgaan met Facebook"
161
+ }
162
+ };
38
163
  var nl = {
39
164
  next: next,
40
- previous: previous
165
+ previous: previous,
166
+ loginForm: loginForm
41
167
  };
42
168
 
43
169
  export { de, en, es, fr, it, nl };
@@ -1,4 +1,4 @@
1
- export { de_default as de, en_default as en, es_default as es, fr_default as fr, it_default as it, nl_default as nl } from '../chunk-4H5OSMBC.js';
1
+ export { de_default as de, en_default as en, es_default as es, fr_default as fr, it_default as it, nl_default as nl } from '../chunk-5SGT7Y7J.js';
2
2
  import '../chunk-PZ5AY32C.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkGQ6Z5A4R_cjs = require('./chunk-GQ6Z5A4R.cjs');
4
- var chunkI7WHASOO_cjs = require('./chunk-I7WHASOO.cjs');
5
- require('./chunk-Q7SFCCGT.cjs');
3
+ var chunkGQ6Z5A4R_cjs = require('../chunk-GQ6Z5A4R.cjs');
4
+ var chunkI7WHASOO_cjs = require('../chunk-I7WHASOO.cjs');
5
+ require('../chunk-Q7SFCCGT.cjs');
6
6
  var Link = require('@tiptap/extension-link');
7
7
  var Placeholder = require('@tiptap/extension-placeholder');
8
8
  var Underline = require('@tiptap/extension-underline');
@@ -447,5 +447,5 @@ function RichTextEditor({
447
447
  }
448
448
 
449
449
  exports.RichTextEditor = RichTextEditor;
450
- //# sourceMappingURL=rich-text-editor-MOJDWQTI.cjs.map
451
- //# sourceMappingURL=rich-text-editor-MOJDWQTI.cjs.map
450
+ //# sourceMappingURL=index.cjs.map
451
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/optionals/rich-text-editor/variants.ts","../../src/components/optionals/rich-text-editor/toolbar/link-popover.tsx","../../src/components/optionals/rich-text-editor/toolbar/editor-toolbar.tsx","../../src/components/optionals/rich-text-editor/rich-text-editor.tsx"],"names":["cva","useState","useRef","useCallback","jsxs","Popover","jsx","PopoverTrigger","Toggle","LinkIcon","PopoverContent","Input","Button","Check","X","Unlink","cn","Fragment","ToggleGroup","ToggleGroupItem","Heading1","Heading2","Heading3","Separator","Bold","Italic","UnderlineIcon","Strikethrough","List","ListOrdered","useEditor","StarterKit","Underline","Link","Placeholder","editor","EditorContent"],"mappings":"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","file":"index.cjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const richTextEditorVariants = cva(\n \"relative overflow-hidden rounded-md border transition-[color,box-shadow] outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"border-input bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n card: \"border-border bg-card shadow-sm\",\n },\n size: {\n default: \"min-h-[200px]\",\n sm: \"min-h-[120px]\",\n lg: \"min-h-[350px]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport const toolbarVariants = cva(\n \"flex flex-wrap items-center gap-1 border-b p-2\",\n {\n variants: {\n variant: {\n default: \"border-input bg-muted/30\",\n ghost: \"border-transparent bg-transparent\",\n card: \"border-border bg-muted/50\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport const editorContentVariants = cva(\n \"prose prose-sm dark:prose-invert max-w-none p-4 focus:outline-none\",\n {\n variants: {\n size: {\n default: \"min-h-[150px]\",\n sm: \"min-h-[80px]\",\n lg: \"min-h-[300px]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n","import { Check, Link as LinkIcon, Unlink, X } from \"lucide-react\";\nimport { useCallback, useRef, useState } from \"react\";\nimport { Button } from \"@/components/base/button\";\nimport { Input } from \"@/components/base/input\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/base/popover\";\nimport { Toggle } from \"@/components/base/toggle\";\nimport type { LinkPopoverProps } from \"../types\";\n\nfunction LinkPopover({ editor, disabled }: LinkPopoverProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [url, setUrl] = useState(\"\");\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleOpen = useCallback(\n (open: boolean) => {\n if (open) {\n const previousUrl = editor.getAttributes(\"link\").href || \"\";\n setUrl(previousUrl);\n }\n setIsOpen(open);\n },\n [editor],\n );\n\n const handleSetLink = useCallback(() => {\n if (url === \"\") {\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n } else {\n editor\n .chain()\n .focus()\n .extendMarkRange(\"link\")\n .setLink({ href: url, target: \"_blank\" })\n .run();\n }\n setIsOpen(false);\n setUrl(\"\");\n }, [editor, url]);\n\n const handleUnsetLink = useCallback(() => {\n editor.chain().focus().unsetLink().run();\n setIsOpen(false);\n setUrl(\"\");\n }, [editor]);\n\n const isActive = editor.isActive(\"link\");\n\n return (\n <Popover open={isOpen} onOpenChange={handleOpen}>\n <PopoverTrigger asChild>\n <Toggle\n size=\"sm\"\n pressed={isActive}\n disabled={disabled}\n aria-label={isActive ? \"Edit link\" : \"Add link\"}\n variant=\"outline\"\n >\n <LinkIcon className=\"size-4\" />\n </Toggle>\n </PopoverTrigger>\n <PopoverContent className=\"w-80 p-3\" align=\"start\">\n <div className=\"flex flex-col gap-3\">\n <div className=\"text-sm font-medium\">\n {isActive ? \"Edit Link\" : \"Insert Link\"}\n </div>\n <Input\n ref={inputRef}\n type=\"url\"\n placeholder=\"https://example.com\"\n value={url}\n onChange={(e) => setUrl(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleSetLink();\n }\n if (e.key === \"Escape\") {\n setIsOpen(false);\n }\n }}\n />\n <div className=\"flex items-center justify-between\">\n <div className=\"flex gap-1\">\n <Button type=\"button\" size=\"sm\" onClick={handleSetLink}>\n <Check className=\"size-3.5\" />\n {isActive ? \"Update\" : \"Insert\"}\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={() => {\n setIsOpen(false);\n setUrl(\"\");\n }}\n >\n <X className=\"size-3.5\" />\n Cancel\n </Button>\n </div>\n {isActive && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleUnsetLink}\n className=\"text-destructive hover:text-destructive\"\n >\n <Unlink className=\"size-3.5\" />\n Remove\n </Button>\n )}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { LinkPopover };\n","import {\n Bold,\n Heading1,\n Heading2,\n Heading3,\n Italic,\n List,\n ListOrdered,\n Strikethrough,\n Underline as UnderlineIcon,\n} from \"lucide-react\";\nimport { Separator } from \"@/components/base/separator\";\nimport { ToggleGroup, ToggleGroupItem } from \"@/components/base/toggle-group\";\nimport { cn } from \"@/lib/utils\";\nimport type { EditorToolbarProps, ToolbarOptions } from \"../types\";\nimport { toolbarVariants } from \"../variants\";\nimport { LinkPopover } from \"./link-popover\";\n\nconst defaultOptions: Required<ToolbarOptions> = {\n headings: true,\n bold: true,\n italic: true,\n underline: true,\n strikethrough: true,\n bulletList: true,\n orderedList: true,\n link: true,\n};\n\nfunction EditorToolbar({\n editor,\n variant,\n disabled,\n className,\n options,\n}: EditorToolbarProps) {\n const opts = { ...defaultOptions, ...options };\n\n const showHeadings = opts.headings;\n const showFormatting =\n opts.bold || opts.italic || opts.underline || opts.strikethrough;\n const showLists = opts.bulletList || opts.orderedList;\n const showLink = opts.link;\n\n // Determine which separators to show based on active groups\n const activeGroups = [showHeadings, showFormatting, showLists, showLink];\n const needsSeparatorAfter = (groupIndex: number): boolean => {\n // Show separator if there's at least one active group after this one\n return activeGroups.slice(groupIndex + 1).some(Boolean);\n };\n\n return (\n <div\n data-slot=\"rich-text-editor-toolbar\"\n className={cn(toolbarVariants({ variant }), className)}\n >\n {/* Heading Group */}\n {showHeadings && (\n <>\n <ToggleGroup\n type=\"single\"\n value={\n editor?.isActive(\"heading\", { level: 1 })\n ? \"h1\"\n : editor?.isActive(\"heading\", { level: 2 })\n ? \"h2\"\n : editor?.isActive(\"heading\", { level: 3 })\n ? \"h3\"\n : \"\"\n }\n size=\"sm\"\n variant=\"outline\"\n >\n <ToggleGroupItem\n value=\"h1\"\n aria-label=\"Heading 1\"\n disabled={\n disabled ||\n !editor?.can().chain().focus().toggleHeading({ level: 1 }).run()\n }\n onClick={() =>\n editor?.chain().focus().toggleHeading({ level: 1 }).run()\n }\n >\n <Heading1 className=\"size-4\" />\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"h2\"\n aria-label=\"Heading 2\"\n disabled={\n disabled ||\n !editor?.can().chain().focus().toggleHeading({ level: 2 }).run()\n }\n onClick={() =>\n editor?.chain().focus().toggleHeading({ level: 2 }).run()\n }\n >\n <Heading2 className=\"size-4\" />\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"h3\"\n aria-label=\"Heading 3\"\n disabled={\n disabled ||\n !editor?.can().chain().focus().toggleHeading({ level: 3 }).run()\n }\n onClick={() =>\n editor?.chain().focus().toggleHeading({ level: 3 }).run()\n }\n >\n <Heading3 className=\"size-4\" />\n </ToggleGroupItem>\n </ToggleGroup>\n {needsSeparatorAfter(0) && (\n <Separator orientation=\"vertical\" className=\"mx-1 h-6\" />\n )}\n </>\n )}\n\n {/* Text Formatting Group */}\n {showFormatting && (\n <>\n <ToggleGroup\n type=\"multiple\"\n value={[\"bold\", \"italic\", \"underline\", \"strike\"].filter((format) =>\n editor?.isActive(format),\n )}\n size=\"sm\"\n variant=\"outline\"\n >\n {opts.bold && (\n <ToggleGroupItem\n value=\"bold\"\n aria-label=\"Bold\"\n disabled={\n disabled || !editor.can().chain().focus().toggleBold().run()\n }\n onClick={() => editor.chain().focus().toggleBold().run()}\n >\n <Bold className=\"size-4\" />\n </ToggleGroupItem>\n )}\n {opts.italic && (\n <ToggleGroupItem\n value=\"italic\"\n aria-label=\"Italic\"\n disabled={\n disabled || !editor.can().chain().focus().toggleItalic().run()\n }\n onClick={() => editor.chain().focus().toggleItalic().run()}\n >\n <Italic className=\"size-4\" />\n </ToggleGroupItem>\n )}\n {opts.underline && (\n <ToggleGroupItem\n value=\"underline\"\n aria-label=\"Underline\"\n disabled={\n disabled ||\n !editor.can().chain().focus().toggleUnderline().run()\n }\n onClick={() => editor.chain().focus().toggleUnderline().run()}\n >\n <UnderlineIcon className=\"size-4\" />\n </ToggleGroupItem>\n )}\n {opts.strikethrough && (\n <ToggleGroupItem\n value=\"strike\"\n aria-label=\"Strikethrough\"\n disabled={\n disabled || !editor.can().chain().focus().toggleStrike().run()\n }\n onClick={() => editor.chain().focus().toggleStrike().run()}\n >\n <Strikethrough className=\"size-4\" />\n </ToggleGroupItem>\n )}\n </ToggleGroup>\n {needsSeparatorAfter(1) && (\n <Separator orientation=\"vertical\" className=\"mx-1 h-6\" />\n )}\n </>\n )}\n\n {/* List Group */}\n {showLists && (\n <>\n <ToggleGroup\n type=\"single\"\n value={\n editor.isActive(\"bulletList\")\n ? \"bulletList\"\n : editor.isActive(\"orderedList\")\n ? \"orderedList\"\n : \"\"\n }\n size=\"sm\"\n variant=\"outline\"\n >\n {opts.bulletList && (\n <ToggleGroupItem\n value=\"bulletList\"\n aria-label=\"Bullet list\"\n disabled={disabled}\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n >\n <List className=\"size-4\" />\n </ToggleGroupItem>\n )}\n {opts.orderedList && (\n <ToggleGroupItem\n value=\"orderedList\"\n aria-label=\"Ordered list\"\n disabled={disabled}\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n >\n <ListOrdered className=\"size-4\" />\n </ToggleGroupItem>\n )}\n </ToggleGroup>\n {needsSeparatorAfter(2) && (\n <Separator orientation=\"vertical\" className=\"mx-1 h-6\" />\n )}\n </>\n )}\n\n {/* Link */}\n {showLink && <LinkPopover editor={editor} disabled={disabled} />}\n </div>\n );\n}\n\nexport { EditorToolbar };\n","import Link from \"@tiptap/extension-link\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport Underline from \"@tiptap/extension-underline\";\nimport { EditorContent, useEditor } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport { cn } from \"@/lib/utils\";\nimport { EditorToolbar } from \"./toolbar\";\nimport type { RichTextEditorProps } from \"./types\";\nimport { editorContentVariants, richTextEditorVariants } from \"./variants\";\n\nfunction RichTextEditor({\n value,\n onChange,\n placeholder = \"Start typing...\",\n readOnly = false,\n disabled = false,\n multiline = true,\n className,\n variant,\n size,\n contentClassName,\n toolbarClassName,\n toolbarOptions,\n ...props\n}: RichTextEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit.configure({\n heading: {\n levels: [1, 2, 3],\n },\n codeBlock: false,\n blockquote: false,\n }),\n Underline,\n Link.configure({\n openOnClick: false,\n HTMLAttributes: {\n class: \"text-primary underline underline-offset-2 cursor-pointer\",\n },\n }),\n Placeholder.configure({\n placeholder,\n emptyEditorClass:\n \"before:content-[attr(data-placeholder)] before:text-muted-foreground before:float-left before:h-0 before:pointer-events-none\",\n }),\n ],\n content: value,\n onUpdate: ({ editor }) => {\n onChange(editor.isEmpty ? \"\" : editor.getHTML());\n },\n editable: !readOnly && !disabled,\n shouldRerenderOnTransaction: true, // Force a re-render when a transaction is made\n editorProps: {\n attributes: {\n class: cn(\n editorContentVariants({ size: multiline ? size : undefined }),\n \"[&_h1]:text-2xl [&_h1]:font-bold [&_h1]:mb-2\",\n \"[&_h2]:text-xl [&_h2]:font-semibold [&_h2]:mb-2\",\n \"[&_h3]:text-lg [&_h3]:font-medium [&_h3]:mb-1\",\n \"[&_ul]:list-disc [&_ul]:ml-4 [&_ol]:list-decimal [&_ol]:ml-4\",\n \"[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2\",\n !multiline && \"min-h-0 py-2\",\n ),\n },\n handleKeyDown: (_, event) => {\n // Prevent Enter key when multiline is disabled\n if (!multiline && event.key === \"Enter\") {\n return true;\n }\n return false;\n },\n },\n });\n\n return (\n <div\n data-slot=\"rich-text-editor\"\n className={cn(\n richTextEditorVariants({ variant, size: multiline ? size : undefined }),\n !multiline && \"min-h-0\",\n disabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n {...props}\n >\n {!readOnly && (\n <EditorToolbar\n editor={editor}\n variant={variant}\n disabled={disabled}\n className={toolbarClassName}\n options={toolbarOptions}\n />\n )}\n <EditorContent\n editor={editor}\n className={cn(\n \"w-full\",\n disabled && \"pointer-events-none\",\n contentClassName,\n )}\n />\n </div>\n );\n}\n\nexport { RichTextEditor, type RichTextEditorProps };\n"]}
@@ -0,0 +1,50 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import { HTMLAttributes } from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+
6
+ declare const richTextEditorVariants: (props?: ({
7
+ variant?: "default" | "ghost" | "card" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+
11
+ type EditorOutput = "html" | "json" | "text";
12
+ /**
13
+ * Configuration options to enable/disable toolbar features.
14
+ * All options default to `true` if not specified.
15
+ */
16
+ interface ToolbarOptions {
17
+ /** Enable heading buttons (H1, H2, H3) */
18
+ headings?: boolean;
19
+ /** Enable bold formatting */
20
+ bold?: boolean;
21
+ /** Enable italic formatting */
22
+ italic?: boolean;
23
+ /** Enable underline formatting */
24
+ underline?: boolean;
25
+ /** Enable strikethrough formatting */
26
+ strikethrough?: boolean;
27
+ /** Enable bullet list */
28
+ bulletList?: boolean;
29
+ /** Enable ordered list */
30
+ orderedList?: boolean;
31
+ /** Enable link insertion */
32
+ link?: boolean;
33
+ }
34
+ interface RichTextEditorProps extends VariantProps<typeof richTextEditorVariants>, Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
35
+ value: string;
36
+ onChange: (value: string) => void;
37
+ placeholder?: string;
38
+ readOnly?: boolean;
39
+ disabled?: boolean;
40
+ /** Allow multiline content (default: true). When false, Enter key is disabled. */
41
+ multiline?: boolean;
42
+ contentClassName?: string;
43
+ toolbarClassName?: string;
44
+ /** Configure which toolbar options are enabled. All enabled by default. */
45
+ toolbarOptions?: ToolbarOptions;
46
+ }
47
+
48
+ declare function RichTextEditor({ value, onChange, placeholder, readOnly, disabled, multiline, className, variant, size, contentClassName, toolbarClassName, toolbarOptions, ...props }: RichTextEditorProps): react_jsx_runtime.JSX.Element;
49
+
50
+ export { type EditorOutput, RichTextEditor, type RichTextEditorProps, type ToolbarOptions };
@@ -0,0 +1,50 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import { HTMLAttributes } from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+
6
+ declare const richTextEditorVariants: (props?: ({
7
+ variant?: "default" | "ghost" | "card" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+
11
+ type EditorOutput = "html" | "json" | "text";
12
+ /**
13
+ * Configuration options to enable/disable toolbar features.
14
+ * All options default to `true` if not specified.
15
+ */
16
+ interface ToolbarOptions {
17
+ /** Enable heading buttons (H1, H2, H3) */
18
+ headings?: boolean;
19
+ /** Enable bold formatting */
20
+ bold?: boolean;
21
+ /** Enable italic formatting */
22
+ italic?: boolean;
23
+ /** Enable underline formatting */
24
+ underline?: boolean;
25
+ /** Enable strikethrough formatting */
26
+ strikethrough?: boolean;
27
+ /** Enable bullet list */
28
+ bulletList?: boolean;
29
+ /** Enable ordered list */
30
+ orderedList?: boolean;
31
+ /** Enable link insertion */
32
+ link?: boolean;
33
+ }
34
+ interface RichTextEditorProps extends VariantProps<typeof richTextEditorVariants>, Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
35
+ value: string;
36
+ onChange: (value: string) => void;
37
+ placeholder?: string;
38
+ readOnly?: boolean;
39
+ disabled?: boolean;
40
+ /** Allow multiline content (default: true). When false, Enter key is disabled. */
41
+ multiline?: boolean;
42
+ contentClassName?: string;
43
+ toolbarClassName?: string;
44
+ /** Configure which toolbar options are enabled. All enabled by default. */
45
+ toolbarOptions?: ToolbarOptions;
46
+ }
47
+
48
+ declare function RichTextEditor({ value, onChange, placeholder, readOnly, disabled, multiline, className, variant, size, contentClassName, toolbarClassName, toolbarOptions, ...props }: RichTextEditorProps): react_jsx_runtime.JSX.Element;
49
+
50
+ export { type EditorOutput, RichTextEditor, type RichTextEditorProps, type ToolbarOptions };
@@ -1,6 +1,6 @@
1
- import { ToggleGroup, ToggleGroupItem, Separator, Popover, PopoverTrigger, Toggle, PopoverContent, Input, Button } from './chunk-WTLIXI2B.js';
2
- import { cn } from './chunk-WZ2GOU2J.js';
3
- import './chunk-PZ5AY32C.js';
1
+ import { ToggleGroup, ToggleGroupItem, Separator, Popover, PopoverTrigger, Toggle, PopoverContent, Input, Button } from '../chunk-WTLIXI2B.js';
2
+ import { cn } from '../chunk-WZ2GOU2J.js';
3
+ import '../chunk-PZ5AY32C.js';
4
4
  import Link from '@tiptap/extension-link';
5
5
  import Placeholder from '@tiptap/extension-placeholder';
6
6
  import Underline from '@tiptap/extension-underline';
@@ -438,5 +438,5 @@ function RichTextEditor({
438
438
  }
439
439
 
440
440
  export { RichTextEditor };
441
- //# sourceMappingURL=rich-text-editor-JUERRDHQ.js.map
442
- //# sourceMappingURL=rich-text-editor-JUERRDHQ.js.map
441
+ //# sourceMappingURL=index.js.map
442
+ //# sourceMappingURL=index.js.map