@maboussoleaidant/design-system 0.1.18 → 0.1.19

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.
@@ -626,8 +626,11 @@
626
626
 
627
627
  /* ===========================================
628
628
  BASE ICON CLASS
629
+ Wrappé dans @layer base pour permettre aux @layer components de l'overrider
629
630
  =========================================== */
630
631
 
632
+ @layer base {
633
+
631
634
  .material-symbols-rounded {
632
635
  font-family: 'Material Symbols Rounded';
633
636
  font-weight: normal;
@@ -659,7 +662,6 @@
659
662
  =========================================== */
660
663
 
661
664
  /* Base icon (24px) */
662
-
663
665
  .mba-icon {
664
666
  font-size: 24px;
665
667
  width: 24px;
@@ -672,7 +674,6 @@
672
674
  }
673
675
 
674
676
  /* Small icon (16px) */
675
-
676
677
  .mba-icon--sm {
677
678
  font-size: 16px;
678
679
  width: 16px;
@@ -684,8 +685,26 @@
684
685
  'opsz' 20;
685
686
  }
686
687
 
687
- /* Fill variant */
688
+ /* Extra-small icon (12px) */
689
+ .mba-icon--xs {
690
+ font-size: 12px;
691
+ width: 12px;
692
+ height: 12px;
693
+ font-variation-settings:
694
+ 'FILL' 0,
695
+ 'wght' 400,
696
+ 'GRAD' 0,
697
+ 'opsz' 20;
698
+ }
688
699
 
700
+ /* Accordion item icons: force inline-flex to override base inline-block */
701
+ .mba-accordion__item-icon.material-symbols-rounded {
702
+ display: inline-flex;
703
+ align-items: center;
704
+ justify-content: center;
705
+ }
706
+
707
+ /* Fill variant */
689
708
  .mba-icon--fill,
690
709
  .material-symbols-rounded.mba-icon--fill {
691
710
  font-variation-settings:
@@ -696,7 +715,6 @@
696
715
  }
697
716
 
698
717
  /* Fill + Small */
699
-
700
718
  .mba-icon--sm.mba-icon--fill {
701
719
  font-variation-settings:
702
720
  'FILL' 1,
@@ -708,7 +726,6 @@
708
726
  /* ===========================================
709
727
  COLOR UTILITIES
710
728
  =========================================== */
711
-
712
729
  .mba-icon--primary {
713
730
  color: var(--mba-color-primary-500);
714
731
  }
@@ -733,6 +750,10 @@
733
750
  color: var(--mba-color-text-muted);
734
751
  }
735
752
 
753
+ }
754
+
755
+ /* end @layer base */
756
+
736
757
  /**
737
758
  * MBA Design System - Preflight
738
759
  *
@@ -1371,9 +1392,10 @@ a:hover {
1371
1392
 
1372
1393
  /* Deja-vu state */
1373
1394
  .mba-btn-pin.is-deja-vu {
1374
- border-color: var(--mba-color-grey-300);
1375
- background-color: var(--mba-color-grey-50);
1376
- color: var(--mba-color-grey-300);
1395
+ box-shadow: var(--mba-shadow-xs);
1396
+ border-color: var(--mba-color-white);
1397
+ background-color: var(--mba-color-white);
1398
+ color: var(--mba-color-grey-400);
1377
1399
  }
1378
1400
 
1379
1401
  /* Activated state */
@@ -1649,8 +1671,11 @@ a:hover {
1649
1671
 
1650
1672
  .mba-card__icon {
1651
1673
  flex-shrink: 0;
1674
+ display: flex;
1675
+ align-items: center;
1676
+ justify-content: center;
1652
1677
  color: var(--mba-color-primary-500);
1653
- font-size: 24px;
1678
+ font-size: var(--mba-font-size-md);
1654
1679
  transition: transform var(--mba-transition-base);
1655
1680
  }
1656
1681
 
@@ -1719,20 +1744,6 @@ a:hover {
1719
1744
  box-sizing: border-box;
1720
1745
  }
1721
1746
 
1722
- .mba-carousel-card::before {
1723
- content: "";
1724
- position: absolute;
1725
- inset: 0;
1726
- padding: 1px;
1727
- background: var(--mba-gradient-sunset);
1728
- border-radius: 24px 24px 8px 24px;
1729
- mask:
1730
- linear-gradient(#fff 0 0) content-box,
1731
- linear-gradient(#fff 0 0);
1732
- mask-composite: exclude;
1733
- -webkit-mask-composite: xor;
1734
- pointer-events: none;
1735
- }
1736
1747
 
1737
1748
  .mba-carousel-card__title {
1738
1749
  font-family: var(--mba-font-family-text);
@@ -1779,20 +1790,6 @@ a:hover {
1779
1790
  transition: transform var(--mba-transition-slow), box-shadow var(--mba-transition-slow);
1780
1791
  }
1781
1792
 
1782
- .mba-stats-card::before {
1783
- content: "";
1784
- position: absolute;
1785
- inset: 0;
1786
- padding: 1px;
1787
- background: var(--mba-gradient-sunset);
1788
- border-radius: var(--mba-radius-md);
1789
- mask:
1790
- linear-gradient(#fff 0 0) content-box,
1791
- linear-gradient(#fff 0 0);
1792
- mask-composite: exclude;
1793
- -webkit-mask-composite: xor;
1794
- pointer-events: none;
1795
- }
1796
1793
 
1797
1794
  .mba-stats-card:hover {
1798
1795
  transform: translateY(-4px);
@@ -1947,7 +1944,7 @@ a:hover {
1947
1944
  }
1948
1945
 
1949
1946
  .mba-article-card__link .material-symbols-rounded {
1950
- font-size: 20px;
1947
+ font-size: var(--mba-font-size-xs);
1951
1948
  }
1952
1949
 
1953
1950
  /* Grid pour article cards */
@@ -2454,7 +2451,7 @@ a:hover {
2454
2451
 
2455
2452
  /* Icone info */
2456
2453
  .mba-label__icon {
2457
- font-size: 16px;
2454
+ font-size: var(--mba-font-size-xs);
2458
2455
  color: var(--mba-color-grey-400);
2459
2456
  }
2460
2457
 
@@ -2774,6 +2771,8 @@ a:hover {
2774
2771
  display: inline-block;
2775
2772
  width: 42px;
2776
2773
  height: 24px;
2774
+ box-shadow: var(--mba-shadow-xxs);
2775
+ border-radius: 32px;
2777
2776
  }
2778
2777
 
2779
2778
  .mba-toggle input {
@@ -2802,6 +2801,7 @@ a:hover {
2802
2801
  left: 2px;
2803
2802
  top: 2px;
2804
2803
  background-color: var(--mba-color-white);
2804
+ box-shadow: var(--mba-shadow-xxs);
2805
2805
  transition: all var(--mba-transition-slow);
2806
2806
  border-radius: 50%;
2807
2807
  }
@@ -2853,7 +2853,7 @@ a:hover {
2853
2853
  }
2854
2854
 
2855
2855
  .mba-input-icon__icon {
2856
- font-size: 16px;
2856
+ font-size: var(--mba-font-size-xs);
2857
2857
  color: var(--mba-color-grey-400);
2858
2858
  margin-left: var(--mba-space-xs);
2859
2859
  }
@@ -3145,26 +3145,6 @@ button.mba-input-icon__icon:hover {
3145
3145
  transition: background-color var(--mba-transition-base);
3146
3146
  }
3147
3147
 
3148
- .mba-header__dropdown-item::before {
3149
- content: "";
3150
- position: absolute;
3151
- inset: 0;
3152
- padding: 1px;
3153
- background: var(--mba-gradient-sunset);
3154
- border-radius: inherit;
3155
- mask:
3156
- linear-gradient(#fff 0 0) content-box,
3157
- linear-gradient(#fff 0 0);
3158
- mask-composite: exclude;
3159
- -webkit-mask-composite: xor;
3160
- pointer-events: none;
3161
- opacity: 0;
3162
- transition: opacity var(--mba-transition-base);
3163
- }
3164
-
3165
- .mba-header__dropdown-item:hover::before {
3166
- opacity: 1;
3167
- }
3168
3148
 
3169
3149
 
3170
3150
  .mba-header__dropdown-icon {
@@ -3687,9 +3667,6 @@ button.mba-input-icon__icon:hover {
3687
3667
  background-color: var(--mba-color-beige);
3688
3668
  }
3689
3669
 
3690
- .mba-wave--primary-50 {
3691
- background-color: var(--mba-color-primary-50);
3692
- }
3693
3670
 
3694
3671
  }
3695
3672
 
@@ -4254,7 +4231,265 @@ button.mba-input-icon__icon:hover {
4254
4231
 
4255
4232
  /* @import "./_alerts.css"; */
4256
4233
 
4257
- /* @import "./_accordion.css"; */
4234
+ /**
4235
+ * MBA Design System - Accordion
4236
+ *
4237
+ * Accordions empilables avec panneau déroulant.
4238
+ * - Les accordions peuvent se superposer verticalement.
4239
+ * - À partir de 5 items (ou si le contenu est trop long),
4240
+ * utiliser la variante scrollable pour afficher une scrollbar.
4241
+ */
4242
+
4243
+ @layer components {
4244
+
4245
+ /* ===========================================
4246
+ CONTAINER & GROUP
4247
+ =========================================== */
4248
+ .mba-accordion-group {
4249
+ display: flex;
4250
+ flex-direction: column;
4251
+ gap: var(--mba-space-xs); /* Espacement vertical entre accordions empilés */
4252
+ }
4253
+
4254
+ .mba-accordion {
4255
+ width: 100%;
4256
+ max-width: 220px;
4257
+ border-radius: var(--mba-radius-xs);
4258
+ background-color: var(--mba-color-white);
4259
+ border: 1px solid var(--mba-color-grey-100);
4260
+ overflow: hidden;
4261
+ }
4262
+
4263
+ .mba-accordion--full-width {
4264
+ max-width: 100%;
4265
+ }
4266
+
4267
+ /* Variante line-only (header sans carte, seulement une ligne bottom) */
4268
+ .mba-accordion--line {
4269
+ border: none;
4270
+ border-radius: 0;
4271
+ background: transparent;
4272
+ }
4273
+
4274
+ /* ===========================================
4275
+ HEADER (TRIGGER)
4276
+ =========================================== */
4277
+ .mba-accordion__header {
4278
+ display: flex;
4279
+ align-items: center;
4280
+ justify-content: space-between;
4281
+ gap: var(--mba-space-sm);
4282
+ padding: var(--mba-space-xs) var(--mba-space-sm);
4283
+ cursor: pointer;
4284
+ background-color: var(--mba-color-white);
4285
+ border: none;
4286
+ width: 100%;
4287
+ box-sizing: border-box;
4288
+ min-height: 43px;
4289
+ font-family: var(--mba-font-family-text);
4290
+ font-size: var(--mba-font-size-xs);
4291
+ font-weight: var(--mba-font-weight-regular);
4292
+ color: var(--mba-color-primary-900);
4293
+ text-align: left;
4294
+ }
4295
+
4296
+ /* Header pour la variante line : pas de fond, juste une ligne en bottom */
4297
+ .mba-accordion--line .mba-accordion__header {
4298
+ padding-left: var(--mba-space-xs); /* 8px */
4299
+ padding-right: var(--mba-space-xs); /* 8px */
4300
+ background-color: transparent;
4301
+ border-bottom: 1.8px solid var(--mba-color-primary-400);
4302
+ }
4303
+
4304
+ /* Pile d'accordions line : les suivants utilisent un trait en pointillés
4305
+ (couleur gérée par la variante Aidants / Partenaires) */
4306
+ .mba-accordion-group
4307
+ .mba-accordion--line
4308
+ + .mba-accordion--line
4309
+ .mba-accordion__header {
4310
+ border-bottom-style: dashed;
4311
+ }
4312
+
4313
+ /* Hover pour Aidants uniquement : fond grey-50 */
4314
+ .mba-accordion--line:not(.mba-accordion--partenaire) .mba-accordion__header:hover {
4315
+ background-color: var(--mba-color-grey-50);
4316
+ border-radius: var(--mba-radius-xs) var(--mba-radius-xs) 0 0;
4317
+ }
4318
+
4319
+ /* Variante Partenaire : couleur de ligne spécifique */
4320
+ .mba-accordion--line.mba-accordion--partenaire .mba-accordion__header {
4321
+ border-bottom-color: var(--mba-color-primary-pro-400);
4322
+ background-color: transparent;
4323
+ }
4324
+
4325
+ .mba-accordion--line.mba-accordion--partenaire .mba-accordion__header:hover {
4326
+ background-color: transparent;
4327
+ }
4328
+
4329
+ .mba-accordion__title-wrapper {
4330
+ display: flex;
4331
+ align-items: center;
4332
+ gap: var(--mba-space-xs);
4333
+ min-width: 0;
4334
+ }
4335
+
4336
+ .mba-accordion__title {
4337
+ white-space: nowrap;
4338
+ text-overflow: ellipsis;
4339
+ overflow: hidden;
4340
+ font-size: var(--mba-font-size-xs);
4341
+ color: var(--mba-color-primary-900);
4342
+ font-weight: var(--mba-font-weight-semibold);
4343
+ }
4344
+
4345
+ /* Variante Partenaire : titre en PrimaryPro-900 */
4346
+ .mba-accordion--partenaire .mba-accordion__title {
4347
+ color: var(--mba-color-primary-pro-900);
4348
+ }
4349
+
4350
+ /* Compteur d’éléments (pastille à droite du titre) */
4351
+ .mba-accordion__badge {
4352
+ display: inline-flex;
4353
+ align-items: center;
4354
+ justify-content: center;
4355
+ min-width: var(--mba-space-md);
4356
+ height: var(--mba-space-md);
4357
+ padding: var(--mba-space-xxs);
4358
+ border-radius: var(--mba-radius-full);
4359
+ background-color: var(--mba-color-pastel-oranger);
4360
+ color: var(--mba-color-primary-900);
4361
+ font-family: var(--mba-font-family-text);
4362
+ font-size: var(--mba-font-size-xxs);
4363
+ font-weight: var(--mba-font-weight-semibold);
4364
+ flex-shrink: 0;
4365
+ }
4366
+
4367
+ /* Variante Line Aidants : badge en secondary-500 */
4368
+ .mba-accordion--line .mba-accordion__badge {
4369
+ background-color: var(--mba-color-secondary-500);
4370
+ }
4371
+
4372
+ /* Variante Partenaire : badge en narcisse */
4373
+ .mba-accordion--partenaire .mba-accordion__badge {
4374
+ background-color: var(--mba-color-pastel-narcisse);
4375
+ }
4376
+
4377
+ .mba-accordion__icon {
4378
+ display: inline-flex;
4379
+ align-items: center;
4380
+ justify-content: center;
4381
+ margin-left: var(--mba-space-xs);
4382
+ color: var(--mba-color-primary-900);
4383
+ transition: transform var(--mba-transition-base);
4384
+ }
4385
+
4386
+ .mba-accordion--open .mba-accordion__icon {
4387
+ transform: rotate(180deg);
4388
+ }
4389
+
4390
+ /* ===========================================
4391
+ PANEL
4392
+ =========================================== */
4393
+ .mba-accordion__panel {
4394
+ display: none;
4395
+ background-color: var(--mba-color-white);
4396
+ }
4397
+
4398
+ .mba-accordion--open .mba-accordion__panel {
4399
+ display: block;
4400
+ }
4401
+
4402
+ .mba-accordion__panel-inner {
4403
+ padding: var(--mba-space-xs) var(--mba-space-sm);
4404
+ }
4405
+
4406
+ /* Panel pour la variante line : aligné à gauche avec le header */
4407
+ .mba-accordion--line .mba-accordion__panel-inner {
4408
+ padding-left: var(--mba-space-xs);
4409
+ padding-right: var(--mba-space-xs);
4410
+ }
4411
+
4412
+ /* Variante scrollable : à utiliser à partir de 5 items */
4413
+ .mba-accordion__panel-inner--scrollable {
4414
+ max-height: 9.5rem; /* hauteur raisonnable avant scroll */
4415
+ overflow-y: auto;
4416
+ scrollbar-width: thin;
4417
+ scrollbar-color: var(--mba-color-primary-400) transparent;
4418
+ }
4419
+
4420
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar {
4421
+ width: var(--mba-space-xxs);
4422
+ }
4423
+
4424
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-thumb {
4425
+ background-color: var(--mba-color-primary-400);
4426
+ border-radius: var(--mba-radius-2xs);
4427
+ }
4428
+
4429
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-track {
4430
+ background-color: transparent;
4431
+ }
4432
+
4433
+ /* Scrollbar variante Partenaire (PrimaryPro-400) */
4434
+ .mba-accordion--partenaire .mba-accordion__panel-inner--scrollable {
4435
+ scrollbar-color: var(--mba-color-primary-pro-400) transparent;
4436
+ }
4437
+
4438
+ .mba-accordion--partenaire
4439
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-thumb {
4440
+ background-color: var(--mba-color-primary-pro-400);
4441
+ }
4442
+
4443
+ /* ===========================================
4444
+ LISTE D’ITEMS
4445
+ =========================================== */
4446
+ .mba-accordion__list {
4447
+ list-style: none;
4448
+ margin: 0;
4449
+ padding: 0;
4450
+ display: flex;
4451
+ flex-direction: column;
4452
+ gap: var(--mba-space-xxs);
4453
+ }
4454
+
4455
+ .mba-accordion__item {
4456
+ display: flex;
4457
+ align-items: center;
4458
+ gap: var(--mba-space-xs);
4459
+ padding: var(--mba-space-xs);
4460
+ font-family: var(--mba-font-family-text);
4461
+ font-size: var(--mba-font-size-xs);
4462
+ color: var(--mba-color-primary-900);
4463
+ }
4464
+
4465
+ .mba-accordion__item-icon {
4466
+ display: inline-flex;
4467
+ align-items: center;
4468
+ justify-content: center;
4469
+ flex-shrink: 0;
4470
+ padding: 2px;
4471
+ line-height: 1;
4472
+ vertical-align: middle;
4473
+ color: inherit;
4474
+ }
4475
+
4476
+ .mba-accordion__item-label {
4477
+ white-space: nowrap;
4478
+ overflow: hidden;
4479
+ text-overflow: ellipsis;
4480
+ }
4481
+
4482
+ /* États optionnels (hover / sélection) */
4483
+ .mba-accordion__item:hover {
4484
+ background-color: var(--mba-color-grey-50);
4485
+ border-radius: var(--mba-radius-xs);
4486
+ }
4487
+
4488
+ .mba-accordion__item--selected {
4489
+ font-weight: var(--mba-font-weight-semibold);
4490
+ }
4491
+
4492
+ }
4258
4493
 
4259
4494
  /* @import "./_carousel.css"; */
4260
4495
 
@@ -4368,4 +4603,32 @@ button.mba-input-icon__icon:hover {
4368
4603
  background: var(--mba-gradient-sunset);
4369
4604
  }
4370
4605
 
4606
+ /* Border gradient (hover reveal) — applique un contour gradient sunset via ::before */
4607
+
4608
+ .mba-border-gradient {
4609
+ position: relative;
4610
+ }
4611
+
4612
+ .mba-border-gradient::before {
4613
+ content: "";
4614
+ position: absolute;
4615
+ inset: 0;
4616
+ padding: 1px;
4617
+ background: var(--mba-gradient-sunset);
4618
+ border-radius: inherit;
4619
+ mask:
4620
+ linear-gradient(#fff 0 0) content-box,
4621
+ linear-gradient(#fff 0 0);
4622
+ mask-composite: exclude;
4623
+ -webkit-mask-composite: xor;
4624
+ pointer-events: none;
4625
+ opacity: 0;
4626
+ transition: opacity var(--mba-transition-base);
4627
+ }
4628
+
4629
+ .mba-border-gradient:hover::before,
4630
+ .mba-border-gradient--visible::before {
4631
+ opacity: 1;
4632
+ }
4633
+
4371
4634
  /*# sourceMappingURL=mba-design-system.css.map */