alouette 13.5.1 → 14.0.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.
- package/CHANGELOG.md +21 -0
- package/dist/createAlouetteTamagui-browser.es.js +69 -46
- package/dist/createAlouetteTamagui-browser.es.js.map +1 -1
- package/dist/createAlouetteTamagui-node20.cjs +69 -46
- package/dist/createAlouetteTamagui-node20.cjs.map +1 -1
- package/dist/createAlouetteTamagui-node20.mjs +69 -46
- package/dist/createAlouetteTamagui-node20.mjs.map +1 -1
- package/dist/createAlouetteTamagui-react-native.cjs.js +69 -46
- package/dist/createAlouetteTamagui-react-native.cjs.js.map +1 -1
- package/dist/createAlouetteTamagui-react-native.es.js +69 -46
- package/dist/createAlouetteTamagui-react-native.es.js.map +1 -1
- package/dist/definitions/components/actions/Button.d.ts +1 -0
- package/dist/definitions/components/actions/Button.d.ts.map +1 -1
- package/dist/definitions/components/actions/Button.stories.d.ts.map +1 -1
- package/dist/definitions/components/actions/IconButton.d.ts +1 -0
- package/dist/definitions/components/actions/IconButton.d.ts.map +1 -1
- package/dist/definitions/components/actions/IconButton.stories.d.ts.map +1 -1
- package/dist/definitions/components/containers/Box.d.ts +1 -0
- package/dist/definitions/components/containers/Box.d.ts.map +1 -1
- package/dist/definitions/components/containers/Box.stories.d.ts +1 -0
- package/dist/definitions/components/containers/Box.stories.d.ts.map +1 -1
- package/dist/definitions/components/containers/PressableBox.d.ts +1 -0
- package/dist/definitions/components/containers/PressableBox.d.ts.map +1 -1
- package/dist/definitions/components/containers/PressableBox.stories.d.ts +1 -0
- package/dist/definitions/components/containers/PressableBox.stories.d.ts.map +1 -1
- package/dist/definitions/components/containers/variants.d.ts +118 -16
- package/dist/definitions/components/containers/variants.d.ts.map +1 -1
- package/dist/definitions/components/feedback/Message.d.ts +2 -1
- package/dist/definitions/components/feedback/Message.d.ts.map +1 -1
- package/dist/definitions/components/forms/InputText.d.ts +2 -0
- package/dist/definitions/components/forms/InputText.d.ts.map +1 -1
- package/dist/definitions/components/forms/InputText.stories.d.ts +1 -0
- package/dist/definitions/components/forms/InputText.stories.d.ts.map +1 -1
- package/dist/definitions/components/layout/GradientBackground.stories.d.ts +2 -0
- package/dist/definitions/components/layout/GradientBackground.stories.d.ts.map +1 -1
- package/dist/definitions/components/primitives/Link.d.ts +2 -2
- package/dist/definitions/components/primitives/Link.stories.d.ts +1 -1
- package/dist/definitions/components/primitives/createVariants.d.ts +22 -8
- package/dist/definitions/components/primitives/createVariants.d.ts.map +1 -1
- package/dist/definitions/components/story-components/Story.d.ts.map +1 -1
- package/dist/definitions/components/story-components/StoryTitle.d.ts +2 -2
- package/dist/definitions/components/typography/Typography.d.ts +2 -2
- package/dist/definitions/components/typography/Typography.stories.d.ts +1 -1
- package/dist/definitions/config/createAlouetteFonts.d.ts +4 -4
- package/dist/definitions/config/createAlouetteTokens.d.ts +14 -13
- package/dist/definitions/config/createAlouetteTokens.d.ts.map +1 -1
- package/dist/definitions/config/themes.d.ts +125 -55
- package/dist/definitions/config/themes.d.ts.map +1 -1
- package/dist/definitions/createAlouetteTamagui.d.ts +4 -4
- package/dist/index-browser.es.js +42 -17
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-node20.cjs +41 -16
- package/dist/index-node20.cjs.map +1 -1
- package/dist/index-node20.mjs +42 -17
- package/dist/index-node20.mjs.map +1 -1
- package/dist/index-react-native.cjs.js +41 -16
- package/dist/index-react-native.cjs.js.map +1 -1
- package/dist/index-react-native.es.js +42 -17
- package/dist/index-react-native.es.js.map +1 -1
- package/package.json +12 -12
- package/src/components/actions/Button.stories.tsx +1 -2
- package/src/components/actions/IconButton.stories.tsx +1 -2
- package/src/components/containers/variants.ts +38 -4
- package/src/components/layout/GradientBackground.stories.tsx +59 -6
- package/src/components/primitives/createVariants.ts +12 -1
- package/src/components/story-components/Story.tsx +1 -6
- package/src/components/story-components/StoryTitle.tsx +1 -1
- package/src/components/typography/Typography.stories.tsx +4 -4
- package/src/components/typography/Typography.tsx +1 -1
- package/src/config/colorScales.ts +8 -8
- package/src/config/createAlouetteFonts.ts +6 -6
- package/src/config/createAlouetteTokens.ts +4 -2
- package/src/config/defaultColorScales.ts +12 -12
- package/src/config/themes.ts +64 -27
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [14.0.0](https://github.com/christophehurpeau/alouette/compare/alouette@13.6.0...alouette@14.0.0) (2025-09-14)
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* upgrade to expo 54
|
|
11
|
+
* use sora font
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* upgrade to expo 54 ([f4fbf72](https://github.com/christophehurpeau/alouette/commit/f4fbf724765c1f2d97451164eb2fb766bbd8d342))
|
|
16
|
+
* use sora font ([557bd50](https://github.com/christophehurpeau/alouette/commit/557bd509ad3c4612728834658cd3db58f57d6f6b))
|
|
17
|
+
|
|
18
|
+
Version bump for dependency: alouette-icons
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## [13.6.0](https://github.com/christophehurpeau/alouette/compare/alouette@13.5.1...alouette@13.6.0) (2025-09-13)
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* improve gradient background stories as well as colors to match ([8825eb3](https://github.com/christophehurpeau/alouette/commit/8825eb333c0430fb1cae3b41987d092b9638ec1b))
|
|
26
|
+
|
|
6
27
|
## [13.5.1](https://github.com/christophehurpeau/alouette/compare/alouette@13.5.0...alouette@13.5.1) (2025-09-11)
|
|
7
28
|
|
|
8
29
|
### Bug Fixes
|
|
@@ -13,9 +13,9 @@ const defaultHeadingFontSizes = { xl: 48, lg: 40, md: 32, sm: 24, xs: 18 };
|
|
|
13
13
|
const defaultBodyFontSizes = { xl: 24, lg: 18, md: 16, sm: 14, xs: 12 };
|
|
14
14
|
const roundWith1Precision = (value) => Math.round(value * 10) / 10;
|
|
15
15
|
const createAlouetteFonts = ({
|
|
16
|
-
headingFontFamily = "
|
|
16
|
+
headingFontFamily = "Sora",
|
|
17
17
|
headingFontSizes = defaultHeadingFontSizes,
|
|
18
|
-
bodyFontFamily = "
|
|
18
|
+
bodyFontFamily = "Sora",
|
|
19
19
|
bodyFontSizes = defaultBodyFontSizes
|
|
20
20
|
} = {}) => ({
|
|
21
21
|
heading: createFont({
|
|
@@ -23,12 +23,12 @@ const createAlouetteFonts = ({
|
|
|
23
23
|
weight: {
|
|
24
24
|
regular: "400",
|
|
25
25
|
bold: "700",
|
|
26
|
-
|
|
26
|
+
extraBold: "800"
|
|
27
27
|
},
|
|
28
28
|
face: {
|
|
29
29
|
400: { normal: `${headingFontFamily}Regular` },
|
|
30
30
|
700: { normal: `${headingFontFamily}Bold` },
|
|
31
|
-
|
|
31
|
+
800: { normal: `${headingFontFamily}ExtraBold` }
|
|
32
32
|
},
|
|
33
33
|
size: headingFontSizes,
|
|
34
34
|
lineHeight: {
|
|
@@ -44,12 +44,12 @@ const createAlouetteFonts = ({
|
|
|
44
44
|
weight: {
|
|
45
45
|
regular: "400",
|
|
46
46
|
bold: "700",
|
|
47
|
-
|
|
47
|
+
extraBold: "800"
|
|
48
48
|
},
|
|
49
49
|
face: {
|
|
50
50
|
400: { normal: `${bodyFontFamily}Regular` },
|
|
51
51
|
700: { normal: `${bodyFontFamily}Bold` },
|
|
52
|
-
|
|
52
|
+
800: { normal: `${bodyFontFamily}ExtraBold` }
|
|
53
53
|
},
|
|
54
54
|
size: bodyFontSizes,
|
|
55
55
|
lineHeight: {
|
|
@@ -115,10 +115,12 @@ const createAlouetteTokens = (colorScales, { spacing = 4 } = {}) => {
|
|
|
115
115
|
color: {
|
|
116
116
|
blackBackground: "#1f1e1e",
|
|
117
117
|
whiteBackground: "#ffffff",
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
// https://github.com/tamagui/tamagui/issues/3601 does not work at the moment
|
|
119
|
+
blackBackgroundTranslucent: "#1f1e1e77",
|
|
120
|
+
whiteBackgroundTranslucent: "#ffffff99",
|
|
120
121
|
blackText: "#000000",
|
|
121
122
|
whiteText: "#fdfdfd",
|
|
123
|
+
transparent: "transparent",
|
|
122
124
|
...transformColorScalesToTokens(colorScales)
|
|
123
125
|
},
|
|
124
126
|
radius: {
|
|
@@ -141,8 +143,8 @@ const createAlouetteTokens = (colorScales, { spacing = 4 } = {}) => {
|
|
|
141
143
|
|
|
142
144
|
const mappingLightToDark = {
|
|
143
145
|
1: 1,
|
|
144
|
-
2:
|
|
145
|
-
3:
|
|
146
|
+
2: 4,
|
|
147
|
+
3: 3,
|
|
146
148
|
4: 2,
|
|
147
149
|
5: 6,
|
|
148
150
|
6: 5,
|
|
@@ -214,17 +216,26 @@ const createColorTheme = (tokens, intent, mode = "light", backgroundColor, textC
|
|
|
214
216
|
return tokens.color[`${tint || intent}.${mode}.${mode === "dark" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}`];
|
|
215
217
|
};
|
|
216
218
|
const theme = {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
219
|
+
screenBackgroundColor: getColor(1),
|
|
220
|
+
"screenBackgroundColor.elevated": getColor(
|
|
221
|
+
mode === "dark" ? 2 : 1,
|
|
222
|
+
void 0,
|
|
223
|
+
false
|
|
224
|
+
),
|
|
225
|
+
"screenBackgroundColor.translucent": mode === "dark" ? alouetteTokens.color.blackBackgroundTranslucent : alouetteTokens.color.whiteBackgroundTranslucent,
|
|
224
226
|
nonInteractiveBackgroundColor: getColor(3),
|
|
227
|
+
"nonInteractiveBackgroundColor.elevated": getColor(
|
|
228
|
+
mode === "dark" ? 4 : 3,
|
|
229
|
+
void 0,
|
|
230
|
+
false
|
|
231
|
+
),
|
|
232
|
+
"gradientColor:start": getColor(mode === "dark" ? 5 : 6, void 0, false),
|
|
233
|
+
"gradientColor:middle": getColor(mode === "dark" ? 6 : 7, void 0, false),
|
|
234
|
+
"gradientColor:end": getColor(mode === "dark" ? 4 : 5, void 0, false),
|
|
235
|
+
textColor,
|
|
225
236
|
accentTextColor: getColor(9),
|
|
226
237
|
borderColor: getColor(8),
|
|
227
|
-
shadowColor: getColor(8),
|
|
238
|
+
shadowColor: mode === "dark" ? alouetteTokens.color.transparent : getColor(8, "grayscale", false),
|
|
228
239
|
"textColor:disabled": getColor(mode === "dark" ? 8 : 7, "grayscale", false),
|
|
229
240
|
"interactive.linkTextColor": getColor(9),
|
|
230
241
|
"interactive.linkTextColor:hover": getColor(10),
|
|
@@ -232,26 +243,29 @@ const createColorTheme = (tokens, intent, mode = "light", backgroundColor, textC
|
|
|
232
243
|
"interactive.linkTextColor:press": getColor(8),
|
|
233
244
|
"interactive.linkTextColor:disabled": getColor(9, "grayscale"),
|
|
234
245
|
"interactive.contained.backgroundColor": getColor(6),
|
|
235
|
-
"interactive.elevated.backgroundColor": backgroundColor,
|
|
236
|
-
"interactive.elevated.shadowColor": getColor(8),
|
|
237
|
-
"interactive.elevated.borderColor": getColor(1),
|
|
246
|
+
"interactive.elevated.backgroundColor": mode === "dark" ? getColor(4, "grayscale", false) : backgroundColor,
|
|
247
|
+
"interactive.elevated.shadowColor": mode === "dark" ? alouetteTokens.color.transparent : getColor(8),
|
|
248
|
+
"interactive.elevated.borderColor": getColor(mode === "dark" ? 7 : 1),
|
|
238
249
|
"interactive.outlined.backgroundColor": backgroundColor,
|
|
239
250
|
"interactive.outlined.borderColor": getColor(7),
|
|
240
251
|
"interactive.contained.backgroundColor:hover": getColor(5),
|
|
241
252
|
"interactive.elevated.backgroundColor:hover": getColor(2),
|
|
242
|
-
"interactive.elevated.borderColor:hover": getColor(1),
|
|
243
|
-
"interactive.outlined.backgroundColor:hover":
|
|
244
|
-
"interactive.outlined.borderColor:hover": getColor(
|
|
253
|
+
"interactive.elevated.borderColor:hover": getColor(mode === "dark" ? 8 : 1),
|
|
254
|
+
"interactive.outlined.backgroundColor:hover": backgroundColor,
|
|
255
|
+
"interactive.outlined.borderColor:hover": getColor(8),
|
|
245
256
|
"interactive.contained.backgroundColor:focus": getColor(5),
|
|
246
257
|
"interactive.elevated.backgroundColor:focus": getColor(2),
|
|
247
|
-
"interactive.elevated.borderColor:focus": getColor(1),
|
|
248
|
-
"interactive.outlined.backgroundColor:focus":
|
|
249
|
-
"interactive.outlined.borderColor:focus": getColor(
|
|
258
|
+
"interactive.elevated.borderColor:focus": getColor(mode === "dark" ? 8 : 1),
|
|
259
|
+
"interactive.outlined.backgroundColor:focus": backgroundColor,
|
|
260
|
+
"interactive.outlined.borderColor:focus": getColor(8),
|
|
261
|
+
"interactive.contained.outlineColor:focus": getColor(7, void 0, false),
|
|
262
|
+
"interactive.outlined.outlineColor:focus": getColor(7, void 0, false),
|
|
263
|
+
"interactive.elevated.outlineColor:focus": getColor(7, void 0, false),
|
|
250
264
|
"interactive.contained.backgroundColor:press": getColor(3),
|
|
251
265
|
"interactive.elevated.backgroundColor:press": getColor(4),
|
|
252
|
-
"interactive.elevated.borderColor:press": getColor(1),
|
|
253
|
-
"interactive.outlined.backgroundColor:press":
|
|
254
|
-
"interactive.outlined.borderColor:press": getColor(
|
|
266
|
+
"interactive.elevated.borderColor:press": getColor(mode === "dark" ? 8 : 1),
|
|
267
|
+
"interactive.outlined.backgroundColor:press": backgroundColor,
|
|
268
|
+
"interactive.outlined.borderColor:press": getColor(8),
|
|
255
269
|
"interactive.contained.backgroundColor:disabled": getColor(
|
|
256
270
|
4,
|
|
257
271
|
"grayscale",
|
|
@@ -261,24 +275,33 @@ const createColorTheme = (tokens, intent, mode = "light", backgroundColor, textC
|
|
|
261
275
|
"interactive.elevated.shadowColor:disabled": getColor(8, "grayscale"),
|
|
262
276
|
"interactive.elevated.borderColor:disabled": getColor(1, "grayscale"),
|
|
263
277
|
"interactive.outlined.backgroundColor:disabled": backgroundColor,
|
|
264
|
-
"interactive.outlined.borderColor:disabled": getColor(
|
|
278
|
+
"interactive.outlined.borderColor:disabled": getColor(6, "grayscale"),
|
|
265
279
|
"interactive.forms.textColor": textColor,
|
|
266
280
|
"interactive.forms.placeholderTextColor": getColor(8, "grayscale"),
|
|
281
|
+
"interactive.forms.outlineColor:focus": getColor(7, void 0, false),
|
|
267
282
|
// "interactive.forms.backgroundColor": undefined,
|
|
268
283
|
// "interactive.forms.backgroundColor:hover": undefined,
|
|
269
284
|
"interactive.forms.backgroundColor:focus": getColor(2),
|
|
270
285
|
"interactive.forms.backgroundColor:press": getColor(4),
|
|
271
286
|
"interactive.forms.borderColor": getColor(7),
|
|
272
287
|
"interactive.forms.borderColor:disabled": getColor(7, "grayscale"),
|
|
273
|
-
"interactive.forms.borderColor:hover": getColor(
|
|
274
|
-
|
|
288
|
+
"interactive.forms.borderColor:hover": getColor(
|
|
289
|
+
mode === "dark" ? 8 : 6,
|
|
290
|
+
void 0,
|
|
291
|
+
false
|
|
292
|
+
),
|
|
293
|
+
"interactive.forms.borderColor:focus": getColor(
|
|
294
|
+
mode === "dark" ? 8 : 6,
|
|
295
|
+
void 0,
|
|
296
|
+
false
|
|
297
|
+
),
|
|
275
298
|
"interactive.forms.borderColor:press": getColor(6)
|
|
276
299
|
};
|
|
277
300
|
if (process.env.NODE_ENV === "development") {
|
|
278
301
|
warnOnContrastIssues(
|
|
279
302
|
intent,
|
|
280
303
|
theme.textColor.val,
|
|
281
|
-
theme.
|
|
304
|
+
theme.screenBackgroundColor.val
|
|
282
305
|
);
|
|
283
306
|
}
|
|
284
307
|
return theme;
|
|
@@ -303,7 +326,7 @@ const createAlouetteThemes = (tokens) => {
|
|
|
303
326
|
|
|
304
327
|
const defaultColorScales = {
|
|
305
328
|
"grayscale.light": createColorScale({
|
|
306
|
-
1: "#
|
|
329
|
+
1: "#FFFFFF",
|
|
307
330
|
2: "#EBEBEB",
|
|
308
331
|
3: "#DBDBDB",
|
|
309
332
|
4: "#D1D1D1",
|
|
@@ -315,7 +338,7 @@ const defaultColorScales = {
|
|
|
315
338
|
10: "#2E2E2E"
|
|
316
339
|
}),
|
|
317
340
|
"grayscale.dark": createColorScale({
|
|
318
|
-
1: "#
|
|
341
|
+
1: "#1F1F1F",
|
|
319
342
|
2: "#1F1F1F",
|
|
320
343
|
3: "#292929",
|
|
321
344
|
4: "#333333",
|
|
@@ -333,7 +356,7 @@ const defaultColorScales = {
|
|
|
333
356
|
4: "#ABE5F7",
|
|
334
357
|
5: "#99DFF5",
|
|
335
358
|
6: "#7DD7F2",
|
|
336
|
-
7: "#
|
|
359
|
+
7: "#23C8FB",
|
|
337
360
|
8: "#037496",
|
|
338
361
|
9: "#025D78",
|
|
339
362
|
10: "#012732"
|
|
@@ -345,7 +368,7 @@ const defaultColorScales = {
|
|
|
345
368
|
4: "#0E4758",
|
|
346
369
|
5: "#135C72",
|
|
347
370
|
6: "#156A84",
|
|
348
|
-
7: "#
|
|
371
|
+
7: "#0FB4E6",
|
|
349
372
|
8: "#49CCF3",
|
|
350
373
|
9: "#66D4F5",
|
|
351
374
|
10: "#A9E7F9"
|
|
@@ -357,7 +380,7 @@ const defaultColorScales = {
|
|
|
357
380
|
4: "#FBC7C5",
|
|
358
381
|
5: "#FAB5B2",
|
|
359
382
|
6: "#F89996",
|
|
360
|
-
7: "#
|
|
383
|
+
7: "#FB4741",
|
|
361
384
|
8: "#C80B04",
|
|
362
385
|
9: "#AA0903",
|
|
363
386
|
10: "#640502"
|
|
@@ -369,7 +392,7 @@ const defaultColorScales = {
|
|
|
369
392
|
4: "#721613",
|
|
370
393
|
5: "#8C1B17",
|
|
371
394
|
6: "#9E1E1A",
|
|
372
|
-
7: "#
|
|
395
|
+
7: "#F12922",
|
|
373
396
|
8: "#F56A66",
|
|
374
397
|
9: "#F78682",
|
|
375
398
|
10: "#FBC7C5"
|
|
@@ -381,7 +404,7 @@ const defaultColorScales = {
|
|
|
381
404
|
4: "#ABE4F7",
|
|
382
405
|
5: "#99DEF5",
|
|
383
406
|
6: "#7DD5F2",
|
|
384
|
-
7: "#
|
|
407
|
+
7: "#23C5FB",
|
|
385
408
|
8: "#037196",
|
|
386
409
|
9: "#025B78",
|
|
387
410
|
10: "#012632"
|
|
@@ -393,7 +416,7 @@ const defaultColorScales = {
|
|
|
393
416
|
4: "#0E4558",
|
|
394
417
|
5: "#135A72",
|
|
395
418
|
6: "#156884",
|
|
396
|
-
7: "#
|
|
419
|
+
7: "#0FB0E6",
|
|
397
420
|
8: "#49C9F3",
|
|
398
421
|
9: "#66D1F5",
|
|
399
422
|
10: "#A9E5F9"
|
|
@@ -405,7 +428,7 @@ const defaultColorScales = {
|
|
|
405
428
|
4: "#ABF7AB",
|
|
406
429
|
5: "#99F599",
|
|
407
430
|
6: "#7DF27D",
|
|
408
|
-
7: "#
|
|
431
|
+
7: "#23FB23",
|
|
409
432
|
8: "#038203",
|
|
410
433
|
9: "#026402",
|
|
411
434
|
10: "#011E01"
|
|
@@ -417,7 +440,7 @@ const defaultColorScales = {
|
|
|
417
440
|
4: "#0E580E",
|
|
418
441
|
5: "#137213",
|
|
419
442
|
6: "#158415",
|
|
420
|
-
7: "#
|
|
443
|
+
7: "#0FE60F",
|
|
421
444
|
8: "#49F349",
|
|
422
445
|
9: "#66F566",
|
|
423
446
|
10: "#A9F9A9"
|
|
@@ -429,7 +452,7 @@ const defaultColorScales = {
|
|
|
429
452
|
4: "#FAE6BD",
|
|
430
453
|
5: "#F9DEAA",
|
|
431
454
|
6: "#F6D38D",
|
|
432
|
-
7: "#
|
|
455
|
+
7: "#FBBA37",
|
|
433
456
|
8: "#825803",
|
|
434
457
|
9: "#644302",
|
|
435
458
|
10: "#1E1401"
|
|
@@ -441,7 +464,7 @@ const defaultColorScales = {
|
|
|
441
464
|
4: "#694C11",
|
|
442
465
|
5: "#845F15",
|
|
443
466
|
6: "#956C18",
|
|
444
|
-
7: "#
|
|
467
|
+
7: "#F0A919",
|
|
445
468
|
8: "#F5C25C",
|
|
446
469
|
9: "#F6CD79",
|
|
447
470
|
10: "#FBE6BC"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.web.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 600ms\",\n});\nconsole.log(\"animations: web\");\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = { xl: 48, lg: 40, md: 32, sm: 24, xs: 18 };\nconst defaultBodyFontSizes = { xl: 24, lg: 18, md: 16, sm: 14, xs: 12 };\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Inter\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Inter\",\n bodyFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n black: \"900\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 900: { normal: `${headingFontFamily}Black` },\n },\n size: headingFontSizes,\n lineHeight: {\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n black: \"900\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 900: { normal: `${bodyFontFamily}Black` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n blackBackgroundTranslucent: \"#1f1e1ecc\",\n whiteBackgroundTranslucent: \"#ffffffdd\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color / interactive border hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive outlined background hover/focus color\n// 4: interactive contained background press color / non interactive background color\n// 5: interactive contained background color / interactive border hover/focus color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 3,\n 3: 4,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport type AlouetteColorIntent =\n | \"danger\"\n | \"grayscale\"\n | \"info\"\n | \"primary\"\n | \"success\"\n | \"warning\";\n\nexport type AlouetteColorScaleNames =\n | `${AlouetteColorIntent}.dark`\n | `${AlouetteColorIntent}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorIntent,\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n backgroundColor: Variable<string>;\n backgroundColorTranslucent: Variable<string>;\n pageBackgroundColor: Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n // \"interactive.forms.backgroundColor\": Variable<string>,\n // \"interactive.forms.backgroundColor:hover\": Variable<string>,\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\nexport type FullTheme = ColorTheme;\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <const ColorIntent extends AlouetteColorIntent>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n intent: ColorIntent,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || intent}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n backgroundColor,\n backgroundColorTranslucent:\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n \"gradientColor:start\": getColor(mode === \"dark\" ? 3 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 4 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 2 : 5, undefined, false),\n textColor,\n pageBackgroundColor: getColor(1),\n nonInteractiveBackgroundColor: getColor(3),\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor: getColor(8),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\": backgroundColor,\n \"interactive.elevated.shadowColor\": getColor(8),\n \"interactive.elevated.borderColor\": getColor(1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(1),\n \"interactive.outlined.backgroundColor:hover\": getColor(2),\n \"interactive.outlined.borderColor:hover\": getColor(6),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(1),\n \"interactive.outlined.backgroundColor:focus\": getColor(2),\n \"interactive.outlined.borderColor:focus\": getColor(6),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(1),\n \"interactive.outlined.backgroundColor:press\": getColor(4),\n \"interactive.outlined.borderColor:press\": getColor(6),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(7, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n\n // \"interactive.forms.backgroundColor\": undefined,\n // \"interactive.forms.backgroundColor:hover\": undefined,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(6),\n \"interactive.forms.borderColor:focus\": getColor(6),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n intent,\n theme.textColor.val,\n theme.backgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: createColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: createColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: createColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: createColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: createColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: createColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: createColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: createColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: createColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: createColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: createColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: createColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#F5F5F5\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1A1A1A\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#33C0EB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#17718C\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#F34F49\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#A7201B\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#33BDEB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#176F8C\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#33EB33\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#178C17\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#F1B641\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#9E721A\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,gBAAA,CAAiB;AAAA,EACzC,IAAA,EAAM,eAAA;AAAA,EACN,MAAA,EAAQ,eAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,WAAA,EAAa;AACf,CAAC,CAAA;AACD,OAAA,CAAQ,IAAI,iBAAiB,CAAA;;ACN7B,MAAM,uBAAA,GAA0B,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAG;AACzE,MAAM,oBAAA,GAAuB,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAG;AAEtE,MAAM,sBAAsB,CAAC,KAAA,KAC3B,KAAK,KAAA,CAAM,KAAA,GAAQ,EAAE,CAAA,GAAI,EAAA;AASpB,MAAM,sBAAsB,CAAC;AAAA,EAClC,iBAAA,GAAoB,OAAA;AAAA,EACpB,gBAAA,GAAmB,uBAAA;AAAA,EACnB,cAAA,GAAiB,OAAA;AAAA,EACjB,aAAA,GAAgB;AAClB,CAAA,GAA0B,EAAC,MAAO;AAAA,EAChC,SAAS,UAAA,CAAW;AAAA,IAClB,MAAA,EAAQ,iBAAA;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,KAAA;AAAA,MACT,IAAA,EAAM,KAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,iBAAiB,CAAA,OAAA,CAAA,EAAU;AAAA,MAC7C,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,iBAAiB,CAAA,IAAA,CAAA,EAAO;AAAA,MAC1C,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,iBAAiB,CAAA,KAAA,CAAA;AAAQ,KAC7C;AAAA,IACA,IAAA,EAAM,gBAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACjD,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACjD,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACjD,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACjD,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,gBAAA,CAAiB,EAAE;AAAA;AACnD,GACD,CAAA;AAAA,EACD,MAAM,UAAA,CAAW;AAAA,IACf,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,KAAA;AAAA,MACT,IAAA,EAAM,KAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,EAAU;AAAA,MAC1C,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,cAAc,CAAA,IAAA,CAAA,EAAO;AAAA,MACvC,GAAA,EAAK,EAAE,MAAA,EAAQ,CAAA,EAAG,cAAc,CAAA,KAAA,CAAA;AAAQ,KAC1C;AAAA,IACA,IAAA,EAAM,aAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,aAAA,CAAc,EAAE,CAAA;AAAA,MAC9C,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,aAAA,CAAc,EAAE,CAAA;AAAA,MAC9C,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,aAAA,CAAc,EAAE,CAAA;AAAA,MAC9C,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,aAAA,CAAc,EAAE,CAAA;AAAA,MAC9C,EAAA,EAAI,mBAAA,CAAoB,GAAA,GAAM,aAAA,CAAc,EAAE;AAAA;AAChD,GACD;AACH,CAAA,CAAA;;AC/DO,MAAM,WAAA,GAAc;AAAA,EAInB;AAAA;AAAA;AAAA,EAIN,KAAA,EAAO,GAAA;AAAA;AAAA;AAAA;AAAA,EAIP,MAAA,EAAQ,GAAA;AAAA;AAAA;AAAA;AAAA,EAIR,KAAA,EAAO,IAAA;AAAA;AAAA;AAAA;AAAA,EAIP,IAAA,EAAM;AACR,CAAA;;ACnBO,MAAM,KAAA,GAAQ;AAAA,EACnB,KAAA,EAAO,EAAE,QAAA,EAAU,WAAA,CAAY,KAAA,EAAM;AAAA,EACrC,MAAA,EAAQ,EAAE,QAAA,EAAU,WAAA,CAAY,MAAA,EAAO;AAAA,EACvC,KAAA,EAAO,EAAE,QAAA,EAAU,WAAA,CAAY,KAAA,EAAM;AAAA,EACrC,IAAA,EAAM,EAAE,QAAA,EAAU,WAAA,CAAY,IAAA;AAChC,CAAA;;ACKA,MAAM,mBAAA,GAAsB,CAC1B,OAAA,EACA,QAAA,KACqE;AACrE,EAAA,MAAM,QAAA,GAAW,EAAA;AACjB,EAAA,MAAM,QAEF,EAAC;AACL,EAAA,KAAA,IAAS,IAAA,GAAO,CAAA,EAAG,IAAA,IAAQ,QAAA,EAAU,IAAA,EAAA,EAAQ;AAC3C,IAAC,KAAA,CAAc,WAAW,CAAA,CAAA,EAAI,IAAI,KAAK,CAAA,EAAG,IAAI,CAAA,CAAE,CAAA,GAAI,IAAA,GAAO,OAAA;AAAA;AAE7D,EAAA,OAAO,KAAA;AAGT,CAAA;AAOA,MAAM,4BAAA,GAA+B,CACnC,WAAA,KACkC;AAClC,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACZ,MAAA,CAAO,QAAQ,WAAW,CAAA,CAAE,QAAQ,CAAC,CAAC,SAAA,EAAW,UAAU,CAAA,KAAM;AAC/D,MAAA,OAAO,MAAA,CAAO,QAAQ,UAAU,CAAA,CAAE,IAAI,CAAC,CAAC,WAAA,EAAa,UAAU,CAAA,KAAM;AACnE,QAAA,OAAO,CAAC,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,WAAW,IAAI,UAAU,CAAA;AAAA,OAClD,CAAA;AAAA,KACF;AAAA,GACH;AACF,CAAA;AAMO,MAAM,oBAAA,GAAuB,CAGlC,WAAA,EACA,EAAE,UAAU,CAAA,EAAE,GAA2B,EAAC,KACvC;AACH,EAAA,MAAM,KAAA,GAA4B,mBAAA,CAAoB,OAAA,EAAS,KAAK,CAAA;AACpE,EAAA,MAAM,aAAA,GAA4C,mBAAA;AAAA,IAChD,CAAC,OAAA;AAAA,IACD;AAAA,GACF;AAEA,EAAA,OAAO,YAAA,CAAa;AAAA,IAClB,KAAA,EAAO;AAAA,MACL,eAAA,EAAiB,SAAA;AAAA,MACjB,eAAA,EAAiB,SAAA;AAAA,MACjB,0BAAA,EAA4B,WAAA;AAAA,MAC5B,0BAAA,EAA4B,WAAA;AAAA,MAC5B,SAAA,EAAW,SAAA;AAAA,MACX,SAAA,EAAW,SAAA;AAAA,MACX,GAAG,6BAA6B,WAAW;AAAA,KAC7C;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAG,KAAA;AAAA,MACH,IAAI,OAAA,GAAU,CAAA;AAAA,MACd,IAAI,OAAA,GAAU,CAAA;AAAA,MACd,IAAI,OAAA,GAAU;AAAA,KAChB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,GAAG,KAAA;AAAA,MACH,GAAG,aAAA;AAAA,MACH,IAAI,OAAA,GAAU,CAAA;AAAA,MACd,IAAI,OAAA,GAAU,CAAA;AAAA,MACd,IAAI,OAAA,GAAU;AAAA,KAChB;AAAA,IACA,IAAA,EAAM,EAAE,GAAG,KAAA,EAAM;AAAA,IACjB,QAAQ;AAAC,GACD,CAAA;AACZ;;AC1DO,MAAM,kBAAA,GAAqB;AAAA,EAChC,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,EAAA,EAAI;AACN,CAAA;AAMO,MAAM,gBAAA,GAAmB,CAC9B,UAAA,KACM;;AC5CR,MAAM,YAAA,GAAe,CAAC,CAAA,EAAW,CAAA,EAAW,CAAA,KAAc;AACxD,EAAA,MAAM,MAAA,GAAmC,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,KAAM;AAC5D,IAAA,MAAM,IAAI,CAAA,GAAI,GAAA;AACd,IAAA,OAAO,KAAK,OAAA,GAAW,CAAA,GAAI,KAAA,GAAA,CAAA,CAAU,CAAA,GAAI,SAAS,KAAA,KAAU,GAAA;AAAA,GAC7D,CAAA;AAED,EAAA,OAAO,MAAA,GAAS,MAAA,CAAO,CAAC,CAAA,GAAI,MAAA,GAAS,OAAO,CAAC,CAAA,GAAI,MAAA,GAAS,MAAA,CAAO,CAAC,CAAA;AACpE,CAAA;AAKA,MAAM,QAAA,GAAW,CAAC,GAAA,KAAgB;AAChC,EAAA,MAAM,MAAA,GAAS,2CAAA,CAA4C,IAAA,CAAK,GAAG,CAAA;AACnE,EAAA,IAAI,CAAC,MAAA,GAAS,CAAC,CAAA,IAAK,CAAC,MAAA,CAAO,CAAC,CAAA,IAAK,CAAC,MAAA,CAAO,CAAC,CAAA,EAAG,OAAO,IAAA;AACrD,EAAA,OAAO;AAAA,IACL,CAAA,EAAG,QAAA,CAAS,MAAA,CAAO,CAAC,GAAG,EAAE,CAAA;AAAA,IACzB,CAAA,EAAG,QAAA,CAAS,MAAA,CAAO,CAAC,GAAG,EAAE,CAAA;AAAA,IACzB,CAAA,EAAG,QAAA,CAAS,MAAA,CAAO,CAAC,GAAG,EAAE;AAAA,GAC3B;AACF,CAAA;AAMO,MAAM,gBAAA,GAAmB,CAAC,MAAA,EAAgB,MAAA,KAAmB;AAClE,EAAA,MAAM,IAAA,GAAO,SAAS,MAAM,CAAA;AAC5B,EAAA,MAAM,IAAA,GAAO,SAAS,MAAM,CAAA;AAE5B,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,EAAM,OAAO,CAAA;AAE3B,EAAA,MAAM,KAAK,YAAA,CAAa,IAAA,CAAK,GAAG,IAAA,CAAK,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9C,EAAA,MAAM,KAAK,YAAA,CAAa,IAAA,CAAK,GAAG,IAAA,CAAK,CAAA,EAAG,KAAK,CAAC,CAAA;AAE9C,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,EAAE,CAAA;AAC/B,EAAA,MAAM,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,EAAE,CAAA;AAE9B,EAAA,OAAA,CAAQ,OAAA,GAAU,SAAS,MAAA,GAAS,IAAA,CAAA;AACtC,CAAA;AAKO,MAAM,aAAA,GAAgB,CAC3B,UAAA,EACA,UAAA,EACA,QAAsB,IAAA,KACnB;AACH,EAAA,MAAM,KAAA,GAAQ,gBAAA,CAAiB,UAAA,EAAY,UAAU,CAAA;AACrD,EAAA,MAAM,YAAA,GAAe,KAAA,KAAU,IAAA,GAAO,GAAA,GAAM,CAAA;AAE5C,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,QAAQ,KAAA,IAAS,YAAA;AAAA,IACjB;AAAA,GACF;AACF,CAAA;AAKO,MAAM,oBAAA,GAAuB,CAClC,SAAA,EACA,SAAA,EACA,eAAA,KACG;AACH,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,aAAA,EAAe;AAE5C,EAAA,MAAM,MAAA,GAAS,aAAA,CAAc,SAAA,EAAW,eAAe,CAAA;AAEvD,EAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AAClB,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN,yCAAyC,SAAS,CAAA;AAAA,kBAAA,EACpC,SAAS,kBAAkB,eAAe;AAAA,6BAAA,EAC/B,MAAA,CAAO,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA;AAAA,yBAAA,EAC3B,OAAO,YAAY;AAAA,2CAAA;AAAA,KAE1C;AAAA;AAEJ,CAAA;;ACWO,MAAM,mBAAmB,CAC9B,MAAA,EACA,QACA,IAAA,GAAyB,OAAA,EAEzB,iBACA,SAAA,KACG;AACH,EAAA,MAAM,cAAA,GAEF,MAAA;AACJ,EAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,IAAA,eAAA,GACE,SAAS,MAAA,GACL,cAAA,CAAe,KAAA,CAAM,eAAA,GACrB,eAAe,KAAA,CAAM,eAAA;AAAA;AAE7B,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,SAAA,GACE,SAAS,MAAA,GACL,cAAA,CAAe,KAAA,CAAM,SAAA,GACrB,eAAe,KAAA,CAAM,SAAA;AAAA;AAG7B,EAAA,MAAM,QAAA,GAAW,CACf,WAAA,EACA,IAAA,EACA,mBAAmB,IAAA,KAChB;AACH,IAAA,OAAO,MAAA,CAAO,KAAA,CACZ,CAAA,EAAG,IAAA,IAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAA,KAAS,UAAU,gBAAA,GAAmB,kBAAA,CAAmB,WAAW,CAAA,GAAI,WAAW,CAAA,CAClH,CAAA;AAAA,GACF;AAEA,EAAA,MAAM,KAAA,GAAQ;AAAA,IACZ,eAAA;AAAA,IACA,4BACE,IAAA,KAAS,MAAA,GACL,eAAe,KAAA,CAAM,0BAAA,GACrB,eAAe,KAAA,CAAM,0BAAA;AAAA,IAC3B,uBAAuB,QAAA,CAAS,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA,EAAG,QAAW,KAAK,CAAA;AAAA,IACzE,wBAAwB,QAAA,CAAS,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA,EAAG,QAAW,KAAK,CAAA;AAAA,IAC1E,qBAAqB,QAAA,CAAS,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA,EAAG,QAAW,KAAK,CAAA;AAAA,IACvE,SAAA;AAAA,IACA,mBAAA,EAAqB,SAAS,CAAC,CAAA;AAAA,IAC/B,6BAAA,EAA+B,SAAS,CAAC,CAAA;AAAA,IACzC,eAAA,EAAiB,SAAS,CAAC,CAAA;AAAA,IAC3B,WAAA,EAAa,SAAS,CAAC,CAAA;AAAA,IACvB,WAAA,EAAa,SAAS,CAAC,CAAA;AAAA,IACvB,sBAAsB,QAAA,CAAS,IAAA,KAAS,SAAS,CAAA,GAAI,CAAA,EAAG,aAAa,KAAK,CAAA;AAAA,IAE1E,2BAAA,EAA6B,SAAS,CAAC,CAAA;AAAA,IACvC,iCAAA,EAAmC,SAAS,EAAE,CAAA;AAAA,IAC9C,iCAAA,EAAmC,SAAS,EAAE,CAAA;AAAA,IAC9C,iCAAA,EAAmC,SAAS,CAAC,CAAA;AAAA,IAC7C,oCAAA,EAAsC,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA,IAE7D,uCAAA,EAAyC,SAAS,CAAC,CAAA;AAAA,IACnD,sCAAA,EAAwC,eAAA;AAAA,IACxC,kCAAA,EAAoC,SAAS,CAAC,CAAA;AAAA,IAC9C,kCAAA,EAAoC,SAAS,CAAC,CAAA;AAAA,IAC9C,sCAAA,EAAwC,eAAA;AAAA,IACxC,kCAAA,EAAoC,SAAS,CAAC,CAAA;AAAA,IAE9C,6CAAA,EAA+C,SAAS,CAAC,CAAA;AAAA,IACzD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IACpD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IAEpD,6CAAA,EAA+C,SAAS,CAAC,CAAA;AAAA,IACzD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IACpD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IAEpD,6CAAA,EAA+C,SAAS,CAAC,CAAA;AAAA,IACzD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IACpD,4CAAA,EAA8C,SAAS,CAAC,CAAA;AAAA,IACxD,wCAAA,EAA0C,SAAS,CAAC,CAAA;AAAA,IAEpD,gDAAA,EAAkD,QAAA;AAAA,MAChD,CAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,+CAAA,EAAiD,eAAA;AAAA,IACjD,2CAAA,EAA6C,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA,IACpE,2CAAA,EAA6C,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA,IACpE,+CAAA,EAAiD,eAAA;AAAA,IACjD,2CAAA,EAA6C,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA,IAEpE,6BAAA,EAA+B,SAAA;AAAA,IAC/B,wCAAA,EAA0C,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA;AAAA;AAAA,IAIjE,yCAAA,EAA2C,SAAS,CAAC,CAAA;AAAA,IACrD,yCAAA,EAA2C,SAAS,CAAC,CAAA;AAAA,IACrD,+BAAA,EAAiC,SAAS,CAAC,CAAA;AAAA,IAC3C,wCAAA,EAA0C,QAAA,CAAS,CAAA,EAAG,WAAW,CAAA;AAAA,IACjE,qCAAA,EAAuC,SAAS,CAAC,CAAA;AAAA,IACjD,qCAAA,EAAuC,SAAS,CAAC,CAAA;AAAA,IACjD,qCAAA,EAAuC,SAAS,CAAC;AAAA,GACnD;AAEA,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,aAAA,EAAe;AAE1C,IAAA,oBAAA;AAAA,MACE,MAAA;AAAA,MACA,MAAM,SAAA,CAAU,GAAA;AAAA,MAChB,MAAM,eAAA,CAAgB;AAAA,KACxB;AAAA;AAGF,EAAA,OAAO,KAAA;AACT;AAEO,MAAM,oBAAA,GAAuB,CAGlC,MAAA,KACG;AACH,EAAA,MAAM,cAAA,GAEF,MAAA;AACJ,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,gBAAA,CAAiB,cAAA,EAAgB,WAAA,EAAa,OAAO,CAAA;AAAA,IAC5D,UAAA,EAAY,gBAAA,CAAiB,cAAA,EAAgB,MAAA,EAAQ,OAAO,CAAA;AAAA,IAC5D,aAAA,EAAe,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,OAAO,CAAA;AAAA,IAClE,aAAA,EAAe,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,OAAO,CAAA;AAAA,IAClE,YAAA,EAAc,gBAAA,CAAiB,cAAA,EAAgB,QAAA,EAAU,OAAO,CAAA;AAAA,IAChE,aAAA,EAAe,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,OAAO,CAAA;AAAA,IAElE,IAAA,EAAM,gBAAA,CAAiB,cAAA,EAAgB,WAAA,EAAa,MAAM,CAAA;AAAA,IAC1D,SAAA,EAAW,gBAAA,CAAiB,cAAA,EAAgB,MAAA,EAAQ,MAAM,CAAA;AAAA,IAC1D,YAAA,EAAc,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,MAAM,CAAA;AAAA,IAChE,YAAA,EAAc,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,MAAM,CAAA;AAAA,IAChE,WAAA,EAAa,gBAAA,CAAiB,cAAA,EAAgB,QAAA,EAAU,MAAM,CAAA;AAAA,IAC9D,YAAA,EAAc,gBAAA,CAAiB,cAAA,EAAgB,SAAA,EAAW,MAAM;AAAA,GAClE;AACF;;AC1OO,MAAM,kBAAA,GAA0C;AAAA,EACrD,mBAAmB,gBAAA,CAAiB;AAAA,IAClC,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,kBAAkB,gBAAA,CAAiB;AAAA,IACjC,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,iBAAiB,gBAAA,CAAiB;AAAA,IAChC,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,gBAAgB,gBAAA,CAAiB;AAAA,IAC/B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,gBAAgB,gBAAA,CAAiB;AAAA,IAC/B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,eAAe,gBAAA,CAAiB;AAAA,IAC9B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,cAAc,gBAAA,CAAiB;AAAA,IAC7B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,aAAa,gBAAA,CAAiB;AAAA,IAC5B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,iBAAiB,gBAAA,CAAiB;AAAA,IAChC,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,gBAAgB,gBAAA,CAAiB;AAAA,IAC/B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,iBAAiB,gBAAA,CAAiB;AAAA,IAChC,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,gBAAgB,gBAAA,CAAiB;AAAA,IAC/B,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,CAAA,EAAG,SAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACL;AACH;;ACvHO,MAAM,wBAAwB,CAKnC,MAAA,EACA,MAAA,EACA,OAAA,GAAkC,EAAC,KAChC;AACH,EAAA,OAAO,aAAA,CAAc;AAAA,IACnB,KAAA,EAAO,mBAAA,CAAoB,OAAA,CAAQ,KAAK,CAAA;AAAA,IACxC,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA,EAAU;AAAA,MACR,kBAAA,EAAoB,qBAAA;AAAA,MACpB,0BAAA,EAA4B;AAAA,KAC9B;AAAA,IACA,UAAA,EAAY,CAAC,UAAU;AAAA,GACf,CAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.web.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/colorScales.ts","../src/config/utils/colorContrast.ts","../src/config/themes.ts","../src/config/defaultColorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-css\";\n\nexport const animations = createAnimations({\n fast: \"ease-in 150ms\",\n medium: \"ease-in 300ms\",\n slow: \"ease-in 450ms\",\n formElement: \"ease-in 600ms\",\n});\nconsole.log(\"animations: web\");\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = { xl: 48, lg: 40, md: 32, sm: 24, xs: 18 };\nconst defaultBodyFontSizes = { xl: 24, lg: 18, md: 16, sm: 14, xs: 12 };\n\nconst roundWith1Precision = (value: number): number =>\n Math.round(value * 10) / 10;\n\nexport interface AlouetteFontsOptions {\n headingFontFamily?: string;\n headingFontSizes?: typeof defaultHeadingFontSizes;\n bodyFontFamily?: string;\n bodyFontSizes?: typeof defaultBodyFontSizes;\n}\n\nexport const createAlouetteFonts = ({\n headingFontFamily = \"Sora\",\n headingFontSizes = defaultHeadingFontSizes,\n bodyFontFamily = \"Sora\",\n bodyFontSizes = defaultBodyFontSizes,\n}: AlouetteFontsOptions = {}) => ({\n heading: createFont({\n family: headingFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${headingFontFamily}Regular` },\n 700: { normal: `${headingFontFamily}Bold` },\n 800: { normal: `${headingFontFamily}ExtraBold` },\n },\n size: headingFontSizes,\n lineHeight: {\n xl: roundWith1Precision(1.1 * headingFontSizes.xl),\n lg: roundWith1Precision(1.1 * headingFontSizes.lg),\n md: roundWith1Precision(1.2 * headingFontSizes.md),\n sm: roundWith1Precision(1.3 * headingFontSizes.sm),\n xs: roundWith1Precision(1.3 * headingFontSizes.xs),\n },\n }),\n body: createFont({\n family: bodyFontFamily,\n weight: {\n regular: \"400\",\n bold: \"700\",\n extraBold: \"800\",\n },\n face: {\n 400: { normal: `${bodyFontFamily}Regular` },\n 700: { normal: `${bodyFontFamily}Bold` },\n 800: { normal: `${bodyFontFamily}ExtraBold` },\n },\n size: bodyFontSizes,\n lineHeight: {\n xl: roundWith1Precision(1.4 * bodyFontSizes.xl),\n lg: roundWith1Precision(1.4 * bodyFontSizes.lg),\n md: roundWith1Precision(1.4 * bodyFontSizes.md),\n sm: roundWith1Precision(1.4 * bodyFontSizes.sm),\n xs: roundWith1Precision(1.4 * bodyFontSizes.xs),\n },\n }),\n});\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { Breakpoints } from \"./Breakpoints\";\n\nexport const media = {\n small: { minWidth: Breakpoints.SMALL },\n medium: { minWidth: Breakpoints.MEDIUM },\n large: { minWidth: Breakpoints.LARGE },\n wide: { minWidth: Breakpoints.WIDE },\n} as const;\n","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\n\ntype AlouetteSize = IntRange<0, 64>;\ntype NegativeAlouetteSize = `-${AlouetteSize}`;\ntype AlouetteSizeRecord = Record<AlouetteSize, number>;\ntype NegativeAlouetteSizeRecord = Record<NegativeAlouetteSize, number>;\n\nconst createAlouetteSizes = <const N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: Partial<\n N extends true ? NegativeAlouetteSizeRecord : AlouetteSizeRecord\n > = {};\n for (let size = 0; size <= MAX_SIZE; size++) {\n (sizes as any)[negative ? `-${size}` : `${size}`] = size * spacing;\n }\n return sizes as N extends true\n ? NegativeAlouetteSizeRecord\n : AlouetteSizeRecord;\n};\n\ntype ColorScaleTokens<ColorScales extends AlouetteColorScales> = {\n [K in string &\n keyof ColorScales as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = <ColorScales extends AlouetteColorScales>(\n colorScales: ColorScales,\n): ColorScaleTokens<ColorScales> => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens<ColorScales>;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = <\n const ColorScales extends AlouetteColorScales,\n>(\n colorScales: ColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes: AlouetteSizeRecord = createAlouetteSizes(spacing, false);\n const negativeSizes: NegativeAlouetteSizeRecord = createAlouetteSizes(\n -spacing,\n true,\n );\n\n return createTokens({\n color: {\n blackBackground: \"#1f1e1e\",\n whiteBackground: \"#ffffff\",\n // https://github.com/tamagui/tamagui/issues/3601 does not work at the moment\n blackBackgroundTranslucent: \"#1f1e1e77\",\n whiteBackgroundTranslucent: \"#ffffff99\",\n blackText: \"#000000\",\n whiteText: \"#fdfdfd\",\n transparent: \"transparent\",\n ...transformColorScalesToTokens(colorScales),\n },\n radius: {\n ...sizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n space: {\n ...sizes,\n ...negativeSizes,\n xs: spacing * 2,\n sm: spacing * 4,\n md: spacing * 8,\n },\n size: { ...sizes },\n zIndex: {},\n } as const);\n};\n","import type { IntRange } from \"type-fest\";\n\n// scale inspired by https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale\n\n// LIGHT SCALE\n// 1: colored page background color\n// 2: interactive outlined background hover/focus color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background press color / non interactive shadow color\n// 5: interactive contained background hover/focus color\n// 6: interactive contained background color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// DARK SCALE\n// 1: colored page background color\n// 2: interactive outlined background press color / non interactive shadow color\n// 3: interactive contained background press color / non interactive background color\n// 4: interactive outlined background hover/focus color\n// 5: interactive contained background color\n// 6: interactive contained background hover/focus color\n// 7: interactive border color\n// 8: interactive shadow color / text:press / interactive border hover/focus color\n// 9: text color\n// 10: text:hover/focus\n\n// this mapping is used to keep focus/hover colors brighter\nexport const mappingLightToDark = {\n 1: 1,\n 2: 4,\n 3: 3,\n 4: 2,\n 5: 6,\n 6: 5,\n 7: 7,\n 8: 8,\n 9: 9,\n 10: 10,\n};\n\nexport type AlouetteColorScaleNumber = IntRange<1, 11>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport type AlouetteColorIntent =\n | \"danger\"\n | \"grayscale\"\n | \"info\"\n | \"primary\"\n | \"success\"\n | \"warning\";\n\nexport type AlouetteColorScaleNames =\n | `${AlouetteColorIntent}.dark`\n | `${AlouetteColorIntent}.light`;\n\nexport type ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nexport type AlouetteColorScales = Record<\n AlouetteColorScaleNames,\n AlouetteColorScale\n>;\n","/**\n * Calculates relative luminance of a color\n * Based on WCAG 2.0 formula: https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nconst getLuminance = (r: number, g: number, b: number) => {\n const values: [number, number, number] = [r, g, b].map((c) => {\n const s = c / 255;\n return s <= 0.039_28 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n\n return 0.2126 * values[0] + 0.7152 * values[1] + 0.0722 * values[2];\n};\n\n/**\n * Converts hex color to RGB values\n */\nconst hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result?.[1] || !result[2] || !result[3]) return null;\n return {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n};\n\n/**\n * Calculates contrast ratio between two colors\n * Returns ratio between 1 and 21\n */\nexport const getContrastRatio = (color1: string, color2: string) => {\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n if (!rgb1 || !rgb2) return 0;\n\n const l1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\n const l2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\n\n const lighter = Math.max(l1, l2);\n const darker = Math.min(l1, l2);\n\n return (lighter + 0.05) / (darker + 0.05);\n};\n\n/**\n * Checks if contrast ratio meets WCAG requirements\n */\nexport const checkContrast = (\n foreground: string,\n background: string,\n level: \"AA\" | \"AAA\" = \"AA\",\n) => {\n const ratio = getContrastRatio(foreground, background);\n const minimumRatio = level === \"AA\" ? 4.5 : 7;\n\n return {\n ratio,\n passes: ratio >= minimumRatio,\n minimumRatio,\n };\n};\n\n/**\n * Development warning for contrast issues\n */\nexport const warnOnContrastIssues = (\n themeName: string,\n textColor: string,\n backgroundColor: string,\n) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n const result = checkContrast(textColor, backgroundColor);\n\n if (!result.passes) {\n console.warn(\n `[Alouette] Contrast warning in theme \"${themeName}\":\n Text color ${textColor} on background ${backgroundColor}\n has contrast ratio of ${result.ratio.toFixed(2)}.\n Minimum required: ${result.minimumRatio}\n This may cause accessibility issues.`,\n );\n }\n};\n","/* eslint-disable complexity */\n/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport { mappingLightToDark } from \"./colorScales\";\nimport type {\n AlouetteColorIntent,\n AlouetteColorScaleNumber,\n AlouetteColorScales,\n} from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { warnOnContrastIssues } from \"./utils/colorContrast\";\n\n// export interface MinimalRootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\n// export interface RootTheme {\n// backgroundColor: Variable<string>;\n// textColor: Variable<string>;\n// }\n\nexport interface ColorTheme {\n screenBackgroundColor: Variable<string>;\n \"screenBackgroundColor.translucent\": Variable<string>;\n \"screenBackgroundColor.elevated\": Variable<string>;\n nonInteractiveBackgroundColor: Variable<string>;\n \"nonInteractiveBackgroundColor.elevated\": Variable<string>;\n\n \"gradientColor:start\": Variable<string>;\n \"gradientColor:middle\": Variable<string>;\n \"gradientColor:end\": Variable<string>;\n textColor: Variable<string>;\n \"textColor:disabled\": Variable<string>;\n accentTextColor: Variable<string>;\n borderColor: Variable<string>;\n shadowColor: Variable<string>;\n\n \"interactive.linkTextColor\": Variable<string>;\n \"interactive.linkTextColor:hover\": Variable<string>;\n \"interactive.linkTextColor:focus\": Variable<string>;\n \"interactive.linkTextColor:press\": Variable<string>;\n \"interactive.linkTextColor:disabled\": Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.elevated.backgroundColor\": Variable<string>;\n \"interactive.elevated.shadowColor\": Variable<string>;\n \"interactive.elevated.borderColor\": Variable<string>;\n \"interactive.outlined.backgroundColor\": Variable<string>;\n \"interactive.outlined.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.backgroundColor:hover\": Variable<string>;\n \"interactive.elevated.borderColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.backgroundColor:focus\": Variable<string>;\n \"interactive.elevated.borderColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.outlineColor:focus\": Variable<string>;\n \"interactive.elevated.outlineColor:focus\": Variable<string>;\n \"interactive.outlined.outlineColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.backgroundColor:press\": Variable<string>;\n \"interactive.elevated.borderColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.backgroundColor:disabled\": Variable<string>;\n \"interactive.elevated.shadowColor:disabled\": Variable<string>;\n \"interactive.elevated.borderColor:disabled\": Variable<string>;\n \"interactive.outlined.backgroundColor:disabled\": Variable<string>;\n \"interactive.outlined.borderColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": Variable<string>;\n \"interactive.forms.placeholderTextColor\": Variable<string>;\n \"interactive.forms.outlineColor:focus\": Variable<string>;\n // \"interactive.forms.backgroundColor\": Variable<string>,\n // \"interactive.forms.backgroundColor:hover\": Variable<string>,\n \"interactive.forms.backgroundColor:focus\": Variable<string>;\n \"interactive.forms.backgroundColor:press\": Variable<string>;\n \"interactive.forms.borderColor\": Variable<string>;\n \"interactive.forms.borderColor:hover\": Variable<string>;\n \"interactive.forms.borderColor:focus\": Variable<string>;\n \"interactive.forms.borderColor:press\": Variable<string>;\n \"interactive.forms.borderColor:disabled\": Variable<string>;\n}\n\n// export interface FullTheme extends ColorTheme, RootTheme {}\nexport type FullTheme = ColorTheme;\n\n// export const createRootTheme = <T extends MinimalRootTheme>(\n// theme: T,\n// ): FullTheme => {\n// return theme satisfies RootTheme as unknown as FullTheme;\n// };\n\nexport const createColorTheme = <const ColorIntent extends AlouetteColorIntent>(\n tokens: ReturnType<typeof createAlouetteTokens<AlouetteColorScales>>,\n intent: ColorIntent,\n mode: \"dark\" | \"light\" = \"light\",\n // TODO replace by color in scale\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) {\n backgroundColor =\n mode === \"dark\"\n ? alouetteTokens.color.blackBackground\n : alouetteTokens.color.whiteBackground;\n }\n if (!textColor) {\n textColor =\n mode === \"dark\"\n ? alouetteTokens.color.whiteText\n : alouetteTokens.color.blackText;\n }\n\n const getColor = (\n scaleNumber: AlouetteColorScaleNumber,\n tint?: \"grayscale\",\n adaptForDarkMode = true,\n ) => {\n return tokens.color[\n `${tint || intent}.${mode}.${mode === \"dark\" && adaptForDarkMode ? mappingLightToDark[scaleNumber] : scaleNumber}` as keyof typeof tokens.color\n ];\n };\n\n const theme = {\n screenBackgroundColor: getColor(1),\n \"screenBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 2 : 1,\n undefined,\n false,\n ),\n \"screenBackgroundColor.translucent\":\n mode === \"dark\"\n ? alouetteTokens.color.blackBackgroundTranslucent\n : alouetteTokens.color.whiteBackgroundTranslucent,\n nonInteractiveBackgroundColor: getColor(3),\n \"nonInteractiveBackgroundColor.elevated\": getColor(\n mode === \"dark\" ? 4 : 3,\n undefined,\n false,\n ),\n\n \"gradientColor:start\": getColor(mode === \"dark\" ? 5 : 6, undefined, false),\n \"gradientColor:middle\": getColor(mode === \"dark\" ? 6 : 7, undefined, false),\n \"gradientColor:end\": getColor(mode === \"dark\" ? 4 : 5, undefined, false),\n\n textColor,\n accentTextColor: getColor(9),\n borderColor: getColor(8),\n shadowColor:\n mode === \"dark\"\n ? alouetteTokens.color.transparent\n : getColor(8, \"grayscale\", false),\n \"textColor:disabled\": getColor(mode === \"dark\" ? 8 : 7, \"grayscale\", false),\n\n \"interactive.linkTextColor\": getColor(9),\n \"interactive.linkTextColor:hover\": getColor(10),\n \"interactive.linkTextColor:focus\": getColor(10),\n \"interactive.linkTextColor:press\": getColor(8),\n \"interactive.linkTextColor:disabled\": getColor(9, \"grayscale\"),\n\n \"interactive.contained.backgroundColor\": getColor(6),\n \"interactive.elevated.backgroundColor\":\n mode === \"dark\" ? getColor(4, \"grayscale\", false) : backgroundColor,\n \"interactive.elevated.shadowColor\":\n mode === \"dark\" ? alouetteTokens.color.transparent : getColor(8),\n \"interactive.elevated.borderColor\": getColor(mode === \"dark\" ? 7 : 1),\n \"interactive.outlined.backgroundColor\": backgroundColor,\n \"interactive.outlined.borderColor\": getColor(7),\n\n \"interactive.contained.backgroundColor:hover\": getColor(5),\n \"interactive.elevated.backgroundColor:hover\": getColor(2),\n \"interactive.elevated.borderColor:hover\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:hover\": backgroundColor,\n \"interactive.outlined.borderColor:hover\": getColor(8),\n\n \"interactive.contained.backgroundColor:focus\": getColor(5),\n \"interactive.elevated.backgroundColor:focus\": getColor(2),\n \"interactive.elevated.borderColor:focus\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:focus\": backgroundColor,\n \"interactive.outlined.borderColor:focus\": getColor(8),\n\n \"interactive.contained.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.outlined.outlineColor:focus\": getColor(7, undefined, false),\n \"interactive.elevated.outlineColor:focus\": getColor(7, undefined, false),\n\n \"interactive.contained.backgroundColor:press\": getColor(3),\n \"interactive.elevated.backgroundColor:press\": getColor(4),\n \"interactive.elevated.borderColor:press\": getColor(mode === \"dark\" ? 8 : 1),\n \"interactive.outlined.backgroundColor:press\": backgroundColor,\n \"interactive.outlined.borderColor:press\": getColor(8),\n\n \"interactive.contained.backgroundColor:disabled\": getColor(\n 4,\n \"grayscale\",\n false,\n ),\n \"interactive.elevated.backgroundColor:disabled\": backgroundColor,\n \"interactive.elevated.shadowColor:disabled\": getColor(8, \"grayscale\"),\n \"interactive.elevated.borderColor:disabled\": getColor(1, \"grayscale\"),\n \"interactive.outlined.backgroundColor:disabled\": backgroundColor,\n \"interactive.outlined.borderColor:disabled\": getColor(6, \"grayscale\"),\n\n \"interactive.forms.textColor\": textColor,\n \"interactive.forms.placeholderTextColor\": getColor(8, \"grayscale\"),\n \"interactive.forms.outlineColor:focus\": getColor(7, undefined, false),\n\n // \"interactive.forms.backgroundColor\": undefined,\n // \"interactive.forms.backgroundColor:hover\": undefined,\n \"interactive.forms.backgroundColor:focus\": getColor(2),\n \"interactive.forms.backgroundColor:press\": getColor(4),\n \"interactive.forms.borderColor\": getColor(7),\n \"interactive.forms.borderColor:disabled\": getColor(7, \"grayscale\"),\n \"interactive.forms.borderColor:hover\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:focus\": getColor(\n mode === \"dark\" ? 8 : 6,\n undefined,\n false,\n ),\n \"interactive.forms.borderColor:press\": getColor(6),\n } satisfies FullTheme;\n\n if (process.env.NODE_ENV === \"development\") {\n // Check main text contrast\n warnOnContrastIssues(\n intent,\n theme.textColor.val,\n theme.screenBackgroundColor.val,\n );\n }\n\n return theme;\n};\n\nexport const createAlouetteThemes = <\n const ColorScales extends AlouetteColorScales,\n>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n return {\n light: createColorTheme(alouetteTokens, \"grayscale\", \"light\"),\n light_info: createColorTheme(alouetteTokens, \"info\", \"light\"),\n light_success: createColorTheme(alouetteTokens, \"success\", \"light\"),\n light_warning: createColorTheme(alouetteTokens, \"warning\", \"light\"),\n light_danger: createColorTheme(alouetteTokens, \"danger\", \"light\"),\n light_primary: createColorTheme(alouetteTokens, \"primary\", \"light\"),\n\n dark: createColorTheme(alouetteTokens, \"grayscale\", \"dark\"),\n dark_info: createColorTheme(alouetteTokens, \"info\", \"dark\"),\n dark_success: createColorTheme(alouetteTokens, \"success\", \"dark\"),\n dark_warning: createColorTheme(alouetteTokens, \"warning\", \"dark\"),\n dark_danger: createColorTheme(alouetteTokens, \"danger\", \"dark\"),\n dark_primary: createColorTheme(alouetteTokens, \"primary\", \"dark\"),\n } as const;\n};\n","import { createColorScale } from \"./colorScales\";\nimport type { AlouetteColorScales } from \"./colorScales\";\n\nexport const defaultColorScales: AlouetteColorScales = {\n \"grayscale.light\": createColorScale({\n 1: \"#FFFFFF\",\n 2: \"#EBEBEB\",\n 3: \"#DBDBDB\",\n 4: \"#D1D1D1\",\n 5: \"#C7C7C7\",\n 6: \"#B8B8B8\",\n 7: \"#8F8F8F\",\n 8: \"#616161\",\n 9: \"#525252\",\n 10: \"#2E2E2E\",\n }),\n \"grayscale.dark\": createColorScale({\n 1: \"#1F1F1F\",\n 2: \"#1F1F1F\",\n 3: \"#292929\",\n 4: \"#333333\",\n 5: \"#3D3D3D\",\n 6: \"#474747\",\n 7: \"#525252\",\n 8: \"#9E9E9E\",\n 9: \"#ADADAD\",\n 10: \"#D1D1D1\",\n }),\n \"primary.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF4FB\",\n 3: \"#BEEBF9\",\n 4: \"#ABE5F7\",\n 5: \"#99DFF5\",\n 6: \"#7DD7F2\",\n 7: \"#23C8FB\",\n 8: \"#037496\",\n 9: \"#025D78\",\n 10: \"#012732\",\n }),\n \"primary.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3846\",\n 4: \"#0E4758\",\n 5: \"#135C72\",\n 6: \"#156A84\",\n 7: \"#0FB4E6\",\n 8: \"#49CCF3\",\n 9: \"#66D4F5\",\n 10: \"#A9E7F9\",\n }),\n \"danger.light\": createColorScale({\n 1: \"#FBEFEF\",\n 2: \"#FEF6F5\",\n 3: \"#FDDAD9\",\n 4: \"#FBC7C5\",\n 5: \"#FAB5B2\",\n 6: \"#F89996\",\n 7: \"#FB4741\",\n 8: \"#C80B04\",\n 9: \"#AA0903\",\n 10: \"#640502\",\n }),\n \"danger.dark\": createColorScale({\n 1: \"#1C0302\",\n 2: \"#4F0F0D\",\n 3: \"#601210\",\n 4: \"#721613\",\n 5: \"#8C1B17\",\n 6: \"#9E1E1A\",\n 7: \"#F12922\",\n 8: \"#F56A66\",\n 9: \"#F78682\",\n 10: \"#FBC7C5\",\n }),\n \"info.light\": createColorScale({\n 1: \"#EFF8FB\",\n 2: \"#DAF3FB\",\n 3: \"#BEEAF9\",\n 4: \"#ABE4F7\",\n 5: \"#99DEF5\",\n 6: \"#7DD5F2\",\n 7: \"#23C5FB\",\n 8: \"#037196\",\n 9: \"#025B78\",\n 10: \"#012632\",\n }),\n \"info.dark\": createColorScale({\n 1: \"#02161C\",\n 2: \"#092A35\",\n 3: \"#0B3746\",\n 4: \"#0E4558\",\n 5: \"#135A72\",\n 6: \"#156884\",\n 7: \"#0FB0E6\",\n 8: \"#49C9F3\",\n 9: \"#66D1F5\",\n 10: \"#A9E5F9\",\n }),\n \"success.light\": createColorScale({\n 1: \"#EFFBEF\",\n 2: \"#DAFBDA\",\n 3: \"#BEF9BE\",\n 4: \"#ABF7AB\",\n 5: \"#99F599\",\n 6: \"#7DF27D\",\n 7: \"#23FB23\",\n 8: \"#038203\",\n 9: \"#026402\",\n 10: \"#011E01\",\n }),\n \"success.dark\": createColorScale({\n 1: \"#021C02\",\n 2: \"#093509\",\n 3: \"#0B460B\",\n 4: \"#0E580E\",\n 5: \"#137213\",\n 6: \"#158415\",\n 7: \"#0FE60F\",\n 8: \"#49F349\",\n 9: \"#66F566\",\n 10: \"#A9F9A9\",\n }),\n \"warning.light\": createColorScale({\n 1: \"#FBF7EF\",\n 2: \"#FEF8EC\",\n 3: \"#FBEDD0\",\n 4: \"#FAE6BD\",\n 5: \"#F9DEAA\",\n 6: \"#F6D38D\",\n 7: \"#FBBA37\",\n 8: \"#825803\",\n 9: \"#644302\",\n 10: \"#1E1401\",\n }),\n \"warning.dark\": createColorScale({\n 1: \"#1C1402\",\n 2: \"#46330B\",\n 3: \"#583F0E\",\n 4: \"#694C11\",\n 5: \"#845F15\",\n 6: \"#956C18\",\n 7: \"#F0A919\",\n 8: \"#F5C25C\",\n 9: \"#F6CD79\",\n 10: \"#FBE6BC\",\n }),\n} as const;\n","import { createTamagui } from \"@tamagui/core\";\nimport { animations } from \"./config/animations\";\nimport type { AlouetteColorScales } from \"./config/colorScales\";\nimport type { AlouetteFontsOptions } from \"./config/createAlouetteFonts\";\nimport { createAlouetteFonts } from \"./config/createAlouetteFonts\";\nimport type { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport type { createAlouetteThemes } from \"./config/themes\";\n\nexport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\n\nexport interface AlouetteTamaguiOptions {\n fonts?: AlouetteFontsOptions;\n}\n\nexport {\n createColorTheme,\n createAlouetteThemes,\n type FullTheme,\n} from \"./config/themes\";\n\nexport {\n createColorScale,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\n\nexport { defaultColorScales } from \"./config/defaultColorScales\";\n\nexport const createAlouetteTamagui = <\n const ColorScales extends AlouetteColorScales,\n const Tokens extends ReturnType<typeof createAlouetteTokens<ColorScales>>,\n const Themes extends ReturnType<typeof createAlouetteThemes<ColorScales>>,\n>(\n tokens: Tokens,\n themes: Themes,\n options: AlouetteTamaguiOptions = {},\n) => {\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes,\n media,\n animations,\n settings: {\n allowedStyleValues: \"somewhat-strict-web\",\n autocompleteSpecificTokens: \"except-special\",\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":"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"}
|