@flowtomic/ui 0.1.4 → 0.1.6

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 (49) hide show
  1. package/dist/components/atoms/actions/badge/badge.d.ts +2 -2
  2. package/dist/components/atoms/actions/button/button.d.ts +2 -2
  3. package/dist/components/atoms/data-display/index.d.ts +2 -0
  4. package/dist/components/atoms/data-display/index.d.ts.map +1 -1
  5. package/dist/components/atoms/data-display/index.js +1 -0
  6. package/dist/components/atoms/data-display/qr-code/index.d.ts +3 -0
  7. package/dist/components/atoms/data-display/qr-code/index.d.ts.map +1 -0
  8. package/dist/components/atoms/data-display/qr-code/index.js +1 -0
  9. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts +18 -0
  10. package/dist/components/atoms/data-display/qr-code/qr-code.d.ts.map +1 -0
  11. package/dist/components/atoms/data-display/qr-code/qr-code.js +79 -0
  12. package/dist/components/atoms/feedback/alert/alert.d.ts +1 -1
  13. package/dist/components/atoms/feedback/alert-dialog/alert-dialog.d.ts +2 -2
  14. package/dist/components/atoms/forms/input/input.d.ts +2 -2
  15. package/dist/components/atoms/forms/toggle/toggle.d.ts +2 -2
  16. package/dist/components/atoms/layout/sidebar/sidebar.d.ts +2 -2
  17. package/dist/components/atoms/navigation/command/command.d.ts +13 -13
  18. package/dist/components/molecules/forms/item/item.d.ts +2 -2
  19. package/dist/components/molecules/forms/text-editor/index.d.ts +3 -0
  20. package/dist/components/molecules/forms/text-editor/index.d.ts.map +1 -0
  21. package/dist/components/molecules/forms/text-editor/index.js +1 -0
  22. package/dist/components/molecules/forms/text-editor/text-editor.d.ts +33 -0
  23. package/dist/components/molecules/forms/text-editor/text-editor.d.ts.map +1 -0
  24. package/dist/components/molecules/forms/text-editor/text-editor.js +211 -0
  25. package/dist/components/molecules/index.d.ts +2 -0
  26. package/dist/components/molecules/index.d.ts.map +1 -1
  27. package/dist/components/molecules/index.js +1 -0
  28. package/dist/components/organisms/context/context.d.ts +4 -4
  29. package/dist/components/organisms/document-editor/document-editor.d.ts +43 -0
  30. package/dist/components/organisms/document-editor/document-editor.d.ts.map +1 -0
  31. package/dist/components/organisms/document-editor/document-editor.js +144 -0
  32. package/dist/components/organisms/document-editor/index.d.ts +3 -0
  33. package/dist/components/organisms/document-editor/index.d.ts.map +1 -0
  34. package/dist/components/organisms/document-editor/index.js +1 -0
  35. package/dist/components/organisms/form-layout/form-layout.d.ts +111 -0
  36. package/dist/components/organisms/form-layout/form-layout.d.ts.map +1 -0
  37. package/dist/components/organisms/form-layout/form-layout.js +83 -0
  38. package/dist/components/organisms/form-layout/index.d.ts +2 -0
  39. package/dist/components/organisms/form-layout/index.d.ts.map +1 -0
  40. package/dist/components/organisms/form-layout/index.js +1 -0
  41. package/dist/components/organisms/index.d.ts +4 -0
  42. package/dist/components/organisms/index.d.ts.map +1 -1
  43. package/dist/components/organisms/index.js +2 -0
  44. package/dist/components/organisms/model-selector/model-selector.d.ts +1 -1
  45. package/dist/index.js +649 -514
  46. package/dist/styles/globals.css +489 -0
  47. package/dist/styles/theme.css +1364 -0
  48. package/dist/styles/typography.css +430 -0
  49. package/package.json +22 -5
@@ -0,0 +1,430 @@
1
+ .prose:not(:where([class~="not-prose"], [class~="not-prose"] *)) {
2
+ --tw-prose-body: var(--color-text-tertiary);
3
+ --tw-prose-headings: var(--color-text-primary);
4
+ --tw-prose-lead: var(--color-text-tertiary);
5
+ --tw-prose-links: var(--color-text-tertiary);
6
+ --tw-prose-bold: var(--color-text-primary);
7
+ --tw-prose-counters: var(--color-text-tertiary);
8
+ --tw-prose-bullets: var(--color-text-tertiary);
9
+ --tw-prose-hr: var(--color-border-secondary);
10
+ --tw-prose-quotes: var(--color-text-primary);
11
+ --tw-prose-quote-borders: var(--color-fg-brand-primary_alt);
12
+ --tw-prose-captions: var(--color-text-tertiary);
13
+ --tw-prose-code: var(--color-text-tertiary);
14
+ --tw-prose-pre-code: var(--color-text-tertiary);
15
+ --tw-prose-pre-bg: var(--color-bg-primary);
16
+ --tw-prose-th-borders: var(--color-border-primary);
17
+ --tw-prose-td-borders: var(--color-border-secondary);
18
+
19
+ /* Base */
20
+ color: var(--tw-prose-body);
21
+ font-size: var(--text-md);
22
+ line-height: var(--text-md--line-height);
23
+ }
24
+
25
+ .prose :not(:where([class~="not-prose"], [class~="not-prose"] *)) {
26
+ /* Text */
27
+ &:where(p) {
28
+ margin-top: calc(var(--spacing) * 4);
29
+ margin-bottom: calc(var(--spacing) * 4);
30
+ }
31
+
32
+ &:where([class~="lead"]) {
33
+ font-size: var(--text-md);
34
+ line-height: var(--text-md--line-height);
35
+ margin-top: 1.2em;
36
+ margin-bottom: 1.2em;
37
+ }
38
+
39
+ /* Lists */
40
+ &:where(ol) {
41
+ list-style-type: decimal;
42
+
43
+ margin-top: calc(var(--spacing) * 4);
44
+ margin-bottom: calc(var(--spacing) * 4);
45
+ padding-inline-start: calc(var(--spacing) * 5.75);
46
+ }
47
+ &:where(ul) {
48
+ list-style-type: disc;
49
+
50
+ margin-top: calc(var(--spacing) * 4);
51
+ margin-bottom: calc(var(--spacing) * 4);
52
+ padding-inline-start: calc(var(--spacing) * 5.75);
53
+ }
54
+ &:where(li) {
55
+ margin-top: calc(var(--spacing) * 2);
56
+ margin-bottom: calc(var(--spacing) * 2);
57
+ }
58
+ &:where(ol > li) {
59
+ padding-inline-start: 1px;
60
+ margin-top: 0;
61
+ margin-bottom: 0;
62
+ }
63
+ &:where(ul > li) {
64
+ padding-inline-start: 1px;
65
+ margin-top: 0;
66
+ margin-bottom: 0;
67
+ }
68
+
69
+ /* Horizontal rules */
70
+ &:where(hr) {
71
+ margin-top: calc(var(--spacing) * 8);
72
+ margin-bottom: calc(var(--spacing) * 8);
73
+ }
74
+
75
+ /* Quotes */
76
+ &:where(blockquote) {
77
+ color: var(--tw-prose-quotes);
78
+
79
+ border-left-width: 2px;
80
+ border-left-color: var(--tw-prose-quote-borders);
81
+
82
+ padding-inline-start: 0;
83
+ margin-top: calc(var(--spacing) * 10);
84
+ margin-bottom: calc(var(--spacing) * 10);
85
+ }
86
+ &:where(blockquote p) {
87
+ margin: 0;
88
+ font-weight: 500;
89
+ font-style: italic;
90
+
91
+ font-size: var(--text-xl);
92
+ line-height: var(--text-xl--line-height);
93
+ }
94
+ &:where(blockquote p:first-of-type::before) {
95
+ content: open-quote;
96
+ }
97
+ &:where(blockquote p:last-of-type::after) {
98
+ content: close-quote;
99
+ }
100
+
101
+ /* Headings */
102
+ &:where(h1) {
103
+ color: var(--tw-prose-headings);
104
+ font-weight: 600;
105
+
106
+ font-size: var(--text-display-sm);
107
+ line-height: var(--text-display-sm--line-height);
108
+ margin-bottom: calc(var(--spacing) * 5);
109
+ margin-top: calc(var(--spacing) * 10);
110
+ }
111
+ &:where(h2) {
112
+ color: var(--tw-prose-headings);
113
+ font-weight: 600;
114
+
115
+ font-size: var(--text-display-xs);
116
+ line-height: var(--text-display-xs--line-height);
117
+ margin-bottom: calc(var(--spacing) * 4);
118
+ margin-top: calc(var(--spacing) * 8);
119
+ }
120
+ &:where(h3) {
121
+ color: var(--tw-prose-headings);
122
+ font-weight: 600;
123
+
124
+ font-size: var(--text-xl);
125
+ line-height: var(--text-xl--line-height);
126
+ margin-bottom: calc(var(--spacing) * 3);
127
+ margin-top: calc(var(--spacing) * 8);
128
+ }
129
+ &:where(h4) {
130
+ color: var(--tw-prose-headings);
131
+ font-weight: 600;
132
+
133
+ font-size: var(--text-lg);
134
+ line-height: var(--text-lg--line-height);
135
+ margin-bottom: calc(var(--spacing) * 2);
136
+ margin-top: calc(var(--spacing) * 5);
137
+ }
138
+
139
+ &:where(h2 + *) {
140
+ margin-top: 0;
141
+ }
142
+ &:where(h3 + *) {
143
+ margin-top: 0;
144
+ }
145
+ &:where(h4 + *) {
146
+ margin-top: 0;
147
+ }
148
+
149
+ &:where(h1 strong) {
150
+ font-weight: 900;
151
+ color: inherit;
152
+ }
153
+ &:where(h2 strong) {
154
+ font-weight: 800;
155
+ color: inherit;
156
+ }
157
+ &:where(h3 strong) {
158
+ font-weight: 700;
159
+ color: inherit;
160
+ }
161
+ &:where(h4 strong) {
162
+ font-weight: 700;
163
+ color: inherit;
164
+ }
165
+
166
+ /* Media */
167
+
168
+ &:where(img) {
169
+ border-radius: var(--radius-xl);
170
+ width: 100%;
171
+ object-fit: cover;
172
+
173
+ margin-top: calc(var(--spacing) * 8);
174
+ margin-bottom: calc(var(--spacing) * 8);
175
+ }
176
+ &:where(video) {
177
+ margin-top: calc(var(--spacing) * 8);
178
+ margin-bottom: calc(var(--spacing) * 8);
179
+ }
180
+ &:where(figure) {
181
+ margin-top: calc(var(--spacing) * 10);
182
+ margin-bottom: calc(var(--spacing) * 10);
183
+ }
184
+ &:where(figure > *) {
185
+ margin-top: 0;
186
+ margin-bottom: 0;
187
+ }
188
+ &:where(figure:has(> blockquote)) {
189
+ border-left-width: 2px;
190
+ border-left-color: var(--tw-prose-quote-borders);
191
+ padding-top: calc(var(--spacing) * 2);
192
+ padding-bottom: calc(var(--spacing) * 2);
193
+
194
+ padding-inline-start: calc(var(--spacing) * 4);
195
+ }
196
+ &:where(figure:has(> blockquote) blockquote) {
197
+ padding-inline-start: 0;
198
+ border: none;
199
+ }
200
+ &:where(img + figcaption) {
201
+ display: flex;
202
+ align-items: center;
203
+ gap: calc(var(--spacing) * 1.5);
204
+ }
205
+ &:where(figcaption) {
206
+ color: var(--tw-prose-captions);
207
+
208
+ font-size: var(--text-sm);
209
+ line-height: var(--text-sm--line-height);
210
+ margin-top: calc(var(--spacing) * 3);
211
+ }
212
+ &:where(cite) {
213
+ font-style: normal;
214
+ }
215
+
216
+ /* Inline elements */
217
+ &:where(a:not(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a)) {
218
+ font-weight: 400;
219
+ text-decoration: underline;
220
+ text-underline-offset: 3px;
221
+ }
222
+
223
+ &:where(a:focus-visible) {
224
+ border-radius: var(--radius-sm);
225
+ outline: 2px solid var(--color-focus-ring);
226
+ outline-offset: 2px;
227
+ }
228
+ &:where(:is(h1, h2, h3) a) {
229
+ color: var(--tw-prose-headings);
230
+ font-weight: inherit;
231
+ text-decoration: none;
232
+ }
233
+
234
+ /* Inline code element */
235
+ &:where(code:not(pre code)) {
236
+ font-size: 0.875rem;
237
+ line-height: 1.25rem;
238
+ font-weight: 700;
239
+ border-radius: 6px;
240
+ padding: calc(var(--spacing) * 0.5) calc(var(--spacing) * 1.5);
241
+ margin: calc(var(--spacing) * -0.5) 0px;
242
+ background: var(--color-bg-secondary);
243
+ box-shadow: 0 0 0 1px var(--color-border-secondary);
244
+
245
+ &::before,
246
+ &::after {
247
+ content: "";
248
+ }
249
+ }
250
+ }
251
+
252
+ .prose.prose-centered-quote :not(:where([class~="not-prose"], [class~="not-prose"] *)) {
253
+ &:where(blockquote) {
254
+ padding-inline-start: 0px !important;
255
+ border-left: none;
256
+ text-align: center;
257
+ }
258
+ &:where(figure:has(> blockquote)) {
259
+ border-left: none;
260
+ padding-inline-start: 0px !important;
261
+ padding-top: 0px !important;
262
+ padding-bottom: 0px !important;
263
+ text-align: center;
264
+ }
265
+ }
266
+
267
+ .prose.prose-minimal-quote :not(:where([class~="not-prose"], [class~="not-prose"] *)) {
268
+ &:where(blockquote) {
269
+ border-left: none;
270
+ padding-inline-start: 0px !important;
271
+ }
272
+ &:where(figure:has(> blockquote)) {
273
+ border-left: none;
274
+ padding-inline-start: 0px !important;
275
+ }
276
+ }
277
+
278
+ .prose.md\:prose-lg:not(:where([class~="not-prose"], [class~="not-prose"] *)) {
279
+ @media (width >= 48rem /* 768px */) {
280
+ /* Base */
281
+ font-size: var(--text-lg);
282
+ line-height: var(--text-lg--line-height);
283
+ }
284
+ }
285
+
286
+ .prose.md\:prose-lg :not(:where([class~="not-prose"], [class~="not-prose"] *)) {
287
+ @media (width >= 48rem /* 768px */) {
288
+ /* Text */
289
+ &:where(p) {
290
+ margin-top: calc(var(--spacing) * 4.5);
291
+ margin-bottom: calc(var(--spacing) * 4.5);
292
+ }
293
+
294
+ &:where([class~="lead"]) {
295
+ font-size: var(--text-xl);
296
+ line-height: var(--text-xl--line-height);
297
+ margin-top: 1.09em;
298
+ margin-bottom: 1.09em;
299
+ }
300
+
301
+ /* Lists */
302
+ &:where(ol) {
303
+ margin-top: calc(var(--spacing) * 4.5);
304
+ margin-bottom: calc(var(--spacing) * 4.5);
305
+ padding-inline-start: calc(var(--spacing) * 6.5);
306
+ }
307
+ &:where(ul) {
308
+ margin-top: calc(var(--spacing) * 4.5);
309
+ margin-bottom: calc(var(--spacing) * 4.5);
310
+ padding-inline-start: calc(var(--spacing) * 6.5);
311
+ }
312
+
313
+ &:where(ol > li) {
314
+ padding-inline-start: 1px;
315
+ margin-top: 0;
316
+ margin-bottom: 0;
317
+ }
318
+ &:where(ul > li) {
319
+ padding-inline-start: 1px;
320
+ margin-top: 0;
321
+ margin-bottom: 0;
322
+ }
323
+
324
+ /* Horizontal rules */
325
+ &:where(hr) {
326
+ margin-top: calc(var(--spacing) * 8);
327
+ margin-bottom: calc(var(--spacing) * 8);
328
+ }
329
+
330
+ /* Quotes */
331
+ &:where(blockquote) {
332
+ padding-inline-start: 0;
333
+ margin-top: calc(var(--spacing) * 12);
334
+ margin-bottom: calc(var(--spacing) * 12);
335
+ }
336
+ &:where(blockquote p) {
337
+ margin: 0;
338
+
339
+ font-size: var(--text-display-xs);
340
+ line-height: var(--text-display-xs--line-height);
341
+ }
342
+
343
+ /* Headings */
344
+ &:where(h1) {
345
+ font-size: var(--text-display-md);
346
+ line-height: var(--text-display-md--line-height);
347
+ margin-bottom: calc(var(--spacing) * 6);
348
+ margin-top: calc(var(--spacing) * 12);
349
+ }
350
+ &:where(h2) {
351
+ font-size: var(--text-display-sm);
352
+ line-height: var(--text-display-sm--line-height);
353
+ margin-bottom: calc(var(--spacing) * 5);
354
+ margin-top: calc(var(--spacing) * 10);
355
+ }
356
+ &:where(h3) {
357
+ font-size: var(--text-display-xs);
358
+ line-height: var(--text-display-xs--line-height);
359
+ margin-bottom: calc(var(--spacing) * 4);
360
+ margin-top: calc(var(--spacing) * 8);
361
+ }
362
+ &:where(h4) {
363
+ font-size: var(--text-xl);
364
+ line-height: var(--text-xl--line-height);
365
+ margin-bottom: calc(var(--spacing) * 3);
366
+ margin-top: calc(var(--spacing) * 8);
367
+ }
368
+ &:where(h2 + *) {
369
+ margin-top: 0;
370
+ }
371
+ &:where(h3 + *) {
372
+ margin-top: 0;
373
+ }
374
+ &:where(h4 + *) {
375
+ margin-top: 0;
376
+ }
377
+
378
+ &:where(figure) {
379
+ margin-top: calc(var(--spacing) * 12);
380
+ margin-bottom: calc(var(--spacing) * 12);
381
+ }
382
+ &:where(figure > *) {
383
+ margin-top: 0;
384
+ margin-bottom: 0;
385
+ }
386
+ &:where(figure:has(> blockquote)) {
387
+ padding-inline-start: calc(var(--spacing) * 5);
388
+ }
389
+ &:where(figure > blockquote + figcaption) {
390
+ font-size: var(--text-md);
391
+ line-height: var(--text-md--line-height);
392
+ }
393
+
394
+ &:where(figcaption) {
395
+ margin-top: calc(var(--spacing) * 4);
396
+ }
397
+
398
+ /* Inline elements */
399
+ &:where(a:not(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a)) {
400
+ font-weight: 400;
401
+ text-decoration: underline;
402
+ text-underline-offset: 3px;
403
+ }
404
+ &:where(:is(h1, h2, h3) a) {
405
+ color: var(--tw-prose-headings);
406
+ font-weight: inherit;
407
+ text-decoration: none;
408
+ }
409
+
410
+ /* Inline code element */
411
+ &:where(code:not(pre code)) {
412
+ font-size: 0.875rem;
413
+ line-height: 1.25rem;
414
+ font-weight: 700;
415
+ border-radius: 6px;
416
+ padding: calc(var(--spacing) * 0.5) calc(var(--spacing) * 1.5);
417
+ margin: calc(var(--spacing) * -0.5) 0px;
418
+ background: var(--color-bg-secondary);
419
+ box-shadow: 0 0 0 1px var(--color-border-secondary);
420
+ }
421
+ }
422
+ }
423
+
424
+ /* Remove top margin from first element */
425
+ .prose > :first-child:not(:where([class~="not-prose"], [class~="not-prose"] *)) {
426
+ margin-top: 0;
427
+ }
428
+ .prose > :last-child:not(:where([class~="not-prose"], [class~="not-prose"] *)) {
429
+ margin-bottom: 0;
430
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowtomic/ui",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Componentes UI reutilizáveis baseados em Radix UI e Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,7 +14,8 @@
14
14
  "./components/*": {
15
15
  "import": "./dist/components/*/index.js",
16
16
  "types": "./dist/components/*/index.d.ts"
17
- }
17
+ },
18
+ "./styles/*": "./dist/styles/*"
18
19
  },
19
20
  "files": [
20
21
  "dist"
@@ -27,7 +28,8 @@
27
28
  "license": "MIT",
28
29
  "scripts": {
29
30
  "dev": "bun run --watch src/index.ts",
30
- "build": "tsc --build && bun build ./src/index.ts --outdir ./dist --target browser --format esm --minify --external react --external react-dom --external react/jsx-runtime --external react-dom/client",
31
+ "build": "tsc --build && bun build ./src/index.ts --outdir ./dist --target browser --format esm --minify --external react --external react-dom --external react/jsx-runtime --external react-dom/client && bun run build:copy-styles",
32
+ "build:copy-styles": "bun run ../../scripts/copy-ui-styles.ts",
31
33
  "type-check": "tsc --noEmit",
32
34
  "clean": "rm -rf dist",
33
35
  "lint": "biome check .",
@@ -42,6 +44,7 @@
42
44
  "react-dom": "^18.0.0 || ^19.0.0"
43
45
  },
44
46
  "dependencies": {
47
+ "@floating-ui/dom": "^1.6.11",
45
48
  "@flowtomic/logic": "^0.1.0",
46
49
  "@radix-ui/react-alert-dialog": "^1.1.15",
47
50
  "@radix-ui/react-checkbox": "^1.3.3",
@@ -58,17 +61,26 @@
58
61
  "@radix-ui/react-tooltip": "^1.2.8",
59
62
  "@radix-ui/react-use-controllable-state": "^1.2.2",
60
63
  "@react-aria/combobox": "^3.9.0",
61
- "@react-aria/interactions": "^3.25.6",
62
64
  "@react-aria/i18n": "^3.9.0",
65
+ "@react-aria/interactions": "^3.25.6",
63
66
  "@react-aria/listbox": "^3.9.0",
64
67
  "@react-aria/overlays": "^3.30.0",
65
68
  "@react-aria/tooltip": "^3.8.8",
66
69
  "@react-aria/utils": "^3.25.6",
67
70
  "@react-stately/combobox": "^3.9.0",
68
- "@react-types/shared": "^3.32.1",
69
71
  "@react-stately/list": "^3.9.0",
70
72
  "@react-stately/tooltip": "^3.5.8",
73
+ "@react-types/shared": "^3.32.1",
71
74
  "@tanstack/react-table": "^8.21.3",
75
+ "@tiptap/core": "^2.8.0",
76
+ "@tiptap/extension-color": "^2.8.0",
77
+ "@tiptap/extension-image": "^2.8.0",
78
+ "@tiptap/extension-placeholder": "^2.8.0",
79
+ "@tiptap/extension-text-align": "^2.8.0",
80
+ "@tiptap/extension-text-style": "^2.8.0",
81
+ "@tiptap/pm": "^2.8.0",
82
+ "@tiptap/react": "^2.8.0",
83
+ "@tiptap/starter-kit": "^2.8.0",
72
84
  "@xyflow/react": "^12.9.2",
73
85
  "ai": "^5.0.89",
74
86
  "class-variance-authority": "^0.7.1",
@@ -77,11 +89,15 @@
77
89
  "lucide-react": "^0.553.0",
78
90
  "motion": "^12.23.24",
79
91
  "nanoid": "^5.1.6",
92
+ "qr-code-styling": "^1.9.2",
93
+ "react-number-format": "^5.4.4",
80
94
  "shiki": "^3.15.0",
81
95
  "sonner": "^2.0.7",
82
96
  "streamdown": "^1.4.0",
83
97
  "tailwind-merge": "^3.3.1",
98
+ "tiptap-markdown": "^0.8.9",
84
99
  "tokenlens": "^1.3.1",
100
+ "tw-animate-css": "^1.4.0",
85
101
  "use-stick-to-bottom": "^1.1.1"
86
102
  },
87
103
  "devDependencies": {
@@ -118,3 +134,4 @@
118
134
  "vite": "^7.1.7"
119
135
  }
120
136
  }
137
+