@alveole/theme 1.10.0 → 2.0.0-alpha
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 +15 -15
- package/dist/WebThemeStyles.web.d.ts.map +1 -1
- package/dist/WebThemeStyles.web.js +4 -6
- package/dist/constants/Color.d.ts +0 -116
- package/dist/constants/Color.d.ts.map +1 -1
- package/dist/constants/Color.js +0 -116
- package/dist/constants/Control.d.ts +105 -0
- package/dist/constants/Control.d.ts.map +1 -0
- package/dist/constants/Control.js +28 -0
- package/dist/constants/Elevation.d.ts +8 -8
- package/dist/constants/Elevation.d.ts.map +1 -1
- package/dist/constants/Focus.d.ts +72 -0
- package/dist/constants/Focus.d.ts.map +1 -0
- package/dist/constants/Focus.js +79 -0
- package/dist/constants/FocusProps.d.ts +22 -0
- package/dist/constants/FocusProps.d.ts.map +1 -0
- package/dist/constants/FocusProps.js +15 -0
- package/dist/constants/Font.d.ts +13 -8
- package/dist/constants/Font.d.ts.map +1 -1
- package/dist/constants/Font.js +27 -27
- package/dist/constants/Grille.d.ts +9 -1
- package/dist/constants/Grille.d.ts.map +1 -1
- package/dist/constants/Grille.js +9 -1
- package/dist/constants/Link.d.ts +8 -0
- package/dist/constants/Link.d.ts.map +1 -0
- package/dist/constants/Link.js +8 -0
- package/dist/constants/LinkProps.d.ts +10 -0
- package/dist/constants/LinkProps.d.ts.map +1 -0
- package/dist/constants/LinkProps.js +9 -0
- package/dist/constants/Palette.d.ts +2 -10
- package/dist/constants/Palette.d.ts.map +1 -1
- package/dist/constants/Palette.js +2 -10
- package/dist/constants/Pill.d.ts +41 -0
- package/dist/constants/Pill.d.ts.map +1 -0
- package/dist/constants/Pill.js +26 -0
- package/dist/constants/Radius.d.ts +1 -1
- package/dist/constants/Radius.d.ts.map +1 -1
- package/dist/constants/Spacing.d.ts +4 -4
- package/dist/constants/Spacing.d.ts.map +1 -1
- package/dist/constants/Spacing.js +4 -4
- package/dist/constants/Typography.d.ts +25 -1
- package/dist/constants/Typography.d.ts.map +1 -1
- package/dist/constants/Typography.js +53 -29
- package/dist/constants/dataSetAttribute.d.ts +6 -0
- package/dist/constants/dataSetAttribute.d.ts.map +1 -0
- package/dist/constants/dataSetAttribute.js +5 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +4 -0
- package/dist/default.css +76 -176
- package/dist/helpers/alphaColor.d.ts.map +1 -1
- package/dist/helpers/alphaColor.js +2 -11
- package/dist/helpers/contrastColor.d.ts +12 -0
- package/dist/helpers/contrastColor.d.ts.map +1 -0
- package/dist/helpers/contrastColor.js +51 -0
- package/dist/helpers/cssVarPalette.d.ts +14 -0
- package/dist/helpers/cssVarPalette.d.ts.map +1 -0
- package/dist/helpers/cssVarPalette.js +9 -0
- package/dist/helpers/cssVarTypography.d.ts +12 -0
- package/dist/helpers/cssVarTypography.d.ts.map +1 -0
- package/dist/helpers/cssVarTypography.js +33 -0
- package/dist/helpers/darkenColor.d.ts.map +1 -1
- package/dist/helpers/darkenColor.js +5 -12
- package/dist/helpers/deepMerge.d.ts +12 -2
- package/dist/helpers/deepMerge.d.ts.map +1 -1
- package/dist/helpers/deepMerge.js +24 -14
- package/dist/helpers/elevationStyle.d.ts +1 -1
- package/dist/helpers/focusRingCSS.d.ts +15 -0
- package/dist/helpers/focusRingCSS.d.ts.map +1 -0
- package/dist/helpers/focusRingCSS.js +26 -0
- package/dist/helpers/hexToRgb.d.ts +6 -0
- package/dist/helpers/hexToRgb.d.ts.map +1 -0
- package/dist/helpers/hexToRgb.js +13 -0
- package/dist/helpers/injectVariableCSS.d.ts +14 -4
- package/dist/helpers/injectVariableCSS.d.ts.map +1 -1
- package/dist/helpers/injectVariableCSS.js +19 -42
- package/dist/helpers/isRecord.d.ts +3 -0
- package/dist/helpers/isRecord.d.ts.map +1 -0
- package/dist/helpers/isRecord.js +2 -0
- package/dist/helpers/linkCSS.d.ts +2 -0
- package/dist/helpers/linkCSS.d.ts.map +1 -0
- package/dist/helpers/linkCSS.js +2 -0
- package/dist/helpers/mapValues.d.ts +15 -0
- package/dist/helpers/mapValues.d.ts.map +1 -0
- package/dist/helpers/mapValues.js +11 -0
- package/dist/helpers/removeUnsupportedCSSProperties.d.ts.map +1 -1
- package/dist/helpers/removeUnsupportedCSSProperties.js +6 -10
- package/dist/helpers/typographyVariables.d.ts +22 -0
- package/dist/helpers/typographyVariables.d.ts.map +1 -0
- package/dist/helpers/typographyVariables.js +49 -0
- package/dist/helpers/useThemeBuilder.d.ts.map +1 -1
- package/dist/helpers/useThemeBuilder.js +10 -46
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/type/Theme.d.ts +4 -0
- package/dist/type/Theme.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `default` sur les fonds clairs, `emphasis` sur les fonds pleins (primary, danger),
|
|
3
|
+
* ou l'anneau d'accent devient illisible.
|
|
4
|
+
*/
|
|
5
|
+
export type FocusRingKind = 'default' | 'emphasis';
|
|
6
|
+
export type FocusRingStyle = {
|
|
7
|
+
outlineWidth?: number;
|
|
8
|
+
outlineColor?: string;
|
|
9
|
+
outlineStyle?: 'solid';
|
|
10
|
+
outlineOffset?: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* L'attribut par lequel un composant demande la bague de focus du kit.
|
|
14
|
+
*
|
|
15
|
+
* La regle CSS emise par le theme ne s'applique qu'aux elements qui le portent : sans lui,
|
|
16
|
+
* elle repeindrait les `<a>` et les `<button>` propres a l'application cliente, ce que
|
|
17
|
+
* l'ADR 0008 refuse. C'est l'opt-in explicite d'`@atlaskit/focus-ring`.
|
|
18
|
+
*
|
|
19
|
+
* Sur le web, react-native-web rend la prop `dataSet` en attributs `data-*` : un composant
|
|
20
|
+
* ecrit donc `dataSet={{ alveoleFocus: 'ring' }}`. Sur le natif la prop est ignoree, ce qui
|
|
21
|
+
* convient : `outline` n'existe pas sur iOS (cf. UnsupportedCSSProperties).
|
|
22
|
+
*/
|
|
23
|
+
export declare const FOCUS_DATA_SET_KEY = "alveoleFocus";
|
|
24
|
+
export declare const FOCUS_ATTRIBUTE: string;
|
|
25
|
+
/**
|
|
26
|
+
* Les mesures de l'anneau, en un seul endroit : la regle CSS `:focus-visible` emise par le
|
|
27
|
+
* theme et `focusRing()` doivent tomber sur les memes chiffres, sinon la bague changerait de
|
|
28
|
+
* taille selon la facon dont un composant se la procure. 2 px est la valeur des trois
|
|
29
|
+
* references (Primer `focus.outline-width`, `--ds-border-width-focused`, `scale0` de Base).
|
|
30
|
+
*
|
|
31
|
+
* `offset` positif : l'anneau se pose hors de l'element, comme `@atlaskit/focus-ring` par
|
|
32
|
+
* defaut. `insetOffset` est son pendant pour les elements a ras d'un bord ou rognes par un
|
|
33
|
+
* parent, ou un anneau exterieur serait coupe : Primer a fait de ce cas sa valeur globale
|
|
34
|
+
* (`focus.outline-offset: -2px`), Atlassian en fait une variante explicite.
|
|
35
|
+
*/
|
|
36
|
+
export declare const FocusRingMetrics: {
|
|
37
|
+
readonly width: 2;
|
|
38
|
+
readonly offset: 2;
|
|
39
|
+
readonly insetOffset: -2;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Web uniquement : `outline` ne decale pas la mise en page, mais n'existe pas sur iOS
|
|
43
|
+
* (cf. UnsupportedCSSProperties). Un anneau natif demanderait une vue dessinee en absolu.
|
|
44
|
+
*/
|
|
45
|
+
export declare const focusRing: (kind: FocusRingKind) => FocusRingStyle;
|
|
46
|
+
export type FocusBorderStyle = {
|
|
47
|
+
borderWidth: number;
|
|
48
|
+
borderColor: string;
|
|
49
|
+
outlineWidth?: number;
|
|
50
|
+
outlineStyle?: 'solid';
|
|
51
|
+
outlineColor?: string;
|
|
52
|
+
outlineOffset?: number;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Le focus des champs et des selecteurs (ADR 0012, amende par l'ADR 0017) : le trait deja
|
|
56
|
+
* present se recolore, et un anneau de meme couleur s'encastre juste derriere lui.
|
|
57
|
+
*
|
|
58
|
+
* Le trait seul, de 1 px, etait le seul marqueur : a cote du reste du kit, qui porte une bague
|
|
59
|
+
* nette de 2 px, le champ etait devenu le point faible visuel de l'ensemble. Primer fait les
|
|
60
|
+
* deux sur son `TextInputWrapper` : `border-color: accent` et `outline: 2px solid accent` avec
|
|
61
|
+
* `outline-offset: -1px`.
|
|
62
|
+
*
|
|
63
|
+
* L'anneau est encastre, ce qui preserve le motif d'origine de l'ADR 0016 : un contour
|
|
64
|
+
* interieur ne pousse rien, la mise en page ne bouge pas d'un pixel au focus. L'epaisseur de
|
|
65
|
+
* bordure reste elle aussi celle du repos.
|
|
66
|
+
*
|
|
67
|
+
* L'anneau ne vaut que sur le web, comme `focusRing` : `outline` n'existe pas sur iOS
|
|
68
|
+
* (cf. UnsupportedCSSProperties). La bordure, elle, se dessine partout - c'est pourquoi elle
|
|
69
|
+
* reste hors de la condition de plateforme.
|
|
70
|
+
*/
|
|
71
|
+
export declare const focusBorder: () => FocusBorderStyle;
|
|
72
|
+
//# sourceMappingURL=Focus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../src/constants/Focus.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,eAAe,QAAuC,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;CAAoD,CAAC;AAalF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,aAAa,KAAG,cAQxC,CAAC;AAET,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,QAAO,gBAW7B,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { Colors } from './Color';
|
|
3
|
+
import { dataSetAttribute } from './dataSetAttribute';
|
|
4
|
+
/**
|
|
5
|
+
* L'attribut par lequel un composant demande la bague de focus du kit.
|
|
6
|
+
*
|
|
7
|
+
* La regle CSS emise par le theme ne s'applique qu'aux elements qui le portent : sans lui,
|
|
8
|
+
* elle repeindrait les `<a>` et les `<button>` propres a l'application cliente, ce que
|
|
9
|
+
* l'ADR 0008 refuse. C'est l'opt-in explicite d'`@atlaskit/focus-ring`.
|
|
10
|
+
*
|
|
11
|
+
* Sur le web, react-native-web rend la prop `dataSet` en attributs `data-*` : un composant
|
|
12
|
+
* ecrit donc `dataSet={{ alveoleFocus: 'ring' }}`. Sur le natif la prop est ignoree, ce qui
|
|
13
|
+
* convient : `outline` n'existe pas sur iOS (cf. UnsupportedCSSProperties).
|
|
14
|
+
*/
|
|
15
|
+
export const FOCUS_DATA_SET_KEY = 'alveoleFocus';
|
|
16
|
+
export const FOCUS_ATTRIBUTE = dataSetAttribute(FOCUS_DATA_SET_KEY);
|
|
17
|
+
/**
|
|
18
|
+
* Les mesures de l'anneau, en un seul endroit : la regle CSS `:focus-visible` emise par le
|
|
19
|
+
* theme et `focusRing()` doivent tomber sur les memes chiffres, sinon la bague changerait de
|
|
20
|
+
* taille selon la facon dont un composant se la procure. 2 px est la valeur des trois
|
|
21
|
+
* references (Primer `focus.outline-width`, `--ds-border-width-focused`, `scale0` de Base).
|
|
22
|
+
*
|
|
23
|
+
* `offset` positif : l'anneau se pose hors de l'element, comme `@atlaskit/focus-ring` par
|
|
24
|
+
* defaut. `insetOffset` est son pendant pour les elements a ras d'un bord ou rognes par un
|
|
25
|
+
* parent, ou un anneau exterieur serait coupe : Primer a fait de ce cas sa valeur globale
|
|
26
|
+
* (`focus.outline-offset: -2px`), Atlassian en fait une variante explicite.
|
|
27
|
+
*/
|
|
28
|
+
export const FocusRingMetrics = { width: 2, offset: 2, insetOffset: -2 };
|
|
29
|
+
/**
|
|
30
|
+
* `default` vient du ramp `Focus`, le meme que la bordure de focus des champs : c'est ce qui
|
|
31
|
+
* fait qu'une case a cocher et un champ focalises cote a cote sont du meme bleu. L'anneau
|
|
32
|
+
* prenait jusqu'ici `BleuCaptive['main-525']` (#0379EF), voisin mais distinct de #0A76F6,
|
|
33
|
+
* alors que le ramp dedie existait deja.
|
|
34
|
+
*/
|
|
35
|
+
const OUTLINE_COLORS = {
|
|
36
|
+
default: Colors.Focus[525],
|
|
37
|
+
emphasis: Colors.BleuCaptive['975'],
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Web uniquement : `outline` ne decale pas la mise en page, mais n'existe pas sur iOS
|
|
41
|
+
* (cf. UnsupportedCSSProperties). Un anneau natif demanderait une vue dessinee en absolu.
|
|
42
|
+
*/
|
|
43
|
+
export const focusRing = (kind) => Platform.OS === 'web'
|
|
44
|
+
? {
|
|
45
|
+
outlineWidth: FocusRingMetrics.width,
|
|
46
|
+
outlineStyle: 'solid',
|
|
47
|
+
outlineColor: OUTLINE_COLORS[kind],
|
|
48
|
+
outlineOffset: FocusRingMetrics.offset,
|
|
49
|
+
}
|
|
50
|
+
: {};
|
|
51
|
+
/**
|
|
52
|
+
* Le focus des champs et des selecteurs (ADR 0012, amende par l'ADR 0017) : le trait deja
|
|
53
|
+
* present se recolore, et un anneau de meme couleur s'encastre juste derriere lui.
|
|
54
|
+
*
|
|
55
|
+
* Le trait seul, de 1 px, etait le seul marqueur : a cote du reste du kit, qui porte une bague
|
|
56
|
+
* nette de 2 px, le champ etait devenu le point faible visuel de l'ensemble. Primer fait les
|
|
57
|
+
* deux sur son `TextInputWrapper` : `border-color: accent` et `outline: 2px solid accent` avec
|
|
58
|
+
* `outline-offset: -1px`.
|
|
59
|
+
*
|
|
60
|
+
* L'anneau est encastre, ce qui preserve le motif d'origine de l'ADR 0016 : un contour
|
|
61
|
+
* interieur ne pousse rien, la mise en page ne bouge pas d'un pixel au focus. L'epaisseur de
|
|
62
|
+
* bordure reste elle aussi celle du repos.
|
|
63
|
+
*
|
|
64
|
+
* L'anneau ne vaut que sur le web, comme `focusRing` : `outline` n'existe pas sur iOS
|
|
65
|
+
* (cf. UnsupportedCSSProperties). La bordure, elle, se dessine partout - c'est pourquoi elle
|
|
66
|
+
* reste hors de la condition de plateforme.
|
|
67
|
+
*/
|
|
68
|
+
export const focusBorder = () => ({
|
|
69
|
+
borderWidth: 1,
|
|
70
|
+
borderColor: Colors.Focus[525],
|
|
71
|
+
...(Platform.OS === 'web'
|
|
72
|
+
? {
|
|
73
|
+
outlineWidth: FocusRingMetrics.width,
|
|
74
|
+
outlineStyle: 'solid',
|
|
75
|
+
outlineColor: Colors.Focus[525],
|
|
76
|
+
outlineOffset: FocusRingMetrics.insetOffset,
|
|
77
|
+
}
|
|
78
|
+
: {}),
|
|
79
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ring` pose la bague hors de l'element. `inset` la rentre a l'interieur, pour ce qui est a
|
|
3
|
+
* ras d'un bord ou rogne par un parent : cellules de tableau, items de barre laterale.
|
|
4
|
+
*/
|
|
5
|
+
export type FocusRingVariant = 'ring' | 'inset';
|
|
6
|
+
type FocusRingProps = {
|
|
7
|
+
dataSet: Record<string, string>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Les props par lesquelles un composant demande la bague de focus du kit.
|
|
11
|
+
*
|
|
12
|
+
* `dataSet` est une extension de react-native-web : elle rend des attributs `data-*` sur le
|
|
13
|
+
* web, et n'existe pas dans les types de react-native. Le cast vit donc ici, une fois, plutot
|
|
14
|
+
* que dans chacun des composants qui demandent la bague.
|
|
15
|
+
*
|
|
16
|
+
* Sur le natif la prop est simplement ignoree, ce qui convient : `outline` n'existe pas sur
|
|
17
|
+
* iOS (cf. UnsupportedCSSProperties), et un anneau natif demanderait une vue dessinee en
|
|
18
|
+
* absolu.
|
|
19
|
+
*/
|
|
20
|
+
export declare const focusRingProps: (variante?: FocusRingVariant) => FocusRingProps;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=FocusProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusProps.d.ts","sourceRoot":"","sources":["../../src/constants/FocusProps.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD,KAAK,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GAAI,WAAU,gBAAyB,KAAG,cAEnE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FOCUS_DATA_SET_KEY } from './Focus';
|
|
2
|
+
/**
|
|
3
|
+
* Les props par lesquelles un composant demande la bague de focus du kit.
|
|
4
|
+
*
|
|
5
|
+
* `dataSet` est une extension de react-native-web : elle rend des attributs `data-*` sur le
|
|
6
|
+
* web, et n'existe pas dans les types de react-native. Le cast vit donc ici, une fois, plutot
|
|
7
|
+
* que dans chacun des composants qui demandent la bague.
|
|
8
|
+
*
|
|
9
|
+
* Sur le natif la prop est simplement ignoree, ce qui convient : `outline` n'existe pas sur
|
|
10
|
+
* iOS (cf. UnsupportedCSSProperties), et un anneau natif demanderait une vue dessinee en
|
|
11
|
+
* absolu.
|
|
12
|
+
*/
|
|
13
|
+
export const focusRingProps = (variante = 'ring') => ({
|
|
14
|
+
dataSet: { [FOCUS_DATA_SET_KEY]: variante },
|
|
15
|
+
});
|
package/dist/constants/Font.d.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { TextStyle } from 'react-native';
|
|
2
2
|
export declare const FontsMap: {
|
|
3
|
-
readonly '
|
|
4
|
-
readonly '
|
|
5
|
-
readonly '
|
|
6
|
-
readonly '
|
|
7
|
-
readonly 'Inter-Light': number;
|
|
8
|
-
readonly 'Inter-Regular': number;
|
|
9
|
-
readonly 'Inter-Medium': number;
|
|
10
|
-
readonly 'Inter-Bold': number;
|
|
3
|
+
readonly 'Geist-Light': number;
|
|
4
|
+
readonly 'Geist-Regular': number;
|
|
5
|
+
readonly 'Geist-Medium': number;
|
|
6
|
+
readonly 'Geist-Bold': number;
|
|
11
7
|
};
|
|
12
8
|
export type Font = keyof typeof FontsMap;
|
|
13
9
|
export declare const Fonts: Record<Font, Font>;
|
|
10
|
+
/**
|
|
11
|
+
* La police du code, partout où le design system en affiche : en ligne dans du texte comme
|
|
12
|
+
* en bloc. Aucune fonte n'est embarquée, on prend celle du système : une chasse fixe est
|
|
13
|
+
* attendue lisible par l'utilisateur avant d'être conforme à une identité, et charger une
|
|
14
|
+
* fonte de plus pour du code coûterait plus qu'elle ne rapporte.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MonospaceFont: {
|
|
17
|
+
readonly fontFamily: "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace";
|
|
18
|
+
};
|
|
14
19
|
export declare const FontWeightMap: Record<Font, {
|
|
15
20
|
family: string;
|
|
16
21
|
familyWithFallback: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Font.d.ts","sourceRoot":"","sources":["../../src/constants/Font.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Font.d.ts","sourceRoot":"","sources":["../../src/constants/Font.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC;AAGX,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,QAAQ,CAAC;AACzC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAKpC,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAM,CAChC,IAAI,EACJ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;CAAE,CAM7F,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,KAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;CAIhG,CAAC"}
|
package/dist/constants/Font.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Inter_300Light } from '@expo-google-fonts/inter/300Light';
|
|
6
|
-
import { Inter_400Regular } from '@expo-google-fonts/inter/400Regular';
|
|
7
|
-
import { Inter_500Medium } from '@expo-google-fonts/inter/500Medium';
|
|
8
|
-
import { Inter_600SemiBold } from '@expo-google-fonts/inter/600SemiBold';
|
|
1
|
+
import { Geist_300Light } from '@expo-google-fonts/geist/300Light';
|
|
2
|
+
import { Geist_400Regular } from '@expo-google-fonts/geist/400Regular';
|
|
3
|
+
import { Geist_500Medium } from '@expo-google-fonts/geist/500Medium';
|
|
4
|
+
import { Geist_600SemiBold } from '@expo-google-fonts/geist/600SemiBold';
|
|
9
5
|
import { Platform } from 'react-native';
|
|
10
6
|
export const FontsMap = {
|
|
11
|
-
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
7
|
+
'Geist-Light': Geist_300Light,
|
|
8
|
+
'Geist-Regular': Geist_400Regular,
|
|
9
|
+
'Geist-Medium': Geist_500Medium,
|
|
10
|
+
'Geist-Bold': Geist_600SemiBold,
|
|
11
|
+
};
|
|
12
|
+
export const Fonts = {
|
|
13
|
+
'Geist-Light': 'Geist-Light',
|
|
14
|
+
'Geist-Regular': 'Geist-Regular',
|
|
15
|
+
'Geist-Medium': 'Geist-Medium',
|
|
16
|
+
'Geist-Bold': 'Geist-Bold',
|
|
21
17
|
};
|
|
22
|
-
export const Fonts = Object.fromEntries(Object.keys(FontsMap).map(font => [font, font]));
|
|
23
18
|
const SANS_SERIF_FALLBACK = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans', sans-serif";
|
|
19
|
+
/**
|
|
20
|
+
* La police du code, partout où le design system en affiche : en ligne dans du texte comme
|
|
21
|
+
* en bloc. Aucune fonte n'est embarquée, on prend celle du système : une chasse fixe est
|
|
22
|
+
* attendue lisible par l'utilisateur avant d'être conforme à une identité, et charger une
|
|
23
|
+
* fonte de plus pour du code coûterait plus qu'elle ne rapporte.
|
|
24
|
+
*/
|
|
25
|
+
export const MonospaceFont = {
|
|
26
|
+
fontFamily: "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",
|
|
27
|
+
};
|
|
24
28
|
export const FontWeightMap = {
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'Inter-Light': { family: 'Inter', familyWithFallback: `Inter, ${SANS_SERIF_FALLBACK}`, weight: '300' },
|
|
30
|
-
'Inter-Regular': { family: 'Inter', familyWithFallback: `Inter, ${SANS_SERIF_FALLBACK}`, weight: '400' },
|
|
31
|
-
'Inter-Medium': { family: 'Inter', familyWithFallback: `Inter, ${SANS_SERIF_FALLBACK}`, weight: '500' },
|
|
32
|
-
'Inter-Bold': { family: 'Inter', familyWithFallback: `Inter, ${SANS_SERIF_FALLBACK}`, weight: '600' },
|
|
29
|
+
'Geist-Light': { family: 'Geist', familyWithFallback: `Geist, ${SANS_SERIF_FALLBACK}`, weight: '300' },
|
|
30
|
+
'Geist-Regular': { family: 'Geist', familyWithFallback: `Geist, ${SANS_SERIF_FALLBACK}`, weight: '400' },
|
|
31
|
+
'Geist-Medium': { family: 'Geist', familyWithFallback: `Geist, ${SANS_SERIF_FALLBACK}`, weight: '500' },
|
|
32
|
+
'Geist-Bold': { family: 'Geist', familyWithFallback: `Geist, ${SANS_SERIF_FALLBACK}`, weight: '600' },
|
|
33
33
|
};
|
|
34
34
|
export const fontStyle = (font) => {
|
|
35
35
|
if (Platform.OS !== 'web')
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les largeurs de la grille du design system : colonne de 78, gouttière de 24.
|
|
3
|
+
* Une clé de n colonnes vaut donc n * 78 + (n - 1) * 24, jusqu'à 1200 pour 12 colonnes.
|
|
4
|
+
*/
|
|
1
5
|
export declare const Grilles: {
|
|
2
6
|
/** @experimental */
|
|
3
7
|
readonly '2 colonnes': 180;
|
|
@@ -8,9 +12,13 @@ export declare const Grilles: {
|
|
|
8
12
|
/** @experimental */
|
|
9
13
|
readonly '6 colonnes': 588;
|
|
10
14
|
/** @experimental */
|
|
11
|
-
readonly '7 colonnes':
|
|
15
|
+
readonly '7 colonnes': 690;
|
|
16
|
+
/** @experimental */
|
|
17
|
+
readonly '8 colonnes': 792;
|
|
12
18
|
/** @experimental */
|
|
13
19
|
readonly '9 colonnes': 894;
|
|
20
|
+
/** @experimental */
|
|
21
|
+
readonly '12 colonnes': 1200;
|
|
14
22
|
};
|
|
15
23
|
export type GrilleKey = keyof typeof Grilles;
|
|
16
24
|
export type GrilleValue = (typeof Grilles)[GrilleKey];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grille.d.ts","sourceRoot":"","sources":["../../src/constants/Grille.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;IAClB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;CAEZ,CAAC;AAGX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Grille.d.ts","sourceRoot":"","sources":["../../src/constants/Grille.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,OAAO;IAClB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;IAEpB,oBAAoB;;CAEZ,CAAC;AAGX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,OAAO,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/constants/Grille.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les largeurs de la grille du design system : colonne de 78, gouttière de 24.
|
|
3
|
+
* Une clé de n colonnes vaut donc n * 78 + (n - 1) * 24, jusqu'à 1200 pour 12 colonnes.
|
|
4
|
+
*/
|
|
1
5
|
export const Grilles = {
|
|
2
6
|
/** @experimental */
|
|
3
7
|
'2 colonnes': 180,
|
|
@@ -8,7 +12,11 @@ export const Grilles = {
|
|
|
8
12
|
/** @experimental */
|
|
9
13
|
'6 colonnes': 588,
|
|
10
14
|
/** @experimental */
|
|
11
|
-
'7 colonnes':
|
|
15
|
+
'7 colonnes': 690,
|
|
16
|
+
/** @experimental */
|
|
17
|
+
'8 colonnes': 792,
|
|
12
18
|
/** @experimental */
|
|
13
19
|
'9 colonnes': 894,
|
|
20
|
+
/** @experimental */
|
|
21
|
+
'12 colonnes': 1200,
|
|
14
22
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L'attribut par lequel un lien du kit demande les styles que seule une feuille de style peut
|
|
3
|
+
* porter. Même opt-in que `FOCUS_DATA_SET_KEY` : la règle ne touche jamais les `<a>` propres à
|
|
4
|
+
* l'application cliente (ADR 0008).
|
|
5
|
+
*/
|
|
6
|
+
export declare const LINK_DATA_SET_KEY = "alveoleLink";
|
|
7
|
+
export declare const LINK_ATTRIBUTE: string;
|
|
8
|
+
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/constants/Link.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,eAAO,MAAM,cAAc,QAAsC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { dataSetAttribute } from './dataSetAttribute';
|
|
2
|
+
/**
|
|
3
|
+
* L'attribut par lequel un lien du kit demande les styles que seule une feuille de style peut
|
|
4
|
+
* porter. Même opt-in que `FOCUS_DATA_SET_KEY` : la règle ne touche jamais les `<a>` propres à
|
|
5
|
+
* l'application cliente (ADR 0008).
|
|
6
|
+
*/
|
|
7
|
+
export const LINK_DATA_SET_KEY = 'alveoleLink';
|
|
8
|
+
export const LINK_ATTRIBUTE = dataSetAttribute(LINK_DATA_SET_KEY);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Les props d'un lien de texte du kit : la marque de lien et la bague de focus. Toutes deux
|
|
3
|
+
* passent par `dataSet`, qu'un simple étalement de l'une écraserait avec l'autre.
|
|
4
|
+
*/
|
|
5
|
+
export declare const linkProps: () => {
|
|
6
|
+
dataSet: {
|
|
7
|
+
alveoleLink: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=LinkProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkProps.d.ts","sourceRoot":"","sources":["../../src/constants/LinkProps.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;CAEpB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { focusRingProps } from './FocusProps';
|
|
2
|
+
import { LINK_DATA_SET_KEY } from './Link';
|
|
3
|
+
/**
|
|
4
|
+
* Les props d'un lien de texte du kit : la marque de lien et la bague de focus. Toutes deux
|
|
5
|
+
* passent par `dataSet`, qu'un simple étalement de l'une écraserait avec l'autre.
|
|
6
|
+
*/
|
|
7
|
+
export const linkProps = () => ({
|
|
8
|
+
dataSet: { ...focusRingProps().dataSet, [LINK_DATA_SET_KEY]: 'text' },
|
|
9
|
+
});
|
|
@@ -73,16 +73,8 @@ export declare const CustomPalette: {
|
|
|
73
73
|
readonly focus: "#0A76F6";
|
|
74
74
|
};
|
|
75
75
|
readonly illustration: {
|
|
76
|
-
readonly 'color-sun':
|
|
77
|
-
|
|
78
|
-
readonly yellow: "#6F5E18";
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
readonly 'color-950': {
|
|
82
|
-
readonly default: {
|
|
83
|
-
readonly yellow: "#F9F0CC";
|
|
84
|
-
};
|
|
85
|
-
};
|
|
76
|
+
readonly 'color-sun-default-yellow': "#6F5E18";
|
|
77
|
+
readonly 'color-950-default-yellow': "#F9F0CC";
|
|
86
78
|
};
|
|
87
79
|
};
|
|
88
80
|
/** @deprecated Ne pas utiliser pour de nouveaux usages */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Palette.d.ts","sourceRoot":"","sources":["../../src/constants/Palette.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;QAEtB,kDAAkD
|
|
1
|
+
{"version":3,"file":"Palette.d.ts","sourceRoot":"","sources":["../../src/constants/Palette.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,16 +74,8 @@ export const CustomPalette = {
|
|
|
74
74
|
focus: Colors['Focus']['525'],
|
|
75
75
|
},
|
|
76
76
|
illustration: {
|
|
77
|
-
'color-sun':
|
|
78
|
-
|
|
79
|
-
yellow: Colors['Ocre']['sun-403'],
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
'color-950': {
|
|
83
|
-
default: {
|
|
84
|
-
yellow: Colors['Ocre']['950'],
|
|
85
|
-
},
|
|
86
|
-
},
|
|
77
|
+
'color-sun-default-yellow': Colors['Ocre']['sun-403'],
|
|
78
|
+
'color-950-default-yellow': Colors['Ocre']['950'],
|
|
87
79
|
},
|
|
88
80
|
},
|
|
89
81
|
/** @deprecated Ne pas utiliser pour de nouveaux usages */
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dimensions de la puce : etiquette compacte qui qualifie un objet (Tag, Badge, Counter).
|
|
3
|
+
*
|
|
4
|
+
* Echelle distincte de celle des controles, et non un cran emprunte a `Control` : une puce
|
|
5
|
+
* n'est ni cliquable ni une cible tactile, elle n'a donc aucune raison de suivre le gabarit
|
|
6
|
+
* d'un bouton. Les trois references tranchent dans ce sens : Primer donne a `Label` 20/24 et
|
|
7
|
+
* a `Token` 16/20/24/32, Base a `Tag` 20/24/32/40, tous sous ou au niveau de leur plus petit
|
|
8
|
+
* cran de controle. `Pill.test.ts` fige ce non-croisement.
|
|
9
|
+
*
|
|
10
|
+
* Une seule densite, contrairement a `Control` (ADR 0013) : le dedoublement desktop/mobile
|
|
11
|
+
* existe pour garantir une surface au doigt, ce qu'une puce n'a pas a offrir.
|
|
12
|
+
*
|
|
13
|
+
* Les hauteurs sont explicites, jamais deduites d'un padding et d'une hauteur de ligne :
|
|
14
|
+
* c'est ce qui evite qu'un changement de metrique de police redimensionne tout le kit.
|
|
15
|
+
* Les retraits reprennent ceux du `Label` de Primer, qui partage exactement cette echelle.
|
|
16
|
+
*/
|
|
17
|
+
export declare const PillSizes: {
|
|
18
|
+
readonly sm: {
|
|
19
|
+
readonly height: 20;
|
|
20
|
+
readonly paddingInline: 6;
|
|
21
|
+
readonly gap: 4;
|
|
22
|
+
};
|
|
23
|
+
readonly md: {
|
|
24
|
+
readonly height: 24;
|
|
25
|
+
readonly paddingInline: 8;
|
|
26
|
+
readonly gap: 4;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type PillSize = {
|
|
30
|
+
height: number;
|
|
31
|
+
paddingInline: number;
|
|
32
|
+
gap: number;
|
|
33
|
+
};
|
|
34
|
+
export type PillSizeKey = keyof typeof PillSizes;
|
|
35
|
+
/**
|
|
36
|
+
* Pendant de `controlSizesFor`, sans parametre de densite : il n'y a qu'une echelle de puce.
|
|
37
|
+
* La lecture vit ici plutot que dans le constructeur de theme, ou elle ne serait ni relisable
|
|
38
|
+
* a cote de la table ni testable sans monter un theme.
|
|
39
|
+
*/
|
|
40
|
+
export declare const pillSizeFor: (key: PillSizeKey) => PillSize;
|
|
41
|
+
//# sourceMappingURL=Pill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pill.d.ts","sourceRoot":"","sources":["../../src/constants/Pill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;CAGZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,SAAS,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,WAAW,KAAG,QAA0B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dimensions de la puce : etiquette compacte qui qualifie un objet (Tag, Badge, Counter).
|
|
3
|
+
*
|
|
4
|
+
* Echelle distincte de celle des controles, et non un cran emprunte a `Control` : une puce
|
|
5
|
+
* n'est ni cliquable ni une cible tactile, elle n'a donc aucune raison de suivre le gabarit
|
|
6
|
+
* d'un bouton. Les trois references tranchent dans ce sens : Primer donne a `Label` 20/24 et
|
|
7
|
+
* a `Token` 16/20/24/32, Base a `Tag` 20/24/32/40, tous sous ou au niveau de leur plus petit
|
|
8
|
+
* cran de controle. `Pill.test.ts` fige ce non-croisement.
|
|
9
|
+
*
|
|
10
|
+
* Une seule densite, contrairement a `Control` (ADR 0013) : le dedoublement desktop/mobile
|
|
11
|
+
* existe pour garantir une surface au doigt, ce qu'une puce n'a pas a offrir.
|
|
12
|
+
*
|
|
13
|
+
* Les hauteurs sont explicites, jamais deduites d'un padding et d'une hauteur de ligne :
|
|
14
|
+
* c'est ce qui evite qu'un changement de metrique de police redimensionne tout le kit.
|
|
15
|
+
* Les retraits reprennent ceux du `Label` de Primer, qui partage exactement cette echelle.
|
|
16
|
+
*/
|
|
17
|
+
export const PillSizes = {
|
|
18
|
+
sm: { height: 20, paddingInline: 6, gap: 4 },
|
|
19
|
+
md: { height: 24, paddingInline: 8, gap: 4 },
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Pendant de `controlSizesFor`, sans parametre de densite : il n'y a qu'une echelle de puce.
|
|
23
|
+
* La lecture vit ici plutot que dans le constructeur de theme, ou elle ne serait ni relisable
|
|
24
|
+
* a cote de la table ni testable sans monter un theme.
|
|
25
|
+
*/
|
|
26
|
+
export const pillSizeFor = (key) => PillSizes[key];
|
|
@@ -5,5 +5,5 @@ export declare const RadiusList: {
|
|
|
5
5
|
readonly full: 99999;
|
|
6
6
|
};
|
|
7
7
|
export type RadiusKey = keyof typeof RadiusList;
|
|
8
|
-
export type Radius = (typeof RadiusList)[RadiusKey]
|
|
8
|
+
export type Radius = (typeof RadiusList)[RadiusKey] | `var(--radius-${RadiusKey})`;
|
|
9
9
|
//# sourceMappingURL=Radius.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radius.d.ts","sourceRoot":"","sources":["../../src/constants/Radius.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAGX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Radius.d.ts","sourceRoot":"","sources":["../../src/constants/Radius.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAGX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,gBAAgB,SAAS,GAAG,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const Spacings: {
|
|
2
2
|
/** @deprecated Utiliser '0V' */
|
|
3
3
|
readonly '000': 0;
|
|
4
|
-
/** @deprecated Utiliser '
|
|
4
|
+
/** @deprecated Utiliser '1V' */
|
|
5
5
|
readonly '025': 4;
|
|
6
6
|
/** @deprecated Utiliser '1,5V' */
|
|
7
7
|
readonly '0375': 6;
|
|
@@ -15,11 +15,11 @@ export declare const Spacings: {
|
|
|
15
15
|
readonly '150': 24;
|
|
16
16
|
/** @deprecated Utiliser '4W' */
|
|
17
17
|
readonly '200': 32;
|
|
18
|
-
/** @deprecated Utiliser '5W' */
|
|
19
|
-
readonly '300': 48;
|
|
20
18
|
/** @deprecated Utiliser '6W' */
|
|
21
|
-
readonly '
|
|
19
|
+
readonly '300': 48;
|
|
22
20
|
/** @deprecated Utiliser '8W' */
|
|
21
|
+
readonly '400': 64;
|
|
22
|
+
/** @deprecated */
|
|
23
23
|
readonly '500': 80;
|
|
24
24
|
/** @deprecated */
|
|
25
25
|
readonly '600': 96;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../src/constants/Spacing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;IACnB,gCAAgC;;IAEhC,
|
|
1
|
+
{"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../src/constants/Spacing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;IACnB,gCAAgC;;IAEhC,gCAAgC;;IAEhC,kCAAkC;;IAElC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,gCAAgC;;IAEhC,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;IAElB,kBAAkB;;;;;;;;;;;;;;;;CAiBV,CAAC;AAGX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,QAAQ,CAAC;AAC/C,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const Spacings = {
|
|
2
2
|
/** @deprecated Utiliser '0V' */
|
|
3
3
|
'000': 0,
|
|
4
|
-
/** @deprecated Utiliser '
|
|
4
|
+
/** @deprecated Utiliser '1V' */
|
|
5
5
|
'025': 4,
|
|
6
6
|
/** @deprecated Utiliser '1,5V' */
|
|
7
7
|
'0375': 6,
|
|
@@ -15,11 +15,11 @@ export const Spacings = {
|
|
|
15
15
|
'150': 24,
|
|
16
16
|
/** @deprecated Utiliser '4W' */
|
|
17
17
|
'200': 32,
|
|
18
|
-
/** @deprecated Utiliser '5W' */
|
|
19
|
-
'300': 48,
|
|
20
18
|
/** @deprecated Utiliser '6W' */
|
|
21
|
-
'
|
|
19
|
+
'300': 48,
|
|
22
20
|
/** @deprecated Utiliser '8W' */
|
|
21
|
+
'400': 64,
|
|
22
|
+
/** @deprecated */
|
|
23
23
|
'500': 80,
|
|
24
24
|
/** @deprecated */
|
|
25
25
|
'600': 96,
|