@kksdev/ds-angular 1.1.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.
@@ -0,0 +1,439 @@
1
+ @use './primitives' as *;
2
+ @use './semantic' as *;
3
+
4
+ :root {
5
+ /* === BRAND (palette source-of-truth, fixe) === */
6
+ --brand-primary: #{$primary};
7
+ --brand-secondary: #{$secondary};
8
+ --brand-alt: #{$alt};
9
+
10
+ /* === ROLES (mappés sur la marque, surchargés par thème) === */
11
+ --role-primary: var(--brand-primary);
12
+ --role-secondary: var(--brand-secondary);
13
+ --role-accent: var(--role-secondary);
14
+
15
+ /* === EXPOSITION COMPOSANTS (API) === */
16
+ --color-primary: var(--role-primary);
17
+ --color-secondary: var(--role-secondary);
18
+ --color-alt: var(--brand-alt);
19
+
20
+ /* === CUSTOM THEME PLACEHOLDERS === */
21
+ --custom-bg: #ffffff;
22
+ --custom-bg-secondary: #f5f5f5;
23
+ --custom-bg-header: #e0e0e0;
24
+ --custom-text-default: #1a1c22;
25
+ --custom-text-muted: #2c2f36;
26
+ --custom-text-disabled: #8e95a2;
27
+ --custom-text-disabled-alt: #b0b4bd;
28
+ --custom-text-subtle: #4a4e5a;
29
+ --custom-border: #d0d0d0;
30
+ --custom-border-subtle: #e0e0e0;
31
+ --custom-border-strong: #b6bac3;
32
+ --custom-accent-primary: #7d4bc0;
33
+ --custom-accent-secondary: #fbc224;
34
+
35
+ /* === TYPOGRAPHY === */
36
+ --font-family-base: #{$font-family-base};
37
+
38
+ --font-size-small: #{$font-size-small};
39
+ --font-size-1: #{$font-size-1};
40
+ --font-size-2: #{$font-size-2};
41
+ --font-size-3: #{$font-size-3};
42
+ --font-size-4: #{$font-size-4};
43
+ --font-size-5: #{$font-size-5};
44
+ --font-size-6: #{$font-size-6};
45
+
46
+ /* aliases (t-shirt) */
47
+ --font-size-s: var(--font-size-2);
48
+ --font-size-m: var(--font-size-5); /* 1.25rem */
49
+ --font-size-l: var(--font-size-6); /* 1.5rem */
50
+ --font-size-xl: 2rem;
51
+ --font-size-xxl: 3rem;
52
+
53
+ /* === LINE-HEIGHT === */
54
+ --line-height-tight: #{$line-height-tight};
55
+ --line-height-normal: #{$line-height-normal};
56
+ --line-height-relaxed: #{$line-height-relaxed};
57
+ --line-height-loose: #{$line-height-loose};
58
+
59
+ /* === FONT-WEIGHT === */
60
+ --font-weight-light: #{$font-weight-light};
61
+ --font-weight-normal: #{$font-weight-normal};
62
+ --font-weight-medium: #{$font-weight-medium};
63
+ --font-weight-semibold: #{$font-weight-semibold};
64
+ --font-weight-bold: #{$font-weight-bold};
65
+
66
+ /* === LETTER-SPACING === */
67
+ --letter-spacing-tight: #{$letter-spacing-tight};
68
+ --letter-spacing-normal: #{$letter-spacing-normal};
69
+ --letter-spacing-wide: #{$letter-spacing-wide};
70
+
71
+ /* === SPACING === */
72
+ --space-1: #{$space-1};
73
+ --space-2: #{$space-2};
74
+ --space-3: #{$space-3};
75
+ --space-4: #{$space-4};
76
+ --space-5: #{$space-5};
77
+ --space-6: #{$space-6};
78
+ --space-8: #{$space-8};
79
+ --space-s: var(--space-2);
80
+ --space-l: var(--space-6);
81
+
82
+ /* === Z-INDEX === */
83
+ --z-index-1: #{$z-index-1};
84
+ --z-index-2: #{$z-index-2};
85
+ --z-index-3: #{$z-index-3};
86
+ --z-index-4: #{$z-index-4};
87
+ --z-index-full: #{$z-index-full};
88
+
89
+ /* === RADIUS === */
90
+ --radius-1: #{$radius-1};
91
+ --radius-1-5: #{$radius-1-5};
92
+ --radius-2: #{$radius-2};
93
+ --radius-3: #{$radius-3};
94
+ --radius-4: #{$radius-4};
95
+ --radius-round: #{$radius-round};
96
+
97
+ /* === SHADOWS & ELEVATION === */
98
+ --shadow-1: #{$shadow-1};
99
+ --shadow-2: #{$shadow-2};
100
+ --shadow-3: #{$shadow-3};
101
+
102
+ /* === COLORS === */
103
+ --gray-50: #{$gray-50};
104
+ --gray-100: #{$gray-100};
105
+ --gray-200: #{$gray-200};
106
+ --gray-300: #{$gray-300};
107
+ --gray-400: #{$gray-400};
108
+ --gray-500: #{$gray-500};
109
+ --gray-600: #{$gray-600};
110
+ --gray-700: #{$gray-700};
111
+ --gray-800: #{$gray-800};
112
+ --gray-900: #{$gray-900};
113
+
114
+ --success: #{$success};
115
+ --warning: #{$warning};
116
+ --error: #{$error};
117
+ --info: #{$info};
118
+ --focus-color: var(--color-secondary);
119
+
120
+ /* === SIZES & LAYOUT === */
121
+ --container-xs: #{$container-xs};
122
+ --container-sm: #{$container-sm};
123
+ --container-md: #{$container-md};
124
+ --container-lg: #{$container-lg};
125
+ --container-xl: #{$container-xl};
126
+
127
+ --header-height: #{$header-height};
128
+ --footer-height: #{$footer-height};
129
+ --sidebar-width: #{$sidebar-width};
130
+ --layout-gap: #{$layout-gap};
131
+
132
+ /* === ANIMATIONS === */
133
+ --duration-fast: #{$duration-fast};
134
+ --duration-normal: #{$duration-normal};
135
+ --duration-slow: #{$duration-slow};
136
+ --easing-default: #{$easing-default};
137
+ --easing-in: #{$easing-in};
138
+ --easing-out: #{$easing-out};
139
+
140
+ /* === COMPONENT DIMENSIONS === */
141
+ --btn-height-sm: #{$btn-height-sm};
142
+ --btn-height-md: #{$btn-height-md};
143
+ --btn-height-lg: #{$btn-height-lg};
144
+ --btn-font-size-sm: #{$btn-font-size-sm};
145
+ --btn-font-size-md: #{$btn-font-size-md};
146
+ --btn-font-size-lg: #{$btn-font-size-lg};
147
+ --btn-padding-vertical-sm: #{$btn-padding-vertical-sm};
148
+ --btn-padding-horizontal-sm: #{$btn-padding-horizontal-sm};
149
+ --btn-padding-vertical-md: #{$btn-padding-vertical-md};
150
+ --btn-padding-horizontal-md: #{$btn-padding-horizontal-md};
151
+ --btn-padding-vertical-lg: #{$btn-padding-vertical-lg};
152
+ --btn-padding-horizontal-lg: #{$btn-padding-horizontal-lg};
153
+ --btn-radius-sm: #{$btn-radius-sm};
154
+ --btn-radius: #{$btn-radius-md};
155
+ --btn-radius-md: var(--btn-radius);
156
+ --btn-radius-lg: #{$btn-radius-lg};
157
+
158
+ --input-height-sm: #{$input-height-sm};
159
+ --input-height-md: #{$input-height-md};
160
+ --input-height-lg: #{$input-height-lg};
161
+ --input-padding-horizontal-sm: #{$input-padding-horizontal-sm};
162
+ --input-padding-horizontal-md: #{$input-padding-horizontal-md};
163
+ --input-padding-horizontal-lg: #{$input-padding-horizontal-lg};
164
+ --input-font-size-sm: #{$input-font-size-sm};
165
+ --input-font-size-md: #{$input-font-size-md};
166
+ --input-font-size-lg: #{$input-font-size-lg};
167
+ --input-radius: #{$input-border-radius};
168
+ --input-focus-shadow: #{$input-focus-shadow};
169
+
170
+ --icon-size-sm: #{$icon-size-sm};
171
+ --icon-size-md: #{$icon-size-md};
172
+ --icon-size-lg: #{$icon-size-lg};
173
+ --input-icon-size-sm: #{$input-icon-sm};
174
+ --input-icon-size-md: #{$input-icon-md};
175
+ --input-icon-size-lg: #{$input-icon-lg};
176
+
177
+ --badge-height: #{$badge-height};
178
+ --badge-padding-horizontal-sm: #{$badge-padding-horizontal-sm};
179
+ --badge-padding-horizontal-md: #{$badge-padding-horizontal-md};
180
+ --badge-padding-horizontal-lg: #{$badge-padding-horizontal-lg};
181
+ --badge-padding-vertical-sm: #{$badge-padding-vertical-sm};
182
+ --badge-padding-vertical-md: #{$badge-padding-vertical-md};
183
+ --badge-padding-vertical-lg: #{$badge-padding-vertical-lg};
184
+ --badge-font-size-sm: #{$badge-font-size-sm};
185
+ --badge-font-size-md: #{$badge-font-size-md};
186
+ --badge-font-size-lg: #{$badge-font-size-lg};
187
+ --badge-radius: #{$badge-radius};
188
+ --badge-pill-radius: #{$badge-radius-pill};
189
+
190
+ /* Variables conservées pour compatibilité */
191
+ --badge-border-color: var(--badge-bg, transparent);
192
+ --badge-outline-text-color: var(--badge-text);
193
+
194
+ /* Modal structural tokens */
195
+ --modal-padding: #{$modal-padding};
196
+ --modal-section-gap: #{$modal-section-gap};
197
+ --modal-footer-padding: #{$modal-footer-padding};
198
+ --modal-radius: #{$modal-radius};
199
+ --modal-shadow-depth: #{$modal-shadow};
200
+ --modal-overlay-blur: #{$modal-overlay-blur};
201
+ --modal-overlay-z-index: var(--z-index-full);
202
+ --modal-size-sm: #{$modal-size-sm};
203
+ --modal-size-md: #{$modal-size-md};
204
+ --modal-size-lg: #{$modal-size-lg};
205
+ --modal-max-height: #{$modal-max-height};
206
+
207
+ /* Dropdown structural tokens */
208
+ --dropdown-min-width: #{$dropdown-min-width};
209
+ --dropdown-radius: #{$dropdown-radius};
210
+ --dropdown-shadow: #{$dropdown-shadow};
211
+ --dropdown-padding: #{$dropdown-padding};
212
+ --dropdown-gap: #{$dropdown-gap};
213
+ --dropdown-item-padding-y: #{$dropdown-item-padding-y};
214
+ --dropdown-item-padding-x: #{$dropdown-item-padding-x};
215
+ --dropdown-item-radius: #{$dropdown-item-radius};
216
+
217
+ /* Toast structural tokens */
218
+ --toast-padding: #{$toast-padding};
219
+ --toast-radius-base: #{$toast-radius};
220
+ --toast-shadow-depth: #{$toast-shadow};
221
+ --toast-border-width: #{$toast-border-width};
222
+ --toast-gap: #{$toast-gap};
223
+ --toast-icon-size: #{$toast-icon-size};
224
+
225
+ /* === CHECKBOX === */
226
+ --checkbox-size-sm: #{$checkbox-size-sm};
227
+ --checkbox-size-md: #{$checkbox-size-md};
228
+ --checkbox-size-lg: #{$checkbox-size-lg};
229
+ --checkbox-border-width: #{$checkbox-border-width};
230
+ --checkbox-radius: #{$checkbox-radius};
231
+ --checkbox-check-size-sm: #{$checkbox-check-size-sm};
232
+ --checkbox-check-size-md: #{$checkbox-check-size-md};
233
+ --checkbox-check-size-lg: #{$checkbox-check-size-lg};
234
+
235
+ /* === RADIO === */
236
+ --radio-size-sm: #{$radio-size-sm};
237
+ --radio-size-md: #{$radio-size-md};
238
+ --radio-size-lg: #{$radio-size-lg};
239
+ --radio-border-width: #{$radio-border-width};
240
+ --radio-dot-size-sm: #{$radio-dot-size-sm};
241
+ --radio-dot-size-md: #{$radio-dot-size-md};
242
+ --radio-dot-size-lg: #{$radio-dot-size-lg};
243
+
244
+ /* === TOGGLE === */
245
+ --toggle-width-sm: #{$toggle-width-sm};
246
+ --toggle-width-md: #{$toggle-width-md};
247
+ --toggle-width-lg: #{$toggle-width-lg};
248
+ --toggle-height-sm: #{$toggle-height-sm};
249
+ --toggle-height-md: #{$toggle-height-md};
250
+ --toggle-height-lg: #{$toggle-height-lg};
251
+ --toggle-thumb-size-sm: #{$toggle-thumb-size-sm};
252
+ --toggle-thumb-size-md: #{$toggle-thumb-size-md};
253
+ --toggle-thumb-size-lg: #{$toggle-thumb-size-lg};
254
+ --toggle-track-radius: #{$toggle-track-radius};
255
+
256
+ /* === BREADCRUMB === */
257
+ --breadcrumb-separator: #{$breadcrumb-separator};
258
+ --breadcrumb-font-size: #{$breadcrumb-font-size};
259
+ --breadcrumb-spacing: #{$breadcrumb-spacing};
260
+ --breadcrumb-item-padding: #{$breadcrumb-item-padding};
261
+
262
+ /* === TABS === */
263
+ --tab-height: #{$tab-height};
264
+ --tab-padding-x: #{$tab-padding-x};
265
+ --tab-padding-y: #{$tab-padding-y};
266
+ --tab-border-width: #{$tab-border-width};
267
+ --tab-font-size: #{$tab-font-size};
268
+ --tab-gap: #{$tab-gap};
269
+ --tab-indicator-height: #{$tab-indicator-height};
270
+
271
+ /* === TOOLTIP === */
272
+ --tooltip-padding-y: #{$tooltip-padding-y};
273
+ --tooltip-padding-x: #{$tooltip-padding-x};
274
+ --tooltip-radius: #{$tooltip-radius};
275
+ --tooltip-max-width: #{$tooltip-max-width};
276
+ --tooltip-offset: #{$tooltip-offset};
277
+ --tooltip-font-size: #{$tooltip-font-size};
278
+ --tooltip-arrow-size: #{$tooltip-arrow-size};
279
+
280
+ /* === POPOVER === */
281
+ --popover-padding: #{$popover-padding};
282
+ --popover-radius: #{$popover-radius};
283
+ --popover-shadow: #{$popover-shadow};
284
+ --popover-max-width: #{$popover-max-width};
285
+ --popover-arrow-size: #{$popover-arrow-size};
286
+ --popover-border-width: #{$popover-border-width};
287
+ --popover-header-padding: #{$popover-header-padding};
288
+ --popover-body-padding: #{$popover-body-padding};
289
+ --popover-footer-padding: #{$popover-footer-padding};
290
+
291
+ /* === CARD === */
292
+ --card-padding-sm: #{$card-padding-sm};
293
+ --card-padding-md: #{$card-padding-md};
294
+ --card-padding-lg: #{$card-padding-lg};
295
+ --card-radius: #{$card-radius};
296
+ --card-shadow: #{$card-shadow};
297
+ --card-shadow-hover: #{$card-shadow-hover};
298
+ --card-header-font-size: #{$card-header-font-size};
299
+ --card-body-font-size: #{$card-body-font-size};
300
+ --card-footer-font-size: #{$card-footer-font-size};
301
+
302
+ /* === ALERT === */
303
+ --alert-padding-sm: #{$alert-padding-sm};
304
+ --alert-padding-md: #{$alert-padding-md};
305
+ --alert-padding-lg: #{$alert-padding-lg};
306
+ --alert-gap: #{$alert-gap};
307
+ --alert-radius: #{$alert-radius};
308
+ --alert-font-size-sm: #{$alert-font-size-sm};
309
+ --alert-font-size-md: #{$alert-font-size-md};
310
+ --alert-font-size-lg: #{$alert-font-size-lg};
311
+ --alert-icon-size-sm: #{$alert-icon-size-sm};
312
+ --alert-icon-size-md: #{$alert-icon-size-md};
313
+ --alert-icon-size-lg: #{$alert-icon-size-lg};
314
+
315
+ /* === DIVIDER === */
316
+ --divider-thickness-sm: #{$divider-thickness-sm};
317
+ --divider-thickness-md: #{$divider-thickness-md};
318
+ --divider-thickness-lg: #{$divider-thickness-lg};
319
+ --divider-font-size: #{$divider-font-size};
320
+ --divider-spacing-sm-vertical: #{$divider-spacing-sm-vertical};
321
+ --divider-spacing-md-vertical: #{$divider-spacing-md-vertical};
322
+ --divider-spacing-lg-vertical: #{$divider-spacing-lg-vertical};
323
+ --divider-spacing-sm-horizontal: #{$divider-spacing-sm-horizontal};
324
+ --divider-spacing-md-horizontal: #{$divider-spacing-md-horizontal};
325
+ --divider-spacing-lg-horizontal: #{$divider-spacing-lg-horizontal};
326
+
327
+ /* === PROGRESS BAR === */
328
+ --progress-height-sm: #{$progress-height-sm};
329
+ --progress-height-md: #{$progress-height-md};
330
+ --progress-height-lg: #{$progress-height-lg};
331
+ --progress-radius: #{$progress-radius};
332
+ --progress-track-bg: #{$progress-track-bg};
333
+ --progress-fill-bg: #{$progress-fill-bg};
334
+
335
+ /* === PAGINATION === */
336
+ --pagination-btn-size-sm: #{$pagination-btn-size-sm};
337
+ --pagination-btn-size-md: #{$pagination-btn-size-md};
338
+ --pagination-btn-size-lg: #{$pagination-btn-size-lg};
339
+ --pagination-btn-padding-sm: #{$pagination-btn-padding-sm};
340
+ --pagination-btn-padding-md: #{$pagination-btn-padding-md};
341
+ --pagination-btn-padding-lg: #{$pagination-btn-padding-lg};
342
+ --pagination-btn-radius: #{$pagination-btn-radius};
343
+ --pagination-font-size-sm: #{$pagination-font-size-sm};
344
+ --pagination-font-size-md: #{$pagination-font-size-md};
345
+ --pagination-font-size-lg: #{$pagination-font-size-lg};
346
+ --pagination-gap-sm: #{$pagination-gap-sm};
347
+ --pagination-gap-md: #{$pagination-gap-md};
348
+ --pagination-gap-lg: #{$pagination-gap-lg};
349
+
350
+ /* === STEPPER === */
351
+ --stepper-indicator-size-sm: #{$stepper-indicator-size-sm};
352
+ --stepper-indicator-size-md: #{$stepper-indicator-size-md};
353
+ --stepper-indicator-size-lg: #{$stepper-indicator-size-lg};
354
+ --stepper-indicator-border-width: #{$stepper-indicator-border-width};
355
+ --stepper-indicator-font-size-sm: #{$stepper-indicator-font-size-sm};
356
+ --stepper-indicator-font-size-md: #{$stepper-indicator-font-size-md};
357
+ --stepper-indicator-font-size-lg: #{$stepper-indicator-font-size-lg};
358
+ --stepper-connector-width: #{$stepper-connector-width};
359
+ --stepper-connector-min-length: #{$stepper-connector-min-length};
360
+ --stepper-label-font-size-sm: #{$stepper-label-font-size-sm};
361
+ --stepper-label-font-size-md: #{$stepper-label-font-size-md};
362
+ --stepper-label-font-size-lg: #{$stepper-label-font-size-lg};
363
+ --stepper-description-font-size-sm: #{$stepper-description-font-size-sm};
364
+ --stepper-description-font-size-md: #{$stepper-description-font-size-md};
365
+ --stepper-description-font-size-lg: #{$stepper-description-font-size-lg};
366
+ --stepper-gap-horizontal: #{$stepper-gap-horizontal};
367
+ --stepper-gap-vertical: #{$stepper-gap-vertical};
368
+
369
+ /* === ACCORDION === */
370
+ --accordion-header-padding-sm: #{$accordion-header-padding-sm};
371
+ --accordion-header-padding-md: #{$accordion-header-padding-md};
372
+ --accordion-header-padding-lg: #{$accordion-header-padding-lg};
373
+ --accordion-body-padding-sm: #{$accordion-body-padding-sm};
374
+ --accordion-body-padding-md: #{$accordion-body-padding-md};
375
+ --accordion-body-padding-lg: #{$accordion-body-padding-lg};
376
+ --accordion-header-font-size-sm: #{$accordion-header-font-size-sm};
377
+ --accordion-header-font-size-md: #{$accordion-header-font-size-md};
378
+ --accordion-header-font-size-lg: #{$accordion-header-font-size-lg};
379
+ --accordion-body-font-size-sm: #{$accordion-body-font-size-sm};
380
+ --accordion-body-font-size-md: #{$accordion-body-font-size-md};
381
+ --accordion-body-font-size-lg: #{$accordion-body-font-size-lg};
382
+ --accordion-radius: #{$accordion-radius};
383
+ --accordion-border-width: #{$accordion-border-width};
384
+ --accordion-content-max-height: #{$accordion-content-max-height};
385
+ --accordion-item-gap: #{$accordion-item-gap};
386
+
387
+ /* === SELECT === */
388
+ --select-height-sm: #{$select-height-sm};
389
+ --select-height-md: #{$select-height-md};
390
+ --select-height-lg: #{$select-height-lg};
391
+ --select-padding-sm: #{$select-padding-sm};
392
+ --select-padding-md: #{$select-padding-md};
393
+ --select-padding-lg: #{$select-padding-lg};
394
+ --select-font-size-sm: #{$select-font-size-sm};
395
+ --select-font-size-md: #{$select-font-size-md};
396
+ --select-font-size-lg: #{$select-font-size-lg};
397
+ --select-radius: #{$select-radius};
398
+ --select-dropdown-radius: #{$select-dropdown-radius};
399
+ --select-dropdown-shadow: #{$select-dropdown-shadow};
400
+ --select-max-height: #{$select-dropdown-max-height};
401
+ --select-option-padding: #{$select-option-padding};
402
+ --select-option-gap: #{$select-option-gap};
403
+
404
+ /* === TABLE === */
405
+ --table-cell-padding-sm: #{$table-cell-padding-sm};
406
+ --table-cell-padding-md: #{$table-cell-padding-md};
407
+ --table-cell-padding-lg: #{$table-cell-padding-lg};
408
+ --table-radius: #{$table-radius};
409
+ --table-header-font-size: #{$table-header-font-size};
410
+ --table-body-font-size: #{$table-body-font-size};
411
+
412
+ /* === COMBOBOX === */
413
+ --combobox-height-sm: #{$combobox-height-sm};
414
+ --combobox-height-md: #{$combobox-height-md};
415
+ --combobox-height-lg: #{$combobox-height-lg};
416
+ --combobox-padding-sm: #{$combobox-padding-sm};
417
+ --combobox-padding-md: #{$combobox-padding-md};
418
+ --combobox-padding-lg: #{$combobox-padding-lg};
419
+ --combobox-font-size-sm: #{$combobox-font-size-sm};
420
+ --combobox-font-size-md: #{$combobox-font-size-md};
421
+ --combobox-font-size-lg: #{$combobox-font-size-lg};
422
+ --combobox-radius: #{$combobox-radius};
423
+ --combobox-dropdown-shadow: #{$combobox-dropdown-shadow};
424
+ --combobox-max-height: #{$combobox-max-height};
425
+
426
+ /* === BREAKPOINTS === */
427
+ --breakpoint-xs: #{$breakpoint-xs};
428
+ --breakpoint-sm: #{$breakpoint-sm};
429
+ --breakpoint-md: #{$breakpoint-md};
430
+ --breakpoint-lg: #{$breakpoint-lg};
431
+ --breakpoint-xl: #{$breakpoint-xl};
432
+ --breakpoint-2xl: #{$breakpoint-2xl};
433
+
434
+ /* === FONT SIZE ALIASES (t-shirt sizes) === */
435
+ --font-size-xs: var(--font-size-1);
436
+ --font-size-sm: var(--font-size-2);
437
+ --font-size-base: var(--font-size-3);
438
+ --font-size-lg: var(--font-size-4);
439
+ }