@iclips/ui 0.0.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/package.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "@iclips/ui",
3
+ "version": "0.0.1",
4
+ "description": "Sistema de design completo com paleta personalizada (#7F26BF) e 47 componentes shadcn/ui",
5
+ "author": "iclipsbr",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.cjs",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.cjs"
16
+ },
17
+ "./styles.css": "./styles/globals.css",
18
+ "./package.json": "./package.json"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "styles",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
26
+ "scripts": {
27
+ "dev": "vite",
28
+ "build": "tsc && vite build",
29
+ "build:lib": "tsup",
30
+ "preview": "vite preview",
31
+ "typecheck": "tsc --noEmit",
32
+ "prepublishOnly": "npm run build:lib"
33
+ },
34
+ "peerDependencies": {
35
+ "react": "^18.0.0 || ^19.0.0",
36
+ "react-dom": "^18.0.0 || ^19.0.0",
37
+ "tailwindcss": "^4.0.0"
38
+ },
39
+ "dependencies": {
40
+ "@radix-ui/react-accordion": "^1.2.2",
41
+ "@radix-ui/react-alert-dialog": "^1.1.4",
42
+ "@radix-ui/react-aspect-ratio": "^1.1.1",
43
+ "@radix-ui/react-avatar": "^1.1.2",
44
+ "@radix-ui/react-checkbox": "^1.1.3",
45
+ "@radix-ui/react-collapsible": "^1.1.2",
46
+ "@radix-ui/react-context-menu": "^2.2.4",
47
+ "@radix-ui/react-dialog": "^1.1.4",
48
+ "@radix-ui/react-dropdown-menu": "^2.1.4",
49
+ "@radix-ui/react-hover-card": "^1.1.4",
50
+ "@radix-ui/react-label": "^2.1.1",
51
+ "@radix-ui/react-menubar": "^1.1.4",
52
+ "@radix-ui/react-navigation-menu": "^1.2.3",
53
+ "@radix-ui/react-popover": "^1.1.4",
54
+ "@radix-ui/react-progress": "^1.1.1",
55
+ "@radix-ui/react-radio-group": "^1.2.2",
56
+ "@radix-ui/react-scroll-area": "^1.2.2",
57
+ "@radix-ui/react-select": "^2.1.4",
58
+ "@radix-ui/react-separator": "^1.1.1",
59
+ "@radix-ui/react-slider": "^1.2.2",
60
+ "@radix-ui/react-slot": "^1.1.1",
61
+ "@radix-ui/react-switch": "^1.1.2",
62
+ "@radix-ui/react-tabs": "^1.1.2",
63
+ "@radix-ui/react-toggle": "^1.1.1",
64
+ "@radix-ui/react-toggle-group": "^1.1.1",
65
+ "@radix-ui/react-tooltip": "^1.1.6",
66
+ "class-variance-authority": "^0.7.1",
67
+ "clsx": "^2.1.1",
68
+ "cmdk": "^1.0.4",
69
+ "date-fns": "^4.1.0",
70
+ "embla-carousel-react": "^8.5.2",
71
+ "input-otp": "^1.4.1",
72
+ "lucide-react": "^0.469.0",
73
+ "react-colorful": "^5.6.1",
74
+ "react-day-picker": "^9.4.3",
75
+ "react-resizable-panels": "^2.1.7",
76
+ "recharts": "^2.15.0",
77
+ "sonner": "^2.0.3",
78
+ "tailwind-merge": "^2.6.0",
79
+ "tailwindcss-animate": "^1.0.7",
80
+ "vaul": "^1.1.2"
81
+ },
82
+ "devDependencies": {
83
+ "@tailwindcss/postcss": "^4.0.0",
84
+ "@types/node": "^22.10.2",
85
+ "@types/react": "^18.0.0 || ^19.0.0",
86
+ "@types/react-dom": "^18.0.0 || ^19.0.0",
87
+ "@vitejs/plugin-react": "^4.3.4",
88
+ "autoprefixer": "^10.4.20",
89
+ "postcss": "^8.4.49",
90
+ "react": "^19.0.0",
91
+ "react-dom": "^19.0.0",
92
+ "tailwindcss": "^4.0.0",
93
+ "typescript": "^5.7.2",
94
+ "vite": "^6.0.5",
95
+ "vite-plugin-dts": "^4.3.0"
96
+ },
97
+ "repository": {
98
+ "type": "git",
99
+ "url": "git+https://github.com/iclipsbr/Designsystem.git"
100
+ },
101
+ "bugs": {
102
+ "url": "https://github.com/iclipsbr/Designsystem/issues"
103
+ },
104
+ "homepage": "https://github.com/iclipsbr/Designsystem#readme"
105
+ }
@@ -0,0 +1,476 @@
1
+ @custom-variant dark (&:is(.dark *));
2
+
3
+ :root {
4
+ --font-size: 16px;
5
+
6
+ /* Custom Color Palette - Base Colors */
7
+ /* Grays */
8
+ --gray-50: #F2F6FA;
9
+ --gray-100: #E9EEF5;
10
+ --gray-200: #DAE1EB;
11
+ --gray-300: #C5CDD9;
12
+ --gray-400: #9BA5B3;
13
+ --gray-500: #697280;
14
+ --gray-600: #464E59;
15
+ --gray-700: #2F3640;
16
+ --gray-800: #1A1F26;
17
+ --gray-900: #000000;
18
+ --white: #FFFFFF;
19
+
20
+ /* Purple (Primary Brand Color) */
21
+ --purple-50: #F6E9FF;
22
+ --purple-100: #DAA6FF;
23
+ --purple-200: #BB6DF2;
24
+ --purple-500: #7F26BF;
25
+ --purple-600: #5B158C;
26
+ --purple-700: #420F66;
27
+
28
+ /* Blue */
29
+ --blue-50: #E2E9FF;
30
+ --blue-100: #AABCF2;
31
+ --blue-200: #667FCC;
32
+ --blue-500: #1C2F8C;
33
+ --blue-600: #0F1E66;
34
+ --blue-700: #061040;
35
+
36
+ /* Cyan */
37
+ --cyan-50: #D8EFFF;
38
+ --cyan-100: #8CCFFF;
39
+ --cyan-200: #3DA7F2;
40
+ --cyan-500: #0086E6;
41
+ --cyan-600: #0053A6;
42
+ --cyan-700: #003066;
43
+
44
+ /* Teal */
45
+ --teal-50: #D4F5F5;
46
+ --teal-100: #9DF2F2;
47
+ --teal-200: #5CE6E6;
48
+ --teal-500: #14CCCC;
49
+ --teal-600: #00A7A7;
50
+ --teal-700: #045659;
51
+
52
+ /* Green */
53
+ --green-50: #D3FBDD;
54
+ --green-100: #91F2AA;
55
+ --green-200: #57D977;
56
+ --green-500: #24B347;
57
+ --green-600: #007F2A;
58
+ --green-700: #004D19;
59
+
60
+ /* Yellow */
61
+ --yellow-50: #FFF7CC;
62
+ --yellow-100: #FFDD99;
63
+ --yellow-200: #FFC859;
64
+ --yellow-500: #FAB325;
65
+ --yellow-600: #E6960B;
66
+ --yellow-700: #CC7C04;
67
+
68
+ /* Orange */
69
+ --orange-50: #FFECE1;
70
+ --orange-100: #FFB68C;
71
+ --orange-200: #FF8E4C;
72
+ --orange-500: #F26924;
73
+ --orange-600: #E64D0B;
74
+ --orange-700: #BF3000;
75
+
76
+ /* Red */
77
+ --red-50: #FFE9EC;
78
+ --red-100: #FFB2B9;
79
+ --red-200: #FF5967;
80
+ --red-500: #F22435;
81
+ --red-600: #CC0A1A;
82
+ --red-700: #99000D;
83
+
84
+ /* Pink */
85
+ --pink-50: #FFECF9;
86
+ --pink-100: #FFB2E8;
87
+ --pink-200: #FF66CC;
88
+ --pink-500: #E62EA8;
89
+ --pink-600: #BF0A89;
90
+ --pink-700: #99086D;
91
+
92
+ /* Semantic Colors - Light Mode */
93
+ --background: var(--white);
94
+ --foreground: var(--gray-800);
95
+ --card: var(--white);
96
+ --card-foreground: var(--gray-800);
97
+ --popover: var(--white);
98
+ --popover-foreground: var(--gray-800);
99
+ --primary: var(--purple-500);
100
+ --primary-foreground: var(--white);
101
+ --secondary: var(--purple-50);
102
+ --secondary-foreground: var(--purple-700);
103
+ --muted: var(--gray-100);
104
+ --muted-foreground: var(--gray-500);
105
+ --accent: var(--purple-50);
106
+ --accent-foreground: var(--purple-600);
107
+ --destructive: var(--red-500);
108
+ --destructive-foreground: var(--white);
109
+ --success: var(--green-500);
110
+ --success-foreground: var(--white);
111
+ --warning: var(--yellow-500);
112
+ --warning-foreground: var(--gray-800);
113
+ --info: var(--cyan-500);
114
+ --info-foreground: var(--white);
115
+ --border: var(--gray-200);
116
+ --input: transparent;
117
+ --input-background: var(--gray-50);
118
+ --switch-background: var(--gray-300);
119
+ --ring: var(--purple-500);
120
+ --font-weight-medium: 500;
121
+ --font-weight-normal: 400;
122
+
123
+ /* Charts - Acessibilidade melhorada com Balanceamento Óptico */
124
+ --chart-1: var(--purple-500); /* Brand Color (Vibrante) */
125
+ --chart-2: var(--cyan-600); /* Darkened for contrast */
126
+ --chart-3: var(--green-600); /* Darkened for contrast */
127
+ --chart-4: var(--orange-600); /* Darkened for contrast */
128
+ --chart-5: var(--pink-600); /* Darkened for contrast */
129
+
130
+ /* Border Radius */
131
+ --radius: 0.625rem;
132
+
133
+ /* Sidebar */
134
+ --sidebar: var(--white);
135
+ --sidebar-foreground: var(--gray-800);
136
+ --sidebar-primary: var(--purple-500);
137
+ --sidebar-primary-foreground: var(--white);
138
+ --sidebar-accent: var(--purple-50);
139
+ --sidebar-accent-foreground: var(--purple-700);
140
+ --sidebar-border: var(--gray-200);
141
+ --sidebar-ring: var(--purple-500);
142
+ }
143
+
144
+ .dark {
145
+ /* Semantic Colors - Dark Mode */
146
+ --background: var(--gray-800);
147
+ --foreground: var(--gray-50);
148
+ --card: var(--gray-700);
149
+ --card-foreground: var(--gray-50);
150
+ --popover: var(--gray-700);
151
+ --popover-foreground: var(--gray-50);
152
+ --primary: var(--purple-200);
153
+ --primary-foreground: var(--gray-900);
154
+ --secondary: var(--gray-700);
155
+ --secondary-foreground: var(--gray-50);
156
+ --muted: var(--gray-600);
157
+ --muted-foreground: var(--gray-300);
158
+ --accent: var(--purple-700);
159
+ --accent-foreground: var(--purple-100);
160
+ --destructive: var(--red-600);
161
+ --destructive-foreground: var(--white);
162
+ --success: var(--green-600);
163
+ --success-foreground: var(--white);
164
+ --warning: var(--yellow-600);
165
+ --warning-foreground: var(--white);
166
+ --info: var(--cyan-600);
167
+ --info-foreground: var(--white);
168
+ --border: var(--gray-600);
169
+ --input: var(--gray-600);
170
+ --input-background: var(--gray-700);
171
+ --switch-background: var(--gray-600);
172
+ --ring: var(--purple-200);
173
+
174
+ /* Charts - Dark Mode */
175
+ --chart-1: var(--purple-200);
176
+ --chart-2: var(--cyan-200);
177
+ --chart-3: var(--green-200);
178
+ --chart-4: var(--orange-200);
179
+ --chart-5: var(--pink-200);
180
+
181
+ /* Sidebar - Dark Mode */
182
+ --sidebar: var(--gray-800);
183
+ --sidebar-foreground: var(--gray-50);
184
+ --sidebar-primary: var(--purple-200);
185
+ --sidebar-primary-foreground: var(--gray-900);
186
+ --sidebar-accent: var(--gray-700);
187
+ --sidebar-accent-foreground: var(--purple-100);
188
+ --sidebar-border: var(--gray-600);
189
+ --sidebar-ring: var(--purple-200);
190
+ }
191
+
192
+ @theme inline {
193
+ /* Semantic Colors */
194
+ --color-background: var(--background);
195
+ --color-foreground: var(--foreground);
196
+ --color-card: var(--card);
197
+ --color-card-foreground: var(--card-foreground);
198
+ --color-popover: var(--popover);
199
+ --color-popover-foreground: var(--popover-foreground);
200
+ --color-primary: var(--primary);
201
+ --color-primary-foreground: var(--primary-foreground);
202
+ --color-secondary: var(--secondary);
203
+ --color-secondary-foreground: var(--secondary-foreground);
204
+ --color-muted: var(--muted);
205
+ --color-muted-foreground: var(--muted-foreground);
206
+ --color-accent: var(--accent);
207
+ --color-accent-foreground: var(--accent-foreground);
208
+ --color-destructive: var(--destructive);
209
+ --color-destructive-foreground: var(--destructive-foreground);
210
+ --color-success: var(--success);
211
+ --color-success-foreground: var(--success-foreground);
212
+ --color-warning: var(--warning);
213
+ --color-warning-foreground: var(--warning-foreground);
214
+ --color-info: var(--info);
215
+ --color-info-foreground: var(--info-foreground);
216
+ --color-border: var(--border);
217
+ --color-input: var(--input);
218
+ --color-input-background: var(--input-background);
219
+ --color-switch-background: var(--switch-background);
220
+ --color-ring: var(--ring);
221
+
222
+ /* Charts */
223
+ --color-chart-1: var(--chart-1);
224
+ --color-chart-2: var(--chart-2);
225
+ --color-chart-3: var(--chart-3);
226
+ --color-chart-4: var(--chart-4);
227
+ --color-chart-5: var(--chart-5);
228
+
229
+ /* Border Radius */
230
+ --radius-sm: calc(var(--radius) - 4px);
231
+ --radius-md: calc(var(--radius) - 2px);
232
+ --radius-lg: var(--radius);
233
+ --radius-xl: calc(var(--radius) + 4px);
234
+
235
+ /* Sidebar */
236
+ --color-sidebar: var(--sidebar);
237
+ --color-sidebar-foreground: var(--sidebar-foreground);
238
+ --color-sidebar-primary: var(--sidebar-primary);
239
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
240
+ --color-sidebar-accent: var(--sidebar-accent);
241
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
242
+ --color-sidebar-border: var(--sidebar-border);
243
+ --color-sidebar-ring: var(--sidebar-ring);
244
+
245
+ /* Raw Color Palette */
246
+ --color-gray-50: var(--gray-50);
247
+ --color-gray-100: var(--gray-100);
248
+ --color-gray-200: var(--gray-200);
249
+ --color-gray-300: var(--gray-300);
250
+ --color-gray-400: var(--gray-400);
251
+ --color-gray-500: var(--gray-500);
252
+ --color-gray-600: var(--gray-600);
253
+ --color-gray-700: var(--gray-700);
254
+ --color-gray-800: var(--gray-800);
255
+ --color-purple-50: var(--purple-50);
256
+ --color-purple-100: var(--purple-100);
257
+ --color-purple-200: var(--purple-200);
258
+ --color-purple-500: var(--purple-500);
259
+ --color-purple-600: var(--purple-600);
260
+ --color-purple-700: var(--purple-700);
261
+ --color-blue-50: var(--blue-50);
262
+ --color-blue-100: var(--blue-100);
263
+ --color-blue-200: var(--blue-200);
264
+ --color-blue-500: var(--blue-500);
265
+ --color-blue-600: var(--blue-600);
266
+ --color-blue-700: var(--blue-700);
267
+ --color-cyan-50: var(--cyan-50);
268
+ --color-cyan-100: var(--cyan-100);
269
+ --color-cyan-200: var(--cyan-200);
270
+ --color-cyan-500: var(--cyan-500);
271
+ --color-cyan-600: var(--cyan-600);
272
+ --color-cyan-700: var(--cyan-700);
273
+ --color-teal-50: var(--teal-50);
274
+ --color-teal-100: var(--teal-100);
275
+ --color-teal-200: var(--teal-200);
276
+ --color-teal-500: var(--teal-500);
277
+ --color-teal-600: var(--teal-600);
278
+ --color-teal-700: var(--teal-700);
279
+ --color-green-50: var(--green-50);
280
+ --color-green-100: var(--green-100);
281
+ --color-green-200: var(--green-200);
282
+ --color-green-500: var(--green-500);
283
+ --color-green-600: var(--green-600);
284
+ --color-green-700: var(--green-700);
285
+ --color-yellow-50: var(--yellow-50);
286
+ --color-yellow-100: var(--yellow-100);
287
+ --color-yellow-200: var(--yellow-200);
288
+ --color-yellow-500: var(--yellow-500);
289
+ --color-yellow-600: var(--yellow-600);
290
+ --color-yellow-700: var(--yellow-700);
291
+ --color-orange-50: var(--orange-50);
292
+ --color-orange-100: var(--orange-100);
293
+ --color-orange-200: var(--orange-200);
294
+ --color-orange-500: var(--orange-500);
295
+ --color-orange-600: var(--orange-600);
296
+ --color-orange-700: var(--orange-700);
297
+ --color-red-50: var(--red-50);
298
+ --color-red-100: var(--red-100);
299
+ --color-red-200: var(--red-200);
300
+ --color-red-500: var(--red-500);
301
+ --color-red-600: var(--red-600);
302
+ --color-red-700: var(--red-700);
303
+ --color-pink-50: var(--pink-50);
304
+ --color-pink-100: var(--pink-100);
305
+ --color-pink-200: var(--pink-200);
306
+ --color-pink-500: var(--pink-500);
307
+ --color-pink-600: var(--pink-600);
308
+ --color-pink-700: var(--pink-700);
309
+ }
310
+
311
+ @layer base {
312
+ * {
313
+ @apply border-border outline-ring/50;
314
+ }
315
+
316
+ body {
317
+ @apply bg-background text-foreground;
318
+ }
319
+ }
320
+
321
+ /**
322
+ * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
323
+ */
324
+ @layer base {
325
+ :where(:not(:has([class*=' text-']), :not(:has([class^='text-'])))) {
326
+ h1 {
327
+ font-size: var(--text-2xl);
328
+ font-weight: var(--font-weight-medium);
329
+ line-height: 1.5;
330
+ }
331
+
332
+ h2 {
333
+ font-size: var(--text-xl);
334
+ font-weight: var(--font-weight-medium);
335
+ line-height: 1.5;
336
+ }
337
+
338
+ h3 {
339
+ font-size: var(--text-lg);
340
+ font-weight: var(--font-weight-medium);
341
+ line-height: 1.5;
342
+ }
343
+
344
+ h4 {
345
+ font-size: var(--text-base);
346
+ font-weight: var(--font-weight-medium);
347
+ line-height: 1.5;
348
+ }
349
+
350
+ p {
351
+ font-size: var(--text-base);
352
+ font-weight: var(--font-weight-normal);
353
+ line-height: 1.5;
354
+ }
355
+
356
+ label {
357
+ font-size: var(--text-base);
358
+ font-weight: var(--font-weight-medium);
359
+ line-height: 1.5;
360
+ }
361
+
362
+ button {
363
+ font-size: var(--text-base);
364
+ font-weight: var(--font-weight-medium);
365
+ line-height: 1.5;
366
+ }
367
+
368
+ input {
369
+ font-size: var(--text-base);
370
+ font-weight: var(--font-weight-normal);
371
+ line-height: 1.5;
372
+ }
373
+ }
374
+ }
375
+
376
+ html {
377
+ font-size: var(--font-size);
378
+ }
379
+
380
+ /* ============================================
381
+ Print Styles
382
+ ============================================ */
383
+
384
+ @media print {
385
+ /* Ocultar elementos desnecessários na impressão */
386
+ .no-print {
387
+ display: none !important;
388
+ }
389
+
390
+ /* Forçar impressão em cores */
391
+ * {
392
+ -webkit-print-color-adjust: exact !important;
393
+ print-color-adjust: exact !important;
394
+ color-adjust: exact !important;
395
+ }
396
+
397
+ /* Configuração da página */
398
+ @page {
399
+ margin: 2cm;
400
+ size: A4 portrait;
401
+ }
402
+
403
+ /* Evitar quebras de página indesejadas */
404
+ .avoid-break {
405
+ page-break-inside: avoid !important;
406
+ break-inside: avoid !important;
407
+ }
408
+
409
+ /* Quebra de página forçada */
410
+ .page-break {
411
+ page-break-before: always !important;
412
+ break-before: page !important;
413
+ }
414
+
415
+ /* Layout específico para tabelas */
416
+ table {
417
+ page-break-inside: auto !important;
418
+ }
419
+
420
+ tr {
421
+ page-break-inside: avoid !important;
422
+ page-break-after: auto !important;
423
+ }
424
+
425
+ thead {
426
+ display: table-header-group !important;
427
+ }
428
+
429
+ tfoot {
430
+ display: table-footer-group !important;
431
+ }
432
+
433
+ /* Remover sombras e bordas arredondadas para impressão limpa */
434
+ .contract-template,
435
+ .print-template {
436
+ box-shadow: none !important;
437
+ border-radius: 0 !important;
438
+ padding: 0 !important;
439
+ margin: 0 !important;
440
+ }
441
+
442
+ /* Garantir que textos primários sejam visíveis */
443
+ .text-primary {
444
+ color: #7F26BF !important;
445
+ }
446
+
447
+ /* Garantir bordas visíveis */
448
+ .border-primary {
449
+ border-color: #7F26BF !important;
450
+ }
451
+
452
+ /* Ajustar cores de fundo para impressão */
453
+ .bg-gray-50,
454
+ .bg-gray-100 {
455
+ background-color: #F2F6FA !important;
456
+ }
457
+
458
+ /* Ocultar elementos interativos */
459
+ button:not(.print-keep),
460
+ .hover\:opacity-100,
461
+ [role="button"]:not(.print-keep) {
462
+ display: none !important;
463
+ }
464
+
465
+ /* Garantir que cabeçalhos e rodapés sejam impressos */
466
+ .print-header,
467
+ .print-footer {
468
+ display: block !important;
469
+ }
470
+
471
+ /* Ajustar espaçamentos para impressão */
472
+ body {
473
+ background: white !important;
474
+ color: black !important;
475
+ }
476
+ }