@maboussoleaidant/design-system 0.1.18 → 0.1.20

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
+ }
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
+ }
688
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
  *
@@ -1343,9 +1364,7 @@ a:hover {
1343
1364
  =========================================== */
1344
1365
  .mba-btn-pin {
1345
1366
  display: inline-flex;
1346
- width: 40px;
1347
- height: 40px;
1348
- padding: 0;
1367
+ padding: var(--mba-space-xs);
1349
1368
  justify-content: center;
1350
1369
  align-items: center;
1351
1370
  border: 1px solid var(--mba-color-primary-500);
@@ -1359,9 +1378,9 @@ a:hover {
1359
1378
  }
1360
1379
 
1361
1380
  .mba-btn-pin .mba-icon {
1362
- font-size: 20px;
1363
- width: 20px;
1364
- height: 20px;
1381
+ font-size: var(--mba-font-size-md);
1382
+ width: var(--mba-font-size-md);
1383
+ height: var(--mba-font-size-md);
1365
1384
  }
1366
1385
 
1367
1386
  .mba-btn-pin:focus {
@@ -1371,9 +1390,10 @@ a:hover {
1371
1390
 
1372
1391
  /* Deja-vu state */
1373
1392
  .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);
1393
+ box-shadow: var(--mba-shadow-xs);
1394
+ border-color: var(--mba-color-white);
1395
+ background-color: var(--mba-color-white);
1396
+ color: var(--mba-color-grey-400);
1377
1397
  }
1378
1398
 
1379
1399
  /* Activated state */
@@ -1616,6 +1636,7 @@ a:hover {
1616
1636
  padding: var(--mba-space-sm);
1617
1637
  }
1618
1638
 
1639
+
1619
1640
  /* ===========================================
1620
1641
  CARD PARTS
1621
1642
  =========================================== */
@@ -1623,7 +1644,8 @@ a:hover {
1623
1644
  display: flex;
1624
1645
  justify-content: space-between;
1625
1646
  align-items: center;
1626
- gap: var(--mba-space-sm);
1647
+ gap: var(--mba-space-lg);
1648
+ height: 100%;
1627
1649
  }
1628
1650
 
1629
1651
  .mba-card__content {
@@ -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 {
@@ -3628,6 +3608,9 @@ button.mba-input-icon__icon:hover {
3628
3608
  * - .mba-wave--top - Inversée (pour haut de section)
3629
3609
  * - .mba-wave--bottom - Normale (défaut)
3630
3610
  * - .mba-wave--lavender - Couleur lavender
3611
+ * - .mba-wave--narcisse - Couleur narcisse
3612
+ * - .mba-wave--bleuet - Couleur bleuet
3613
+ * - .mba-wave--oranger - Couleur oranger
3631
3614
  * - .mba-wave--white - Couleur blanche
3632
3615
  * - .mba-wave--beige - Couleur beige
3633
3616
  *
@@ -3679,6 +3662,18 @@ button.mba-input-icon__icon:hover {
3679
3662
  background-color: var(--mba-color-pastel-lavender);
3680
3663
  }
3681
3664
 
3665
+ .mba-wave--narcisse {
3666
+ background-color: var(--mba-color-pastel-narcisse);
3667
+ }
3668
+
3669
+ .mba-wave--bleuet {
3670
+ background-color: var(--mba-color-pastel-bleuet);
3671
+ }
3672
+
3673
+ .mba-wave--oranger {
3674
+ background-color: var(--mba-color-pastel-oranger);
3675
+ }
3676
+
3682
3677
  .mba-wave--white {
3683
3678
  background-color: var(--mba-color-white);
3684
3679
  }
@@ -3687,9 +3682,6 @@ button.mba-input-icon__icon:hover {
3687
3682
  background-color: var(--mba-color-beige);
3688
3683
  }
3689
3684
 
3690
- .mba-wave--primary-50 {
3691
- background-color: var(--mba-color-primary-50);
3692
- }
3693
3685
 
3694
3686
  }
3695
3687
 
@@ -4254,7 +4246,265 @@ button.mba-input-icon__icon:hover {
4254
4246
 
4255
4247
  /* @import "./_alerts.css"; */
4256
4248
 
4257
- /* @import "./_accordion.css"; */
4249
+ /**
4250
+ * MBA Design System - Accordion
4251
+ *
4252
+ * Accordions empilables avec panneau déroulant.
4253
+ * - Les accordions peuvent se superposer verticalement.
4254
+ * - À partir de 5 items (ou si le contenu est trop long),
4255
+ * utiliser la variante scrollable pour afficher une scrollbar.
4256
+ */
4257
+
4258
+ @layer components {
4259
+
4260
+ /* ===========================================
4261
+ CONTAINER & GROUP
4262
+ =========================================== */
4263
+ .mba-accordion-group {
4264
+ display: flex;
4265
+ flex-direction: column;
4266
+ gap: var(--mba-space-xs); /* Espacement vertical entre accordions empilés */
4267
+ }
4268
+
4269
+ .mba-accordion {
4270
+ width: 100%;
4271
+ max-width: 220px;
4272
+ border-radius: var(--mba-radius-xs);
4273
+ background-color: var(--mba-color-white);
4274
+ border: 1px solid var(--mba-color-grey-100);
4275
+ overflow: hidden;
4276
+ }
4277
+
4278
+ .mba-accordion--full-width {
4279
+ max-width: 100%;
4280
+ }
4281
+
4282
+ /* Variante line-only (header sans carte, seulement une ligne bottom) */
4283
+ .mba-accordion--line {
4284
+ border: none;
4285
+ border-radius: 0;
4286
+ background: transparent;
4287
+ }
4288
+
4289
+ /* ===========================================
4290
+ HEADER (TRIGGER)
4291
+ =========================================== */
4292
+ .mba-accordion__header {
4293
+ display: flex;
4294
+ align-items: center;
4295
+ justify-content: space-between;
4296
+ gap: var(--mba-space-sm);
4297
+ padding: var(--mba-space-xs) var(--mba-space-sm);
4298
+ cursor: pointer;
4299
+ background-color: var(--mba-color-white);
4300
+ border: none;
4301
+ width: 100%;
4302
+ box-sizing: border-box;
4303
+ min-height: 43px;
4304
+ font-family: var(--mba-font-family-text);
4305
+ font-size: var(--mba-font-size-xs);
4306
+ font-weight: var(--mba-font-weight-regular);
4307
+ color: var(--mba-color-primary-900);
4308
+ text-align: left;
4309
+ }
4310
+
4311
+ /* Header pour la variante line : pas de fond, juste une ligne en bottom */
4312
+ .mba-accordion--line .mba-accordion__header {
4313
+ padding-left: var(--mba-space-xs); /* 8px */
4314
+ padding-right: var(--mba-space-xs); /* 8px */
4315
+ background-color: transparent;
4316
+ border-bottom: 1.8px solid var(--mba-color-primary-400);
4317
+ }
4318
+
4319
+ /* Pile d'accordions line : les suivants utilisent un trait en pointillés
4320
+ (couleur gérée par la variante Aidants / Partenaires) */
4321
+ .mba-accordion-group
4322
+ .mba-accordion--line
4323
+ + .mba-accordion--line
4324
+ .mba-accordion__header {
4325
+ border-bottom-style: dashed;
4326
+ }
4327
+
4328
+ /* Hover pour Aidants uniquement : fond grey-50 */
4329
+ .mba-accordion--line:not(.mba-accordion--partenaire) .mba-accordion__header:hover {
4330
+ background-color: var(--mba-color-grey-50);
4331
+ border-radius: var(--mba-radius-xs) var(--mba-radius-xs) 0 0;
4332
+ }
4333
+
4334
+ /* Variante Partenaire : couleur de ligne spécifique */
4335
+ .mba-accordion--line.mba-accordion--partenaire .mba-accordion__header {
4336
+ border-bottom-color: var(--mba-color-primary-pro-400);
4337
+ background-color: transparent;
4338
+ }
4339
+
4340
+ .mba-accordion--line.mba-accordion--partenaire .mba-accordion__header:hover {
4341
+ background-color: transparent;
4342
+ }
4343
+
4344
+ .mba-accordion__title-wrapper {
4345
+ display: flex;
4346
+ align-items: center;
4347
+ gap: var(--mba-space-xs);
4348
+ min-width: 0;
4349
+ }
4350
+
4351
+ .mba-accordion__title {
4352
+ white-space: nowrap;
4353
+ text-overflow: ellipsis;
4354
+ overflow: hidden;
4355
+ font-size: var(--mba-font-size-xs);
4356
+ color: var(--mba-color-primary-900);
4357
+ font-weight: var(--mba-font-weight-semibold);
4358
+ }
4359
+
4360
+ /* Variante Partenaire : titre en PrimaryPro-900 */
4361
+ .mba-accordion--partenaire .mba-accordion__title {
4362
+ color: var(--mba-color-primary-pro-900);
4363
+ }
4364
+
4365
+ /* Compteur d’éléments (pastille à droite du titre) */
4366
+ .mba-accordion__badge {
4367
+ display: inline-flex;
4368
+ align-items: center;
4369
+ justify-content: center;
4370
+ min-width: var(--mba-space-md);
4371
+ height: var(--mba-space-md);
4372
+ padding: var(--mba-space-xxs);
4373
+ border-radius: var(--mba-radius-full);
4374
+ background-color: var(--mba-color-pastel-oranger);
4375
+ color: var(--mba-color-primary-900);
4376
+ font-family: var(--mba-font-family-text);
4377
+ font-size: var(--mba-font-size-xxs);
4378
+ font-weight: var(--mba-font-weight-semibold);
4379
+ flex-shrink: 0;
4380
+ }
4381
+
4382
+ /* Variante Line Aidants : badge en secondary-500 */
4383
+ .mba-accordion--line .mba-accordion__badge {
4384
+ background-color: var(--mba-color-secondary-500);
4385
+ }
4386
+
4387
+ /* Variante Partenaire : badge en narcisse */
4388
+ .mba-accordion--partenaire .mba-accordion__badge {
4389
+ background-color: var(--mba-color-pastel-narcisse);
4390
+ }
4391
+
4392
+ .mba-accordion__icon {
4393
+ display: inline-flex;
4394
+ align-items: center;
4395
+ justify-content: center;
4396
+ margin-left: var(--mba-space-xs);
4397
+ color: var(--mba-color-primary-900);
4398
+ transition: transform var(--mba-transition-base);
4399
+ }
4400
+
4401
+ .mba-accordion--open .mba-accordion__icon {
4402
+ transform: rotate(180deg);
4403
+ }
4404
+
4405
+ /* ===========================================
4406
+ PANEL
4407
+ =========================================== */
4408
+ .mba-accordion__panel {
4409
+ display: none;
4410
+ background-color: var(--mba-color-white);
4411
+ }
4412
+
4413
+ .mba-accordion--open .mba-accordion__panel {
4414
+ display: block;
4415
+ }
4416
+
4417
+ .mba-accordion__panel-inner {
4418
+ padding: var(--mba-space-xs) var(--mba-space-sm);
4419
+ }
4420
+
4421
+ /* Panel pour la variante line : aligné à gauche avec le header */
4422
+ .mba-accordion--line .mba-accordion__panel-inner {
4423
+ padding-left: var(--mba-space-xs);
4424
+ padding-right: var(--mba-space-xs);
4425
+ }
4426
+
4427
+ /* Variante scrollable : à utiliser à partir de 5 items */
4428
+ .mba-accordion__panel-inner--scrollable {
4429
+ max-height: 9.5rem; /* hauteur raisonnable avant scroll */
4430
+ overflow-y: auto;
4431
+ scrollbar-width: thin;
4432
+ scrollbar-color: var(--mba-color-primary-400) transparent;
4433
+ }
4434
+
4435
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar {
4436
+ width: var(--mba-space-xxs);
4437
+ }
4438
+
4439
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-thumb {
4440
+ background-color: var(--mba-color-primary-400);
4441
+ border-radius: var(--mba-radius-2xs);
4442
+ }
4443
+
4444
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-track {
4445
+ background-color: transparent;
4446
+ }
4447
+
4448
+ /* Scrollbar variante Partenaire (PrimaryPro-400) */
4449
+ .mba-accordion--partenaire .mba-accordion__panel-inner--scrollable {
4450
+ scrollbar-color: var(--mba-color-primary-pro-400) transparent;
4451
+ }
4452
+
4453
+ .mba-accordion--partenaire
4454
+ .mba-accordion__panel-inner--scrollable::-webkit-scrollbar-thumb {
4455
+ background-color: var(--mba-color-primary-pro-400);
4456
+ }
4457
+
4458
+ /* ===========================================
4459
+ LISTE D’ITEMS
4460
+ =========================================== */
4461
+ .mba-accordion__list {
4462
+ list-style: none;
4463
+ margin: 0;
4464
+ padding: 0;
4465
+ display: flex;
4466
+ flex-direction: column;
4467
+ gap: var(--mba-space-xxs);
4468
+ }
4469
+
4470
+ .mba-accordion__item {
4471
+ display: flex;
4472
+ align-items: center;
4473
+ gap: var(--mba-space-xs);
4474
+ padding: var(--mba-space-xs);
4475
+ font-family: var(--mba-font-family-text);
4476
+ font-size: var(--mba-font-size-xs);
4477
+ color: var(--mba-color-primary-900);
4478
+ }
4479
+
4480
+ .mba-accordion__item-icon {
4481
+ display: inline-flex;
4482
+ align-items: center;
4483
+ justify-content: center;
4484
+ flex-shrink: 0;
4485
+ padding: 2px;
4486
+ line-height: 1;
4487
+ vertical-align: middle;
4488
+ color: inherit;
4489
+ }
4490
+
4491
+ .mba-accordion__item-label {
4492
+ white-space: nowrap;
4493
+ overflow: hidden;
4494
+ text-overflow: ellipsis;
4495
+ }
4496
+
4497
+ /* États optionnels (hover / sélection) */
4498
+ .mba-accordion__item:hover {
4499
+ background-color: var(--mba-color-grey-50);
4500
+ border-radius: var(--mba-radius-xs);
4501
+ }
4502
+
4503
+ .mba-accordion__item--selected {
4504
+ font-weight: var(--mba-font-weight-semibold);
4505
+ }
4506
+
4507
+ }
4258
4508
 
4259
4509
  /* @import "./_carousel.css"; */
4260
4510
 
@@ -4368,4 +4618,32 @@ button.mba-input-icon__icon:hover {
4368
4618
  background: var(--mba-gradient-sunset);
4369
4619
  }
4370
4620
 
4621
+ /* Border gradient (hover reveal) — applique un contour gradient sunset via ::before */
4622
+
4623
+ .mba-border-gradient {
4624
+ position: relative;
4625
+ }
4626
+
4627
+ .mba-border-gradient::before {
4628
+ content: "";
4629
+ position: absolute;
4630
+ inset: 0;
4631
+ padding: 1px;
4632
+ background: var(--mba-gradient-sunset);
4633
+ border-radius: inherit;
4634
+ mask:
4635
+ linear-gradient(#fff 0 0) content-box,
4636
+ linear-gradient(#fff 0 0);
4637
+ mask-composite: exclude;
4638
+ -webkit-mask-composite: xor;
4639
+ pointer-events: none;
4640
+ opacity: 0;
4641
+ transition: opacity var(--mba-transition-base);
4642
+ }
4643
+
4644
+ .mba-border-gradient:hover::before,
4645
+ .mba-border-gradient--visible::before {
4646
+ opacity: 1;
4647
+ }
4648
+
4371
4649
  /*# sourceMappingURL=mba-design-system.css.map */