@nappr/nappr-styles 0.3.2 → 0.3.5
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.
- package/README.md +33 -20
- package/dist/styles.css +7745 -1
- package/dist/styles.css.map +1 -1
- package/dist/styles.min.css +3 -0
- package/dist/styles.min.css.map +1 -0
- package/docs/_coverpage.md +2 -2
- package/docs/_sidebar.md +2 -2
- package/docs/docs.theme.css +2 -1
- package/docs/docs.theme.css.map +1 -1
- package/docs/index.html +1 -1
- package/docs/pages/displays.md +26 -8
- package/docs/pages/grid.md +365 -0
- package/docs/pages/helpers.md +30 -18
- package/docs/pages/quick-start.md +100 -14
- package/docs/temp.scss +122 -0
- package/index.d.ts +25 -0
- package/package.json +49 -14
- package/sass/_globals.module.scss +43 -0
- package/sass/_globals.scss +79 -0
- package/sass/components/_.scss +2 -0
- package/sass/components/_badge.scss +58 -0
- package/sass/components/_button.scss +244 -0
- package/sass/components/_nav.scss +95 -0
- package/sass/components/scrollbar/_.scss +102 -0
- package/sass/configs/_.scss +7 -0
- package/sass/configs/_breakpoints.scss +12 -0
- package/sass/configs/_defaults.scss +6 -0
- package/sass/configs/_grid.scss +10 -0
- package/sass/configs/_palettes.scss +72 -0
- package/sass/configs/_spacing.scss +36 -0
- package/sass/configs/_text.scss +39 -0
- package/sass/configs/_themes.scss +24 -0
- package/sass/core/funcs/_list.scss +43 -0
- package/sass/core/funcs/_map.scss +42 -0
- package/sass/core/funcs/_math.scss +35 -0
- package/sass/core/funcs/_string.scss +47 -0
- package/sass/core/mixins/_.scss +3 -0
- package/{lib → sass/core}/mixins/_links.scss +2 -2
- package/sass/core/mixins/_media-queries.scss +22 -0
- package/sass/core/mixins/_typography.scss +26 -0
- package/sass/core/placeholders/_.scss +4 -0
- package/sass/core/placeholders/_dimensions.scss +31 -0
- package/sass/core/placeholders/_flexbox.scss +11 -0
- package/sass/core/placeholders/_lists.scss +41 -0
- package/sass/core/placeholders/_positions.scss +19 -0
- package/sass/core/placeholders/_typography.scss +10 -0
- package/sass/elements/_.scss +6 -0
- package/sass/elements/_dialog.scss +13 -0
- package/{lib/htmls → sass/elements}/_form.scss +28 -6
- package/sass/elements/_links.scss +132 -0
- package/sass/elements/_lists.scss +11 -0
- package/{lib/htmls → sass/elements}/_table.scss +2 -6
- package/sass/elements/_typography.scss +13 -0
- package/sass/layout/grid/_.scss +4 -0
- package/sass/layout/grid/_columns.scss +32 -0
- package/sass/layout/grid/_gaps.scss +42 -0
- package/sass/layout/grid/_grid.scss +158 -0
- package/sass/layout/grid/_offsets.scss +35 -0
- package/sass/main.scss +59 -0
- package/sass/resets/_.scss +5 -0
- package/sass/resets/_base.scss +69 -0
- package/sass/resets/_nappr.scss +83 -0
- package/sass/themes/_dark.scss +17 -0
- package/sass/themes/_dracula.scss +17 -0
- package/sass/themes/_github-light.scss +17 -0
- package/sass/themes/_light.scss +17 -0
- package/sass/themes/_monokai-pro.scss +17 -0
- package/sass/themes/_night-owl.scss +17 -0
- package/sass/themes/_nord.scss +17 -0
- package/sass/themes/_tokyo-night.scss +17 -0
- package/sass/utilities/_.scss +21 -0
- package/sass/utilities/_dimensions.scss +11 -0
- package/sass/utilities/_displays.scss +127 -0
- package/sass/utilities/_flexbox.scss +102 -0
- package/{lib/helpers → sass/utilities}/_floats.scss +10 -15
- package/sass/utilities/_lists.scss +86 -0
- package/sass/utilities/_negates.scss +121 -0
- package/sass/utilities/_palette.scss +11 -0
- package/sass/utilities/_scrolls.scss +78 -0
- package/sass/utilities/_spacers.scss +120 -0
- package/sass/utilities/_square-grid.scss +33 -0
- package/sass/utilities/_typography.scss +106 -0
- package/sass/utilities/_visibility.scss +60 -0
- package/sass/utilities/_wrap.scss +12 -0
- package/styles.scss +5 -1
- package/lib/_globals.scss +0 -16
- package/lib/_reset.scss +0 -223
- package/lib/customs/scrollbar.scss +0 -40
- package/lib/funcs/_.scss +0 -5
- package/lib/funcs/_get-color.scss +0 -3
- package/lib/funcs/_math.scss +0 -5
- package/lib/funcs/_merge-palette.scss +0 -12
- package/lib/funcs/_rem.scss +0 -104
- package/lib/funcs/_strings.scss +0 -35
- package/lib/grid/_.scss +0 -4
- package/lib/grid/_col.scss +0 -117
- package/lib/grid/_row.scss +0 -117
- package/lib/grid/_square.scss +0 -34
- package/lib/grid/_wrap.scss +0 -39
- package/lib/helpers/_.scss +0 -9
- package/lib/helpers/_displays.scss +0 -151
- package/lib/helpers/_flexbox.scss +0 -105
- package/lib/helpers/_margins.scss +0 -13
- package/lib/helpers/_negates.scss +0 -171
- package/lib/helpers/_scrolls.scss +0 -55
- package/lib/helpers/_texts.scss +0 -101
- package/lib/helpers/_visibility.scss +0 -34
- package/lib/htmls/_.scss +0 -4
- package/lib/htmls/_headings.scss +0 -29
- package/lib/htmls/_links.scss +0 -11
- package/lib/mixins/_.scss +0 -9
- package/lib/mixins/_border-radius.scss +0 -61
- package/lib/mixins/_border.scss +0 -48
- package/lib/mixins/_dimensions.scss +0 -48
- package/lib/mixins/_font-size.scss +0 -22
- package/lib/mixins/_line-height.scss +0 -19
- package/lib/mixins/_margin-padding.scss +0 -66
- package/lib/mixins/_root-variables.scss +0 -11
- package/lib/mixins/_theme.scss +0 -25
- package/lib/styles.scss +0 -19
- package/lib/variables/_.scss +0 -4
- package/lib/variables/_breakpoints.scss +0 -5
- package/lib/variables/_colors.scss +0 -60
- package/lib/variables/_defaults.scss +0 -53
- /package/{lib/helpers → sass/utilities}/_pointers.scss +0 -0
package/docs/pages/helpers.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
## Font Size
|
|
2
2
|
|
|
3
|
-
> Les tailles des fonts sont à définir par la variable sass `$
|
|
3
|
+
> Les tailles des fonts sont à définir par la variable sass `$NAPPR_FONT_SIZES_MAP`
|
|
4
4
|
|
|
5
|
-
```
|
|
6
|
-
$
|
|
5
|
+
```scss
|
|
6
|
+
$NAPPR_FONT_SIZES_MAP: (6, 8, 9, 12, 24, 26) !default;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Exemple en utilisant la classe `.fs24`**
|
|
10
10
|
|
|
11
11
|
```html
|
|
12
12
|
<span class="fs24">Font size: 24px</span>
|
|
@@ -14,10 +14,10 @@ $FontSizes: (6, 8, 9, 12, 26, 24);
|
|
|
14
14
|
|
|
15
15
|
## Margin / Padding
|
|
16
16
|
|
|
17
|
-
> Les tailles des margin/padding sont à définir par la variable sass `$
|
|
17
|
+
> Les tailles des margin/padding sont à définir par la variable sass `$NAPPR_SPACINGS_MAP`
|
|
18
18
|
|
|
19
|
-
```
|
|
20
|
-
$
|
|
19
|
+
```scss
|
|
20
|
+
$NAPPR_SPACINGS_MAP: (3, 6, 9, 12, 18, 24, 48) !default;
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
> Il est alors possible d'ajouter du margin/padding sur :
|
|
@@ -26,7 +26,7 @@ $MarginPadding: (6, 8, 9, 12, 26, 24);
|
|
|
26
26
|
> - les 2 axes `.my(n) .mx(n)`
|
|
27
27
|
> - les 4 directions `.mt(n), .mr(n), .mb(n), .ml(n)`
|
|
28
28
|
|
|
29
|
-
**L'
|
|
29
|
+
**L'exemple ci-dessous ajoute un padding de 24px sur la position top d'un bloc**
|
|
30
30
|
|
|
31
31
|
```html
|
|
32
32
|
<div class="pt24">padding-top: 24px;</div>
|
|
@@ -34,12 +34,12 @@ $MarginPadding: (6, 8, 9, 12, 26, 24);
|
|
|
34
34
|
|
|
35
35
|
## Borders
|
|
36
36
|
|
|
37
|
-
> Le type de bordure est à définir par la variable `$
|
|
38
|
-
> Les tailles des bordures sont à définir par la variable sass `$
|
|
37
|
+
> Le type de bordure est à définir par la variable `$NAPPR_BORDER_STYLE`
|
|
38
|
+
> Les tailles des bordures sont à définir par la variable sass `$NAPPR_BORDER_SIZE_MAP`
|
|
39
39
|
|
|
40
|
-
```
|
|
41
|
-
$
|
|
42
|
-
$
|
|
40
|
+
```scss
|
|
41
|
+
$NAPPR_BORDER_STYLE: solid !default;
|
|
42
|
+
$NAPPR_BORDER_SIZE_MAP: (1, 2, 3) !default;
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
> Il est alors possible d'ajouter des bordures sur :
|
|
@@ -48,7 +48,7 @@ $BorderSizes: (1, 2, 3);
|
|
|
48
48
|
> - les 2 axes `.bx(n) .by(n)`
|
|
49
49
|
> - les 4 directions `.bt(n), .br(n), .bb(n), .bl(n)`
|
|
50
50
|
|
|
51
|
-
**L'
|
|
51
|
+
**L'exemple ci-dessous ajoute une bordure de 2px sur les positions top et bottom d'un bloc**
|
|
52
52
|
|
|
53
53
|
```html
|
|
54
54
|
<div class="by2" style="border-color: #CCCCCCCC;">
|
|
@@ -58,10 +58,10 @@ $BorderSizes: (1, 2, 3);
|
|
|
58
58
|
|
|
59
59
|
## Border Radius
|
|
60
60
|
|
|
61
|
-
> Les arrondis de bordures sont à définir par la variable sass `$
|
|
61
|
+
> Les arrondis de bordures sont à définir par la variable sass `$NAPPR_BORDER_RADIUS_MAP`.
|
|
62
62
|
|
|
63
|
-
```
|
|
64
|
-
$
|
|
63
|
+
```scss
|
|
64
|
+
$NAPPR_BORDER_RADIUS_MAP: (2, 3, 4, 8, 10, 12) !default;
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
> Il est alors possible d'ajouter des angles arrondis à un bloc sur :
|
|
@@ -69,10 +69,22 @@ $BorderRadiusSizes: (2, 3, 4, 8, 10, 12);
|
|
|
69
69
|
> - la totalité d'un bloc `.brad(n)`
|
|
70
70
|
> - les 4 directions `.bradt(n), .bradr(n), .bradb(n), .bradl(n)`
|
|
71
71
|
|
|
72
|
-
**L'
|
|
72
|
+
**L'exemple ci-dessous ajoute un angle arrondi de 2px sur le haut d'un bloc**
|
|
73
73
|
|
|
74
74
|
```html
|
|
75
75
|
<div class="bradt2" style="border-color: #CCCCCC;">
|
|
76
76
|
<span>Lorem ipsum</span>
|
|
77
77
|
</div>
|
|
78
78
|
```
|
|
79
|
+
|
|
80
|
+
## Deprecated
|
|
81
|
+
|
|
82
|
+
> ⚠️ **Version 1.0.0** : Les variables suivantes ont été renommées.
|
|
83
|
+
|
|
84
|
+
| Ancienne variable | Nouvelle variable |
|
|
85
|
+
|-------------------|-------------------|
|
|
86
|
+
| `$FontSizes` | `$NAPPR_FONT_SIZES_MAP` |
|
|
87
|
+
| `$MarginPaddingSizes` | `$NAPPR_SPACINGS_MAP` |
|
|
88
|
+
| `$BorderStyle` | `$NAPPR_BORDER_STYLE` |
|
|
89
|
+
| `$BorderSizes` | `$NAPPR_BORDER_SIZE_MAP` |
|
|
90
|
+
| `$BorderRadiusSizes` | `$NAPPR_BORDER_RADIUS_MAP` |
|
|
@@ -1,26 +1,112 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Quick Start
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Guide de démarrage rapide pour utiliser @nappr/nappr-styles
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
yarn add https://github.com/sixertoy/nappr-styles.git#latest
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Configuration
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
$body-width: 100% !default;
|
|
15
|
-
$body-font-size: 16px !default;
|
|
16
|
-
$default-padding: 12px !default;
|
|
13
|
+
Créez un fichier `variables.scss` pour personnaliser les variables :
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
$
|
|
15
|
+
```scss
|
|
16
|
+
// Configuration principale
|
|
17
|
+
$NAPPR_BODY_FONT_SIZE: 16px !default;
|
|
18
|
+
$NAPPR_BODY_WIDTH: 100vw !default;
|
|
19
|
+
$NAPPR_DEFAULT_SPACING: 12px !default;
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
// Tailles de police
|
|
22
|
+
$NAPPR_FONT_SIZES_MAP: (11, 12, 14, 16) !default;
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
$
|
|
24
|
+
// Espacements
|
|
25
|
+
$NAPPR_SPACINGS_MAP: (3, 6, 9, 12, 18, 24, 48) !default;
|
|
26
|
+
|
|
27
|
+
// Dimensions
|
|
28
|
+
$NAPPR_DIMENSIONS_MAP: (25, 50, 75, 100) !default;
|
|
29
|
+
|
|
30
|
+
// Bordures
|
|
31
|
+
$NAPPR_BORDER_STYLE: solid !default;
|
|
32
|
+
$NAPPR_BORDER_SIZE_MAP: (1, 2, 3) !default;
|
|
33
|
+
$NAPPR_BORDER_RADIUS_MAP: (4, 8, 12) !default;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Utilisation
|
|
37
|
+
|
|
38
|
+
Importez les styles dans votre fichier principal :
|
|
39
|
+
|
|
40
|
+
```scss
|
|
41
|
+
@use './variables.scss' as *;
|
|
42
|
+
@use '@nappr/nappr-styles/styles.scss' as *;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Exemple complet
|
|
46
|
+
|
|
47
|
+
```scss
|
|
48
|
+
// variables.scss
|
|
49
|
+
$NAPPR_BODY_FONT_SIZE: 16px !default;
|
|
50
|
+
$NAPPR_FONT_SIZES_MAP: (12, 14, 16, 24) !default;
|
|
51
|
+
$NAPPR_SPACINGS_MAP: (6, 12, 18, 24) !default;
|
|
52
|
+
|
|
53
|
+
// main.scss
|
|
54
|
+
@use './variables.scss' as *;
|
|
55
|
+
@use '@nappr/nappr-styles/styles.scss' as *;
|
|
56
|
+
|
|
57
|
+
.my-component {
|
|
58
|
+
@extend .fs16;
|
|
59
|
+
@extend .m12;
|
|
60
|
+
@extend .p6;
|
|
61
|
+
}
|
|
26
62
|
```
|
|
63
|
+
|
|
64
|
+
## Deprecated
|
|
65
|
+
|
|
66
|
+
> ⚠️ **Version 1.0.0** : Les éléments suivants ont été supprimés.
|
|
67
|
+
|
|
68
|
+
### Variables deprecated
|
|
69
|
+
|
|
70
|
+
| Ancienne variable | Nouvelle variable |
|
|
71
|
+
|-------------------|-------------------|
|
|
72
|
+
| `$body-width` | `$NAPPR_BODY_WIDTH` |
|
|
73
|
+
| `$body-font-size` | `$NAPPR_BODY_FONT_SIZE` |
|
|
74
|
+
| `$default-spacing` | `$NAPPR_DEFAULT_SPACING` |
|
|
75
|
+
| `$font-sizes-map` | `$NAPPR_FONT_SIZES_MAP` |
|
|
76
|
+
| `$spacings-map` | `$NAPPR_SPACINGS_MAP` |
|
|
77
|
+
| `$border-style` | `$NAPPR_BORDER_STYLE` |
|
|
78
|
+
| `$border-size-map` | `$NAPPR_BORDER_SIZE_MAP` |
|
|
79
|
+
| `$border-radius-map` | `$NAPPR_BORDER_RADIUS_MAP` |
|
|
80
|
+
|
|
81
|
+
### Syntaxe deprecated
|
|
82
|
+
|
|
83
|
+
```scss
|
|
84
|
+
// ❌ Ancienne syntaxe (deprecated)
|
|
85
|
+
@import './_variables.scss';
|
|
86
|
+
@import '~@nappr/nappr-styles/styles.scss';
|
|
87
|
+
|
|
88
|
+
// ✅ Nouvelle syntaxe
|
|
89
|
+
@use './variables.scss' as *;
|
|
90
|
+
@use '@nappr/nappr-styles/styles.scss' as *;
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Grille deprecated
|
|
94
|
+
|
|
95
|
+
Les anciennes classes `.columns` et `.rows` (basées sur flexbox) ont été supprimées. Utilisez le nouveau système de grille CSS Grid :
|
|
96
|
+
|
|
97
|
+
```scss
|
|
98
|
+
// ❌ Deprecated
|
|
99
|
+
.columns .col-50 { ... }
|
|
100
|
+
|
|
101
|
+
// ✅ Nouvelle syntaxe
|
|
102
|
+
.nappr-grid .nappr-grid-col-6 { ... }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Migration
|
|
106
|
+
|
|
107
|
+
Pour migrer votre code vers la version 1.0.0+ :
|
|
108
|
+
|
|
109
|
+
1. **Remplacez toutes les variables** : Utilisez les variables en MAJUSCULES préfixées avec `NAPPR_`
|
|
110
|
+
2. **Remplacez `@import` par `@use`** : Utilisez la syntaxe moderne des modules Sass
|
|
111
|
+
3. **Configuration rem** : Si vous utilisiez `$rem-baseline`, `$rem-fallback` ou `$rem-px-only`, configurez directement `sass-rem` dans votre projet
|
|
112
|
+
4. **Migrez vers la nouvelle grille** : Remplacez `.columns`/`.rows` par `.nappr-grid` et `.nappr-grid-col-*`
|
package/docs/temp.scss
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// ==============================================
|
|
2
|
+
// 1. Variables : Polices et Couleurs (Basé sur le DSFR)
|
|
3
|
+
// ==============================================
|
|
4
|
+
|
|
5
|
+
// Polices
|
|
6
|
+
$font-marianne: 'Marianne', arial, sans-serif;
|
|
7
|
+
$font-spectral: 'Spectral', georgia, serif; // Utilisée pour les Displays selon la charte
|
|
8
|
+
|
|
9
|
+
// Couleurs (Tokens DSFR - à ajuster si besoin)
|
|
10
|
+
$color-text-default: #161616; // Couleur G800 sur fond clair
|
|
11
|
+
$color-text-inverted: #ffffff; // Couleur White sur fond foncé
|
|
12
|
+
$margin-bottom-heading: 1.5rem; // 24px/16 = 1.5rem (pour h1-h6)
|
|
13
|
+
$margin-bottom-display: 2rem; // 32px/16 = 2rem (pour les displays)
|
|
14
|
+
|
|
15
|
+
// Variables de taille de police (À REMPLACER PAR LES VALEURS EXACTES DU DSFR)
|
|
16
|
+
// Ces valeurs sont indicatives et doivent être vérifiées dans la documentation DSFR
|
|
17
|
+
$h1-font-size: 2.5rem; // Ex: 40px
|
|
18
|
+
$h2-font-size: 2rem; // Ex: 32px
|
|
19
|
+
$h3-font-size: 1.75rem; // Ex: 28px
|
|
20
|
+
$h4-font-size: 1.5rem; // Ex: 24px
|
|
21
|
+
$h5-font-size: 1.25rem; // Ex: 20px
|
|
22
|
+
$h6-font-size: 1rem; // Ex: 16px
|
|
23
|
+
|
|
24
|
+
$display-xl-font-size: 4rem; // Très grand display
|
|
25
|
+
$display-lg-font-size: 3rem; // Grand display
|
|
26
|
+
$display-md-font-size: 2.5rem; // Display moyen
|
|
27
|
+
|
|
28
|
+
// ==============================================
|
|
29
|
+
// 2. Mixin pour styliser un titre
|
|
30
|
+
// ==============================================
|
|
31
|
+
|
|
32
|
+
@mixin heading-style(
|
|
33
|
+
$font-size,
|
|
34
|
+
$font-weight: 700,
|
|
35
|
+
$font-family: $font-marianne,
|
|
36
|
+
$margin-bottom: $margin-bottom-heading
|
|
37
|
+
) {
|
|
38
|
+
color: $color-text-default;
|
|
39
|
+
font-family: $font-family;
|
|
40
|
+
font-size: $font-size;
|
|
41
|
+
font-weight: $font-weight;
|
|
42
|
+
line-height: 1.2; // Ligne de hauteur à vérifier dans le DSFR
|
|
43
|
+
margin-bottom: $margin-bottom;
|
|
44
|
+
margin-top: 0; // Réinitialise la marge supérieure
|
|
45
|
+
|
|
46
|
+
// Style pour le mode sombre ou fond coloré
|
|
47
|
+
.fr-scheme-dark &,
|
|
48
|
+
.fr-background-alt & {
|
|
49
|
+
color: $color-text-inverted;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// ==============================================
|
|
54
|
+
// 3. Application des styles aux balises HTML (H1 à H6)
|
|
55
|
+
// ==============================================
|
|
56
|
+
|
|
57
|
+
h1 {
|
|
58
|
+
@include heading-style($h1-font-size, 700); // Généralement Bold
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
h2 {
|
|
62
|
+
@include heading-style($h2-font-size, 700);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
h3 {
|
|
66
|
+
@include heading-style($h3-font-size, 700);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
h4 {
|
|
70
|
+
@include heading-style($h4-font-size, 700);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
h5 {
|
|
74
|
+
@include heading-style($h5-font-size, 700);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
h6 {
|
|
78
|
+
@include heading-style($h6-font-size, 700);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// ==============================================
|
|
82
|
+
// 4. Titres Alternatifs (Display)
|
|
83
|
+
// ==============================================
|
|
84
|
+
|
|
85
|
+
// Les displays utilisent souvent la police Spectral et un poids plus lourd
|
|
86
|
+
.fr-display--xl {
|
|
87
|
+
@include heading-style(
|
|
88
|
+
$display-xl-font-size,
|
|
89
|
+
800,
|
|
90
|
+
$font-spectral,
|
|
91
|
+
$margin-bottom-display
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.fr-display--lg {
|
|
96
|
+
@include heading-style(
|
|
97
|
+
$display-lg-font-size,
|
|
98
|
+
800,
|
|
99
|
+
$font-spectral,
|
|
100
|
+
$margin-bottom-display
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.fr-display--md {
|
|
105
|
+
@include heading-style(
|
|
106
|
+
$display-md-font-size,
|
|
107
|
+
800,
|
|
108
|
+
$font-spectral,
|
|
109
|
+
$margin-bottom-display
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Classe pour réinitialiser le style de titre (si besoin)
|
|
114
|
+
.fr-text--lead {
|
|
115
|
+
font-family: $font-marianne;
|
|
116
|
+
|
|
117
|
+
// Style spécifique pour un texte d'introduction
|
|
118
|
+
font-size: 1.25rem;
|
|
119
|
+
font-weight: 400;
|
|
120
|
+
|
|
121
|
+
// Autres styles...
|
|
122
|
+
}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for @nappr/nappr-styles
|
|
3
|
+
*
|
|
4
|
+
* Provides TypeScript support for importing CSS and SCSS files.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
declare module '*.css' {
|
|
8
|
+
const content: string;
|
|
9
|
+
export default content;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare module '*.scss' {
|
|
13
|
+
const content: { [className: string]: string };
|
|
14
|
+
export default content;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare module '*.module.css' {
|
|
18
|
+
const classes: { [key: string]: string };
|
|
19
|
+
export default classes;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare module '*.module.scss' {
|
|
23
|
+
const classes: { [key: string]: string };
|
|
24
|
+
export default classes;
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,35 +1,70 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nappr/nappr-styles",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "A collection of SCSS helpers",
|
|
5
|
-
"main": "./styles.
|
|
6
|
-
"browser": "./dist/styles.css",
|
|
5
|
+
"main": "./dist/styles.min.css",
|
|
6
|
+
"browser": "./dist/styles.min.css",
|
|
7
|
+
"style": "./dist/styles.min.css",
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"sass": "./styles.scss",
|
|
7
10
|
"homepage": "https://sixertoy.github.io/nappr-styles",
|
|
8
|
-
"repository":
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/sixertoy/nappr-styles.git"
|
|
14
|
+
},
|
|
9
15
|
"author": "sixertoy <sixertoy.github@gmail.com>",
|
|
10
16
|
"license": "ISC",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"scss",
|
|
19
|
+
"sass",
|
|
20
|
+
"css",
|
|
21
|
+
"styles",
|
|
22
|
+
"helpers",
|
|
23
|
+
"utilities",
|
|
24
|
+
"nappr"
|
|
25
|
+
],
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=14.0.0"
|
|
28
|
+
},
|
|
11
29
|
"files": [
|
|
12
|
-
"
|
|
30
|
+
"sass",
|
|
13
31
|
"dist",
|
|
14
32
|
"docs",
|
|
15
33
|
"styles.scss",
|
|
16
|
-
"
|
|
34
|
+
"styles.module.scss",
|
|
35
|
+
"*.d.ts"
|
|
17
36
|
],
|
|
18
37
|
"devDependencies": {
|
|
38
|
+
"cssnano": "^7.1.2",
|
|
39
|
+
"cssnano-preset-advanced": "^7.0.10",
|
|
19
40
|
"docsify": "^4.13.1",
|
|
20
41
|
"docsify-cli": "^4.4.4",
|
|
21
|
-
"
|
|
42
|
+
"postcss": "^8.5.6",
|
|
43
|
+
"postcss-cli": "^11.0.1",
|
|
44
|
+
"postcss-scss": "^4.0.9",
|
|
45
|
+
"postcss-sort-media-queries": "^5.2.0",
|
|
46
|
+
"prettier": "^3.6.2",
|
|
22
47
|
"prettier-stylelint": "0.4.2",
|
|
23
|
-
"
|
|
24
|
-
"stylelint": "^
|
|
25
|
-
"stylelint-config-standard": "^
|
|
48
|
+
"stylelint": "^16.25.0",
|
|
49
|
+
"stylelint-config-standard": "^39.0.1",
|
|
50
|
+
"stylelint-config-standard-scss": "^16.0.0",
|
|
26
51
|
"stylelint-order": "^7.0.0",
|
|
27
|
-
"stylelint-scss": "^6.
|
|
52
|
+
"stylelint-scss": "^6.12.1"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"sass": "^1.93.3",
|
|
56
|
+
"sass-rem": "^4.0.0"
|
|
28
57
|
},
|
|
29
58
|
"scripts": {
|
|
30
|
-
"cleanup": "rm -rf node_modules",
|
|
59
|
+
"cleanup": "rm -rf node_modules dist",
|
|
31
60
|
"docs": "docsify serve docs --port=2999",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
61
|
+
"build": "./.scripts/build.sh",
|
|
62
|
+
"lint": "./.scripts/lint.sh",
|
|
63
|
+
"lint:fix": "./.scripts/lint.sh --fix",
|
|
64
|
+
"format": "./.scripts/format.sh",
|
|
65
|
+
"format:check": "./.scripts/format.sh --check",
|
|
66
|
+
"prepare": "yarn build",
|
|
67
|
+
"prepublishOnly": "yarn validate && yarn build",
|
|
68
|
+
"validate": "yarn lint && yarn format:check"
|
|
34
69
|
}
|
|
35
70
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@use './configs/' as configs;
|
|
2
|
+
@use './core/funcs/string' as string;
|
|
3
|
+
|
|
4
|
+
// ==========================================================
|
|
5
|
+
// Mixins
|
|
6
|
+
// ==========================================================
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Export module variables
|
|
10
|
+
* @param {Map} $map - Map containing the variables to export
|
|
11
|
+
* @return {Void}
|
|
12
|
+
*/
|
|
13
|
+
@mixin export-moudles-variables($map) {
|
|
14
|
+
@each $token, $vars in $map {
|
|
15
|
+
$prefix: string.capitalize(string.camelize($token));
|
|
16
|
+
|
|
17
|
+
@each $key, $value in $vars {
|
|
18
|
+
$var: string.capitalize(string.camelize($key));
|
|
19
|
+
|
|
20
|
+
nappr#{$prefix}#{$var}: #{$value};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// ==========================================================
|
|
26
|
+
// Root variables
|
|
27
|
+
// ==========================================================
|
|
28
|
+
$ROOT_EXPORTS: (
|
|
29
|
+
'': configs.$NAPPR_DEFAULTS,
|
|
30
|
+
'palette': configs.$NAPPR_PALETTES,
|
|
31
|
+
'breakpoint': configs.$NAPPR_BREAKPOINTS,
|
|
32
|
+
'theme': map.get(
|
|
33
|
+
configs.$NAPPR_THEMES,
|
|
34
|
+
map.get(configs.$NAPPR_DEFAULTS, 'default-theme')
|
|
35
|
+
),
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
// ==========================================================
|
|
39
|
+
// Export module variables
|
|
40
|
+
// ==========================================================
|
|
41
|
+
:export {
|
|
42
|
+
@include export-moudles-variables(globals.$ROOT_EXPORTS);
|
|
43
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
@use 'sass:meta';
|
|
2
|
+
@use './configs/' as configs;
|
|
3
|
+
@use './core/funcs/map' as map;
|
|
4
|
+
|
|
5
|
+
// ==========================================================
|
|
6
|
+
// Mixins
|
|
7
|
+
// ==========================================================
|
|
8
|
+
|
|
9
|
+
// Génère les variables CSS personnalisées pour :root
|
|
10
|
+
// @param {Map} $map - Map contenant les configurations à exporter
|
|
11
|
+
// @param {String} $prefix - Préfixe pour les variables
|
|
12
|
+
@mixin generate-root-vars($map, $prefix: '') {
|
|
13
|
+
@each $key, $value in $map {
|
|
14
|
+
$is-map: meta.type-of($value) == 'map';
|
|
15
|
+
|
|
16
|
+
@if $is-map {
|
|
17
|
+
@include generate-root-vars($value, '#{$prefix}#{$key}');
|
|
18
|
+
} @else {
|
|
19
|
+
$name-prefix: if($prefix != '', '#{$prefix}-', '');
|
|
20
|
+
$var-name: '#{$name-prefix}#{$key}';
|
|
21
|
+
|
|
22
|
+
--nappr-#{$var-name}: #{$value};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@mixin generate-palette-variables($map) {
|
|
28
|
+
@each $key, $value in $map {
|
|
29
|
+
[data-color='#{$key}'] {
|
|
30
|
+
--nappr-data-color: #{$value};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Génère les variables CSS personnalisées pour chaque thème
|
|
36
|
+
// @param {Map} $map - Map contenant les configurations de thèmes
|
|
37
|
+
@mixin generate-theme-variables($themes) {
|
|
38
|
+
@each $token, $map in $themes {
|
|
39
|
+
[data-theme='#{$token}'] {
|
|
40
|
+
@each $key, $value in $map {
|
|
41
|
+
--nappr-data-color: var(--nappr-palette-#{$token});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// ==========================================================
|
|
48
|
+
// Root variables
|
|
49
|
+
// ==========================================================
|
|
50
|
+
$ROOT_EXPORTS: (
|
|
51
|
+
'': configs.$NAPPR_DEFAULTS,
|
|
52
|
+
'text': configs.$NAPPR_TEXT,
|
|
53
|
+
'palette': configs.$NAPPR_PALETTES,
|
|
54
|
+
'breakpoint': configs.$NAPPR_BREAKPOINTS,
|
|
55
|
+
'grid': configs.$NAPPR_GRID,
|
|
56
|
+
'spacing': configs.$NAPPR_SPACING,
|
|
57
|
+
'theme': map.get(
|
|
58
|
+
configs.$NAPPR_THEMES,
|
|
59
|
+
map.get(configs.$NAPPR_DEFAULTS, 'default-theme')
|
|
60
|
+
),
|
|
61
|
+
);
|
|
62
|
+
$ROOT_THEMES_EXPORTS: (
|
|
63
|
+
'dark-theme': map.get(configs.$NAPPR_THEMES, 'dark-theme'),
|
|
64
|
+
'light-theme': map.get(configs.$NAPPR_THEMES, 'light-theme'),
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
// ==========================================================
|
|
68
|
+
// Export root variables
|
|
69
|
+
// ==========================================================
|
|
70
|
+
:root {
|
|
71
|
+
// --- ROOT VARIABLES ---
|
|
72
|
+
@include generate-root-vars($ROOT_EXPORTS);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// --- THEME VARIABLES ---
|
|
76
|
+
@include generate-palette-variables(configs.$NAPPR_PALETTES);
|
|
77
|
+
|
|
78
|
+
// --- THEME VARIABLES ---
|
|
79
|
+
@include generate-theme-variables($ROOT_THEMES_EXPORTS);
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// ==========================================================
|
|
2
|
+
// BADGE COMPONENT
|
|
3
|
+
// ==========================================================
|
|
4
|
+
|
|
5
|
+
.badge {
|
|
6
|
+
align-items: center;
|
|
7
|
+
border-radius: 0.25rem;
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
font-family: inherit;
|
|
10
|
+
font-weight: 500;
|
|
11
|
+
gap: 0.5rem;
|
|
12
|
+
line-height: var(--nappr-text-line-height);
|
|
13
|
+
text-align: center;
|
|
14
|
+
vertical-align: middle;
|
|
15
|
+
white-space: nowrap;
|
|
16
|
+
|
|
17
|
+
.icon {
|
|
18
|
+
align-items: center;
|
|
19
|
+
display: inline-flex;
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.badge--icon-left {
|
|
25
|
+
.icon {
|
|
26
|
+
order: -1;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// ==========================================================
|
|
32
|
+
// BADGE SIZES
|
|
33
|
+
// ==========================================================
|
|
34
|
+
|
|
35
|
+
// // Medium size (default)
|
|
36
|
+
.badge,
|
|
37
|
+
.badge--md {
|
|
38
|
+
font-size: 0.875rem;
|
|
39
|
+
padding: 0.5rem 0.25rem;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Small size
|
|
43
|
+
.badge--sm {
|
|
44
|
+
font-size: 0.75rem;
|
|
45
|
+
padding: 0.375rem 0.125rem;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// ==========================================================
|
|
49
|
+
// BADGE VARIANTS (STATUS COLORS)
|
|
50
|
+
// ==========================================================
|
|
51
|
+
// Uses theme variables for dynamic theming support
|
|
52
|
+
|
|
53
|
+
@each $key in ('info', 'error', 'debug', 'success', 'warning') {
|
|
54
|
+
.badge--#{$key} {
|
|
55
|
+
background-color: var(--nappr-theme-state-#{$key});
|
|
56
|
+
color: var(--nappr-theme-text-primary);
|
|
57
|
+
}
|
|
58
|
+
}
|