@caribeng/ui 22.2.0 → 22.4.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 (121) hide show
  1. package/README.md +93 -11
  2. package/fesm2022/caribeng-ui-accordion.mjs +2 -2
  3. package/fesm2022/caribeng-ui-avatar.mjs +2 -2
  4. package/fesm2022/caribeng-ui-badge.mjs +8 -2
  5. package/fesm2022/caribeng-ui-breadcrumb.mjs +13 -6
  6. package/fesm2022/caribeng-ui-chart.mjs +8 -5
  7. package/fesm2022/caribeng-ui-chat.mjs +1303 -0
  8. package/fesm2022/caribeng-ui-code-block.mjs +332 -0
  9. package/fesm2022/caribeng-ui-colorpicker.mjs +99 -5
  10. package/fesm2022/caribeng-ui-command-palette.mjs +476 -0
  11. package/fesm2022/caribeng-ui-confirmdialog.mjs +78 -13
  12. package/fesm2022/caribeng-ui-confirmpopup.mjs +91 -16
  13. package/fesm2022/caribeng-ui-contextmenu.mjs +8 -4
  14. package/fesm2022/caribeng-ui-copy-button.mjs +230 -0
  15. package/fesm2022/caribeng-ui-dataview.mjs +4 -1
  16. package/fesm2022/caribeng-ui-dock.mjs +52 -12
  17. package/fesm2022/caribeng-ui-drawer.mjs +9 -4
  18. package/fesm2022/caribeng-ui-editor.mjs +21 -0
  19. package/fesm2022/caribeng-ui-fieldset.mjs +2 -2
  20. package/fesm2022/caribeng-ui-file-card.mjs +134 -17
  21. package/fesm2022/caribeng-ui-folder-card.mjs +122 -12
  22. package/fesm2022/caribeng-ui-inlinemessage.mjs +2 -2
  23. package/fesm2022/caribeng-ui-inputmask.mjs +8 -2
  24. package/fesm2022/caribeng-ui-kanban.mjs +4612 -0
  25. package/fesm2022/caribeng-ui-kbd.mjs +122 -0
  26. package/fesm2022/caribeng-ui-megamenu.mjs +13 -9
  27. package/fesm2022/caribeng-ui-mentions.mjs +495 -0
  28. package/fesm2022/caribeng-ui-menu.mjs +8 -4
  29. package/fesm2022/caribeng-ui-menubar.mjs +9 -5
  30. package/fesm2022/caribeng-ui-message.mjs +6 -3
  31. package/fesm2022/caribeng-ui-organizationchart.mjs +6 -10
  32. package/fesm2022/caribeng-ui-panel.mjs +6 -6
  33. package/fesm2022/caribeng-ui-panelmenu.mjs +9 -6
  34. package/fesm2022/caribeng-ui-phone-input.mjs +688 -0
  35. package/fesm2022/caribeng-ui-pricing.mjs +263 -69
  36. package/fesm2022/caribeng-ui-qrcode.mjs +564 -0
  37. package/fesm2022/caribeng-ui-ripple.mjs +2 -0
  38. package/fesm2022/caribeng-ui-scrolltop.mjs +3 -1
  39. package/fesm2022/caribeng-ui-sidebar.mjs +573 -0
  40. package/fesm2022/caribeng-ui-stepper.mjs +10 -3
  41. package/fesm2022/caribeng-ui-table.mjs +10 -4
  42. package/fesm2022/caribeng-ui-tabmenu.mjs +8 -4
  43. package/fesm2022/caribeng-ui-tieredmenu.mjs +109 -19
  44. package/fesm2022/caribeng-ui.mjs +388 -1
  45. package/package.json +42 -2
  46. package/schematics/collection.json +5 -0
  47. package/schematics/migrate-from-primeng/core-icons.json +1 -0
  48. package/schematics/migrate-from-primeng/icons.js +269 -0
  49. package/schematics/migrate-from-primeng/index.js +290 -0
  50. package/schematics/migrate-from-primeng/mappings/button.js +93 -0
  51. package/schematics/migrate-from-primeng/mappings/card.js +33 -0
  52. package/schematics/migrate-from-primeng/mappings/checkbox.js +44 -0
  53. package/schematics/migrate-from-primeng/mappings/confirm.js +221 -0
  54. package/schematics/migrate-from-primeng/mappings/datepicker.js +121 -0
  55. package/schematics/migrate-from-primeng/mappings/dialog.js +84 -0
  56. package/schematics/migrate-from-primeng/mappings/index.js +88 -0
  57. package/schematics/migrate-from-primeng/mappings/inputnumber.js +62 -0
  58. package/schematics/migrate-from-primeng/mappings/inputtext.js +60 -0
  59. package/schematics/migrate-from-primeng/mappings/menu.js +468 -0
  60. package/schematics/migrate-from-primeng/mappings/multiselect.js +49 -0
  61. package/schematics/migrate-from-primeng/mappings/radiobutton.js +22 -0
  62. package/schematics/migrate-from-primeng/mappings/rules.js +206 -0
  63. package/schematics/migrate-from-primeng/mappings/select.js +97 -0
  64. package/schematics/migrate-from-primeng/mappings/service-calls.js +100 -0
  65. package/schematics/migrate-from-primeng/mappings/table.js +613 -0
  66. package/schematics/migrate-from-primeng/mappings/tabs.js +225 -0
  67. package/schematics/migrate-from-primeng/mappings/tag.js +29 -0
  68. package/schematics/migrate-from-primeng/mappings/textarea.js +44 -0
  69. package/schematics/migrate-from-primeng/mappings/toast.js +173 -0
  70. package/schematics/migrate-from-primeng/mappings/toggleswitch.js +37 -0
  71. package/schematics/migrate-from-primeng/mappings/tooltip.js +44 -0
  72. package/schematics/migrate-from-primeng/mappings/types.js +10 -0
  73. package/schematics/migrate-from-primeng/report.js +79 -0
  74. package/schematics/migrate-from-primeng/schema.js +2 -0
  75. package/schematics/migrate-from-primeng/schema.json +34 -0
  76. package/schematics/migrate-from-primeng/template.js +387 -0
  77. package/schematics/migrate-from-primeng/todo.js +5 -0
  78. package/schematics/migrate-from-primeng/typescript.js +442 -0
  79. package/schematics/migrate-from-primeng/workspace.js +117 -0
  80. package/schematics/ng-add/index.js +16 -1
  81. package/types/caribeng-ui-badge.d.ts +3 -1
  82. package/types/caribeng-ui-breadcrumb.d.ts +8 -0
  83. package/types/caribeng-ui-chart.d.ts +3 -1
  84. package/types/caribeng-ui-chat.d.ts +299 -0
  85. package/types/caribeng-ui-code-block.d.ts +65 -0
  86. package/types/caribeng-ui-colorpicker.d.ts +5 -1
  87. package/types/caribeng-ui-command-palette.d.ts +133 -0
  88. package/types/caribeng-ui-confirmdialog.d.ts +34 -2
  89. package/types/caribeng-ui-confirmpopup.d.ts +39 -2
  90. package/types/caribeng-ui-contextmenu.d.ts +7 -0
  91. package/types/caribeng-ui-copy-button.d.ts +90 -0
  92. package/types/caribeng-ui-dataview.d.ts +2 -0
  93. package/types/caribeng-ui-dock.d.ts +13 -1
  94. package/types/caribeng-ui-drawer.d.ts +3 -1
  95. package/types/caribeng-ui-file-card.d.ts +27 -2
  96. package/types/caribeng-ui-folder-card.d.ts +27 -5
  97. package/types/caribeng-ui-inputmask.d.ts +3 -1
  98. package/types/caribeng-ui-kanban.d.ts +783 -0
  99. package/types/caribeng-ui-kbd.d.ts +36 -0
  100. package/types/caribeng-ui-megamenu.d.ts +11 -0
  101. package/types/caribeng-ui-mentions.d.ts +127 -0
  102. package/types/caribeng-ui-menu.d.ts +7 -0
  103. package/types/caribeng-ui-menubar.d.ts +7 -0
  104. package/types/caribeng-ui-message.d.ts +2 -0
  105. package/types/caribeng-ui-panelmenu.d.ts +7 -0
  106. package/types/caribeng-ui-phone-input.d.ts +168 -0
  107. package/types/caribeng-ui-pricing.d.ts +41 -4
  108. package/types/caribeng-ui-qrcode.d.ts +88 -0
  109. package/types/caribeng-ui-sidebar.d.ts +167 -0
  110. package/types/caribeng-ui-stepper.d.ts +2 -0
  111. package/types/caribeng-ui-table.d.ts +1 -1
  112. package/types/caribeng-ui-tabmenu.d.ts +7 -0
  113. package/types/caribeng-ui-tieredmenu.d.ts +17 -1
  114. package/types/caribeng-ui.d.ts +276 -2
  115. package/styles/caribeng.css +0 -380
  116. package/styles/scss/_mixins.scss +0 -46
  117. package/styles/scss/_overlay.scss +0 -15
  118. package/styles/scss/_tokens.scss +0 -267
  119. package/styles/scss/_utilities.scss +0 -73
  120. package/styles/scss/_variables.scss +0 -33
  121. package/styles/scss/index.scss +0 -16
@@ -1,380 +0,0 @@
1
- /*! CaribeNG · @caribeng/ui/styles · MIT */
2
- :root {
3
- --cb-color-primary-50: #ecfdf5;
4
- --cb-color-primary-100: #d1fae5;
5
- --cb-color-primary-200: #a7f3d0;
6
- --cb-color-primary-300: #6ee7b7;
7
- --cb-color-primary-400: #34d399;
8
- --cb-color-primary-500: #10b981;
9
- --cb-color-primary-600: #059669;
10
- --cb-color-primary-700: #047857;
11
- --cb-color-primary-800: #065f46;
12
- --cb-color-primary-900: #064e3b;
13
- --cb-color-primary-950: #022c22;
14
- --cb-color-surface-0: #ffffff;
15
- --cb-color-surface-50: #f8fafc;
16
- --cb-color-surface-100: #f1f5f9;
17
- --cb-color-surface-200: #e2e8f0;
18
- --cb-color-surface-300: #cbd5e1;
19
- --cb-color-surface-400: #94a3b8;
20
- --cb-color-surface-500: #64748b;
21
- --cb-color-surface-600: #475569;
22
- --cb-color-surface-700: #334155;
23
- --cb-color-surface-800: #1e293b;
24
- --cb-color-surface-900: #0f172a;
25
- --cb-color-surface-950: #020617;
26
- --cb-color-success-50: #f0fdf4;
27
- --cb-color-success-100: #dcfce7;
28
- --cb-color-success-200: #bbf7d0;
29
- --cb-color-success-300: #86efac;
30
- --cb-color-success-400: #4ade80;
31
- --cb-color-success-500: #22c55e;
32
- --cb-color-success-600: #16a34a;
33
- --cb-color-success-700: #15803d;
34
- --cb-color-success-800: #166534;
35
- --cb-color-success-900: #14532d;
36
- --cb-color-success-950: #052e16;
37
- --cb-color-info-50: #f0f9ff;
38
- --cb-color-info-100: #e0f2fe;
39
- --cb-color-info-200: #bae6fd;
40
- --cb-color-info-300: #7dd3fc;
41
- --cb-color-info-400: #38bdf8;
42
- --cb-color-info-500: #0ea5e9;
43
- --cb-color-info-600: #0284c7;
44
- --cb-color-info-700: #0369a1;
45
- --cb-color-info-800: #075985;
46
- --cb-color-info-900: #0c4a6e;
47
- --cb-color-info-950: #082f49;
48
- --cb-color-warning-50: #fff7ed;
49
- --cb-color-warning-100: #ffedd5;
50
- --cb-color-warning-200: #fed7aa;
51
- --cb-color-warning-300: #fdba74;
52
- --cb-color-warning-400: #fb923c;
53
- --cb-color-warning-500: #f97316;
54
- --cb-color-warning-600: #ea580c;
55
- --cb-color-warning-700: #c2410c;
56
- --cb-color-warning-800: #9a3412;
57
- --cb-color-warning-900: #7c2d12;
58
- --cb-color-warning-950: #431407;
59
- --cb-color-danger-50: #fef2f2;
60
- --cb-color-danger-100: #fee2e2;
61
- --cb-color-danger-200: #fecaca;
62
- --cb-color-danger-300: #fca5a5;
63
- --cb-color-danger-400: #f87171;
64
- --cb-color-danger-500: #ef4444;
65
- --cb-color-danger-600: #dc2626;
66
- --cb-color-danger-700: #b91c1c;
67
- --cb-color-danger-800: #991b1b;
68
- --cb-color-danger-900: #7f1d1d;
69
- --cb-color-danger-950: #450a0a;
70
- --cb-color-help-50: #faf5ff;
71
- --cb-color-help-100: #f3e8ff;
72
- --cb-color-help-200: #e9d5ff;
73
- --cb-color-help-300: #d8b4fe;
74
- --cb-color-help-400: #c084fc;
75
- --cb-color-help-500: #a855f7;
76
- --cb-color-help-600: #9333ea;
77
- --cb-color-help-700: #7e22ce;
78
- --cb-color-help-800: #6b21a8;
79
- --cb-color-help-900: #581c87;
80
- --cb-color-help-950: #3b0764;
81
- --cb-color-primary: var(--cb-color-primary-500);
82
- --cb-color-primary-contrast: #ffffff;
83
- --cb-color-success: var(--cb-color-success-500);
84
- --cb-color-success-contrast: #ffffff;
85
- --cb-color-info: var(--cb-color-info-500);
86
- --cb-color-info-contrast: #ffffff;
87
- --cb-color-warning: var(--cb-color-warning-500);
88
- --cb-color-warning-contrast: #ffffff;
89
- --cb-color-danger: var(--cb-color-danger-500);
90
- --cb-color-danger-contrast: #ffffff;
91
- --cb-color-help: var(--cb-color-help-500);
92
- --cb-color-help-contrast: #ffffff;
93
- --cb-color-bg: var(--cb-color-surface-0);
94
- --cb-color-surface: var(--cb-color-surface-50);
95
- --cb-color-surface-raised: var(--cb-color-surface-0);
96
- --cb-color-surface-hover: var(--cb-color-surface-100);
97
- --cb-color-surface-subtle: var(--cb-color-surface-50);
98
- --cb-color-border: var(--cb-color-surface-200);
99
- --cb-color-border-strong: var(--cb-color-surface-300);
100
- --cb-color-text: var(--cb-color-surface-700);
101
- --cb-color-text-strong: var(--cb-color-surface-900);
102
- --cb-color-text-muted: var(--cb-color-surface-500);
103
- --cb-color-overlay: rgb(2 6 23 / 0.5);
104
- --cb-color-focus-ring: var(--cb-color-primary-500);
105
- --cb-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
106
- sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
107
- --cb-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
108
- "Liberation Mono", monospace;
109
- --cb-text-xs: 0.75rem;
110
- --cb-text-sm: 0.875rem;
111
- --cb-text-base: 1rem;
112
- --cb-text-lg: 1.125rem;
113
- --cb-text-xl: 1.25rem;
114
- --cb-text-2xl: 1.5rem;
115
- --cb-font-weight-regular: 400;
116
- --cb-font-weight-medium: 500;
117
- --cb-font-weight-semibold: 600;
118
- --cb-font-weight-bold: 700;
119
- --cb-line-height-tight: 1.25;
120
- --cb-line-height-normal: 1.5;
121
- --cb-line-height-relaxed: 1.75;
122
- --cb-space-1: 0.25rem;
123
- --cb-space-2: 0.5rem;
124
- --cb-space-3: 0.75rem;
125
- --cb-space-4: 1rem;
126
- --cb-space-5: 1.25rem;
127
- --cb-space-6: 1.5rem;
128
- --cb-space-7: 1.75rem;
129
- --cb-space-8: 2rem;
130
- --cb-space-10: 2.5rem;
131
- --cb-space-12: 3rem;
132
- --cb-space-16: 4rem;
133
- --cb-radius-sm: 0.25rem;
134
- --cb-radius-md: 0.5rem;
135
- --cb-radius-lg: 0.75rem;
136
- --cb-radius-full: 9999px;
137
- --cb-border-width: 1px;
138
- --cb-shadow-sm: 0 1px 2px 0 rgb(18 18 23 / 0.08);
139
- --cb-shadow-md: 0 4px 6px -1px rgb(18 18 23 / 0.1),
140
- 0 2px 4px -2px rgb(18 18 23 / 0.1);
141
- --cb-shadow-lg: 0 10px 15px -3px rgb(18 18 23 / 0.1),
142
- 0 4px 6px -4px rgb(18 18 23 / 0.1);
143
- --cb-duration-fast: 120ms;
144
- --cb-duration-normal: 200ms;
145
- --cb-duration-slow: 320ms;
146
- --cb-ease: cubic-bezier(0.4, 0, 0.2, 1);
147
- --cb-ease-out: cubic-bezier(0, 0, 0.2, 1);
148
- --cb-ease-in: cubic-bezier(0.4, 0, 1, 1);
149
- --cb-z-dropdown: 1000;
150
- --cb-z-overlay: 1100;
151
- --cb-z-modal: 1200;
152
- --cb-z-popover: 1300;
153
- --cb-z-toast: 1400;
154
- --cb-z-tooltip: 1500;
155
- --cb-breakpoint-sm: 576px;
156
- --cb-breakpoint-md: 768px;
157
- --cb-breakpoint-lg: 992px;
158
- --cb-breakpoint-xl: 1200px;
159
- --cb-breakpoint-2xl: 1400px;
160
- }
161
-
162
- :root[data-theme=dark] {
163
- --cb-color-bg: var(--cb-color-surface-950);
164
- --cb-color-surface: var(--cb-color-surface-900);
165
- --cb-color-surface-raised: var(--cb-color-surface-900);
166
- --cb-color-surface-hover: var(--cb-color-surface-700);
167
- --cb-color-surface-subtle: var(--cb-color-surface-800);
168
- --cb-color-border: var(--cb-color-surface-700);
169
- --cb-color-border-strong: var(--cb-color-surface-600);
170
- --cb-color-text: var(--cb-color-surface-0);
171
- --cb-color-text-strong: var(--cb-color-surface-0);
172
- --cb-color-text-muted: var(--cb-color-surface-400);
173
- --cb-color-overlay: rgb(0 0 0 / 0.6);
174
- --cb-color-primary: var(--cb-color-primary-400);
175
- --cb-color-primary-contrast: var(--cb-color-surface-950);
176
- --cb-color-focus-ring: var(--cb-color-primary-400);
177
- --cb-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);
178
- --cb-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.5);
179
- --cb-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5),
180
- 0 4px 6px -4px rgb(0 0 0 / 0.5);
181
- }
182
-
183
- @media (prefers-reduced-motion: reduce) {
184
- :root {
185
- --cb-duration-fast: 0ms;
186
- --cb-duration-normal: 0ms;
187
- --cb-duration-slow: 0ms;
188
- }
189
- }
190
- .cb-flex {
191
- display: flex;
192
- }
193
-
194
- .cb-inline-flex {
195
- display: inline-flex;
196
- }
197
-
198
- .cb-grid {
199
- display: grid;
200
- }
201
-
202
- .cb-block {
203
- display: block;
204
- }
205
-
206
- .cb-inline-block {
207
- display: inline-block;
208
- }
209
-
210
- .cb-hidden {
211
- display: none;
212
- }
213
-
214
- .cb-flex-col {
215
- flex-direction: column;
216
- }
217
-
218
- .cb-flex-row {
219
- flex-direction: row;
220
- }
221
-
222
- .cb-flex-wrap {
223
- flex-wrap: wrap;
224
- }
225
-
226
- .cb-flex-1 {
227
- flex: 1 1 0%;
228
- }
229
-
230
- .cb-items-center {
231
- align-items: center;
232
- }
233
-
234
- .cb-items-start {
235
- align-items: flex-start;
236
- }
237
-
238
- .cb-items-end {
239
- align-items: flex-end;
240
- }
241
-
242
- .cb-items-stretch {
243
- align-items: stretch;
244
- }
245
-
246
- .cb-justify-center {
247
- justify-content: center;
248
- }
249
-
250
- .cb-justify-between {
251
- justify-content: space-between;
252
- }
253
-
254
- .cb-justify-start {
255
- justify-content: flex-start;
256
- }
257
-
258
- .cb-justify-end {
259
- justify-content: flex-end;
260
- }
261
-
262
- .cb-gap-1 {
263
- gap: var(--cb-space-1);
264
- }
265
-
266
- .cb-gap-2 {
267
- gap: var(--cb-space-2);
268
- }
269
-
270
- .cb-gap-3 {
271
- gap: var(--cb-space-3);
272
- }
273
-
274
- .cb-gap-4 {
275
- gap: var(--cb-space-4);
276
- }
277
-
278
- .cb-gap-5 {
279
- gap: var(--cb-space-5);
280
- }
281
-
282
- .cb-gap-6 {
283
- gap: var(--cb-space-6);
284
- }
285
-
286
- .cb-gap-8 {
287
- gap: var(--cb-space-8);
288
- }
289
-
290
- .cb-p-1 {
291
- padding: var(--cb-space-1);
292
- }
293
-
294
- .cb-p-2 {
295
- padding: var(--cb-space-2);
296
- }
297
-
298
- .cb-p-3 {
299
- padding: var(--cb-space-3);
300
- }
301
-
302
- .cb-p-4 {
303
- padding: var(--cb-space-4);
304
- }
305
-
306
- .cb-p-5 {
307
- padding: var(--cb-space-5);
308
- }
309
-
310
- .cb-p-6 {
311
- padding: var(--cb-space-6);
312
- }
313
-
314
- .cb-p-8 {
315
- padding: var(--cb-space-8);
316
- }
317
-
318
- .cb-m-1 {
319
- margin: var(--cb-space-1);
320
- }
321
-
322
- .cb-m-2 {
323
- margin: var(--cb-space-2);
324
- }
325
-
326
- .cb-m-3 {
327
- margin: var(--cb-space-3);
328
- }
329
-
330
- .cb-m-4 {
331
- margin: var(--cb-space-4);
332
- }
333
-
334
- .cb-m-5 {
335
- margin: var(--cb-space-5);
336
- }
337
-
338
- .cb-m-6 {
339
- margin: var(--cb-space-6);
340
- }
341
-
342
- .cb-m-8 {
343
- margin: var(--cb-space-8);
344
- }
345
-
346
- .cb-w-full {
347
- width: 100%;
348
- }
349
-
350
- .cb-h-full {
351
- height: 100%;
352
- }
353
-
354
- .cb-max-w-full {
355
- max-width: 100%;
356
- }
357
-
358
- .cb-min-w-0 {
359
- min-width: 0;
360
- }
361
-
362
- .cb-sr-only {
363
- position: absolute;
364
- width: 1px;
365
- height: 1px;
366
- padding: 0;
367
- margin: -1px;
368
- overflow: hidden;
369
- clip: rect(0, 0, 0, 0);
370
- white-space: nowrap;
371
- border: 0;
372
- }
373
-
374
- .cb-dialog-backdrop {
375
- background-color: var(--cb-color-overlay);
376
- }
377
-
378
- .cb-dialog-backdrop.cdk-overlay-backdrop-showing {
379
- opacity: 1;
380
- }
@@ -1,46 +0,0 @@
1
- // =============================================================================
2
- // CaribeNG · Mixins SCSS (opcionales)
3
- // El consumidor NO necesita SCSS si usa la versión CSS compilada.
4
- // =============================================================================
5
-
6
- // Breakpoints mobile-first (coinciden con --cb-breakpoint-*)
7
- $cb-breakpoints: (
8
- "sm": 576px,
9
- "md": 768px,
10
- "lg": 992px,
11
- "xl": 1200px,
12
- "2xl": 1400px,
13
- );
14
-
15
- /// Aplica estilos a partir del breakpoint indicado (mobile-first, min-width).
16
- /// @example scss
17
- /// .foo { @include cb-media("md") { display: flex; } }
18
- @mixin cb-media($name) {
19
- @if map-has-key($cb-breakpoints, $name) {
20
- $min: map-get($cb-breakpoints, $name);
21
- @media (min-width: $min) {
22
- @content;
23
- }
24
- } @else {
25
- @error "cb-media: breakpoint `#{$name}` no existe. Usa: #{map-keys($cb-breakpoints)}.";
26
- }
27
- }
28
-
29
- /// Anillo de foco accesible y consistente.
30
- @mixin cb-focus-ring($color: var(--cb-color-focus-ring), $offset: 2px) {
31
- outline: 2px solid $color;
32
- outline-offset: $offset;
33
- }
34
-
35
- /// Oculta visualmente pero mantiene accesible para lectores de pantalla.
36
- @mixin cb-visually-hidden {
37
- position: absolute;
38
- width: 1px;
39
- height: 1px;
40
- padding: 0;
41
- margin: -1px;
42
- overflow: hidden;
43
- clip: rect(0, 0, 0, 0);
44
- white-space: nowrap;
45
- border: 0;
46
- }
@@ -1,15 +0,0 @@
1
- // =============================================================================
2
- // CaribeNG · Estilos globales de overlay
3
- // El backdrop de CDK Overlay se añade al contenedor global (fuera del
4
- // componente), por lo que su color debe declararse globalmente.
5
- // Requiere también: @angular/cdk/overlay-prebuilt.css
6
- // =============================================================================
7
-
8
- .cb-dialog-backdrop {
9
- background-color: var(--cb-color-overlay);
10
- }
11
-
12
- // Animación de aparición del backdrop (respeta reduce-motion).
13
- .cb-dialog-backdrop.cdk-overlay-backdrop-showing {
14
- opacity: 1;
15
- }
@@ -1,267 +0,0 @@
1
- // =============================================================================
2
- // CaribeNG · Design Tokens
3
- // Variables CSS con prefijo --cb-*. No dependas de SCSS: la versión CSS
4
- // compilada (caribeng-tokens.css) contiene exactamente estas declaraciones.
5
- //
6
- // Paleta alineada con PrimeNG "Aura" (MIT): primary = emerald, surface = slate,
7
- // success = green, info = sky, warning = orange, danger = red, help = purple.
8
- // =============================================================================
9
-
10
- :root {
11
- // ---------------------------------------------------------------------------
12
- // Escala primaria (marca) · emerald
13
- // ---------------------------------------------------------------------------
14
- --cb-color-primary-50: #ecfdf5;
15
- --cb-color-primary-100: #d1fae5;
16
- --cb-color-primary-200: #a7f3d0;
17
- --cb-color-primary-300: #6ee7b7;
18
- --cb-color-primary-400: #34d399;
19
- --cb-color-primary-500: #10b981;
20
- --cb-color-primary-600: #059669;
21
- --cb-color-primary-700: #047857;
22
- --cb-color-primary-800: #065f46;
23
- --cb-color-primary-900: #064e3b;
24
- --cb-color-primary-950: #022c22;
25
-
26
- // ---------------------------------------------------------------------------
27
- // Escala neutra · surface (slate + surface-0 blanco)
28
- // Usada por fondos, textos, bordes y por las severidades secondary/contrast.
29
- // ---------------------------------------------------------------------------
30
- --cb-color-surface-0: #ffffff;
31
- --cb-color-surface-50: #f8fafc;
32
- --cb-color-surface-100: #f1f5f9;
33
- --cb-color-surface-200: #e2e8f0;
34
- --cb-color-surface-300: #cbd5e1;
35
- --cb-color-surface-400: #94a3b8;
36
- --cb-color-surface-500: #64748b;
37
- --cb-color-surface-600: #475569;
38
- --cb-color-surface-700: #334155;
39
- --cb-color-surface-800: #1e293b;
40
- --cb-color-surface-900: #0f172a;
41
- --cb-color-surface-950: #020617;
42
-
43
- // ---------------------------------------------------------------------------
44
- // Escalas de severidad
45
- // ---------------------------------------------------------------------------
46
- // success · green
47
- --cb-color-success-50: #f0fdf4;
48
- --cb-color-success-100: #dcfce7;
49
- --cb-color-success-200: #bbf7d0;
50
- --cb-color-success-300: #86efac;
51
- --cb-color-success-400: #4ade80;
52
- --cb-color-success-500: #22c55e;
53
- --cb-color-success-600: #16a34a;
54
- --cb-color-success-700: #15803d;
55
- --cb-color-success-800: #166534;
56
- --cb-color-success-900: #14532d;
57
- --cb-color-success-950: #052e16;
58
-
59
- // info · sky
60
- --cb-color-info-50: #f0f9ff;
61
- --cb-color-info-100: #e0f2fe;
62
- --cb-color-info-200: #bae6fd;
63
- --cb-color-info-300: #7dd3fc;
64
- --cb-color-info-400: #38bdf8;
65
- --cb-color-info-500: #0ea5e9;
66
- --cb-color-info-600: #0284c7;
67
- --cb-color-info-700: #0369a1;
68
- --cb-color-info-800: #075985;
69
- --cb-color-info-900: #0c4a6e;
70
- --cb-color-info-950: #082f49;
71
-
72
- // warning · orange
73
- --cb-color-warning-50: #fff7ed;
74
- --cb-color-warning-100: #ffedd5;
75
- --cb-color-warning-200: #fed7aa;
76
- --cb-color-warning-300: #fdba74;
77
- --cb-color-warning-400: #fb923c;
78
- --cb-color-warning-500: #f97316;
79
- --cb-color-warning-600: #ea580c;
80
- --cb-color-warning-700: #c2410c;
81
- --cb-color-warning-800: #9a3412;
82
- --cb-color-warning-900: #7c2d12;
83
- --cb-color-warning-950: #431407;
84
-
85
- // danger · red
86
- --cb-color-danger-50: #fef2f2;
87
- --cb-color-danger-100: #fee2e2;
88
- --cb-color-danger-200: #fecaca;
89
- --cb-color-danger-300: #fca5a5;
90
- --cb-color-danger-400: #f87171;
91
- --cb-color-danger-500: #ef4444;
92
- --cb-color-danger-600: #dc2626;
93
- --cb-color-danger-700: #b91c1c;
94
- --cb-color-danger-800: #991b1b;
95
- --cb-color-danger-900: #7f1d1d;
96
- --cb-color-danger-950: #450a0a;
97
-
98
- // help · purple
99
- --cb-color-help-50: #faf5ff;
100
- --cb-color-help-100: #f3e8ff;
101
- --cb-color-help-200: #e9d5ff;
102
- --cb-color-help-300: #d8b4fe;
103
- --cb-color-help-400: #c084fc;
104
- --cb-color-help-500: #a855f7;
105
- --cb-color-help-600: #9333ea;
106
- --cb-color-help-700: #7e22ce;
107
- --cb-color-help-800: #6b21a8;
108
- --cb-color-help-900: #581c87;
109
- --cb-color-help-950: #3b0764;
110
-
111
- // ---------------------------------------------------------------------------
112
- // Tokens semánticos de color (tema claro)
113
- // ---------------------------------------------------------------------------
114
- // Severidades — atajo al tono base + contraste de texto.
115
- --cb-color-primary: var(--cb-color-primary-500);
116
- --cb-color-primary-contrast: #ffffff;
117
- --cb-color-success: var(--cb-color-success-500);
118
- --cb-color-success-contrast: #ffffff;
119
- --cb-color-info: var(--cb-color-info-500);
120
- --cb-color-info-contrast: #ffffff;
121
- --cb-color-warning: var(--cb-color-warning-500);
122
- --cb-color-warning-contrast: #ffffff;
123
- --cb-color-danger: var(--cb-color-danger-500);
124
- --cb-color-danger-contrast: #ffffff;
125
- --cb-color-help: var(--cb-color-help-500);
126
- --cb-color-help-contrast: #ffffff;
127
-
128
- // Superficie y texto
129
- --cb-color-bg: var(--cb-color-surface-0);
130
- --cb-color-surface: var(--cb-color-surface-50);
131
- --cb-color-surface-raised: var(--cb-color-surface-0);
132
- // Estados: las escalas son absolutas, así que hover y fondos suaves usan estos
133
- // tokens semánticos, que cambian con el tema (surface-100 es casi blanco en dark).
134
- --cb-color-surface-hover: var(--cb-color-surface-100);
135
- --cb-color-surface-subtle: var(--cb-color-surface-50);
136
- --cb-color-border: var(--cb-color-surface-200);
137
- --cb-color-border-strong: var(--cb-color-surface-300);
138
- --cb-color-text: var(--cb-color-surface-700);
139
- --cb-color-text-strong: var(--cb-color-surface-900);
140
- --cb-color-text-muted: var(--cb-color-surface-500);
141
- --cb-color-overlay: rgb(2 6 23 / 0.5);
142
- --cb-color-focus-ring: var(--cb-color-primary-500);
143
-
144
- // ---------------------------------------------------------------------------
145
- // Tipografía
146
- // ---------------------------------------------------------------------------
147
- --cb-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
148
- sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
149
- --cb-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
150
- "Liberation Mono", monospace;
151
-
152
- --cb-text-xs: 0.75rem;
153
- --cb-text-sm: 0.875rem;
154
- --cb-text-base: 1rem;
155
- --cb-text-lg: 1.125rem;
156
- --cb-text-xl: 1.25rem;
157
- --cb-text-2xl: 1.5rem;
158
-
159
- --cb-font-weight-regular: 400;
160
- --cb-font-weight-medium: 500;
161
- --cb-font-weight-semibold: 600;
162
- --cb-font-weight-bold: 700;
163
-
164
- --cb-line-height-tight: 1.25;
165
- --cb-line-height-normal: 1.5;
166
- --cb-line-height-relaxed: 1.75;
167
-
168
- // ---------------------------------------------------------------------------
169
- // Espaciado · escala base 4px
170
- // ---------------------------------------------------------------------------
171
- --cb-space-1: 0.25rem;
172
- --cb-space-2: 0.5rem;
173
- --cb-space-3: 0.75rem;
174
- --cb-space-4: 1rem;
175
- --cb-space-5: 1.25rem;
176
- --cb-space-6: 1.5rem;
177
- --cb-space-7: 1.75rem;
178
- --cb-space-8: 2rem;
179
- --cb-space-10: 2.5rem;
180
- --cb-space-12: 3rem;
181
- --cb-space-16: 4rem;
182
-
183
- // ---------------------------------------------------------------------------
184
- // Bordes / radios
185
- // ---------------------------------------------------------------------------
186
- --cb-radius-sm: 0.25rem;
187
- --cb-radius-md: 0.5rem;
188
- --cb-radius-lg: 0.75rem;
189
- --cb-radius-full: 9999px;
190
-
191
- --cb-border-width: 1px;
192
-
193
- // ---------------------------------------------------------------------------
194
- // Sombras
195
- // ---------------------------------------------------------------------------
196
- --cb-shadow-sm: 0 1px 2px 0 rgb(18 18 23 / 0.08);
197
- --cb-shadow-md: 0 4px 6px -1px rgb(18 18 23 / 0.1),
198
- 0 2px 4px -2px rgb(18 18 23 / 0.1);
199
- --cb-shadow-lg: 0 10px 15px -3px rgb(18 18 23 / 0.1),
200
- 0 4px 6px -4px rgb(18 18 23 / 0.1);
201
-
202
- // ---------------------------------------------------------------------------
203
- // Movimiento
204
- // ---------------------------------------------------------------------------
205
- --cb-duration-fast: 120ms;
206
- --cb-duration-normal: 200ms;
207
- --cb-duration-slow: 320ms;
208
- --cb-ease: cubic-bezier(0.4, 0, 0.2, 1);
209
- --cb-ease-out: cubic-bezier(0, 0, 0.2, 1);
210
- --cb-ease-in: cubic-bezier(0.4, 0, 1, 1);
211
-
212
- // ---------------------------------------------------------------------------
213
- // Z-index
214
- // ---------------------------------------------------------------------------
215
- --cb-z-dropdown: 1000;
216
- --cb-z-overlay: 1100;
217
- --cb-z-modal: 1200;
218
- --cb-z-popover: 1300;
219
- --cb-z-toast: 1400;
220
- --cb-z-tooltip: 1500;
221
-
222
- // ---------------------------------------------------------------------------
223
- // Breakpoints de referencia
224
- // ---------------------------------------------------------------------------
225
- --cb-breakpoint-sm: 576px;
226
- --cb-breakpoint-md: 768px;
227
- --cb-breakpoint-lg: 992px;
228
- --cb-breakpoint-xl: 1200px;
229
- --cb-breakpoint-2xl: 1400px;
230
- }
231
-
232
- // =============================================================================
233
- // Dark mode · [data-theme="dark"] en el elemento raíz
234
- // Las escalas de color son absolutas; solo cambian los tokens semánticos.
235
- // =============================================================================
236
- :root[data-theme="dark"] {
237
- --cb-color-bg: var(--cb-color-surface-950);
238
- --cb-color-surface: var(--cb-color-surface-900);
239
- --cb-color-surface-raised: var(--cb-color-surface-900);
240
- --cb-color-surface-hover: var(--cb-color-surface-700);
241
- --cb-color-surface-subtle: var(--cb-color-surface-800);
242
- --cb-color-border: var(--cb-color-surface-700);
243
- --cb-color-border-strong: var(--cb-color-surface-600);
244
- --cb-color-text: var(--cb-color-surface-0);
245
- --cb-color-text-strong: var(--cb-color-surface-0);
246
- --cb-color-text-muted: var(--cb-color-surface-400);
247
- --cb-color-overlay: rgb(0 0 0 / 0.6);
248
-
249
- // En dark, el primary efectivo usa el tono 400 (igual que Aura).
250
- --cb-color-primary: var(--cb-color-primary-400);
251
- --cb-color-primary-contrast: var(--cb-color-surface-950);
252
- --cb-color-focus-ring: var(--cb-color-primary-400);
253
-
254
- --cb-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.4);
255
- --cb-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.5);
256
- --cb-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5),
257
- 0 4px 6px -4px rgb(0 0 0 / 0.5);
258
- }
259
-
260
- // Respeto de prefers-reduced-motion
261
- @media (prefers-reduced-motion: reduce) {
262
- :root {
263
- --cb-duration-fast: 0ms;
264
- --cb-duration-normal: 0ms;
265
- --cb-duration-slow: 0ms;
266
- }
267
- }