commons-shared-web-ui 0.0.5 → 0.0.7

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.
@@ -0,0 +1,574 @@
1
+ @use 'sass:map';
2
+
3
+ // ─────────────────────────────────────────────────────────────────────────────
4
+ // Smart Form Theme
5
+ // Prefix: --cc-sf-
6
+ // Two built-in configs supplied:
7
+ // $default-smart-form-config → Theme 1 · Clean & Professional (light)
8
+ // $theme-2-smart-form-config → Theme 2 · Vibrant & Modern (dark)
9
+ // ─────────────────────────────────────────────────────────────────────────────
10
+
11
+ // ── Theme 1 — Clean & Professional (default) ─────────────────────────────────
12
+ $default-smart-form-config: (
13
+ // Typography
14
+ font-family: ('Inter', 'Segoe UI', sans-serif),
15
+ font-size-base: 0.875rem,
16
+
17
+ // ── Form container ──────────────────────────────────────────────────────────
18
+ form-bg: #ffffff,
19
+ form-padding: 24px,
20
+ form-border-radius: 12px,
21
+ form-border: none,
22
+ form-shadow: 0 1px 3px rgba(0, 0, 0, 0.06),
23
+ form-max-width: 1200px,
24
+
25
+ // ── Form header (title + description) ──────────────────────────────────────
26
+ form-title-size: 1.5rem,
27
+ form-title-weight: 700,
28
+ form-title-color: #111827,
29
+ form-desc-size: 0.875rem,
30
+ form-desc-color: #6B7280,
31
+
32
+ // ── Section / GROUP card ────────────────────────────────────────────────────
33
+ section-bg: #ffffff,
34
+ section-border: 1px solid #E5E7EB,
35
+ section-radius: 10px,
36
+ section-padding: 20px,
37
+ section-shadow: 0 1px 4px rgba(0, 0, 0, 0.05),
38
+ section-gap: 20px,
39
+
40
+ section-label-size: 1rem,
41
+ section-label-weight: 600,
42
+ section-label-color: #1F2937,
43
+ section-label-border: 2px solid #E5E7EB,
44
+
45
+ // ── GROUP repeater instance card ────────────────────────────────────────────
46
+ instance-bg: #F9FAFB,
47
+ instance-border: 1px solid #E5E7EB,
48
+ instance-radius: 8px,
49
+ instance-padding: 16px,
50
+ instance-divider: 1px dashed #D1D5DB,
51
+ instance-num-color: #4B5563,
52
+ instance-num-size: 0.8125rem,
53
+
54
+ // ── Grid gap ────────────────────────────────────────────────────────────────
55
+ grid-gap: 16px,
56
+
57
+ // ── Field label ─────────────────────────────────────────────────────────────
58
+ label-size: 0.875rem,
59
+ label-weight: 500,
60
+ label-color: #111827,
61
+ label-required-color: #DC2626,
62
+
63
+ // ── Input ───────────────────────────────────────────────────────────────────
64
+ input-bg: #ffffff,
65
+ input-color: #111827,
66
+ input-placeholder: #9CA3AF,
67
+ input-border: 1.5px solid #D1D5DB,
68
+ input-radius: 8px,
69
+ input-padding: 0.625rem 0.875rem,
70
+ input-font-size: 0.875rem,
71
+ input-shadow: none,
72
+
73
+ input-hover-border: #9CA3AF,
74
+ input-focus-border: #3B82F6,
75
+ input-focus-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12),
76
+ input-transition: all 0.2s ease,
77
+
78
+ input-disabled-bg: #F3F4F6,
79
+ input-disabled-color: #6B7280,
80
+ input-disabled-border:#E5E7EB,
81
+
82
+ // ── Error state ─────────────────────────────────────────────────────────────
83
+ error-border: #DC2626,
84
+ error-bg: #FEF2F2,
85
+ error-focus-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1),
86
+ error-text-color: #DC2626,
87
+ error-text-size: 0.75rem,
88
+
89
+ // ── Hint / helper text ──────────────────────────────────────────────────────
90
+ hint-color: #6B7280,
91
+ hint-size: 0.75rem,
92
+
93
+ // ── Chip ────────────────────────────────────────────────────────────────────
94
+ chip-border: 1px solid #D1D5DB,
95
+ chip-radius: 20px,
96
+ chip-padding: 6px 14px,
97
+ chip-bg: #ffffff,
98
+ chip-color: #374151,
99
+ chip-hover-bg: #F3F4F6,
100
+ chip-selected-bg: #3B82F6,
101
+ chip-selected-color: #ffffff,
102
+ chip-selected-border: #3B82F6,
103
+
104
+ // ── Switch ──────────────────────────────────────────────────────────────────
105
+ switch-track-off: #D1D5DB,
106
+ switch-track-on: #3B82F6,
107
+ switch-thumb: #ffffff,
108
+
109
+ // ── Rating stars ────────────────────────────────────────────────────────────
110
+ star-empty: #D1D5DB,
111
+ star-filled: #F59E0B,
112
+ star-size: 28px,
113
+
114
+ // ── Generated (read-only) field ─────────────────────────────────────────────
115
+ generated-bg: #F3F4F6,
116
+ generated-border: 1px solid #E5E7EB,
117
+ generated-color: #6B7280,
118
+ generated-radius: 8px,
119
+ generated-padding: 0.625rem 0.875rem,
120
+
121
+ // ── File upload drop-zone ───────────────────────────────────────────────────
122
+ dropzone-bg: #F8FAFC,
123
+ dropzone-border: 1.5px dashed #CBD5E1,
124
+ dropzone-radius: 12px,
125
+ dropzone-hover-bg: #EFF6FF,
126
+ dropzone-hover-border:#93C5FD,
127
+ dropzone-over-border: #3B82F6,
128
+ dropzone-over-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12),
129
+ dropzone-icon-color: #94A3B8,
130
+ dropzone-link-color: #3B82F6,
131
+ dropzone-hint-color: #64748B,
132
+
133
+ uploaded-item-bg: #ffffff,
134
+ uploaded-item-border: 1px solid #E2E8F0,
135
+ uploaded-item-radius: 8px,
136
+ uploaded-remove-color: #94A3B8,
137
+ uploaded-remove-hover-bg: #FEF2F2,
138
+ uploaded-remove-hover-color: #DC2626,
139
+
140
+ // ── Repeater add/remove buttons ─────────────────────────────────────────────
141
+ btn-add-bg: transparent,
142
+ btn-add-color: #3B82F6,
143
+ btn-add-border: 1px dashed #CBD5E1,
144
+ btn-add-radius: 6px,
145
+ btn-add-hover-bg: #EFF6FF,
146
+ btn-add-hover-border: #BFDBFE,
147
+
148
+ btn-remove-bg: #FFF5F5,
149
+ btn-remove-color: #E53E3E,
150
+ btn-remove-border: 1px solid #FED7D7,
151
+ btn-remove-radius: 4px,
152
+ btn-remove-hover-bg: #FED7D7,
153
+
154
+ // ── Stepper navigation ──────────────────────────────────────────────────────
155
+ step-connector-color: #E5E7EB,
156
+ step-connector-done: #22C55E,
157
+
158
+ step-number-bg: #E5E7EB,
159
+ step-number-color: #6B7280,
160
+ step-number-size: 40px,
161
+ step-number-font-size: 0.875rem,
162
+ step-number-weight: 600,
163
+
164
+ step-label-size: 0.875rem,
165
+ step-label-color: #6B7280,
166
+ step-label-weight: 500,
167
+
168
+ step-active-bg: #3B82F6,
169
+ step-active-color: #ffffff,
170
+ step-active-label: #1D4ED8,
171
+ step-active-label-weight: 700,
172
+
173
+ step-done-bg: #22C55E,
174
+ step-done-color: #ffffff,
175
+
176
+ // ── Form action bar (submit / previous) ─────────────────────────────────────
177
+ actions-border: 1px solid #E5E7EB,
178
+ actions-padding: 20px 0 0,
179
+ actions-gap: 12px,
180
+
181
+ btn-primary-bg: #3B82F6,
182
+ btn-primary-color: #ffffff,
183
+ btn-primary-radius: 8px,
184
+ btn-primary-padding: 0.625rem 1.5rem,
185
+ btn-primary-hover-bg: #2563EB,
186
+
187
+ btn-secondary-bg: #F3F4F6,
188
+ btn-secondary-color: #374151,
189
+ btn-secondary-radius: 8px,
190
+ btn-secondary-padding: 0.625rem 1.5rem,
191
+ btn-secondary-hover-bg: #E5E7EB,
192
+
193
+ btn-font-size: 0.875rem,
194
+ btn-font-weight: 600,
195
+ btn-transition: all 0.2s ease,
196
+ btn-disabled-opacity: 0.55,
197
+ );
198
+
199
+ // ── Theme 2 — Vibrant & Modern (dark) ────────────────────────────────────────
200
+ $theme-2-smart-form-config: (
201
+ // Typography
202
+ font-family: ('Poppins', 'Segoe UI', sans-serif),
203
+ font-size-base: 0.875rem,
204
+
205
+ // ── Form container ──────────────────────────────────────────────────────────
206
+ form-bg: #0F172A,
207
+ form-padding: 28px,
208
+ form-border-radius: 16px,
209
+ form-border: 1px solid rgba(255, 255, 255, 0.06),
210
+ form-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
211
+ form-max-width: 1200px,
212
+
213
+ // ── Form header ─────────────────────────────────────────────────────────────
214
+ form-title-size: 1.75rem,
215
+ form-title-weight: 700,
216
+ form-title-color: #F1F5F9,
217
+ form-desc-size: 0.9rem,
218
+ form-desc-color: #94A3B8,
219
+
220
+ // ── Section / GROUP card ────────────────────────────────────────────────────
221
+ section-bg: #1E293B,
222
+ section-border: 1px solid rgba(255, 255, 255, 0.08),
223
+ section-radius: 12px,
224
+ section-padding: 22px,
225
+ section-shadow: 0 4px 16px rgba(0, 0, 0, 0.3),
226
+ section-gap: 20px,
227
+
228
+ section-label-size: 1rem,
229
+ section-label-weight: 600,
230
+ section-label-color: #E2E8F0,
231
+ section-label-border: 2px solid #334155,
232
+
233
+ // ── GROUP repeater instance card ────────────────────────────────────────────
234
+ instance-bg: #162032,
235
+ instance-border: 1px solid rgba(255, 255, 255, 0.07),
236
+ instance-radius: 8px,
237
+ instance-padding: 16px,
238
+ instance-divider: 1px dashed #334155,
239
+ instance-num-color: #94A3B8,
240
+ instance-num-size: 0.8125rem,
241
+
242
+ // ── Grid gap ────────────────────────────────────────────────────────────────
243
+ grid-gap: 16px,
244
+
245
+ // ── Field label ─────────────────────────────────────────────────────────────
246
+ label-size: 0.875rem,
247
+ label-weight: 500,
248
+ label-color: #CBD5E1,
249
+ label-required-color: #F87171,
250
+
251
+ // ── Input ───────────────────────────────────────────────────────────────────
252
+ input-bg: #ffffff,
253
+ input-color: #0D0D0D,
254
+ input-placeholder: #9CA3AF,
255
+ input-border: 1.5px solid #334155,
256
+ input-radius: 8px,
257
+ input-padding: 0.625rem 0.875rem,
258
+ input-font-size: 0.875rem,
259
+ input-shadow: none,
260
+
261
+ input-hover-border: #9CA3AF,
262
+ input-focus-border: #39FF14,
263
+ input-focus-shadow: 0 0 0 3px rgba(57, 255, 20, 0.25),
264
+ input-transition: all 0.2s ease,
265
+
266
+ input-disabled-bg: #1E293B,
267
+ input-disabled-color: #475569,
268
+ input-disabled-border:#1E293B,
269
+
270
+ // ── Error state ─────────────────────────────────────────────────────────────
271
+ error-border: #F87171,
272
+ error-bg: rgba(248, 113, 113, 0.08),
273
+ error-focus-shadow: 0 0 0 3px rgba(248, 113, 113, 0.2),
274
+ error-text-color: #F87171,
275
+ error-text-size: 0.75rem,
276
+
277
+ // ── Hint ────────────────────────────────────────────────────────────────────
278
+ hint-color: #64748B,
279
+ hint-size: 0.75rem,
280
+
281
+ // ── Chip ────────────────────────────────────────────────────────────────────
282
+ chip-border: 1px solid #334155,
283
+ chip-radius: 20px,
284
+ chip-padding: 6px 14px,
285
+ chip-bg: #1E293B,
286
+ chip-color: #CBD5E1,
287
+ chip-hover-bg: #263548,
288
+ chip-selected-bg: #818CF8,
289
+ chip-selected-color: #ffffff,
290
+ chip-selected-border: #818CF8,
291
+
292
+ // ── Switch ──────────────────────────────────────────────────────────────────
293
+ switch-track-off: #334155,
294
+ switch-track-on: #818CF8,
295
+ switch-thumb: #ffffff,
296
+
297
+ // ── Rating stars ────────────────────────────────────────────────────────────
298
+ star-empty: #334155,
299
+ star-filled: #F59E0B,
300
+ star-size: 28px,
301
+
302
+ // ── Generated field ─────────────────────────────────────────────────────────
303
+ generated-bg: #162032,
304
+ generated-border: 1px solid #334155,
305
+ generated-color: #64748B,
306
+ generated-radius: 8px,
307
+ generated-padding: 0.625rem 0.875rem,
308
+
309
+ // ── File upload ─────────────────────────────────────────────────────────────
310
+ dropzone-bg: #162032,
311
+ dropzone-border: 1.5px dashed #334155,
312
+ dropzone-radius: 12px,
313
+ dropzone-hover-bg: #1a253a,
314
+ dropzone-hover-border:#818CF8,
315
+ dropzone-over-border: #818CF8,
316
+ dropzone-over-shadow: 0 0 0 4px rgba(129, 140, 248, 0.2),
317
+ dropzone-icon-color: #475569,
318
+ dropzone-link-color: #818CF8,
319
+ dropzone-hint-color: #64748B,
320
+
321
+ uploaded-item-bg: #1E293B,
322
+ uploaded-item-border: 1px solid #334155,
323
+ uploaded-item-radius: 8px,
324
+ uploaded-remove-color: #475569,
325
+ uploaded-remove-hover-bg: rgba(248, 113, 113, 0.12),
326
+ uploaded-remove-hover-color: #F87171,
327
+
328
+ // ── Repeater buttons ────────────────────────────────────────────────────────
329
+ btn-add-bg: transparent,
330
+ btn-add-color: #818CF8,
331
+ btn-add-border: 1px dashed #334155,
332
+ btn-add-radius: 6px,
333
+ btn-add-hover-bg: rgba(129, 140, 248, 0.08),
334
+ btn-add-hover-border: #818CF8,
335
+
336
+ btn-remove-bg: rgba(248, 113, 113, 0.08),
337
+ btn-remove-color: #F87171,
338
+ btn-remove-border: 1px solid rgba(248, 113, 113, 0.3),
339
+ btn-remove-radius: 4px,
340
+ btn-remove-hover-bg: rgba(248, 113, 113, 0.18),
341
+
342
+ // ── Stepper ─────────────────────────────────────────────────────────────────
343
+ step-connector-color: #334155,
344
+ step-connector-done: #34D399,
345
+
346
+ step-number-bg: #1E293B,
347
+ step-number-color: #64748B,
348
+ step-number-size: 40px,
349
+ step-number-font-size: 0.875rem,
350
+ step-number-weight: 600,
351
+
352
+ step-label-size: 0.875rem,
353
+ step-label-color: #64748B,
354
+ step-label-weight: 500,
355
+
356
+ step-active-bg: #818CF8,
357
+ step-active-color: #ffffff,
358
+ step-active-label: #A5B4FC,
359
+ step-active-label-weight: 700,
360
+
361
+ step-done-bg: #34D399,
362
+ step-done-color: #0F172A,
363
+
364
+ // ── Actions bar ─────────────────────────────────────────────────────────────
365
+ actions-border: 1px solid #1E293B,
366
+ actions-padding: 20px 0 0,
367
+ actions-gap: 12px,
368
+
369
+ btn-primary-bg: #818CF8,
370
+ btn-primary-color: #ffffff,
371
+ btn-primary-radius: 8px,
372
+ btn-primary-padding: 0.625rem 1.5rem,
373
+ btn-primary-hover-bg: #6366F1,
374
+
375
+ btn-secondary-bg: #1E293B,
376
+ btn-secondary-color: #CBD5E1,
377
+ btn-secondary-radius: 8px,
378
+ btn-secondary-padding: 0.625rem 1.5rem,
379
+ btn-secondary-hover-bg: #263548,
380
+
381
+ btn-font-size: 0.875rem,
382
+ btn-font-weight: 600,
383
+ btn-transition: all 0.2s ease,
384
+ btn-disabled-opacity: 0.45,
385
+ );
386
+
387
+ // ─────────────────────────────────────────────────────────────────────────────
388
+ // Mixin — apply theme by emitting CSS custom properties
389
+ // Usage:
390
+ // .my-wrapper { @include smart-form-theme(); } ← default (theme 1)
391
+ // .dark-wrapper { @include smart-form-theme($theme-2-smart-form-config); }
392
+ // .custom { @include smart-form-theme((btn-primary-bg: #e91e63)); }
393
+ // ─────────────────────────────────────────────────────────────────────────────
394
+ @mixin smart-form-theme($user-config: ()) {
395
+ $config: map.merge($default-smart-form-config, $user-config);
396
+
397
+ // Typography
398
+ --cc-sf-font-family: #{map.get($config, font-family)};
399
+ --cc-sf-font-size-base: #{map.get($config, font-size-base)};
400
+
401
+ // Form container
402
+ --cc-sf-form-bg: #{map.get($config, form-bg)};
403
+ --cc-sf-form-padding: #{map.get($config, form-padding)};
404
+ --cc-sf-form-border-radius: #{map.get($config, form-border-radius)};
405
+ --cc-sf-form-border: #{map.get($config, form-border)};
406
+ --cc-sf-form-shadow: #{map.get($config, form-shadow)};
407
+ --cc-sf-form-max-width: #{map.get($config, form-max-width)};
408
+
409
+ // Header
410
+ --cc-sf-form-title-size: #{map.get($config, form-title-size)};
411
+ --cc-sf-form-title-weight: #{map.get($config, form-title-weight)};
412
+ --cc-sf-form-title-color: #{map.get($config, form-title-color)};
413
+ --cc-sf-form-desc-size: #{map.get($config, form-desc-size)};
414
+ --cc-sf-form-desc-color: #{map.get($config, form-desc-color)};
415
+
416
+ // Section card
417
+ --cc-sf-section-bg: #{map.get($config, section-bg)};
418
+ --cc-sf-section-border: #{map.get($config, section-border)};
419
+ --cc-sf-section-radius: #{map.get($config, section-radius)};
420
+ --cc-sf-section-padding: #{map.get($config, section-padding)};
421
+ --cc-sf-section-shadow: #{map.get($config, section-shadow)};
422
+ --cc-sf-section-gap: #{map.get($config, section-gap)};
423
+ --cc-sf-section-label-size: #{map.get($config, section-label-size)};
424
+ --cc-sf-section-label-weight: #{map.get($config, section-label-weight)};
425
+ --cc-sf-section-label-color: #{map.get($config, section-label-color)};
426
+ --cc-sf-section-label-border: #{map.get($config, section-label-border)};
427
+
428
+ // Repeater instance
429
+ --cc-sf-instance-bg: #{map.get($config, instance-bg)};
430
+ --cc-sf-instance-border: #{map.get($config, instance-border)};
431
+ --cc-sf-instance-radius: #{map.get($config, instance-radius)};
432
+ --cc-sf-instance-padding: #{map.get($config, instance-padding)};
433
+ --cc-sf-instance-divider: #{map.get($config, instance-divider)};
434
+ --cc-sf-instance-num-color:#{map.get($config, instance-num-color)};
435
+ --cc-sf-instance-num-size: #{map.get($config, instance-num-size)};
436
+
437
+ // Grid
438
+ --cc-sf-grid-gap: #{map.get($config, grid-gap)};
439
+
440
+ // Label
441
+ --cc-sf-label-size: #{map.get($config, label-size)};
442
+ --cc-sf-label-weight: #{map.get($config, label-weight)};
443
+ --cc-sf-label-color: #{map.get($config, label-color)};
444
+ --cc-sf-label-required-color: #{map.get($config, label-required-color)};
445
+
446
+ // Input
447
+ --cc-sf-input-bg: #{map.get($config, input-bg)};
448
+ --cc-sf-input-color: #{map.get($config, input-color)};
449
+ --cc-sf-input-placeholder: #{map.get($config, input-placeholder)};
450
+ --cc-sf-input-border: #{map.get($config, input-border)};
451
+ --cc-sf-input-radius: #{map.get($config, input-radius)};
452
+ --cc-sf-input-padding: #{map.get($config, input-padding)};
453
+ --cc-sf-input-font-size: #{map.get($config, input-font-size)};
454
+ --cc-sf-input-shadow: #{map.get($config, input-shadow)};
455
+ --cc-sf-input-hover-border:#{map.get($config, input-hover-border)};
456
+ --cc-sf-input-focus-border:#{map.get($config, input-focus-border)};
457
+ --cc-sf-input-focus-shadow:#{map.get($config, input-focus-shadow)};
458
+ --cc-sf-input-transition: #{map.get($config, input-transition)};
459
+ --cc-sf-input-disabled-bg: #{map.get($config, input-disabled-bg)};
460
+ --cc-sf-input-disabled-color: #{map.get($config, input-disabled-color)};
461
+ --cc-sf-input-disabled-border:#{map.get($config, input-disabled-border)};
462
+
463
+ // Error
464
+ --cc-sf-error-border: #{map.get($config, error-border)};
465
+ --cc-sf-error-bg: #{map.get($config, error-bg)};
466
+ --cc-sf-error-focus-shadow: #{map.get($config, error-focus-shadow)};
467
+ --cc-sf-error-text-color: #{map.get($config, error-text-color)};
468
+ --cc-sf-error-text-size: #{map.get($config, error-text-size)};
469
+
470
+ // Hint
471
+ --cc-sf-hint-color: #{map.get($config, hint-color)};
472
+ --cc-sf-hint-size: #{map.get($config, hint-size)};
473
+
474
+ // Chip
475
+ --cc-sf-chip-border: #{map.get($config, chip-border)};
476
+ --cc-sf-chip-radius: #{map.get($config, chip-radius)};
477
+ --cc-sf-chip-padding: #{map.get($config, chip-padding)};
478
+ --cc-sf-chip-bg: #{map.get($config, chip-bg)};
479
+ --cc-sf-chip-color: #{map.get($config, chip-color)};
480
+ --cc-sf-chip-hover-bg: #{map.get($config, chip-hover-bg)};
481
+ --cc-sf-chip-selected-bg: #{map.get($config, chip-selected-bg)};
482
+ --cc-sf-chip-selected-color: #{map.get($config, chip-selected-color)};
483
+ --cc-sf-chip-selected-border:#{map.get($config, chip-selected-border)};
484
+
485
+ // Switch
486
+ --cc-sf-switch-track-off: #{map.get($config, switch-track-off)};
487
+ --cc-sf-switch-track-on: #{map.get($config, switch-track-on)};
488
+ --cc-sf-switch-thumb: #{map.get($config, switch-thumb)};
489
+
490
+ // Rating
491
+ --cc-sf-star-empty: #{map.get($config, star-empty)};
492
+ --cc-sf-star-filled: #{map.get($config, star-filled)};
493
+ --cc-sf-star-size: #{map.get($config, star-size)};
494
+
495
+ // Generated
496
+ --cc-sf-generated-bg: #{map.get($config, generated-bg)};
497
+ --cc-sf-generated-border: #{map.get($config, generated-border)};
498
+ --cc-sf-generated-color: #{map.get($config, generated-color)};
499
+ --cc-sf-generated-radius: #{map.get($config, generated-radius)};
500
+ --cc-sf-generated-padding: #{map.get($config, generated-padding)};
501
+
502
+ // File upload
503
+ --cc-sf-dropzone-bg: #{map.get($config, dropzone-bg)};
504
+ --cc-sf-dropzone-border: #{map.get($config, dropzone-border)};
505
+ --cc-sf-dropzone-radius: #{map.get($config, dropzone-radius)};
506
+ --cc-sf-dropzone-hover-bg: #{map.get($config, dropzone-hover-bg)};
507
+ --cc-sf-dropzone-hover-border: #{map.get($config, dropzone-hover-border)};
508
+ --cc-sf-dropzone-over-border: #{map.get($config, dropzone-over-border)};
509
+ --cc-sf-dropzone-over-shadow: #{map.get($config, dropzone-over-shadow)};
510
+ --cc-sf-dropzone-icon-color: #{map.get($config, dropzone-icon-color)};
511
+ --cc-sf-dropzone-link-color: #{map.get($config, dropzone-link-color)};
512
+ --cc-sf-dropzone-hint-color: #{map.get($config, dropzone-hint-color)};
513
+
514
+ --cc-sf-uploaded-item-bg: #{map.get($config, uploaded-item-bg)};
515
+ --cc-sf-uploaded-item-border: #{map.get($config, uploaded-item-border)};
516
+ --cc-sf-uploaded-item-radius: #{map.get($config, uploaded-item-radius)};
517
+ --cc-sf-uploaded-remove-color: #{map.get($config, uploaded-remove-color)};
518
+ --cc-sf-uploaded-remove-hover-bg: #{map.get($config, uploaded-remove-hover-bg)};
519
+ --cc-sf-uploaded-remove-hover-color: #{map.get($config, uploaded-remove-hover-color)};
520
+
521
+ // Repeater buttons
522
+ --cc-sf-btn-add-bg: #{map.get($config, btn-add-bg)};
523
+ --cc-sf-btn-add-color: #{map.get($config, btn-add-color)};
524
+ --cc-sf-btn-add-border: #{map.get($config, btn-add-border)};
525
+ --cc-sf-btn-add-radius: #{map.get($config, btn-add-radius)};
526
+ --cc-sf-btn-add-hover-bg: #{map.get($config, btn-add-hover-bg)};
527
+ --cc-sf-btn-add-hover-border: #{map.get($config, btn-add-hover-border)};
528
+
529
+ --cc-sf-btn-remove-bg: #{map.get($config, btn-remove-bg)};
530
+ --cc-sf-btn-remove-color: #{map.get($config, btn-remove-color)};
531
+ --cc-sf-btn-remove-border: #{map.get($config, btn-remove-border)};
532
+ --cc-sf-btn-remove-radius: #{map.get($config, btn-remove-radius)};
533
+ --cc-sf-btn-remove-hover-bg: #{map.get($config, btn-remove-hover-bg)};
534
+
535
+ // Stepper
536
+ --cc-sf-step-connector-color: #{map.get($config, step-connector-color)};
537
+ --cc-sf-step-connector-done: #{map.get($config, step-connector-done)};
538
+ --cc-sf-step-number-bg: #{map.get($config, step-number-bg)};
539
+ --cc-sf-step-number-color: #{map.get($config, step-number-color)};
540
+ --cc-sf-step-number-size: #{map.get($config, step-number-size)};
541
+ --cc-sf-step-number-font-size: #{map.get($config, step-number-font-size)};
542
+ --cc-sf-step-number-weight: #{map.get($config, step-number-weight)};
543
+ --cc-sf-step-label-size: #{map.get($config, step-label-size)};
544
+ --cc-sf-step-label-color: #{map.get($config, step-label-color)};
545
+ --cc-sf-step-label-weight: #{map.get($config, step-label-weight)};
546
+ --cc-sf-step-active-bg: #{map.get($config, step-active-bg)};
547
+ --cc-sf-step-active-color: #{map.get($config, step-active-color)};
548
+ --cc-sf-step-active-label: #{map.get($config, step-active-label)};
549
+ --cc-sf-step-active-label-weight: #{map.get($config, step-active-label-weight)};
550
+ --cc-sf-step-done-bg: #{map.get($config, step-done-bg)};
551
+ --cc-sf-step-done-color: #{map.get($config, step-done-color)};
552
+
553
+ // Action bar / submit buttons
554
+ --cc-sf-actions-border: #{map.get($config, actions-border)};
555
+ --cc-sf-actions-padding: #{map.get($config, actions-padding)};
556
+ --cc-sf-actions-gap: #{map.get($config, actions-gap)};
557
+
558
+ --cc-sf-btn-primary-bg: #{map.get($config, btn-primary-bg)};
559
+ --cc-sf-btn-primary-color: #{map.get($config, btn-primary-color)};
560
+ --cc-sf-btn-primary-radius: #{map.get($config, btn-primary-radius)};
561
+ --cc-sf-btn-primary-padding: #{map.get($config, btn-primary-padding)};
562
+ --cc-sf-btn-primary-hover-bg: #{map.get($config, btn-primary-hover-bg)};
563
+
564
+ --cc-sf-btn-secondary-bg: #{map.get($config, btn-secondary-bg)};
565
+ --cc-sf-btn-secondary-color: #{map.get($config, btn-secondary-color)};
566
+ --cc-sf-btn-secondary-radius: #{map.get($config, btn-secondary-radius)};
567
+ --cc-sf-btn-secondary-padding: #{map.get($config, btn-secondary-padding)};
568
+ --cc-sf-btn-secondary-hover-bg: #{map.get($config, btn-secondary-hover-bg)};
569
+
570
+ --cc-sf-btn-font-size: #{map.get($config, btn-font-size)};
571
+ --cc-sf-btn-font-weight: #{map.get($config, btn-font-weight)};
572
+ --cc-sf-btn-transition: #{map.get($config, btn-transition)};
573
+ --cc-sf-btn-disabled-opacity: #{map.get($config, btn-disabled-opacity)};
574
+ }
@@ -22,8 +22,11 @@ $smart-table-theme-defaults: (
22
22
  // Row Colors
23
23
  row-bg: #ffffff,
24
24
  row-hover-bg: #f9f9f9,
25
+ cell-hover-bg: #f0f0f0,
25
26
  row-selected-bg: #f3e5f5,
26
27
 
28
+
29
+
27
30
  // Header Styling
28
31
  header-bg: #f5f5f5,
29
32
  header-color: #333333,
@@ -130,6 +133,7 @@ $smart-table-theme-defaults: (
130
133
  // --- Rows ---
131
134
  --st-row-bg: #{map.get($theme, row-bg)};
132
135
  --st-row-hover-bg: #{map.get($theme, row-hover-bg)};
136
+ --st-cell-hover-bg: #{map.get($theme, cell-hover-bg)};
133
137
  --st-row-selected-bg: #{map.get($theme, row-selected-bg)};
134
138
 
135
139
  // --- Header ---