@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,363 @@
1
+ // ============================================================================
2
+ // TOKENS SÉMANTIQUES — Design System Assist-AI
3
+ // ============================================================================
4
+ //
5
+ // Ce fichier contient les tokens sémantiques de composants du design system.
6
+ // Ces tokens sont construits à partir des tokens primitifs (_primitives.scss)
7
+ // et définissent les valeurs spécifiques pour chaque composant applicatif.
8
+ //
9
+ // CONTENU :
10
+ // - Tokens button (couleurs, tailles, états)
11
+ // - Tokens input (bordures, focus, états)
12
+ // - Tokens icon (tailles)
13
+ // - Tokens badge (couleurs, tailles)
14
+ // - Tokens modal (overlays, tailles)
15
+ // - Tokens toast (couleurs par type)
16
+ //
17
+ // RÈGLES D'USAGE :
18
+ // - Utiliser UNIQUEMENT des tokens primitifs comme valeurs de base
19
+ // - Ces tokens sont destinés aux composants DS (shared/ui/design-system/)
20
+ // - Ne PAS créer de tokens sémantiques dans les composants métier
21
+ // - Maintenir la cohérence avec les tokens primitifs
22
+ //
23
+ // ============================================================================
24
+
25
+ @use './primitives' as *;
26
+
27
+ // === BUTTON ===
28
+
29
+ $btn-height-sm: 32px;
30
+ $btn-height-md: 40px;
31
+ $btn-height-lg: 48px;
32
+
33
+ $btn-font-size-sm: $font-size-2;
34
+ $btn-font-size-md: $font-size-3;
35
+ $btn-font-size-lg: $font-size-4;
36
+
37
+ $btn-padding-vertical-sm: $space-1;
38
+ $btn-padding-horizontal-sm: $space-3;
39
+ $btn-padding-vertical-md: $space-2;
40
+ $btn-padding-horizontal-md: $space-4;
41
+ $btn-padding-vertical-lg: $space-3;
42
+ $btn-padding-horizontal-lg: $space-6;
43
+
44
+ $btn-radius-sm: $radius-1;
45
+ $btn-radius-md: $radius-2;
46
+ $btn-radius-lg: $radius-3;
47
+
48
+ $btn-primary-border: transparent;
49
+ $btn-secondary-border: transparent;
50
+ $btn-ghost-border: transparent;
51
+
52
+ // === INPUT ===
53
+
54
+ $input-height-sm: 32px;
55
+ $input-height-md: 40px;
56
+ $input-height-lg: 48px;
57
+
58
+ $input-padding-horizontal-sm: $space-2;
59
+ $input-padding-horizontal-md: $space-3;
60
+ $input-padding-horizontal-lg: $space-4;
61
+
62
+ $input-font-size-sm: $font-size-2;
63
+ $input-font-size-md: $font-size-3;
64
+ $input-font-size-lg: $font-size-4;
65
+
66
+ $input-border-radius: $radius-2;
67
+ $input-focus-shadow: 0 0 0 3px rgba($primary, 0.25);
68
+
69
+ // === ICON ===
70
+
71
+ $icon-size-sm: $font-size-2;
72
+ $icon-size-md: $font-size-3;
73
+ $icon-size-lg: $font-size-5;
74
+
75
+ $input-icon-sm: 10px;
76
+ $input-icon-md: 12px;
77
+ $input-icon-lg: 16px;
78
+
79
+ // === BADGE ===
80
+
81
+ $badge-height: 20px;
82
+ $badge-padding-x: $space-2;
83
+ $badge-padding-y: $space-1;
84
+
85
+ $badge-padding-horizontal-sm: $badge-padding-x * 0.75;
86
+ $badge-padding-horizontal-md: $badge-padding-x;
87
+ $badge-padding-horizontal-lg: $badge-padding-x * 1.5;
88
+
89
+ $badge-padding-vertical-sm: $badge-padding-y * 0.75;
90
+ $badge-padding-vertical-md: $badge-padding-y;
91
+ $badge-padding-vertical-lg: $badge-padding-y * 1.5;
92
+
93
+ $badge-font-size-sm: $font-size-1;
94
+ $badge-font-size-md: $font-size-2;
95
+ $badge-font-size-lg: $font-size-3;
96
+
97
+ $badge-radius: $radius-1-5;
98
+ $badge-radius-pill: $radius-round;
99
+
100
+ // === MODAL ===
101
+
102
+ $modal-padding: $space-4;
103
+ $modal-section-gap: $space-3;
104
+ $modal-footer-padding: $space-4;
105
+ $modal-radius: $radius-3;
106
+ $modal-shadow: $shadow-3;
107
+ $modal-overlay-blur: 6px;
108
+ $modal-size-sm: 360px;
109
+ $modal-size-md: 560px;
110
+ $modal-size-lg: 860px;
111
+ $modal-max-height: 80vh;
112
+
113
+ // === DROPDOWN ===
114
+
115
+ $dropdown-min-width: 208px;
116
+ $dropdown-radius: $radius-2;
117
+ $dropdown-shadow: $shadow-2;
118
+ $dropdown-padding: $space-2;
119
+ $dropdown-gap: $space-1;
120
+ $dropdown-item-padding-y: $space-2;
121
+ $dropdown-item-padding-x: $space-3;
122
+ $dropdown-item-radius: $radius-1-5;
123
+
124
+ // === TOAST ===
125
+
126
+ $toast-padding: $space-3;
127
+ $toast-radius: $radius-2;
128
+ $toast-shadow: $shadow-2;
129
+ $toast-border-width: 1px;
130
+ $toast-gap: $space-2;
131
+ $toast-icon-size: $icon-size-md;
132
+
133
+ // === CHECKBOX ===
134
+
135
+ $checkbox-size-sm: 16px;
136
+ $checkbox-size-md: 18px;
137
+ $checkbox-size-lg: 20px;
138
+
139
+ $checkbox-border-width: 2px;
140
+ $checkbox-radius: $radius-1;
141
+
142
+ $checkbox-check-size-sm: 10px;
143
+ $checkbox-check-size-md: 12px;
144
+ $checkbox-check-size-lg: 14px;
145
+
146
+ // === RADIO ===
147
+
148
+ $radio-size-sm: 16px;
149
+ $radio-size-md: 18px;
150
+ $radio-size-lg: 20px;
151
+
152
+ $radio-border-width: 2px;
153
+
154
+ $radio-dot-size-sm: 8px;
155
+ $radio-dot-size-md: 10px;
156
+ $radio-dot-size-lg: 12px;
157
+
158
+ // === TOGGLE (SWITCH) ===
159
+
160
+ $toggle-width-sm: 32px;
161
+ $toggle-width-md: 40px;
162
+ $toggle-width-lg: 48px;
163
+
164
+ $toggle-height-sm: 18px;
165
+ $toggle-height-md: 22px;
166
+ $toggle-height-lg: 26px;
167
+
168
+ $toggle-thumb-size-sm: 14px;
169
+ $toggle-thumb-size-md: 18px;
170
+ $toggle-thumb-size-lg: 22px;
171
+
172
+ $toggle-track-radius: $radius-round;
173
+
174
+ // === BREADCRUMB ===
175
+
176
+ $breadcrumb-separator: '/';
177
+ $breadcrumb-font-size: $font-size-2;
178
+ $breadcrumb-spacing: $space-2;
179
+ $breadcrumb-item-padding: $space-1;
180
+
181
+ // === TABS ===
182
+
183
+ $tab-height: 44px;
184
+ $tab-padding-x: $space-4;
185
+ $tab-padding-y: $space-2;
186
+ $tab-border-width: 2px;
187
+ $tab-font-size: $font-size-3;
188
+ $tab-gap: $space-2;
189
+ $tab-indicator-height: 2px;
190
+
191
+ // === TOOLTIP ===
192
+
193
+ $tooltip-padding-y: $space-1;
194
+ $tooltip-padding-x: $space-2;
195
+ $tooltip-radius: $radius-1;
196
+ $tooltip-max-width: 240px;
197
+ $tooltip-offset: 8px;
198
+ $tooltip-font-size: $font-size-2;
199
+ $tooltip-arrow-size: 6px;
200
+
201
+ // === POPOVER ===
202
+
203
+ $popover-padding: $space-3;
204
+ $popover-radius: $radius-2;
205
+ $popover-shadow: $shadow-2;
206
+ $popover-max-width: 320px;
207
+ $popover-arrow-size: 8px;
208
+ $popover-border-width: 1px;
209
+ $popover-header-padding: $space-3;
210
+ $popover-body-padding: $space-3;
211
+ $popover-footer-padding: $space-3;
212
+
213
+ // === CARD ===
214
+
215
+ $card-padding-sm: $space-3;
216
+ $card-padding-md: $space-4;
217
+ $card-padding-lg: $space-6;
218
+ $card-radius: $radius-2;
219
+ $card-shadow: $shadow-2;
220
+ $card-shadow-hover: $shadow-3;
221
+ $card-header-font-size: $font-size-4;
222
+ $card-body-font-size: $font-size-3;
223
+ $card-footer-font-size: $font-size-2;
224
+
225
+ // === ALERT ===
226
+
227
+ $alert-padding-sm: $space-2;
228
+ $alert-padding-md: $space-3;
229
+ $alert-padding-lg: $space-4;
230
+ $alert-gap: $space-3;
231
+ $alert-radius: $radius-2;
232
+ $alert-font-size-sm: $font-size-2;
233
+ $alert-font-size-md: $font-size-3;
234
+ $alert-font-size-lg: $font-size-4;
235
+ $alert-icon-size-sm: 16px;
236
+ $alert-icon-size-md: 20px;
237
+ $alert-icon-size-lg: 24px;
238
+
239
+ // === DIVIDER ===
240
+
241
+ $divider-thickness-sm: 1px;
242
+ $divider-thickness-md: 2px;
243
+ $divider-thickness-lg: 3px;
244
+ $divider-font-size: $font-size-2;
245
+ $divider-spacing-sm-vertical: $space-2;
246
+ $divider-spacing-md-vertical: $space-4;
247
+ $divider-spacing-lg-vertical: $space-6;
248
+ $divider-spacing-sm-horizontal: $space-2;
249
+ $divider-spacing-md-horizontal: $space-4;
250
+ $divider-spacing-lg-horizontal: $space-6;
251
+
252
+ // === PROGRESS BAR ===
253
+
254
+ $progress-height-sm: 4px;
255
+ $progress-height-md: 8px;
256
+ $progress-height-lg: 12px;
257
+ $progress-radius: $radius-3;
258
+ $progress-track-bg: $gray-200;
259
+ $progress-fill-bg: $primary;
260
+
261
+ // === PAGINATION ===
262
+
263
+ $pagination-btn-size-sm: 24px;
264
+ $pagination-btn-size-md: 32px;
265
+ $pagination-btn-size-lg: 40px;
266
+ $pagination-btn-padding-sm: $space-1;
267
+ $pagination-btn-padding-md: $space-2;
268
+ $pagination-btn-padding-lg: $space-3;
269
+ $pagination-btn-radius: $radius-2;
270
+ $pagination-font-size-sm: $font-size-1;
271
+ $pagination-font-size-md: $font-size-2;
272
+ $pagination-font-size-lg: $font-size-3;
273
+ $pagination-gap-sm: $space-1;
274
+ $pagination-gap-md: $space-2;
275
+ $pagination-gap-lg: $space-4;
276
+
277
+ // === STEPPER ===
278
+
279
+ $stepper-indicator-size-sm: 24px;
280
+ $stepper-indicator-size-md: 32px;
281
+ $stepper-indicator-size-lg: 40px;
282
+ $stepper-indicator-border-width: 2px;
283
+ $stepper-indicator-font-size-sm: $font-size-1;
284
+ $stepper-indicator-font-size-md: $font-size-2;
285
+ $stepper-indicator-font-size-lg: $font-size-3;
286
+ $stepper-connector-width: 2px;
287
+ $stepper-connector-min-length: 32px;
288
+ $stepper-label-font-size-sm: $font-size-1;
289
+ $stepper-label-font-size-md: $font-size-2;
290
+ $stepper-label-font-size-lg: $font-size-3;
291
+ $stepper-description-font-size-sm: $font-size-small;
292
+ $stepper-description-font-size-md: $font-size-1;
293
+ $stepper-description-font-size-lg: $font-size-2;
294
+ $stepper-gap-horizontal: $space-2;
295
+ $stepper-gap-vertical: $space-3;
296
+
297
+ // === ACCORDION ===
298
+
299
+ $accordion-header-padding-sm: $space-2 $space-3;
300
+ $accordion-header-padding-md: $space-4;
301
+ $accordion-header-padding-lg: $space-5 $space-6;
302
+ $accordion-body-padding-sm: $space-2 $space-3;
303
+ $accordion-body-padding-md: $space-4;
304
+ $accordion-body-padding-lg: $space-5 $space-6;
305
+ $accordion-header-font-size-sm: $font-size-2;
306
+ $accordion-header-font-size-md: $font-size-3;
307
+ $accordion-header-font-size-lg: $font-size-4;
308
+ $accordion-body-font-size-sm: $font-size-1;
309
+ $accordion-body-font-size-md: $font-size-2;
310
+ $accordion-body-font-size-lg: $font-size-3;
311
+ $accordion-radius: $radius-2;
312
+ $accordion-border-width: 1px;
313
+ $accordion-content-max-height: 500px;
314
+ $accordion-item-gap: $space-2;
315
+
316
+ // === SELECT ===
317
+
318
+ $select-height-sm: 32px;
319
+ $select-height-md: 40px;
320
+ $select-height-lg: 48px;
321
+
322
+ $select-padding-sm: $space-1 $space-2;
323
+ $select-padding-md: $space-2 $space-3;
324
+ $select-padding-lg: $space-3 $space-4;
325
+
326
+ $select-font-size-sm: $font-size-2;
327
+ $select-font-size-md: $font-size-3;
328
+ $select-font-size-lg: $font-size-4;
329
+
330
+ $select-radius: $radius-2;
331
+ $select-dropdown-radius: $radius-2;
332
+ $select-dropdown-shadow: $shadow-2;
333
+ $select-dropdown-max-height: 200px;
334
+
335
+ $select-option-padding: $space-2 $space-3;
336
+ $select-option-gap: $space-1;
337
+
338
+ // === TABLE ===
339
+
340
+ $table-cell-padding-sm: $space-2;
341
+ $table-cell-padding-md: $space-3;
342
+ $table-cell-padding-lg: $space-4;
343
+ $table-radius: $radius-2;
344
+ $table-header-font-size: $font-size-2;
345
+ $table-body-font-size: $font-size-3;
346
+
347
+ // === COMBOBOX ===
348
+
349
+ $combobox-height-sm: 32px;
350
+ $combobox-height-md: 40px;
351
+ $combobox-height-lg: 48px;
352
+
353
+ $combobox-padding-sm: $space-1 $space-2;
354
+ $combobox-padding-md: $space-2 $space-3;
355
+ $combobox-padding-lg: $space-3 $space-4;
356
+
357
+ $combobox-font-size-sm: $font-size-2;
358
+ $combobox-font-size-md: $font-size-3;
359
+ $combobox-font-size-lg: $font-size-4;
360
+
361
+ $combobox-radius: $radius-2;
362
+ $combobox-dropdown-shadow: $shadow-2;
363
+ $combobox-max-height: 250px;