@metropolle/design-system 1.0.0-beta.2025.8.31.328.22dd9a0 → 1.0.0-beta.2025.9.5.1452.ddd37af

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 (2) hide show
  1. package/dist/css/back.css +457 -0
  2. package/package.json +4 -3
@@ -0,0 +1,457 @@
1
+ /*
2
+ Back Compat CSS (opt-in)
3
+ Purpose: replicate current @back system-level styling with pixel parity,
4
+ without changing appearance. Import after base DS CSS.
5
+ */
6
+
7
+ /* ================================
8
+ Buttons (theme-responsive)
9
+ ================================ */
10
+ .mds-button--primary,
11
+ button[class*="primary"] {
12
+ background-color: #60a5fa !important;
13
+ color: #ffffff !important;
14
+ border: none !important;
15
+ transition: all 0.2s ease !important;
16
+ }
17
+
18
+ .mds-button--primary:hover,
19
+ button[class*="primary"]:hover {
20
+ background-color: #93c5fd !important;
21
+ transform: translateY(-1px) !important;
22
+ }
23
+
24
+ .mds-button--secondary,
25
+ button[class*="secondary"] {
26
+ background-color: rgba(255, 255, 255, 0.1) !important;
27
+ color: #ffffff !important;
28
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
29
+ backdrop-filter: blur(10px) !important;
30
+ transition: all 0.2s ease !important;
31
+ }
32
+
33
+ .mds-button--secondary:hover,
34
+ button[class*="secondary"]:hover {
35
+ background-color: rgba(255, 255, 255, 0.15) !important;
36
+ border-color: rgba(255, 255, 255, 0.3) !important;
37
+ }
38
+
39
+ .mds-button--outline,
40
+ button[class*="outline"] {
41
+ background-color: transparent !important;
42
+ color: #ffffff !important;
43
+ border: 1px solid rgba(255, 255, 255, 0.3) !important;
44
+ transition: all 0.2s ease !important;
45
+ }
46
+
47
+ .mds-button--outline:hover,
48
+ button[class*="outline"]:hover {
49
+ background-color: rgba(255, 255, 255, 0.1) !important;
50
+ border-color: rgba(255, 255, 255, 0.5) !important;
51
+ }
52
+
53
+ .mds-button--glass,
54
+ button[class*="glass"] {
55
+ background-color: rgba(255, 255, 255, 0.1) !important;
56
+ color: #ffffff !important;
57
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
58
+ backdrop-filter: blur(10px) !important;
59
+ transition: all 0.2s ease !important;
60
+ }
61
+
62
+ .mds-button--glass:hover,
63
+ button[class*="glass"]:hover {
64
+ background-color: rgba(255, 255, 255, 0.15) !important;
65
+ border-color: rgba(255, 255, 255, 0.3)
66
+ !important;
67
+ }
68
+
69
+ .mds-button--ghost,
70
+ button[class*="ghost"] {
71
+ background-color: transparent !important;
72
+ color: #ffffff !important;
73
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
74
+ transition: all 0.2s ease !important;
75
+ }
76
+
77
+ .mds-button--ghost:hover,
78
+ button[class*="ghost"]:hover {
79
+ background-color: rgba(255, 255, 255, 0.1) !important;
80
+ border-color: rgba(255, 255, 255, 0.3) !important;
81
+ }
82
+
83
+ /* Raw button baseline */
84
+ button {
85
+ background-color: rgba(255, 255, 255, 0.1) !important;
86
+ color: #ffffff !important;
87
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
88
+ border-radius: 8px !important;
89
+ padding: 0.5rem 1rem !important;
90
+ cursor: pointer !important;
91
+ transition: all 0.2s ease !important;
92
+ font-family: inherit !important;
93
+ }
94
+
95
+ button:hover {
96
+ background-color: rgba(255, 255, 255, 0.15) !important;
97
+ border-color: rgba(255, 255, 255, 0.3) !important;
98
+ transform: translateY(-1px) !important;
99
+ }
100
+
101
+ /* Modal close button must stay static */
102
+ .mds-modal-header > button[aria-label="Fechar"],
103
+ .mds-modal-header > button[aria-label="Fechar"]:hover,
104
+ .mds-modal-header > button[aria-label="Fechar"]:focus {
105
+ transform: none !important;
106
+ transition: none !important;
107
+ box-shadow: none !important;
108
+ background-color: transparent !important;
109
+ border: none !important;
110
+ }
111
+
112
+ button:disabled {
113
+ opacity: 0.5 !important;
114
+ cursor: not-allowed !important;
115
+ transform: none !important;
116
+ }
117
+
118
+ /* Light theme button overrides */
119
+ html[data-theme="light"] .mds-button--primary,
120
+ html[data-theme="light"] button[class*="primary"] {
121
+ background-color: #3b82f6 !important;
122
+ color: #ffffff !important;
123
+ }
124
+
125
+ html[data-theme="light"] .mds-button--primary:hover,
126
+ html[data-theme="light"] button[class*="primary"]:hover {
127
+ background-color: #2563eb !important;
128
+ }
129
+
130
+ html[data-theme="light"] .mds-button--secondary,
131
+ html[data-theme="light"] button[class*="secondary"] {
132
+ background-color: rgba(0, 0, 0, 0.05) !important;
133
+ color: #1a1a1a !important;
134
+ border-color: rgba(0, 0, 0, 0.1) !important;
135
+ }
136
+
137
+ html[data-theme="light"] .mds-button--secondary:hover,
138
+ html[data-theme="light"] button[class*="secondary"]:hover {
139
+ background-color: rgba(0, 0, 0, 0.08) !important;
140
+ border-color: rgba(0, 0, 0, 0.15) !important;
141
+ }
142
+
143
+ html[data-theme="light"] .mds-button--outline,
144
+ html[data-theme="light"] button[class*="outline"] {
145
+ color: #1a1a1a !important;
146
+ border-color: rgba(0, 0, 0, 0.3) !important;
147
+ }
148
+
149
+ html[data-theme="light"] .mds-button--outline:hover,
150
+ html[data-theme="light"] button[class*="outline"]:hover {
151
+ background-color: rgba(0, 0, 0, 0.05) !important;
152
+ border-color: rgba(0, 0, 0, 0.5) !important;
153
+ }
154
+
155
+ html[data-theme="light"] .mds-button--glass,
156
+ html[data-theme="light"] button[class*="glass"] {
157
+ background-color: rgba(0, 0, 0, 0.05) !important;
158
+ color: #1a1a1a !important;
159
+ border-color: rgba(0, 0, 0, 0.1) !important;
160
+ }
161
+
162
+ html[data-theme="light"] .mds-button--glass:hover,
163
+ html[data-theme="light"] button[class*="glass"]:hover {
164
+ background-color: rgba(0, 0, 0, 0.08) !important;
165
+ border-color: rgba(0, 0, 0, 0.15) !important;
166
+ }
167
+
168
+ html[data-theme="light"] .mds-button--ghost,
169
+ html[data-theme="light"] button[class*="ghost"] {
170
+ color: #1a1a1a !important;
171
+ border-color: rgba(0, 0, 0, 0.2) !important;
172
+ }
173
+
174
+ html[data-theme="light"] .mds-button--ghost:hover,
175
+ html[data-theme="light"] button[class*="ghost"]:hover {
176
+ background-color: rgba(0, 0, 0, 0.05) !important;
177
+ border-color: rgba(0, 0, 0, 0.3) !important;
178
+ }
179
+
180
+ html[data-theme="light"] button {
181
+ background-color: rgba(0, 0, 0, 0.05) !important;
182
+ color: #1a1a1a !important;
183
+ border-color: rgba(0, 0, 0, 0.1) !important;
184
+ }
185
+
186
+ html[data-theme="light"] button:hover {
187
+ background-color: rgba(0, 0, 0, 0.08) !important;
188
+ border-color: rgba(0, 0, 0, 0.15) !important;
189
+ }
190
+
191
+ /* ========================================
192
+ Selects and period filter (theme-responsive)
193
+ ======================================== */
194
+ select,
195
+ .mds-period-filter__select {
196
+ background-color: rgba(255, 255, 255, 0.1) !important;
197
+ color: #ffffff !important;
198
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
199
+ border-radius: 8px !important;
200
+ padding: 0.5rem 1rem !important;
201
+ font-family: inherit !important;
202
+ font-size: 0.875rem !important;
203
+ cursor: pointer !important;
204
+ transition: all 0.2s ease !important;
205
+ backdrop-filter: blur(10px) !important;
206
+ -webkit-backdrop-filter: blur(10px) !important;
207
+ -webkit-appearance: none !important;
208
+ -moz-appearance: none !important;
209
+ appearance: none !important;
210
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
211
+ background-position: right 0.5rem center !important;
212
+ background-repeat: no-repeat !important;
213
+ background-size: 1rem 1rem !important;
214
+ padding-right: 2.5rem !important;
215
+ }
216
+
217
+ select:hover,
218
+ .mds-period-filter__select:hover {
219
+ background-color: rgba(255, 255, 255, 0.15) !important;
220
+ border-color: rgba(255, 255, 255, 0.3) !important;
221
+ }
222
+
223
+ select:focus,
224
+ .mds-period-filter__select:focus {
225
+ outline: none !important;
226
+ border-color: #60a5fa !important;
227
+ box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2) !important;
228
+ }
229
+
230
+ select:disabled,
231
+ .mds-period-filter__select:disabled {
232
+ opacity: 0.5 !important;
233
+ cursor: not-allowed !important;
234
+ }
235
+
236
+ select option {
237
+ background-color: rgba(30, 30, 30, 0.95) !important;
238
+ color: #ffffff !important;
239
+ padding: 0.5rem !important;
240
+ }
241
+
242
+ /* Light theme select styles */
243
+ html[data-theme="light"] select,
244
+ html[data-theme="light"] .mds-period-filter__select {
245
+ background-color: rgba(0, 0, 0, 0.05) !important;
246
+ color: #1a1a1a !important;
247
+ border-color: rgba(0, 0, 0, 0.1) !important;
248
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
249
+ }
250
+
251
+ html[data-theme="light"] select:hover,
252
+ html[data-theme="light"] .mds-period-filter__select:hover {
253
+ background-color: rgba(0, 0, 0, 0.08) !important;
254
+ border-color: rgba(0, 0, 0, 0.15) !important;
255
+ }
256
+
257
+ html[data-theme="light"] select:focus,
258
+ html[data-theme="light"] .mds-period-filter__select:focus {
259
+ border-color: #3b82f6 !important;
260
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
261
+ }
262
+
263
+ html[data-theme="light"] select option {
264
+ background-color: rgba(250, 250, 250, 0.95) !important;
265
+ color: #1a1a1a !important;
266
+ }
267
+
268
+ /* Dashboard controls */
269
+ .mds-dashboard-controls {
270
+ display: flex !important;
271
+ gap: 1rem !important;
272
+ align-items: center !important;
273
+ flex-wrap: wrap !important;
274
+ }
275
+
276
+ .mds-period-filter {
277
+ position: relative !important;
278
+ min-width: 150px !important;
279
+ }
280
+
281
+ /* ========================================
282
+ Inputs and selects (mds-*)
283
+ ======================================== */
284
+ .mds-input,
285
+ input.mds-input {
286
+ padding: 8px 12px !important;
287
+ min-height: 36px !important;
288
+ max-height: 36px !important;
289
+ height: 36px !important;
290
+ font-size: 14px !important;
291
+ line-height: 1.4 !important;
292
+ box-sizing: border-box !important;
293
+ }
294
+
295
+ /* Dark theme input overrides */
296
+ html[data-theme="dark"] .mds-input,
297
+ html[data-theme="dark"] input.mds-input,
298
+ html:not([data-theme]) .mds-input,
299
+ html:not([data-theme]) input.mds-input {
300
+ background-color: rgba(255, 255, 255, 0.15) !important;
301
+ border-color: rgba(255, 255, 255, 0.4) !important;
302
+ color: #ffffff !important;
303
+ }
304
+
305
+ html[data-theme="dark"] .mds-input:focus,
306
+ html[data-theme="dark"] input.mds-input:focus,
307
+ html:not([data-theme]) .mds-input:focus,
308
+ html:not([data-theme]) input.mds-input:focus {
309
+ background-color: rgba(255, 255, 255, 0.2) !important;
310
+ border-color: #60a5fa !important;
311
+ box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3) !important;
312
+ }
313
+
314
+ html[data-theme="dark"] .mds-input:hover,
315
+ html[data-theme="dark"] input.mds-input:hover,
316
+ html:not([data-theme]) .mds-input:hover,
317
+ html:not([data-theme]) input.mds-input:hover {
318
+ background-color: rgba(255, 255, 255, 0.18) !important;
319
+ border-color: rgba(255, 255, 255, 0.5) !important;
320
+ }
321
+
322
+ /* Light theme input overrides */
323
+ html[data-theme="light"] .mds-input,
324
+ html[data-theme="light"] input.mds-input {
325
+ background-color: #ffffff !important;
326
+ border-color: rgba(0, 0, 0, 0.2) !important;
327
+ color: #1a1a1a !important;
328
+ }
329
+
330
+ html[data-theme="light"] .mds-input:focus,
331
+ html[data-theme="light"] input.mds-input:focus {
332
+ background-color: #ffffff !important;
333
+ border-color: #3b82f6 !important;
334
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
335
+ }
336
+
337
+ html[data-theme="light"] .mds-input:hover,
338
+ html[data-theme="light"] input.mds-input:hover {
339
+ background-color: #ffffff !important;
340
+ border-color: rgba(0, 0, 0, 0.3) !important;
341
+ }
342
+
343
+ /* Placeholder overrides */
344
+ html[data-theme="dark"] .mds-input::-moz-placeholder, html[data-theme="dark"] input.mds-input::-moz-placeholder, html:not([data-theme]) .mds-input::-moz-placeholder, html:not([data-theme]) input.mds-input::-moz-placeholder {
345
+ color: rgba(255, 255, 255, 0.6) !important;
346
+ }
347
+ html[data-theme="dark"] .mds-input::placeholder,
348
+ html[data-theme="dark"] input.mds-input::placeholder,
349
+ html:not([data-theme]) .mds-input::placeholder,
350
+ html:not([data-theme]) input.mds-input::placeholder {
351
+ color: rgba(255, 255, 255, 0.6) !important;
352
+ }
353
+
354
+ html[data-theme="light"] .mds-input::-moz-placeholder, html[data-theme="light"] input.mds-input::-moz-placeholder {
355
+ color: rgba(0, 0, 0, 0.5) !important;
356
+ }
357
+
358
+ html[data-theme="light"] .mds-input::placeholder,
359
+ html[data-theme="light"] input.mds-input::placeholder {
360
+ color: rgba(0, 0, 0, 0.5) !important;
361
+ }
362
+
363
+ /* Ultra high priority input overrides */
364
+ input.mds-input,
365
+ .mds-input,
366
+ input[class*="mds-input"] {
367
+ padding: 8px 16px !important;
368
+ min-height: 40px !important;
369
+ max-height: 40px !important;
370
+ height: 40px !important;
371
+ font-size: 14px !important;
372
+ line-height: 1.4 !important;
373
+ box-sizing: border-box !important;
374
+ border-radius: 8px !important;
375
+ border-width: 1px !important;
376
+ border-style: solid !important;
377
+ }
378
+
379
+ /* Dark theme - ultra specific */
380
+ html[data-theme="dark"] input.mds-input,
381
+ html[data-theme="dark"] .mds-input,
382
+ html[data-theme="dark"] input[class*="mds-input"],
383
+ html:not([data-theme]) input.mds-input,
384
+ html:not([data-theme]) .mds-input,
385
+ html:not([data-theme]) input[class*="mds-input"] {
386
+ background-color: rgba(255, 255, 255, 0.2) !important;
387
+ border-color: rgba(255, 255, 255, 0.5) !important;
388
+ color: #ffffff !important;
389
+ }
390
+
391
+ html[data-theme="dark"] input.mds-input:focus,
392
+ html[data-theme="dark"] .mds-input:focus,
393
+ html[data-theme="dark"] input[class*="mds-input"]:focus,
394
+ html:not([data-theme]) input.mds-input:focus,
395
+ html:not([data-theme]) .mds-input:focus,
396
+ html:not([data-theme]) input[class*="mds-input"]:focus {
397
+ background-color: rgba(255, 255, 255, 0.25) !important;
398
+ border-color: #60a5fa !important;
399
+ box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3) !important;
400
+ }
401
+
402
+ /* Light theme - ultra specific */
403
+ html[data-theme="light"] input.mds-input,
404
+ html[data-theme="light"] .mds-input,
405
+ html[data-theme="light"] input[class*="mds-input"] {
406
+ background-color: #ffffff !important;
407
+ border-color: rgba(0, 0, 0, 0.3) !important;
408
+ color: #1a1a1a !important;
409
+ }
410
+
411
+ html[data-theme="light"] input.mds-input:focus,
412
+ html[data-theme="light"] .mds-input:focus,
413
+ html[data-theme="light"] input[class*="mds-input"]:focus {
414
+ background-color: #ffffff !important;
415
+ border-color: #3b82f6 !important;
416
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
417
+ }
418
+
419
+ /* Select overrides with maximum specificity */
420
+ select.mds-select,
421
+ .mds-select,
422
+ select[class*="mds-select"] {
423
+ padding: 8px 16px !important;
424
+ min-height: 40px !important;
425
+ max-height: 40px !important;
426
+ height: 40px !important;
427
+ font-size: 14px !important;
428
+ line-height: 1.4 !important;
429
+ box-sizing: border-box !important;
430
+ border-radius: 8px !important;
431
+ border-width: 1px !important;
432
+ border-style: solid !important;
433
+ }
434
+
435
+ /* Dark theme select overrides */
436
+ html[data-theme="dark"] select.mds-select,
437
+ html[data-theme="dark"] .mds-select,
438
+ html[data-theme="dark"] select[class*="mds-select"],
439
+ html:not([data-theme]) select.mds-select,
440
+ html:not([data-theme]) .mds-select,
441
+ html:not([data-theme]) select[class*="mds-select"] {
442
+ background-color: rgba(255, 255, 255, 0.2) !important;
443
+ border-color: rgba(255, 255, 255, 0.5) !important;
444
+ color: #ffffff !important;
445
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
446
+ }
447
+
448
+ /* Light theme select overrides */
449
+ html[data-theme="light"] select.mds-select,
450
+ html[data-theme="light"] .mds-select,
451
+ html[data-theme="light"] select[class*="mds-select"] {
452
+ background-color: #ffffff !important;
453
+ border-color: rgba(0, 0, 0, 0.3) !important;
454
+ color: #1a1a1a !important;
455
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
456
+ }
457
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metropolle/design-system",
3
- "version": "1.0.0-beta.2025.08.31.0328.22dd9a0",
3
+ "version": "1.0.0-beta.2025.09.05.1452.ddd37af",
4
4
  "description": "Sistema de design unificado para a plataforma Metropolle",
5
5
  "type": "module",
6
6
  "main": "dist/react/index.js",
@@ -17,7 +17,8 @@
17
17
  "types": "./dist/tokens/index.d.ts"
18
18
  },
19
19
  "./css": "./dist/css/tokens.css",
20
- "./css/components": "./dist/css/components.css"
20
+ "./css/components": "./dist/css/components.css",
21
+ "./css/compat/back.css": "./dist/css/compat/back.css"
21
22
  },
22
23
  "files": [
23
24
  "dist/**/*",
@@ -28,7 +29,7 @@
28
29
  "build:tokens": "node scripts/build-tokens.js",
29
30
  "build:react": "npx rollup -c rollup.react.config.js --silent",
30
31
  "build:types": "tsc -p tsconfig.react.json && node scripts/build-types.js",
31
- "build:css": "npx postcss src/css/*.css --dir dist/css",
32
+ "build:css": "npx postcss \"src/css/**/*.css\" --dir dist/css",
32
33
  "build:storybook": "storybook build",
33
34
  "dev": "storybook dev -p 6006",
34
35
  "test": "jest",