@keenmate/web-multiselect 1.4.0 → 1.5.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.
@@ -28,24 +28,30 @@
28
28
  // Custom: Set to any value to scale all sizes proportionally
29
29
  --ms-rem: 10px;
30
30
 
31
+ // ==========================================================================
32
+ // FONT FAMILY (set at :host so all shadow DOM content inherits)
33
+ // ==========================================================================
34
+ // Dropdown/popover are siblings of [data-multiselect], so we set font here
35
+ font-family: var(--ms-font-family, var(--base-font-family, #{$ms-font-family}));
36
+
31
37
  // ==========================================================================
32
38
  // COLORS & THEME
33
39
  // ==========================================================================
34
40
 
35
41
  // Accent Colors
36
- --ms-accent-color: #{$ml-accent-color};
37
- --ms-accent-color-hover: #{$ml-accent-color-hover};
38
- --ms-accent-color-active: #{$ml-accent-color-active};
42
+ --ms-accent-color: #{$ms-accent-color};
43
+ --ms-accent-color-hover: #{$ms-accent-color-hover};
44
+ --ms-accent-color-active: #{$ms-accent-color-active};
39
45
 
40
46
  // Text Colors
41
- --ms-text-primary: #{$ml-text-primary};
42
- --ms-text-secondary: #{$ml-text-secondary};
43
- --ms-text-on-accent: #{$ml-text-on-accent};
47
+ --ms-text-primary: #{$ms-text-primary};
48
+ --ms-text-secondary: #{$ms-text-secondary};
49
+ --ms-text-on-accent: #{$ms-text-on-accent};
44
50
 
45
51
  // Background Colors
46
- --ms-primary-bg: #{$ml-primary-bg};
47
- --ms-primary-bg-hover: #{$ml-primary-bg-hover};
48
- --ms-border-color: #{$ml-border-color};
52
+ --ms-primary-bg: #{$ms-primary-bg};
53
+ --ms-primary-bg-hover: #{$ms-primary-bg-hover};
54
+ --ms-border-color: #{$ms-border-color};
49
55
 
50
56
  // ==========================================================================
51
57
  // SEMANTIC VARIABLES - Component-Specific Theming
@@ -199,417 +205,408 @@
199
205
  // INPUT COMPONENT
200
206
  // ==========================================================================
201
207
 
202
- --ms-input-padding: #{$ml-input-padding};
203
- --ms-input-padding-right: #{$ml-input-padding-right};
204
- --ms-input-font-size: #{$ml-input-font-size};
205
- --ms-input-border-style: #{$ml-input-border-style};
206
- --ms-input-border-radius: #{$ml-input-border-radius};
207
- --ms-input-bg: #{$ml-input-bg};
208
- --ms-input-text: #{$ml-input-text};
209
- --ms-input-focus-border-color: #{$ml-input-focus-border-color};
210
- --ms-input-placeholder-color: #{$ml-input-placeholder-color};
211
- --ms-input-bg-disabled: #{$ml-input-bg-disabled};
212
-
213
- // ==========================================================================
214
- // INPUT SIZE VARIANTS
215
- // ==========================================================================
216
-
217
- --ms-input-size-xs-font: #{$ms-input-size-xs-font};
218
- --ms-input-size-xs-padding-v: #{$ms-input-size-xs-padding-v};
219
- --ms-input-size-xs-padding-h: #{$ms-input-size-xs-padding-h};
220
- --ms-input-size-xs-height: #{$ms-input-size-xs-height};
221
-
222
- --ms-input-size-sm-font: #{$ms-input-size-sm-font};
223
- --ms-input-size-sm-padding-v: #{$ms-input-size-sm-padding-v};
224
- --ms-input-size-sm-padding-h: #{$ms-input-size-sm-padding-h};
225
- --ms-input-size-sm-height: #{$ms-input-size-sm-height};
226
-
227
- --ms-input-size-md-font: #{$ms-input-size-md-font};
228
- --ms-input-size-md-padding-v: #{$ms-input-size-md-padding-v};
229
- --ms-input-size-md-padding-h: #{$ms-input-size-md-padding-h};
230
- --ms-input-size-md-height: #{$ms-input-size-md-height};
231
-
232
- --ms-input-size-lg-font: #{$ms-input-size-lg-font};
233
- --ms-input-size-lg-padding-v: #{$ms-input-size-lg-padding-v};
234
- --ms-input-size-lg-padding-h: #{$ms-input-size-lg-padding-h};
235
- --ms-input-size-lg-height: #{$ms-input-size-lg-height};
236
-
237
- --ms-input-size-xl-font: #{$ms-input-size-xl-font};
238
- --ms-input-size-xl-padding-v: #{$ms-input-size-xl-padding-v};
239
- --ms-input-size-xl-padding-h: #{$ms-input-size-xl-padding-h};
240
- --ms-input-size-xl-height: #{$ms-input-size-xl-height};
208
+ --ms-input-padding: #{$ms-input-padding};
209
+ --ms-input-padding-right: #{$ms-input-padding-right};
210
+ --ms-input-height: #{$ms-input-height};
211
+ --ms-input-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
212
+ --ms-input-border-style: #{$ms-input-border-style};
213
+ --ms-input-border-radius: #{$ms-input-border-radius};
214
+ --ms-input-bg: #{$ms-input-bg};
215
+ --ms-input-text: #{$ms-input-text};
216
+ --ms-input-focus-border-color: #{$ms-input-focus-border-color};
217
+ --ms-input-placeholder-color: #{$ms-input-placeholder-color};
218
+ --ms-input-bg-disabled: #{$ms-input-bg-disabled};
241
219
 
242
220
  // ==========================================================================
243
221
  // TOGGLE ICON
244
222
  // ==========================================================================
245
223
 
246
- --ms-toggle-right: #{$ml-toggle-right};
247
- --ms-toggle-color: #{$ml-toggle-color};
248
- --ms-transform-center-y: #{$ml-transform-center-y};
249
- --ms-transform-rotate-180: #{$ml-transform-rotate-180};
224
+ --ms-toggle-right: #{$ms-toggle-right};
225
+ --ms-toggle-color: #{$ms-toggle-color};
226
+ --ms-transform-center-y: #{$ms-transform-center-y};
227
+ --ms-transform-rotate-180: #{$ms-transform-rotate-180};
250
228
 
251
229
  // ==========================================================================
252
230
  // COUNT BADGE (in input)
253
231
  // ==========================================================================
254
232
 
255
- --ms-counter-offset: #{$ml-counter-offset};
256
- --ms-counter-padding: #{$ml-counter-padding};
257
- --ms-counter-bg: #{$ml-counter-bg};
258
- --ms-counter-color: #{$ml-counter-color};
259
- --ms-counter-font-size: #{$ml-counter-font-size};
260
- --ms-counter-font-weight: #{$ml-counter-font-weight};
261
- --ms-counter-border-radius: #{$ml-counter-border-radius};
262
- --ms-counter-bg-hover: #{$ml-counter-bg-hover};
263
- --ms-transform-scale-hover: #{$ml-transform-scale-hover};
233
+ --ms-counter-offset: #{$ms-counter-offset};
234
+ --ms-counter-padding: #{$ms-counter-padding};
235
+ --ms-counter-bg: #{$ms-counter-bg};
236
+ --ms-counter-color: #{$ms-counter-color};
237
+ --ms-counter-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
238
+ --ms-counter-font-weight: var(--base-font-weight-semibold, 600);
239
+ --ms-counter-border-radius: #{$ms-counter-border-radius};
240
+ --ms-counter-bg-hover: #{$ms-counter-bg-hover};
241
+ --ms-transform-scale-hover: #{$ms-transform-scale-hover};
264
242
 
265
243
  // ==========================================================================
266
244
  // FLOATING HINT
267
245
  // ==========================================================================
268
246
 
269
- --ms-hint-padding: #{$ml-hint-padding};
270
- --ms-hint-bg: #{$ml-hint-bg};
271
- --ms-hint-border: #{$ml-hint-border};
272
- --ms-hint-border-radius: #{$ml-hint-border-radius};
273
- --ms-hint-box-shadow: #{$ml-hint-box-shadow};
274
- --ms-hint-font-size: #{$ml-hint-font-size};
275
- --ms-hint-color: #{$ml-hint-color};
276
- --ms-line-height-relaxed: #{$ml-line-height-relaxed};
247
+ --ms-hint-padding: #{$ms-hint-padding};
248
+ --ms-hint-bg: #{$ms-hint-bg};
249
+ --ms-hint-border: #{$ms-hint-border};
250
+ --ms-hint-border-radius: #{$ms-hint-border-radius};
251
+ --ms-hint-box-shadow: #{$ms-hint-box-shadow};
252
+ --ms-hint-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
253
+ --ms-hint-color: #{$ms-hint-color};
277
254
 
278
255
  // ==========================================================================
279
256
  // DROPDOWN
280
257
  // ==========================================================================
281
258
 
282
- --ms-dropdown-bg: #{$ml-dropdown-bg};
283
- --ms-dropdown-border: #{$ml-dropdown-border};
284
- --ms-dropdown-border-radius: #{$ml-dropdown-border-radius};
285
- --ms-dropdown-box-shadow: #{$ml-dropdown-box-shadow};
286
- --ms-options-max-height: #{$ml-options-max-height};
287
- --ms-option-color: #{$ml-option-color};
288
- --ms-z-index-dropdown: #{$ml-z-index-dropdown};
289
- --ms-z-index-sticky: #{$ml-z-index-sticky};
259
+ --ms-dropdown-bg: #{$ms-dropdown-bg};
260
+ --ms-dropdown-border: #{$ms-dropdown-border};
261
+ --ms-dropdown-border-radius: #{$ms-dropdown-border-radius};
262
+ --ms-dropdown-box-shadow: #{$ms-dropdown-box-shadow};
263
+ --ms-options-max-height: #{$ms-options-max-height};
264
+ --ms-option-color: #{$ms-option-color};
265
+ --ms-z-index-dropdown: #{$ms-z-index-dropdown};
266
+ --ms-z-index-sticky: #{$ms-z-index-sticky};
290
267
 
291
268
  // ==========================================================================
292
269
  // DROPDOWN ACTIONS
293
270
  // ==========================================================================
294
271
 
295
- --ms-actions-gap: #{$ml-actions-gap};
296
- --ms-actions-padding: #{$ml-actions-padding};
297
- --ms-actions-border-bottom: #{$ml-actions-border-bottom};
298
- --ms-actions-bg: #{$ml-actions-bg};
272
+ --ms-actions-gap: #{$ms-actions-gap};
273
+ --ms-actions-padding: #{$ms-actions-padding};
274
+ --ms-actions-border-bottom: #{$ms-actions-border-bottom};
275
+ --ms-actions-bg: #{$ms-actions-bg};
299
276
 
300
277
  // Action Button
301
- --ms-action-btn-padding: #{$ml-action-btn-padding};
302
- --ms-action-btn-font-size: #{$ml-action-btn-font-size};
303
- --ms-action-btn-border: #{$ml-action-btn-border};
304
- --ms-action-btn-border-radius: #{$ml-action-btn-border-radius};
305
- --ms-action-btn-bg: #{$ml-action-btn-bg};
306
- --ms-action-btn-color: #{$ml-action-btn-color};
307
- --ms-action-btn-bg-hover: #{$ml-action-btn-bg-hover};
308
- --ms-action-btn-border-color-hover: #{$ml-action-btn-border-color-hover};
309
- --ms-transform-scale-active: #{$ml-transform-scale-active};
278
+ --ms-action-btn-padding: #{$ms-action-btn-padding};
279
+ --ms-action-btn-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
280
+ --ms-action-btn-border: #{$ms-action-btn-border};
281
+ --ms-action-btn-border-radius: #{$ms-action-btn-border-radius};
282
+ --ms-action-btn-bg: #{$ms-action-btn-bg};
283
+ --ms-action-btn-color: #{$ms-action-btn-color};
284
+ --ms-action-btn-bg-hover: #{$ms-action-btn-bg-hover};
285
+ --ms-action-btn-border-color-hover: #{$ms-action-btn-border-color-hover};
286
+ --ms-transform-scale-active: #{$ms-transform-scale-active};
310
287
 
311
288
  // ==========================================================================
312
289
  // OPTIONS CONTAINER & GROUPS
313
290
  // ==========================================================================
314
291
 
315
- --ms-options-padding: #{$ml-options-padding};
292
+ --ms-options-padding: #{$ms-options-padding};
316
293
 
317
294
  // Group
318
- --ms-group-border-top: #{$ml-group-border-top};
319
- --ms-group-margin-top: #{$ml-group-margin-top};
320
- --ms-group-padding-top: #{$ml-group-padding-top};
295
+ --ms-group-border-top: #{$ms-group-border-top};
296
+ --ms-group-margin-top: #{$ms-group-margin-top};
297
+ --ms-group-padding-top: #{$ms-group-padding-top};
321
298
 
322
299
  // Group Label
323
- --ms-group-label-padding: #{$ml-group-label-padding};
324
- --ms-group-label-font-size: #{$ml-group-label-font-size};
325
- --ms-group-label-font-weight: #{$ml-group-label-font-weight};
326
- --ms-group-label-color: #{$ml-group-label-color};
327
- --ms-group-label-transform: #{$ml-group-label-transform};
328
- --ms-group-label-letter-spacing: #{$ml-group-label-letter-spacing};
300
+ --ms-group-label-padding: #{$ms-group-label-padding};
301
+ --ms-group-label-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
302
+ --ms-group-label-font-weight: var(--base-font-weight-semibold, 600);
303
+ --ms-group-label-color: #{$ms-group-label-color};
304
+ --ms-group-label-transform: #{$ms-group-label-transform};
305
+ --ms-group-label-letter-spacing: #{$ms-group-label-letter-spacing};
329
306
 
330
307
  // ==========================================================================
331
308
  // INDIVIDUAL OPTIONS
332
309
  // ==========================================================================
333
310
 
334
- --ms-option-gap: #{$ml-option-gap};
335
- --ms-option-padding: #{$ml-option-padding};
336
- --ms-option-padding-h: #{$ml-option-padding-h};
337
- --ms-option-bg: #{$ml-option-bg};
338
- --ms-option-bg-hover: #{$ml-option-bg-hover};
339
- --ms-option-bg-focused: #{$ml-option-bg-focused};
340
- --ms-option-outline-focused: #{$ml-option-outline-focused};
341
- --ms-option-focus-outline-offset: #{$ml-option-focus-outline-offset};
342
- --ms-option-bg-matched: #{$ml-option-bg-matched};
343
- --ms-option-border-matched: #{$ml-option-border-matched};
344
- --ms-option-bg-selected: #{$ml-option-bg-selected};
311
+ --ms-option-gap: #{$ms-option-gap};
312
+ --ms-option-padding: #{$ms-option-padding};
313
+ --ms-option-padding-h: #{$ms-option-padding-h};
314
+ --ms-option-bg: #{$ms-option-bg};
315
+ --ms-option-bg-hover: #{$ms-option-bg-hover};
316
+ --ms-option-bg-focused: #{$ms-option-bg-focused};
317
+ --ms-option-outline-focused: #{$ms-option-outline-focused};
318
+ --ms-option-focus-outline-offset: #{$ms-option-focus-outline-offset};
319
+ --ms-option-bg-matched: #{$ms-option-bg-matched};
320
+ --ms-option-border-matched: #{$ms-option-border-matched};
321
+ --ms-option-bg-selected: #{$ms-option-bg-selected};
345
322
 
346
323
  // Option State Combinations (background only - colors use fallback chains)
347
- --ms-option-bg-focused-hover: #{$ml-option-bg-focused-hover};
348
- --ms-option-bg-matched-hover: #{$ml-option-bg-matched-hover};
349
- --ms-option-bg-selected-focused: #{$ml-option-bg-selected-focused};
350
- --ms-option-bg-selected-matched: #{$ml-option-bg-selected-matched};
351
- --ms-option-bg-disabled-selected: #{$ml-option-bg-disabled-selected};
324
+ --ms-option-bg-focused-hover: #{$ms-option-bg-focused-hover};
325
+ --ms-option-bg-matched-hover: #{$ms-option-bg-matched-hover};
326
+ --ms-option-bg-selected-focused: #{$ms-option-bg-selected-focused};
327
+ --ms-option-bg-selected-matched: #{$ms-option-bg-selected-matched};
328
+ --ms-option-bg-disabled-selected: #{$ms-option-bg-disabled-selected};
352
329
 
353
- --ms-disabled-opacity: #{$ml-disabled-opacity};
330
+ --ms-disabled-opacity: #{$ms-disabled-opacity};
354
331
 
355
332
  // ==========================================================================
356
333
  // OPTION CONTENT
357
334
  // ==========================================================================
358
335
 
359
- --ms-option-content-gap: #{$ml-option-content-gap};
336
+ --ms-option-content-gap: #{$ms-option-content-gap};
360
337
 
361
338
  // Option Icon
362
- --ms-option-icon-size: #{$ml-option-icon-size};
363
- --ms-option-icon-font-size: #{$ml-option-icon-font-size};
339
+ --ms-option-icon-size: #{$ms-option-icon-size};
340
+ --ms-option-icon-font-size: calc(var(--base-font-size-base, 1.6) * var(--ms-rem));
364
341
 
365
342
  // Option Title
366
- --ms-option-title-font-size: #{$ml-option-title-font-size};
367
- --ms-option-title-color: #{$ml-option-title-color};
368
- --ms-option-mark-bg: #{$ml-option-mark-bg};
369
- --ms-option-mark-color: #{$ml-option-mark-color};
370
- --ms-option-mark-font-weight: #{$ml-option-mark-font-weight};
343
+ --ms-option-title-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
344
+ --ms-option-title-color: #{$ms-option-title-color};
345
+ --ms-option-mark-bg: #{$ms-option-mark-bg};
346
+ --ms-option-mark-color: #{$ms-option-mark-color};
347
+ --ms-option-mark-font-weight: var(--base-font-weight-semibold, 600);
371
348
 
372
349
  // Option Subtitle
373
- --ms-option-subtitle-margin-top: #{$ml-option-subtitle-margin-top};
374
- --ms-option-subtitle-font-size: #{$ml-option-subtitle-font-size};
375
- --ms-option-subtitle-color: #{$ml-option-subtitle-color};
376
- --ms-option-subtitle-line-height: #{$ml-option-subtitle-line-height};
350
+ --ms-option-subtitle-margin-top: #{$ms-option-subtitle-margin-top};
351
+ --ms-option-subtitle-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
352
+ --ms-option-subtitle-color: #{$ms-option-subtitle-color};
353
+ --ms-option-subtitle-line-height: var(--base-line-height-tight, 1.25);
377
354
 
378
355
  // Checkbox
379
- --ms-checkbox-margin-top: #{$ml-checkbox-margin-top};
380
- --ms-checkbox-margin-right: #{$ml-checkbox-margin-right};
381
- --ms-checkbox-margin-bottom: #{$ml-checkbox-margin-bottom};
382
- --ms-checkbox-margin-left: #{$ml-checkbox-margin-left};
383
- --ms-checkbox-size: #{$ml-checkbox-size};
384
- --ms-checkbox-scale: #{$ml-checkbox-scale};
385
- --ms-checkbox-align: flex-start; // flex-start (top), center, flex-end (bottom)
356
+ --ms-checkbox-margin-top: #{$ms-checkbox-margin-top};
357
+ --ms-checkbox-margin-right: #{$ms-checkbox-margin-right};
358
+ --ms-checkbox-margin-bottom: #{$ms-checkbox-margin-bottom};
359
+ --ms-checkbox-margin-left: #{$ms-checkbox-margin-left};
360
+ --ms-checkbox-size: #{$ms-checkbox-size};
361
+ --ms-checkbox-scale: #{$ms-checkbox-scale};
362
+ --ms-checkbox-align: center; // flex-start (top), center (default), flex-end (bottom)
386
363
 
387
364
  // Checkbox Styling (custom appearance)
388
- --ms-checkbox-bg: #{$ml-checkbox-bg};
389
- --ms-checkbox-border: #{$ml-checkbox-border};
390
- --ms-checkbox-border-radius: #{$ml-checkbox-border-radius};
391
- --ms-checkbox-checked-bg: #{$ml-checkbox-checked-bg};
392
- --ms-checkbox-checked-border: #{$ml-checkbox-checked-border};
393
- --ms-checkbox-checkmark-color: #{$ml-checkbox-checkmark-color};
394
- --ms-checkbox-hover-border-color: #{$ml-checkbox-hover-border-color};
395
- --ms-checkbox-disabled-bg: #{$ml-checkbox-disabled-bg};
396
- --ms-checkbox-disabled-border: #{$ml-checkbox-disabled-border};
365
+ --ms-checkbox-bg: #{$ms-checkbox-bg};
366
+ --ms-checkbox-border: #{$ms-checkbox-border};
367
+ --ms-checkbox-border-radius: #{$ms-checkbox-border-radius};
368
+ --ms-checkbox-checked-bg: #{$ms-checkbox-checked-bg};
369
+ --ms-checkbox-checked-border: #{$ms-checkbox-checked-border};
370
+ --ms-checkbox-checkmark-color: #{$ms-checkbox-checkmark-color};
371
+ --ms-checkbox-hover-border-color: #{$ms-checkbox-hover-border-color};
372
+ --ms-checkbox-disabled-bg: #{$ms-checkbox-disabled-bg};
373
+ --ms-checkbox-disabled-border: #{$ms-checkbox-disabled-border};
397
374
 
398
375
  // Checkbox State Combinations
399
- --ms-checkbox-checked-bg-hover: #{$ml-checkbox-checked-bg-hover};
400
- --ms-checkbox-checked-border-color-hover: #{$ml-checkbox-checked-border-color-hover};
376
+ --ms-checkbox-checked-bg-hover: #{$ms-checkbox-checked-bg-hover};
377
+ --ms-checkbox-checked-border-color-hover: #{$ms-checkbox-checked-border-color-hover};
401
378
 
402
379
  // ==========================================================================
403
380
  // EMPTY & LOADING STATES
404
381
  // ==========================================================================
405
382
 
406
383
  // Empty State
407
- --ms-empty-padding: #{$ml-empty-padding};
408
- --ms-empty-font-size: #{$ml-empty-font-size};
409
- --ms-empty-color: #{$ml-empty-color};
384
+ --ms-empty-padding: #{$ms-empty-padding};
385
+ --ms-empty-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
386
+ --ms-empty-color: #{$ms-empty-color};
410
387
 
411
388
  // Loader
412
- --ms-loader-padding: #{$ml-loader-padding};
413
- --ms-loader-gap: #{$ml-loader-gap};
389
+ --ms-loader-padding: #{$ms-loader-padding};
390
+ --ms-loader-gap: #{$ms-loader-gap};
414
391
 
415
392
  // Loading Text
416
- --ms-loading-text-font-size: #{$ml-loading-text-font-size};
417
- --ms-loading-text-color: #{$ml-loading-text-color};
393
+ --ms-loading-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
394
+ --ms-loading-text-color: #{$ms-loading-text-color};
418
395
 
419
396
  // ==========================================================================
420
397
  // BADGES DISPLAY
421
398
  // ==========================================================================
422
399
 
423
- --ms-badges-gap: #{$ml-badges-gap};
424
- --ms-badges-margin-bottom: #{$ml-badges-margin-bottom};
425
- --ms-badges-margin-top: #{$ml-badges-margin-top};
426
- --ms-badges-margin-left: #{$ml-badges-margin-left};
427
- --ms-badges-margin-right: #{$ml-badges-margin-right};
400
+ --ms-badges-gap: #{$ms-badges-gap};
401
+ --ms-badges-margin-bottom: #{$ms-badges-margin-bottom};
402
+ --ms-badges-margin-top: #{$ms-badges-margin-top};
403
+ --ms-badges-margin-left: #{$ms-badges-margin-left};
404
+ --ms-badges-margin-right: #{$ms-badges-margin-right};
428
405
 
429
406
  // Individual Badge
430
- --ms-badge-gap: #{$ml-badge-gap};
431
- --ms-badge-height: #{$ml-badge-height};
432
- --ms-badge-font-size: #{$ml-badge-font-size};
433
- --ms-badge-font-weight: #{$ml-badge-font-weight};
434
- --ms-badge-border-radius: #{$ml-badge-border-radius};
435
- --ms-badge-bg: #{$ml-badge-bg};
436
- --ms-badge-bg-hover: #{$ml-badge-bg-hover};
437
- --ms-badge-bg-active: #{$ml-badge-bg-active};
438
- --ms-order-first: #{$ml-order-first};
407
+ --ms-badge-gap: #{$ms-badge-gap};
408
+ --ms-badge-height: #{$ms-badge-height};
409
+ --ms-badge-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
410
+ --ms-badge-font-weight: var(--base-font-weight-semibold, 600);
411
+ --ms-badge-border-radius: #{$ms-badge-border-radius};
412
+ --ms-badge-bg: #{$ms-badge-bg};
413
+ --ms-badge-bg-hover: #{$ms-badge-bg-hover};
414
+ --ms-badge-bg-active: #{$ms-badge-bg-active};
415
+ --ms-order-first: #{$ms-order-first};
439
416
 
440
417
  // ==========================================================================
441
418
  // BADGE TEXT & REMOVE BUTTON
442
419
  // ==========================================================================
443
420
 
444
421
  // Badge Text
445
- --ms-badge-text-padding: #{$ml-badge-text-padding};
446
- --ms-badge-text-bg: #{$ml-badge-text-bg};
447
- --ms-badge-text-color: #{$ml-badge-text-color};
448
- --ms-badge-text-border: #{$ml-badge-text-border};
422
+ --ms-badge-text-padding: #{$ms-badge-text-padding};
423
+ --ms-badge-text-bg: #{$ms-badge-text-bg};
424
+ --ms-badge-text-color: #{$ms-badge-text-color};
425
+ --ms-badge-text-border: #{$ms-badge-text-border};
449
426
 
450
427
  // Badge Remove Button
451
- --ms-badge-remove-width: #{$ml-badge-remove-width};
452
- --ms-badge-remove-bg: #{$ml-badge-remove-bg};
453
- --ms-badge-remove-color: #{$ml-badge-remove-color};
454
- --ms-badge-remove-border: #{$ml-badge-remove-border};
455
- --ms-badge-remove-font-size: #{$ml-badge-remove-font-size};
456
- --ms-badge-remove-bg-hover: #{$ml-badge-remove-bg-hover};
457
- --ms-badge-remove-box-shadow-focus: #{$ml-badge-remove-box-shadow-focus};
458
- --ms-icon-remove: "#{$ml-icon-remove}";
428
+ --ms-badge-remove-width: #{$ms-badge-remove-width};
429
+ --ms-badge-remove-bg: #{$ms-badge-remove-bg};
430
+ --ms-badge-remove-color: #{$ms-badge-remove-color};
431
+ --ms-badge-remove-border: #{$ms-badge-remove-border};
432
+ --ms-badge-remove-font-size: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem));
433
+ --ms-badge-remove-bg-hover: #{$ms-badge-remove-bg-hover};
434
+ --ms-badge-remove-box-shadow-focus: #{$ms-badge-remove-box-shadow-focus};
435
+ --ms-icon-remove: "#{$ms-icon-remove}";
459
436
 
460
437
  // Badge Indicator (for "+ X more", "3 selected", compact mode)
461
- --ms-badge-counter-bg: #{$ml-badge-counter-bg};
462
- --ms-badge-counter-border: #{$ml-badge-counter-border};
463
- --ms-badge-counter-border-radius: #{$ml-badge-counter-border-radius};
464
- --ms-badge-counter-text-color: #{$ml-badge-counter-text-color};
465
- --ms-badge-counter-text-bg: #{$ml-badge-counter-text-bg};
466
- --ms-badge-counter-remove-bg: #{$ml-badge-counter-remove-bg};
467
- --ms-badge-counter-remove-color: #{$ml-badge-counter-remove-color};
468
- --ms-badge-counter-remove-bg-hover: #{$ml-badge-counter-remove-bg-hover};
438
+ --ms-badge-counter-bg: #{$ms-badge-counter-bg};
439
+ --ms-badge-counter-border: #{$ms-badge-counter-border};
440
+ --ms-badge-counter-border-radius: #{$ms-badge-counter-border-radius};
441
+ --ms-badge-counter-text-color: #{$ms-badge-counter-text-color};
442
+ --ms-badge-counter-text-bg: #{$ms-badge-counter-text-bg};
443
+ --ms-badge-counter-remove-bg: #{$ms-badge-counter-remove-bg};
444
+ --ms-badge-counter-remove-color: #{$ms-badge-counter-remove-color};
445
+ --ms-badge-counter-remove-bg-hover: #{$ms-badge-counter-remove-bg-hover};
469
446
 
470
447
  // ==========================================================================
471
448
  // "+X MORE" BADGE
472
449
  // ==========================================================================
473
450
 
474
- --ms-more-badge-bg: #{$ml-more-badge-bg};
475
- --ms-more-badge-hover-bg: #{$ml-more-badge-hover-bg};
476
- --ms-more-badge-active-bg: #{$ml-more-badge-active-bg};
451
+ --ms-more-badge-bg: #{$ms-more-badge-bg};
452
+ --ms-more-badge-hover-bg: #{$ms-more-badge-hover-bg};
453
+ --ms-more-badge-active-bg: #{$ms-more-badge-active-bg};
477
454
 
478
455
  // ==========================================================================
479
456
  // COUNT DISPLAY MODE
480
457
  // ==========================================================================
481
458
 
482
- --ms-count-display-margin-bottom: #{$ml-count-display-margin-bottom};
483
- --ms-count-display-margin-top: #{$ml-count-display-margin-top};
484
- --ms-count-display-margin-left: #{$ml-count-display-margin-left};
485
- --ms-count-display-margin-right: #{$ml-count-display-margin-right};
459
+ --ms-count-display-margin-bottom: #{$ms-count-display-margin-bottom};
460
+ --ms-count-display-margin-top: #{$ms-count-display-margin-top};
461
+ --ms-count-display-margin-left: #{$ms-count-display-margin-left};
462
+ --ms-count-display-margin-right: #{$ms-count-display-margin-right};
486
463
 
487
464
  // Count Badge Wrapper
488
- --ms-counter-wrapper-bg: #{$ml-counter-wrapper-bg};
489
- --ms-counter-wrapper-border: #{$ml-counter-wrapper-border};
490
- --ms-counter-wrapper-border-radius: #{$ml-counter-wrapper-border-radius};
491
- --ms-counter-wrapper-padding: #{$ml-counter-wrapper-padding};
492
- --ms-counter-wrapper-gap: #{$ml-counter-wrapper-gap};
493
- --ms-counter-wrapper-bg-hover: #{$ml-counter-wrapper-bg-hover};
494
- --ms-counter-wrapper-border-color-hover: #{$ml-counter-wrapper-border-color-hover};
465
+ --ms-counter-wrapper-bg: #{$ms-counter-wrapper-bg};
466
+ --ms-counter-wrapper-border: #{$ms-counter-wrapper-border};
467
+ --ms-counter-wrapper-border-radius: #{$ms-counter-wrapper-border-radius};
468
+ --ms-counter-wrapper-padding: #{$ms-counter-wrapper-padding};
469
+ --ms-counter-wrapper-gap: #{$ms-counter-wrapper-gap};
470
+ --ms-counter-wrapper-bg-hover: #{$ms-counter-wrapper-bg-hover};
471
+ --ms-counter-wrapper-border-color-hover: #{$ms-counter-wrapper-border-color-hover};
495
472
 
496
473
  // ==========================================================================
497
474
  // COUNT TEXT & CLEAR BUTTON
498
475
  // ==========================================================================
499
476
 
500
477
  // Count Text
501
- --ms-count-text-bg: #{$ml-count-text-bg};
502
- --ms-count-text-border: #{$ml-count-text-border};
503
- --ms-count-text-font-size: #{$ml-count-text-font-size};
504
- --ms-count-text-color: #{$ml-count-text-color};
478
+ --ms-count-text-bg: #{$ms-count-text-bg};
479
+ --ms-count-text-border: #{$ms-count-text-border};
480
+ --ms-count-text-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
481
+ --ms-count-text-color: #{$ms-count-text-color};
505
482
 
506
483
  // Count Clear Button
507
- --ms-count-clear-size: #{$ml-count-clear-size};
508
- --ms-count-clear-bg: #{$ml-count-clear-bg};
509
- --ms-count-clear-color: #{$ml-count-clear-color};
510
- --ms-count-clear-font-size: #{$ml-count-clear-font-size};
511
- --ms-count-clear-border-radius: #{$ml-count-clear-border-radius};
512
- --ms-count-clear-bg-hover: #{$ml-count-clear-bg-hover};
513
- --ms-count-clear-color-hover: #{$ml-count-clear-color-hover};
514
- --ms-icon-clear: "#{$ml-icon-clear}";
484
+ --ms-count-clear-size: #{$ms-count-clear-size};
485
+ --ms-count-clear-bg: #{$ms-count-clear-bg};
486
+ --ms-count-clear-color: #{$ms-count-clear-color};
487
+ --ms-count-clear-font-size: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem));
488
+ --ms-count-clear-border-radius: #{$ms-count-clear-border-radius};
489
+ --ms-count-clear-bg-hover: #{$ms-count-clear-bg-hover};
490
+ --ms-count-clear-color-hover: #{$ms-count-clear-color-hover};
491
+ --ms-icon-clear: "#{$ms-icon-clear}";
515
492
 
516
493
  // ==========================================================================
517
494
  // TOOLTIPS
518
495
  // ==========================================================================
519
496
 
520
- --ms-tooltip-bg: #{$ml-tooltip-bg};
521
- --ms-tooltip-color: #{$ml-tooltip-color};
522
- --ms-tooltip-padding: #{$ml-tooltip-padding};
523
- --ms-tooltip-border-radius: #{$ml-tooltip-border-radius};
524
- --ms-tooltip-font-size: #{$ml-tooltip-font-size};
525
- --ms-tooltip-max-width: #{$ml-tooltip-max-width};
526
- --ms-tooltip-shadow: #{$ml-tooltip-shadow};
527
- --ms-tooltip-z-index: #{$ml-tooltip-z-index};
497
+ --ms-tooltip-bg: #{$ms-tooltip-bg};
498
+ --ms-tooltip-color: #{$ms-tooltip-color};
499
+ --ms-tooltip-padding: #{$ms-tooltip-padding};
500
+ --ms-tooltip-border-radius: #{$ms-tooltip-border-radius};
501
+ --ms-tooltip-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
502
+ --ms-tooltip-max-width: #{$ms-tooltip-max-width};
503
+ --ms-tooltip-shadow: #{$ms-tooltip-shadow};
504
+ --ms-tooltip-z-index: #{$ms-tooltip-z-index};
528
505
 
529
506
  // ==========================================================================
530
507
  // SELECTED POPOVER
531
508
  // ==========================================================================
532
509
 
533
- --ms-z-index-popover: #{$ml-z-index-popover};
534
- --ms-selected-popover-width: #{$ml-selected-popover-width};
535
- --ms-selected-popover-max-height: #{$ml-selected-popover-max-height};
536
- --ms-selected-popover-bg: #{$ml-selected-popover-bg};
537
- --ms-selected-popover-border: #{$ml-selected-popover-border};
538
- --ms-selected-popover-border-radius: #{$ml-selected-popover-border-radius};
539
- --ms-selected-popover-box-shadow: #{$ml-selected-popover-box-shadow};
510
+ --ms-z-index-popover: #{$ms-z-index-popover};
511
+ --ms-selected-popover-width: #{$ms-selected-popover-width};
512
+ --ms-selected-popover-max-height: #{$ms-selected-popover-max-height};
513
+ --ms-selected-popover-bg: #{$ms-selected-popover-bg};
514
+ --ms-selected-popover-border: #{$ms-selected-popover-border};
515
+ --ms-selected-popover-border-radius: #{$ms-selected-popover-border-radius};
516
+ --ms-selected-popover-box-shadow: #{$ms-selected-popover-box-shadow};
540
517
 
541
518
  // Popover Header
542
- --ms-selected-popover-header-padding: #{$ml-selected-popover-header-padding};
543
- --ms-selected-popover-header-bg: #{$ml-selected-popover-header-bg};
544
- --ms-selected-popover-header-border-bottom: #{$ml-selected-popover-header-border-bottom};
545
- --ms-selected-popover-header-font-size: #{$ml-selected-popover-header-font-size};
546
- --ms-selected-popover-header-font-weight: #{$ml-selected-popover-header-font-weight};
547
- --ms-selected-popover-header-color: #{$ml-selected-popover-header-color};
519
+ --ms-selected-popover-header-padding: #{$ms-selected-popover-header-padding};
520
+ --ms-selected-popover-header-bg: #{$ms-selected-popover-header-bg};
521
+ --ms-selected-popover-header-border-bottom: #{$ms-selected-popover-header-border-bottom};
522
+ --ms-selected-popover-header-font-size: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem));
523
+ --ms-selected-popover-header-font-weight: var(--base-font-weight-semibold, 600);
524
+ --ms-selected-popover-header-color: #{$ms-selected-popover-header-color};
548
525
 
549
526
  // ==========================================================================
550
527
  // POPOVER CLOSE BUTTON
551
528
  // ==========================================================================
552
529
 
553
- --ms-popover-close-size: #{$ml-popover-close-size};
554
- --ms-selected-popover-close-bg: #{$ml-selected-popover-close-bg};
555
- --ms-selected-popover-close-color: #{$ml-selected-popover-close-color};
556
- --ms-selected-popover-close-font-size: #{$ml-selected-popover-close-font-size};
557
- --ms-selected-popover-close-border-radius: #{$ml-selected-popover-close-border-radius};
558
- --ms-selected-popover-close-bg-hover: #{$ml-selected-popover-close-bg-hover};
559
- --ms-selected-popover-close-color-hover: #{$ml-selected-popover-close-color-hover};
530
+ --ms-popover-close-size: #{$ms-popover-close-size};
531
+ --ms-selected-popover-close-bg: #{$ms-selected-popover-close-bg};
532
+ --ms-selected-popover-close-color: #{$ms-selected-popover-close-color};
533
+ --ms-selected-popover-close-font-size: calc(var(--base-font-size-xl, 2) * var(--ms-rem));
534
+ --ms-selected-popover-close-border-radius: #{$ms-selected-popover-close-border-radius};
535
+ --ms-selected-popover-close-bg-hover: #{$ms-selected-popover-close-bg-hover};
536
+ --ms-selected-popover-close-color-hover: #{$ms-selected-popover-close-color-hover};
560
537
 
561
538
  // ==========================================================================
562
539
  // POPOVER BODY
563
540
  // ==========================================================================
564
541
 
565
- --ms-selected-popover-body-gap: #{$ml-selected-popover-body-gap};
566
- --ms-selected-popover-body-padding: #{$ml-selected-popover-body-padding};
567
- --ms-selected-popover-body-max-height: #{$ml-selected-popover-body-max-height};
542
+ --ms-selected-popover-body-gap: #{$ms-selected-popover-body-gap};
543
+ --ms-selected-popover-body-padding: #{$ms-selected-popover-body-padding};
544
+ --ms-selected-popover-body-max-height: #{$ms-selected-popover-body-max-height};
568
545
 
569
546
  // ==========================================================================
570
547
  // TYPOGRAPHY SCALE
571
548
  // ==========================================================================
549
+ // Typography variables follow this priority chain:
550
+ // 1. --ms-* (component-specific override)
551
+ // 2. --base-* (shared theme-designer value)
552
+ // 3. Unitless default multiplied by --ms-rem
553
+ //
554
+ // Note: --ms-font-family is set directly on :host above (not as a variable)
555
+ // because it needs to be applied, not just defined.
556
+ //
557
+ // Font sizes use unitless multipliers from theme-designer:
558
+ // Theme-designer outputs: --base-font-size-sm: 1.4 (unitless)
559
+ // Component computes: calc(1.4 * var(--ms-rem)) = 14px
560
+
561
+ // Font Sizes (unitless multipliers × --ms-rem)
562
+ --ms-font-size-2xs: calc(var(--base-font-size-2xs, 1) * var(--ms-rem)); // 10px
563
+ --ms-font-size-xs: calc(var(--base-font-size-xs, 1.2) * var(--ms-rem)); // 12px
564
+ --ms-font-size-sm: calc(var(--base-font-size-sm, 1.4) * var(--ms-rem)); // 14px
565
+ --ms-font-size-base: calc(var(--base-font-size-base, 1.6) * var(--ms-rem)); // 16px
566
+ --ms-font-size-lg: calc(var(--base-font-size-lg, 1.8) * var(--ms-rem)); // 18px
567
+
568
+ // Font Weights
569
+ --ms-font-weight-normal: var(--base-font-weight-normal, #{$ms-font-weight-normal});
570
+ --ms-font-weight-medium: var(--base-font-weight-medium, #{$ms-font-weight-medium});
571
+ --ms-font-weight-semibold: var(--base-font-weight-semibold, #{$ms-font-weight-semibold});
572
572
 
573
- --ms-font-size-2xs: #{$ml-font-size-2xs};
574
- --ms-font-size-xs: #{$ml-font-size-xs};
575
- --ms-font-size-sm: #{$ml-font-size-sm};
576
- --ms-font-size-base: #{$ml-font-size-base};
577
- --ms-font-size-lg: #{$ml-font-size-lg};
578
- --ms-font-weight-medium: #{$ml-font-weight-medium};
579
- --ms-font-weight-semibold: #{$ml-font-weight-semibold};
580
- --ms-line-height-none: #{$ml-line-height-none};
573
+ // Line Heights
574
+ --ms-line-height-none: #{$ms-line-height-none};
575
+ --ms-line-height-tight: var(--base-line-height-tight, #{$ms-line-height-tight});
576
+ --ms-line-height-normal: var(--base-line-height-normal, #{$ms-line-height-normal});
577
+ --ms-line-height-relaxed: var(--base-line-height-relaxed, #{$ms-line-height-relaxed});
581
578
 
582
579
  // ==========================================================================
583
580
  // SPACING & SIZING
584
581
  // ==========================================================================
585
582
 
586
- --ms-spacing-xs: #{$ml-spacing-xs};
587
- --ms-spacing-sm: #{$ml-spacing-sm};
588
- --ms-spacing-md: #{$ml-spacing-md};
589
- --ms-spacing-lg: #{$ml-spacing-lg};
583
+ --ms-spacing-xs: #{$ms-spacing-xs};
584
+ --ms-spacing-sm: #{$ms-spacing-sm};
585
+ --ms-spacing-md: #{$ms-spacing-md};
586
+ --ms-spacing-lg: #{$ms-spacing-lg};
590
587
 
591
588
  // ==========================================================================
592
589
  // TRANSITIONS & EFFECTS
593
590
  // ==========================================================================
594
591
 
595
- --ms-transition-fast: #{$ml-transition-fast};
596
- --ms-transition-normal: #{$ml-transition-normal};
597
- --ms-easing-snappy: #{$ml-easing-snappy};
592
+ --ms-transition-fast: #{$ms-transition-fast};
593
+ --ms-transition-normal: #{$ms-transition-normal};
594
+ --ms-easing-snappy: #{$ms-easing-snappy};
598
595
 
599
596
  // ==========================================================================
600
597
  // OPACITY VALUES
601
598
  // ==========================================================================
602
599
 
603
- --ms-placeholder-opacity: #{$ml-placeholder-opacity};
604
- --ms-disabled-input-opacity: #{$ml-disabled-input-opacity};
600
+ --ms-placeholder-opacity: #{$ms-placeholder-opacity};
601
+ --ms-disabled-input-opacity: #{$ms-disabled-input-opacity};
605
602
 
606
603
  // ==========================================================================
607
604
  // SCROLLBAR
608
605
  // ==========================================================================
609
606
 
610
- --ms-scrollbar-width: #{$ml-scrollbar-width};
611
- --ms-scrollbar-track-bg: #{$ml-scrollbar-track-bg};
612
- --ms-scrollbar-thumb-bg: #{$ml-scrollbar-thumb-bg};
613
- --ms-scrollbar-thumb-bg-hover: #{$ml-scrollbar-thumb-bg-hover};
614
- --ms-scrollbar-thumb-border-radius: #{$ml-scrollbar-thumb-border-radius};
607
+ --ms-scrollbar-width: #{$ms-scrollbar-width};
608
+ --ms-scrollbar-track-bg: #{$ms-scrollbar-track-bg};
609
+ --ms-scrollbar-thumb-bg: #{$ms-scrollbar-thumb-bg};
610
+ --ms-scrollbar-thumb-bg-hover: #{$ms-scrollbar-thumb-bg-hover};
611
+ --ms-scrollbar-thumb-border-radius: #{$ms-scrollbar-thumb-border-radius};
615
612
  }