@lucca-front/scss 19.0.0 → 19.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.
Files changed (93) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/commons/base.scss +6 -86
  4. package/src/commons/config.scss +72 -83
  5. package/src/commons/core.scss +23 -19
  6. package/src/commons/utils/color.scss +17 -1
  7. package/src/commons/utils/index.scss +11 -27
  8. package/src/commons/utils/loading.scss +2 -1
  9. package/src/commons/utils/reset.scss +11 -3
  10. package/src/commons/vars.scss +6 -7
  11. package/src/components/button/index.scss +1 -3
  12. package/src/components/calendar/component.scss +56 -16
  13. package/src/components/calendar/index.scss +27 -21
  14. package/src/components/calendar/states.scss +54 -111
  15. package/src/components/calendar/vars.scss +0 -1
  16. package/src/components/callout/component.scss +2 -0
  17. package/src/components/calloutFeedbackList/component.scss +3 -1
  18. package/src/components/card/mods.scss +1 -3
  19. package/src/components/dataTable/component.scss +131 -0
  20. package/src/components/dataTable/index.scss +85 -0
  21. package/src/components/dataTable/mods.scss +152 -0
  22. package/src/components/dataTable/states.scss +7 -0
  23. package/src/components/dataTable/vars.scss +16 -0
  24. package/src/components/dataTableSticked/index.scss +43 -0
  25. package/src/components/dataTableSticked/mods.scss +164 -0
  26. package/src/components/dataTableSticked/states.scss +15 -0
  27. package/src/components/dataTableSticked/vars.scss +6 -0
  28. package/src/components/dateField/component.scss +6 -0
  29. package/src/components/dateField/index.scss +32 -0
  30. package/src/components/dateField/mods.scss +23 -0
  31. package/src/components/dateField/vars.scss +10 -0
  32. package/src/components/dateRangeField/component.scss +74 -0
  33. package/src/components/dateRangeField/exports.scss +4 -0
  34. package/src/components/dateRangeField/index.scss +36 -0
  35. package/src/components/dateRangeField/mods.scss +31 -0
  36. package/src/components/dateRangeField/vars.scss +16 -0
  37. package/src/components/divider/component.scss +30 -10
  38. package/src/components/divider/index.scss +2 -12
  39. package/src/components/divider/mods.scss +31 -0
  40. package/src/components/divider/vars.scss +5 -0
  41. package/src/components/fancyBox/component.scss +71 -0
  42. package/src/components/fancyBox/exports.scss +4 -0
  43. package/src/components/fancyBox/index.scss +11 -0
  44. package/src/components/fancyBox/mods.scss +6 -0
  45. package/src/components/fancyBox/states.scss +0 -0
  46. package/src/components/fancyBox/vars.scss +9 -0
  47. package/src/components/fieldset/component.scss +7 -0
  48. package/src/components/fieldset/index.scss +4 -0
  49. package/src/components/fieldset/states.scss +3 -0
  50. package/src/components/fieldset/vars.scss +1 -0
  51. package/src/components/form/index.scss +9 -5
  52. package/src/components/index.scss +5 -4
  53. package/src/components/list/mods.scss +1 -1
  54. package/src/components/multiSelect/component.scss +2 -2
  55. package/src/components/multiSelect/states.scss +4 -5
  56. package/src/components/multiSelect/vars.scss +4 -4
  57. package/src/components/navside/mods.scss +4 -0
  58. package/src/components/numericBadge/component.scss +9 -0
  59. package/src/components/numericBadge/index.scss +12 -0
  60. package/src/components/numericBadge/states.scss +19 -0
  61. package/src/components/numericBadge/vars.scss +1 -0
  62. package/src/components/simpleSelect/component.scss +1 -1
  63. package/src/components/simpleSelect/states.scss +7 -8
  64. package/src/components/simpleSelect/vars.scss +5 -5
  65. package/src/components/statusBadge/component.scss +1 -1
  66. package/src/components/statusBadge/index.scss +1 -1
  67. package/src/components/statusBadge/mods.scss +5 -5
  68. package/src/components/statusBadge/vars.scss +4 -4
  69. package/src/components/tableSortable/index.scss +1 -0
  70. package/src/components/textField/component.scss +5 -5
  71. package/src/components/textField/states.scss +6 -7
  72. package/src/components/textField/vars.scss +4 -5
  73. package/src/components/timepicker/component.scss +1 -1
  74. package/src/components/timepicker/states.scss +5 -5
  75. package/src/components/timepicker/vars.scss +3 -3
  76. package/src/components/actionIcon/component.scss +0 -36
  77. package/src/components/actionIcon/index.scss +0 -40
  78. package/src/components/actionIcon/mods.scss +0 -69
  79. package/src/components/actionIcon/states.scss +0 -23
  80. package/src/components/actionIcon/vars.scss +0 -2
  81. package/src/components/emptyStateDeprecated/component.scss +0 -18
  82. package/src/components/emptyStateDeprecated/index.scss +0 -6
  83. package/src/components/emptyStateDeprecated/vars.scss +0 -2
  84. package/src/components/gridLegacy/component.scss +0 -34
  85. package/src/components/gridLegacy/index.scss +0 -94
  86. package/src/components/gridLegacy/mods.scss +0 -46
  87. package/src/components/gridLegacy/vars.scss +0 -2
  88. /package/src/components/{actionIcon → dataTable}/exports.scss +0 -0
  89. /package/src/components/{emptyStateDeprecated/mods.scss → dataTableSticked/component.scss} +0 -0
  90. /package/src/components/{emptyStateDeprecated → dataTableSticked}/exports.scss +0 -0
  91. /package/src/components/{gridLegacy → dateField}/exports.scss +0 -0
  92. /package/src/components/{emptyStateDeprecated → dateField}/states.scss +0 -0
  93. /package/src/components/{gridLegacy → dateRangeField}/states.scss +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "19.0.0",
3
+ "version": "19.1.0",
4
4
  "description": "A Sass framework for Lucca products.",
5
5
  "main": "src/main.scss",
6
6
  "scripts": {},
@@ -23,6 +23,6 @@
23
23
  "normalize.css": "^8.0.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@lucca-front/icons": "19.0.0"
26
+ "@lucca-front/icons": "19.1.0"
27
27
  }
28
28
  }
@@ -1,9 +1,9 @@
1
1
  @use 'sass:map';
2
- @use 'sass:list';
3
-
2
+ @use '@lucca-front/scss/src/commons/core';
4
3
  @use '@lucca-front/scss/src/commons/config';
5
4
  @use '@lucca-front/scss/src/commons/utils/a11y';
6
5
  @use '@lucca-front/scss/src/commons/utils/namespace';
6
+ @use '@lucca-front/scss/src/commons/utils/color';
7
7
 
8
8
  @mixin body {
9
9
  background-color: var(--pr-t-elevation-surface-default);
@@ -23,86 +23,10 @@
23
23
 
24
24
  @mixin base($atRoot: namespace.$defaultAtRoot) {
25
25
  @at-root ($atRoot) {
26
- @if config.$fontFamily != 'Source Sans Pro' {
27
- @font-face {
28
- font-family: '#{config.$fontFamily}';
29
- src:
30
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/regular.woff2') format('woff2'),
31
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/regular.woff') format('woff');
32
- font-weight: 400;
33
- font-style: normal;
34
- font-display: swap;
35
- }
36
-
37
- @font-face {
38
- font-family: '#{config.$fontFamily}';
39
- src:
40
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/semibold.woff2') format('woff2'),
41
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/semibold.woff') format('woff');
42
- font-weight: 600;
43
- font-style: normal;
44
- font-display: swap;
45
- }
26
+ @include core.fontFace(config.$fontFamily, config.$fontWeights);
46
27
 
47
- @font-face {
48
- font-family: '#{config.$fontFamily}';
49
- src:
50
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/bold.woff2') format('woff2'),
51
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/bold.woff') format('woff');
52
- font-weight: 700;
53
- font-style: normal;
54
- font-display: swap;
55
- }
56
-
57
- @font-face {
58
- font-family: '#{config.$fontFamily}';
59
- src:
60
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/black.woff2') format('woff2'),
61
- url('//cdn.lucca.fr/fonts/#{config.$fontFamily}/black.woff') format('woff');
62
- font-weight: 900;
63
- font-style: normal;
64
- font-display: swap;
65
- }
66
- } @else {
67
- @font-face {
68
- font-family: 'Source Sans Pro';
69
- src:
70
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-regular.woff2') format('woff2'),
71
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-regular.woff') format('woff');
72
- font-weight: 400;
73
- font-style: normal;
74
- font-display: swap;
75
- }
76
-
77
- @font-face {
78
- font-family: 'Source Sans Pro';
79
- src:
80
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-semibold.woff2') format('woff2'),
81
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-semibold.woff') format('woff');
82
- font-weight: 600;
83
- font-style: normal;
84
- font-display: swap;
85
- }
86
-
87
- @font-face {
88
- font-family: 'Source Sans Pro';
89
- src:
90
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-bold.woff2') format('woff2'),
91
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-bold.woff') format('woff');
92
- font-weight: 700;
93
- font-style: normal;
94
- font-display: swap;
95
- }
96
-
97
- @font-face {
98
- font-family: 'Source Sans Pro';
99
- src:
100
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-black.woff2') format('woff2'),
101
- url('//cdn.lucca.fr/fonts/SourceSans/sourcesanspro-black.woff') format('woff');
102
- font-weight: 900;
103
- font-style: normal;
104
- font-display: swap;
105
- }
28
+ @if config.$fontFamilyCursive {
29
+ @include core.fontFace(config.$fontFamilyCursive, config.$fontWeightsCursive);
106
30
  }
107
31
 
108
32
  *,
@@ -171,11 +95,7 @@
171
95
 
172
96
  @if $paletteExists {
173
97
  .palette-#{$palette} {
174
- @each $shade in config.$palettesShades {
175
- @if map.get($paletteExists, $shade) {
176
- --palettes-#{$shade}: var(--palettes-#{$palette}-#{$shade});
177
- }
178
- }
98
+ @include color.palette($name: $palette, $palette: $paletteExists);
179
99
  }
180
100
  }
181
101
  }
@@ -1,10 +1,21 @@
1
1
  @use 'sass:list';
2
- @use '@lucca-front/scss/src/commons/utils/color';
3
2
 
4
- $importDeprecatedSpacings: true !default;
5
3
  $isNamespaced: false !default;
6
4
 
7
- $fontFamily: 'Source Sans Pro' !default;
5
+ $fontFamily: 'SourceSans' !default;
6
+ $fontWeights: (
7
+ 'regular': 400,
8
+ 'semibold': 600,
9
+ 'bold': 700,
10
+ 'black': 800,
11
+ ) !default;
12
+
13
+ $fontFamilyCursive: false !default;
14
+ $fontWeightsCursive: (
15
+ 'regular': 400,
16
+ 'bold': 700,
17
+ ) !default;
18
+
8
19
  $product: 'brand' !default;
9
20
  $palettesShades: text, 0, 25, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900; // text is deprecated
10
21
  $palettesStates: 'critical', 'error', 'warning', 'success';
@@ -23,6 +34,8 @@ $palettesAll: list.join(
23
34
  $palettesDeprecated
24
35
  );
25
36
 
37
+ // Palettes
38
+
26
39
  $brand: (
27
40
  // text is deprecated
28
41
  text: #ffffff,
@@ -368,21 +381,6 @@ $pineapple: (
368
381
  900: #7a6400,
369
382
  ) !default;
370
383
 
371
- // $colors are deprecated
372
- $colors: (
373
- 'white': #ffffff,
374
- 'black': #121212,
375
- );
376
-
377
- // $colorsRgb are deprecated
378
- $colorsRgb: (
379
- 'white': '255, 255, 255',
380
- 'neutral-400': '172, 187, 215',
381
- 'neutral-900': '19, 29, 53',
382
- 'grey-400': '172, 187, 215',
383
- 'grey-900': '19, 29, 53',
384
- ) !default;
385
-
386
384
  // switch case
387
385
  $prod: map-get(
388
386
  (
@@ -431,6 +429,42 @@ $palettesInterpolation: (
431
429
  'cc': $cc,
432
430
  );
433
431
 
432
+ // Tokens : Elevation
433
+ $elevation: (
434
+ surface: (
435
+ 'sunken': var(--palettes-neutral-50),
436
+ 'default': var(--palettes-neutral-25),
437
+ 'raised': var(--palettes-neutral-0),
438
+ 'backdrop': color-mix(in srgb, var(--palettes-neutral-400) 40%, transparent),
439
+ ),
440
+ shadow: (
441
+ 'raised':
442
+ '0 0 0 1px color-mix(in srgb, var(--palettes-neutral-400) 8%, transparent), 0 1px 2px color-mix(in srgb, var(--palettes-neutral-400) 4%, transparent), 0 2px 4px color-mix(in srgb, var(--palettes-neutral-400) 2%, transparent)',
443
+ 'overflow':
444
+ '0 0 0 1px color-mix(in srgb, var(--palettes-neutral-400) 8%, transparent), 0 0 4px color-mix(in srgb, var(--palettes-neutral-400) 32%, transparent), 0 0 8px color-mix(in srgb, var(--palettes-neutral-400) 24%, transparent)',
445
+ 'overlay':
446
+ '0 0 0 1px color-mix(in srgb, var(--palettes-neutral-400) 8%, transparent), 0 4px 8px color-mix(in srgb, var(--palettes-neutral-400) 24%, transparent), 0 4px 12px 2px color-mix(in srgb, var(--palettes-neutral-400) 8%, transparent)',
447
+ ),
448
+ );
449
+
450
+ // Tokens : Colors
451
+ $colorInput: (
452
+ text: var(--palettes-neutral-800),
453
+ text-placeholder: var(--palettes-neutral-400),
454
+ text-placeholder-critical: var(--palettes-critical-400),
455
+ text-suffix: var(--palettes-neutral-600),
456
+ text-disabled: var(--palettes-neutral-700),
457
+ icon: var(--palettes-neutral-600),
458
+ icon-disabled: var(--palettes-neutral-500),
459
+ background: var(--palettes-neutral-0),
460
+ background-critical: var(--palettes-critical-50),
461
+ background-disabled: var(--palettes-neutral-100),
462
+ border: var(--palettes-neutral-300),
463
+ border-hover: var(--palettes-neutral-400),
464
+ border-critical: var(--palettes-critical-400),
465
+ border-critical-hover: var(--palettes-critical-600),
466
+ );
467
+
434
468
  $breakpoints: (
435
469
  XXXS: 320px,
436
470
  XXS: 480px,
@@ -459,17 +493,6 @@ $spacings: (
459
493
  '800': 4rem,
460
494
  ) !default;
461
495
 
462
- $spacingsDeprecated: (
463
- '0': 0,
464
- XXS: 0.25rem,
465
- XS: 0.5rem,
466
- S: 1rem,
467
- M: 1.5rem,
468
- L: 2rem,
469
- XL: 3rem,
470
- XXL: 4rem,
471
- ) !default;
472
-
473
496
  $sizes: (
474
497
  XS: (
475
498
  fontSize: 0.75rem,
@@ -515,57 +538,6 @@ $borderRadius: (
515
538
  'full': 9999px,
516
539
  ) !default;
517
540
 
518
- // $elevations are deprecated
519
- $elevations: (
520
- '1':
521
- '0 1px 2px #{color.transparentize(var(--palettes-neutral-900), 0.06)}, 0px 2px 8px #{color.transparentize(var(--palettes-neutral-900), 0.04)}',
522
- '2':
523
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 1px 2px #{color.transparentize(var(--palettes-neutral-900), 0.02)}, 0 2px 6px #{color.transparentize(var(--palettes-neutral-900), 0.05)}',
524
- '3':
525
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 2px 4px #{color.transparentize(var(--palettes-neutral-900), 0.02)}, 0 4px 10px #{color.transparentize(var(--palettes-neutral-900), 0.06)}',
526
- '4':
527
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 3px 6px #{color.transparentize(var(--palettes-neutral-900), 0.04)}, 0 4px 16px #{color.transparentize(var(--palettes-neutral-900), 0.08)}',
528
- '5':
529
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 4px 8px #{color.transparentize(var(--palettes-neutral-900), 0.06)}, 0 12px 32px #{color.transparentize(var(--palettes-neutral-900), 0.08)}',
530
- '6':
531
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, -2px 2px 8px #{color.transparentize(var(--palettes-neutral-900), 0.04)}, -12px 6px 24px #{color.transparentize(var(--palettes-neutral-900), 0.06)}',
532
- );
533
-
534
- // $boxShadows are deprecated
535
- $boxShadows: (
536
- 'XXS':
537
- '0 2px 8px #{color.transparentize(var(--palettes-neutral-900), 0.2)}, 0 1px 2px #{color.transparentize(var(--palettes-neutral-900), 0.15)}',
538
- 'XS':
539
- '0 1px 2px #{color.transparentize(var(--palettes-neutral-900), 0.06)}, 0 2px 8px #{color.transparentize(var(--palettes-neutral-900), 0.04)}',
540
- 'S':
541
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 1px 2px #{color.transparentize(var(--palettes-neutral-900), 0.02)}, 0 2px 6px #{color.transparentize(var(--palettes-neutral-900), 0.06)}',
542
- 'M':
543
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 2px 4px #{color.transparentize(var(--palettes-neutral-900), 0.02)}, 0 4px 10px #{color.transparentize(var(--palettes-neutral-900), 0.06)}',
544
- 'L':
545
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 3px 6px #{color.transparentize(var(--palettes-neutral-900), 0.04)}, 0 4px 16px #{color.transparentize(var(--palettes-neutral-900), 0.08)}',
546
- 'XL':
547
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, 0 4px 8px #{color.transparentize(var(--palettes-neutral-900), 0.06)}, 0 12px 32px #{color.transparentize(var(--palettes-neutral-900), 0.08)}',
548
- 'XXL':
549
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-900), 0.03)}, -2px 2px 8px #{color.transparentize(var(--palettes-neutral-900), 0.04)}, -12px 6px 24px #{color.transparentize(var(--palettes-neutral-900), 0.06)}',
550
- );
551
-
552
- $elevation: (
553
- surface: (
554
- 'sunken': var(--palettes-neutral-50),
555
- 'default': var(--palettes-neutral-25),
556
- 'raised': var(--palettes-neutral-0),
557
- 'backdrop': color.transparentize(var(--palettes-neutral-400), 0.4),
558
- ),
559
- shadow: (
560
- 'raised':
561
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-400), 0.08)}, 0 1px 2px #{color.transparentize(var(--palettes-neutral-400), 0.4)}, 0 2px 4px #{color.transparentize(var(--palettes-neutral-400), 0.2)}',
562
- 'overflow':
563
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-400), 0.08)}, 0 0 4px #{color.transparentize(var(--palettes-neutral-400), 0.32)}, 0 0 8px #{color.transparentize(var(--palettes-neutral-400), 0.24)}',
564
- 'overlay':
565
- '0 0 0 1px #{color.transparentize(var(--palettes-neutral-400), 0.08)}, 0 4px 8px #{color.transparentize(var(--palettes-neutral-400), 0.24)}, 0 4px 12px 2px #{color.transparentize(var(--palettes-neutral-400), 0.08)}',
566
- ),
567
- );
568
-
569
541
  // opacity is deprecated
570
542
  $disabled: (
571
543
  'opacity': 0.4,
@@ -587,13 +559,30 @@ $durations: (
587
559
  );
588
560
 
589
561
  $loading: (
590
- 'frontground': var(--palettes-product-500),
562
+ 'frontground': var(--palettes-500, var(--palettes-product-500)),
591
563
  'speed': 600ms,
564
+ 'borderWidth': 3px,
592
565
  );
593
566
 
594
567
  $textLink: (
595
568
  color: var(--palettes-product-700),
596
569
  hover: var(--palettes-product-600),
597
- disabled: var(--palettes-neutral-500),
598
- // disabled token candidate
570
+ disabled: var(--palettes-neutral-500), // disabled token candidate
599
571
  );
572
+
573
+ // Deprecated
574
+
575
+ // $colors are deprecated
576
+ $colors: (
577
+ 'white': #ffffff,
578
+ 'black': #121212,
579
+ );
580
+
581
+ // $colorsRgb are deprecated
582
+ $colorsRgb: (
583
+ 'white': '255, 255, 255',
584
+ 'neutral-400': '172, 187, 215',
585
+ 'neutral-900': '19, 29, 53',
586
+ 'grey-400': '172, 187, 215',
587
+ 'grey-900': '19, 29, 53',
588
+ ) !default;
@@ -34,40 +34,30 @@ $overflow: 'hidden', 'auto', 'visible', 'scroll';
34
34
 
35
35
  /* Tokens */
36
36
 
37
- @mixin spacing($boxModel, $boxDirection, $key, $value, $suffix: '!important', $token: true) {
38
- @if $token {
39
- .pr-u-#{transform.camelize($boxModel)}#{transform.capitalize($boxDirection)}#{transform.capitalize($key)} {
40
- #{$boxModel}#{if($boxDirection == '', '', '-')}#{$boxDirection}: var(--pr-t-spacings-#{$key}) #{$suffix};
41
- }
42
- } @else {
43
- .u-#{transform.camelize($boxModel)}#{transform.capitalize($boxDirection)}#{transform.capitalize($key)} {
44
- #{$boxModel}#{if($boxDirection == '', '', '-')}#{$boxDirection}: var(--spacings-#{$key}) #{$suffix};
45
- }
37
+ @mixin spacing($boxModel, $boxDirection, $key, $value, $suffix: '!important') {
38
+ .pr-u-#{transform.camelize($boxModel)}#{transform.capitalize($boxDirection)}#{transform.capitalize($key)} {
39
+ #{$boxModel}#{if($boxDirection == '', '', '-')}#{$boxDirection}: var(--pr-t-spacings-#{$key}) #{$suffix};
46
40
  }
47
41
  }
48
42
 
49
- @mixin spacings($token: true) {
50
- $spacings: config.$spacingsDeprecated;
51
- @if $token {
52
- $spacings: config.$spacings;
53
- }
43
+ @mixin spacings() {
54
44
  @each $boxModel in $boxModel {
55
45
  @each $boxDirection in $boxDirection {
56
- @each $key, $value in $spacings {
46
+ @each $key, $value in config.$spacings {
57
47
  @if $boxModel != 'border' or $value == 0 {
58
- @include spacing($boxModel, $boxDirection, $key, $value, $token: $token);
48
+ @include spacing($boxModel, $boxDirection, $key, $value);
59
49
  }
60
50
  }
61
51
 
62
52
  @if $boxModel == 'margin' {
63
- @include spacing($boxModel, $boxDirection, $key: 'auto', $value: auto, $token: $token);
53
+ @include spacing($boxModel, $boxDirection, $key: 'auto', $value: auto);
64
54
  }
65
55
  }
66
56
  }
67
57
 
68
58
  @each $gap in $gaps {
69
- @each $key, $value in $spacings {
70
- @include spacing($gap, $boxDirection: '', $key: $key, $value: $value, $token: $token);
59
+ @each $key, $value in config.$spacings {
60
+ @include spacing($gap, $boxDirection: '', $key: $key, $value: $value);
71
61
  }
72
62
  }
73
63
  }
@@ -140,3 +130,17 @@ $overflow: 'hidden', 'auto', 'visible', 'scroll';
140
130
  @function pxToRem($value) {
141
131
  @return math.div($value, 16px) * 1rem;
142
132
  }
133
+
134
+ @mixin fontFace($family, $weights, $path: '//cdn.lucca.fr/fonts', $style: normal) {
135
+ @each $keyword, $number in $weights {
136
+ @font-face {
137
+ font-family: '#{$family}';
138
+ src:
139
+ url('#{$path}/#{$family}/#{$keyword}.woff2') format('woff2'),
140
+ url('#{$path}/#{$family}/#{$keyword}.woff') format('woff');
141
+ font-weight: #{$number};
142
+ font-style: #{$style};
143
+ font-display: swap;
144
+ }
145
+ }
146
+ }
@@ -1,6 +1,22 @@
1
+ @use 'sass:map';
2
+ @use 'sass:math';
3
+ @use '@lucca-front/scss/src/commons/config';
4
+
1
5
  @function transparentize($color, $amount: 50%, $space: var(--commons-colorSpace, srgb)) {
2
- @if unit($amount) != '%' {
6
+ @if math.unit($amount) != '%' {
3
7
  $amount: $amount * 100%;
4
8
  }
5
9
  @return color-mix(in $space, $color $amount, transparent);
6
10
  }
11
+
12
+ @mixin palette($name, $shades: config.$palettesShades, $palette: false) {
13
+ @each $shade in $shades {
14
+ @if $palette {
15
+ @if map.get($palette, $shade) {
16
+ --palettes-#{$shade}: var(--palettes-#{$name}-#{$shade});
17
+ }
18
+ } @else {
19
+ --palettes-#{$shade}: var(--palettes-#{$name}-#{$shade});
20
+ }
21
+ }
22
+ }
@@ -1,8 +1,6 @@
1
1
  @use 'sass:list';
2
2
 
3
3
  @use '@lucca-front/icons/src/commons/core' as transform;
4
-
5
- @use '@lucca-front/scss/src/commons/config';
6
4
  @use '@lucca-front/scss/src/commons/core';
7
5
 
8
6
  @use '@lucca-front/scss/src/commons/utils/keyframe';
@@ -169,6 +167,10 @@
169
167
  @include reset.list($list: 'dl', $suffix: '!important');
170
168
  }
171
169
 
170
+ .u-summaryReset {
171
+ @include reset.summary('!important');
172
+ }
173
+
172
174
  .u-buttonReset {
173
175
  @include reset.button('!important');
174
176
  }
@@ -241,20 +243,6 @@
241
243
  color: var(--palettes-neutral-700) !important;
242
244
  }
243
245
 
244
- // .u-unit is deprecated
245
- .u-unit {
246
- font-size: 0.66em !important;
247
- }
248
-
249
- // .u-comma is deprecated
250
- .u-comma {
251
- &:not(:last-child) {
252
- &::after {
253
- content: ', ' !important;
254
- }
255
- }
256
- }
257
-
258
246
  .u-fontWeightRegular {
259
247
  font-weight: 400 !important;
260
248
  }
@@ -266,21 +254,20 @@
266
254
  .u-noSpinButtons {
267
255
  &::-webkit-outer-spin-button,
268
256
  &::-webkit-inner-spin-button {
269
- -webkit-appearance: none;
257
+ -webkit-appearance: none !important;
270
258
  }
271
259
 
272
260
  &[type='number'] {
273
- -moz-appearance: textfield;
261
+ -moz-appearance: textfield !important;
274
262
  }
275
263
  }
276
264
 
277
- @each $elevation in config.$elevations {
278
- $index: list.index(config.$elevations, $elevation);
265
+ .u-fontFamily {
266
+ font-family: var(--commons-font-family) !important;
267
+ }
279
268
 
280
- // .u-elevate* is deprecated
281
- .u-elevate#{$index} {
282
- box-shadow: var(--commons-elevations-elevation-#{$index});
283
- }
269
+ .u-fontFamilyCursive {
270
+ font-family: var(--commons-font-family-cursive) !important;
284
271
  }
285
272
 
286
273
  @include core.classes('float', core.$float);
@@ -354,9 +341,6 @@
354
341
  }
355
342
 
356
343
  @include core.spacings;
357
- @if (config.$importDeprecatedSpacings) {
358
- @include core.spacings($token: false);
359
- }
360
344
  @include core.sizes;
361
345
  @include core.borderRadius;
362
346
  @include core.palettes;
@@ -6,11 +6,12 @@
6
6
  @include keyframe.rotate;
7
7
 
8
8
  content: '';
9
+
9
10
  width: $size;
10
11
  height: $size;
11
12
  border-radius: var(--commons-borderRadius-full);
12
13
  line-height: 0.8rem;
13
- border-width: 3px;
14
+ border-width: var(--commons-loading-borderWidth);
14
15
  inset: 0;
15
16
  margin: auto;
16
17
  position: absolute;
@@ -33,11 +33,19 @@
33
33
  @mixin clearfix($suffix: '') {
34
34
  &::before,
35
35
  &::after {
36
- content: ' ';
37
- display: table;
36
+ content: ' ' #{$suffix};
37
+ display: table #{$suffix};
38
38
  }
39
39
 
40
40
  &:after {
41
- clear: both;
41
+ clear: both #{$suffix};
42
+ }
43
+ }
44
+
45
+ @mixin summary($suffix: '') {
46
+ list-style: none #{$suffix};
47
+
48
+ &::-webkit-details-marker {
49
+ display: none #{$suffix};
42
50
  }
43
51
  }
@@ -14,6 +14,8 @@
14
14
  @include core.cssvars('pr-t-spacings', config.$spacings);
15
15
  --pr-t-spacings-auto: auto;
16
16
 
17
+ @include core.cssvars('pr-t-color-input', config.$colorInput);
18
+
17
19
  // VARIABLES
18
20
 
19
21
  @include core.cssvars('commons-borderRadius', config.$borderRadius);
@@ -28,13 +30,6 @@
28
30
  }
29
31
 
30
32
  @include core.cssvars('breakpoints', config.$breakpoints, '-breakAt');
31
- @if (config.$importDeprecatedSpacings) {
32
- @include core.cssvars('spacings', config.$spacingsDeprecated);
33
- --spacings-auto: auto;
34
- }
35
-
36
- @include core.cssvars('commons-elevations-elevation', config.$elevations);
37
- @include core.cssvars('commons-boxShadow', config.$boxShadows); // deprecated
38
33
 
39
34
  @each $key, $map in config.$sizes {
40
35
  @include core.cssvars('sizes-#{$key}', $map);
@@ -51,6 +46,10 @@
51
46
  --commons-border-100: var(--palettes-neutral-100);
52
47
  --commons-border-200: var(--palettes-neutral-200);
53
48
 
49
+ @if (config.$fontFamilyCursive) {
50
+ --commons-font-family-cursive: '#{config.$fontFamilyCursive}', cursive;
51
+ }
52
+
54
53
  // Deprecated
55
54
  --commons-background-base: var(--palettes-neutral-25);
56
55
  --commons-divider-color: var(--palettes-neutral-200);
@@ -44,9 +44,7 @@
44
44
  }
45
45
  }
46
46
 
47
- // .mod-icon is deprecated
48
- &.mod-withIcon,
49
- &.mod-icon {
47
+ &.mod-withIcon {
50
48
  @include withIcon;
51
49
 
52
50
  &.mod-S {