alouette 7.0.0-beta.9 → 8.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 +66 -0
- package/README.md +3 -1
- package/dist/createAlouetteTamagui-browser.es.js +116 -97
- package/dist/createAlouetteTamagui-browser.es.js.map +1 -1
- package/dist/createAlouetteTamagui-node20.cjs +356 -0
- package/dist/createAlouetteTamagui-node20.cjs.map +1 -0
- package/dist/{createAlouetteTamagui-node18.mjs → createAlouetteTamagui-node20.mjs} +117 -98
- package/dist/createAlouetteTamagui-node20.mjs.map +1 -0
- package/dist/createAlouetteTamagui-react-native.cjs.js +118 -96
- package/dist/createAlouetteTamagui-react-native.cjs.js.map +1 -1
- package/dist/definitions/components/actions/Button.d.ts +8 -6
- 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 +4 -4
- 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 +3 -3
- package/dist/definitions/components/containers/Box.d.ts.map +1 -1
- package/dist/definitions/components/containers/PressableBox.d.ts +3 -3
- package/dist/definitions/components/containers/PressableBox.d.ts.map +1 -1
- package/dist/definitions/components/containers/variants.d.ts +11 -11
- package/dist/definitions/components/containers/variants.d.ts.map +1 -1
- package/dist/definitions/components/feedback/Message.d.ts +5 -5
- package/dist/definitions/components/feedback/Message.d.ts.map +1 -1
- package/dist/definitions/components/feedback/Message.stories.d.ts.map +1 -1
- package/dist/definitions/components/forms/InputText.d.ts +6 -6
- package/dist/definitions/components/forms/InputText.d.ts.map +1 -1
- package/dist/definitions/components/layout/Separator.d.ts +2 -2
- package/dist/definitions/components/layout/Separator.d.ts.map +1 -1
- package/dist/definitions/components/primitives/ScrollView.d.ts +3 -3
- package/dist/definitions/components/primitives/ScrollView.d.ts.map +1 -1
- package/dist/definitions/components/primitives/createVariants.d.ts.map +1 -1
- package/dist/definitions/components/primitives/stacks.d.ts +6 -6
- package/dist/definitions/components/primitives/stacks.d.ts.map +1 -1
- package/dist/definitions/components/story-components/StoryTitle.d.ts +2 -2
- package/dist/definitions/components/story-components/StoryTitle.d.ts.map +1 -1
- package/dist/definitions/components/typography/Typography.d.ts +10 -10
- package/dist/definitions/components/typography/Typography.d.ts.map +1 -1
- package/dist/definitions/components/typography/Typography.stories.d.ts +2 -2
- package/dist/definitions/config/colorScales.d.ts +2 -4
- package/dist/definitions/config/colorScales.d.ts.map +1 -1
- package/dist/definitions/config/createAlouetteTokens.d.ts +537 -646
- package/dist/definitions/config/createAlouetteTokens.d.ts.map +1 -1
- package/dist/definitions/config/themes.d.ts +77 -123
- package/dist/definitions/config/themes.d.ts.map +1 -1
- package/dist/definitions/core/AlouetteDecorator.d.ts.map +1 -1
- package/dist/definitions/createAlouetteTamagui.d.ts +27 -947
- package/dist/definitions/createAlouetteTamagui.d.ts.map +1 -1
- package/dist/definitions/index.d.ts +1 -0
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/index-browser.es.js +97 -42
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-node20.cjs +788 -0
- package/dist/index-node20.cjs.map +1 -0
- package/dist/{index-node18.mjs → index-node20.mjs} +98 -43
- package/dist/index-node20.mjs.map +1 -0
- package/dist/index-react-native.cjs.js +95 -39
- package/dist/index-react-native.cjs.js.map +1 -1
- package/package.json +45 -21
- package/src/components/actions/Button.stories.tsx +17 -3
- package/src/components/actions/Button.tsx +28 -7
- package/src/components/actions/IconButton.stories.tsx +11 -1
- package/src/components/actions/IconButton.tsx +3 -3
- package/src/components/containers/PressableBox.stories.tsx +1 -1
- package/src/components/containers/variants.ts +15 -12
- package/src/components/feedback/Message.stories.tsx +2 -2
- package/src/components/forms/InputText.stories.tsx +2 -2
- package/src/components/primitives/ScrollView.ts +2 -1
- package/src/components/primitives/createVariants.ts +7 -5
- package/src/components/primitives/stacks.stories.tsx +1 -1
- package/src/components/typography/Typography.stories.tsx +1 -1
- package/src/components/windowSize/SwitchBreakpoints.stories.tsx +1 -1
- package/src/config/animations.ts +13 -0
- package/src/config/animations.web.ts +1 -0
- package/src/config/colorScales.ts +5 -5
- package/src/config/createAlouetteFonts.ts +6 -6
- package/src/config/createAlouetteTokens.ts +23 -18
- package/src/config/themes.ts +139 -68
- package/src/core/AlouetteDecorator.tsx +1 -0
- package/src/createAlouetteTamagui.ts +23 -10
- package/src/index.ts +1 -0
- package/.editorconfig +0 -13
- package/.eslintrc.json +0 -5
- package/.yo-rc.json +0 -11
- package/dist/createAlouetteTamagui-node18.mjs.map +0 -1
- package/dist/index-node18.mjs.map +0 -1
- package/rollup.config.mjs +0 -8
- package/src/.eslintrc.json +0 -31
- package/tsconfig.json +0 -25
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [8.0.0](https://github.com/christophehurpeau/alouette/compare/alouette@7.0.0...alouette@8.0.0) (2024-12-03)
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* drop node 18
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* **deps:** update dependency react-native-svg to v15.7.1 ([#81](https://github.com/christophehurpeau/alouette/issues/81)) ([9e2dac7](https://github.com/christophehurpeau/alouette/commit/9e2dac7dcd04fd6d3d7785371813d0a8453b2912))
|
|
15
|
+
* **deps:** update dependency react-native-svg to v15.9.0 ([#97](https://github.com/christophehurpeau/alouette/issues/97)) ([9708d65](https://github.com/christophehurpeau/alouette/commit/9708d65227f41c6a63c1eaebdccc08954b1859e4))
|
|
16
|
+
* **deps:** update dependency type-fest to v4.27.1 ([#106](https://github.com/christophehurpeau/alouette/issues/106)) ([017ecef](https://github.com/christophehurpeau/alouette/commit/017ecef48d136a11cf741150c8a5d9c9440df6b7))
|
|
17
|
+
* **deps:** update dependency type-fest to v4.28.0 ([#109](https://github.com/christophehurpeau/alouette/issues/109)) ([2723fc5](https://github.com/christophehurpeau/alouette/commit/2723fc56620a6aded5402162eff1e5a85a3eeb50))
|
|
18
|
+
* **deps:** update tamagui to v1.112.0 ([#73](https://github.com/christophehurpeau/alouette/issues/73)) ([11debab](https://github.com/christophehurpeau/alouette/commit/11debabc2a07e70607c6b2675c371a05afcb487f))
|
|
19
|
+
* **deps:** update tamagui to v1.117.0 ([#88](https://github.com/christophehurpeau/alouette/issues/88)) ([7d94ca0](https://github.com/christophehurpeau/alouette/commit/7d94ca0e722579c33a1dbe93e72c2eb9924ce542))
|
|
20
|
+
* update dependencies and build cjs ([121ed87](https://github.com/christophehurpeau/alouette/commit/121ed8748bed730826d206160399af2f1eae63fa))
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* add missing flexwrap in storybook ([42e6d4a](https://github.com/christophehurpeau/alouette/commit/42e6d4a7621ab4c155038b54e9b67625004edd72))
|
|
25
|
+
* **deps:** update dependency type-fest to v4.26.1 ([#64](https://github.com/christophehurpeau/alouette/issues/64)) ([04f79ff](https://github.com/christophehurpeau/alouette/commit/04f79ff9821193ecf06d0563a90161bd54ae208b))
|
|
26
|
+
|
|
27
|
+
### Miscellaneous Chores
|
|
28
|
+
|
|
29
|
+
* update dev dependencies and update to node 20 ([28885df](https://github.com/christophehurpeau/alouette/commit/28885dfe4fae18e4159ec3c9fab23a7fc738b6c0))
|
|
30
|
+
|
|
31
|
+
Version bump for dependency: alouette-icons
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## 7.0.0 (2024-09-14)
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
* add textColor ([f1a3263](https://github.com/christophehurpeau/alouette/commit/f1a32638eb2ba351e7f49a09b82501c1addfc55f))
|
|
39
|
+
* alouette-icons ([924eb6d](https://github.com/christophehurpeau/alouette/commit/924eb6da66cb9689cfc1bb390a810167eb9b5d87))
|
|
40
|
+
* **Button:** add size sm and fix default variant ([9d6e1ab](https://github.com/christophehurpeau/alouette/commit/9d6e1ab1ccc5437a1807e634e270eb9ff258d75d))
|
|
41
|
+
* **deps:** update dependency @phosphor-icons/core to v2.1.1 ([#14](https://github.com/christophehurpeau/alouette/issues/14)) ([decf7d9](https://github.com/christophehurpeau/alouette/commit/decf7d9cef74838916082e81e9d9a84da1a1c53a))
|
|
42
|
+
* **deps:** update dependency react-native to v0.74.2 ([#15](https://github.com/christophehurpeau/alouette/issues/15)) ([1cee78f](https://github.com/christophehurpeau/alouette/commit/1cee78fa487b3045f33860b2a2fb9a873dfdf0a5))
|
|
43
|
+
* **deps:** update dependency react-native to v0.75.2 ([#61](https://github.com/christophehurpeau/alouette/issues/61)) ([09b2a47](https://github.com/christophehurpeau/alouette/commit/09b2a472ba642defe11ef3eee5ef546ff1bf633f))
|
|
44
|
+
* **deps:** update dependency type-fest to v4.26.0 ([#47](https://github.com/christophehurpeau/alouette/issues/47)) ([7493b0e](https://github.com/christophehurpeau/alouette/commit/7493b0edc4a8a4ffd3761576d0ca1a121e774ce7))
|
|
45
|
+
* **deps:** update tamagui to v1.101.0 ([#28](https://github.com/christophehurpeau/alouette/issues/28)) ([df1cc36](https://github.com/christophehurpeau/alouette/commit/df1cc36366d4fb102a22b5f8c4bb498970836e07))
|
|
46
|
+
* **deps:** update tamagui to v1.110.2 ([#53](https://github.com/christophehurpeau/alouette/issues/53)) ([5638c4c](https://github.com/christophehurpeau/alouette/commit/5638c4c687432e9d2c2a7fdc1931502843fe3370))
|
|
47
|
+
* **IconButton:** add size story section ([ddd03e4](https://github.com/christophehurpeau/alouette/commit/ddd03e4076d42bc1169b13ba43f679f2d6d85adc))
|
|
48
|
+
* improvements and new components ([335f060](https://github.com/christophehurpeau/alouette/commit/335f06086a3eae528e8f351ad6bf5b94cdc4c612))
|
|
49
|
+
* initial design system with storybook ([6d790b3](https://github.com/christophehurpeau/alouette/commit/6d790b35641bb740c3a569f5bac1ee32839244c7))
|
|
50
|
+
* work on themes and ts ([dd8604c](https://github.com/christophehurpeau/alouette/commit/dd8604cc4cc6b0aba616ce29f03447b4d5306fb5))
|
|
51
|
+
|
|
52
|
+
### Bug Fixes
|
|
53
|
+
|
|
54
|
+
* **deps:** update dependency react-native to v0.74.3 ([#42](https://github.com/christophehurpeau/alouette/issues/42)) ([844da1f](https://github.com/christophehurpeau/alouette/commit/844da1f99b03c91060d71534594201dec987f661))
|
|
55
|
+
* **deps:** update tamagui to v1.100.6 ([#26](https://github.com/christophehurpeau/alouette/issues/26)) ([52fb809](https://github.com/christophehurpeau/alouette/commit/52fb809d954bd6116ddf5a35c3f43877d6f06867))
|
|
56
|
+
* **deps:** update tamagui to v1.101.1 ([#31](https://github.com/christophehurpeau/alouette/issues/31)) ([fb8999a](https://github.com/christophehurpeau/alouette/commit/fb8999aa3e8138e4419c05f8abc14429272a128b))
|
|
57
|
+
* **deps:** update tamagui to v1.101.3 ([#32](https://github.com/christophehurpeau/alouette/issues/32)) ([15ad21b](https://github.com/christophehurpeau/alouette/commit/15ad21bad60b07c349432fe1b458b538e8f117c6))
|
|
58
|
+
* **deps:** update tamagui to v1.101.5 ([#40](https://github.com/christophehurpeau/alouette/issues/40)) ([a538c10](https://github.com/christophehurpeau/alouette/commit/a538c10caba04e94f2729521295bb84c32b3fda3))
|
|
59
|
+
* **deps:** update tamagui to v1.101.6 ([#43](https://github.com/christophehurpeau/alouette/issues/43)) ([38996b8](https://github.com/christophehurpeau/alouette/commit/38996b874f2ca72dee0e768d88d87257ccd91c0a))
|
|
60
|
+
* **deps:** update tamagui to v1.101.7 ([#44](https://github.com/christophehurpeau/alouette/issues/44)) ([2ee5352](https://github.com/christophehurpeau/alouette/commit/2ee53525a49b0a693f7032f2b0e07471a8e58c0e))
|
|
61
|
+
* fix borderWidth ([4771470](https://github.com/christophehurpeau/alouette/commit/4771470de9bf60ed866d77eac181dc9cde06e6c7))
|
|
62
|
+
* fix build and other issues ([c61594c](https://github.com/christophehurpeau/alouette/commit/c61594caf742766d5e26cffb5c4d1a9bfffcc98f))
|
|
63
|
+
|
|
64
|
+
Version bump for dependency: alouette-icons
|
|
65
|
+
|
|
66
|
+
|
package/README.md
CHANGED
|
@@ -29,5 +29,7 @@ import {
|
|
|
29
29
|
defaultColorScales,
|
|
30
30
|
} from "alouette/createAlouetteTamagui";
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
const tokens = createAlouetteTokens(defaultColorScales);
|
|
33
|
+
const config = createAlouetteTamagui(tokens, createAlouetteThemes(tokens));
|
|
34
|
+
export default config;
|
|
33
35
|
```
|
|
@@ -16,6 +16,15 @@ const animations = createAnimations({
|
|
|
16
16
|
stiffness: 250
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
if ("navigator" in global) {
|
|
20
|
+
const navigator = global.navigator;
|
|
21
|
+
if (!navigator.userAgent?.startsWith("Node.js")) {
|
|
22
|
+
throw new Error(
|
|
23
|
+
`animations native is loaded in web: ${// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
24
|
+
navigator.appName || navigator.product || navigator.userAgent}`
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
19
28
|
|
|
20
29
|
const defaultHeadingFontSizes = {
|
|
21
30
|
xl: 48,
|
|
@@ -40,9 +49,9 @@ const createAlouetteFonts = ({
|
|
|
40
49
|
black: "900"
|
|
41
50
|
},
|
|
42
51
|
face: {
|
|
43
|
-
400: { normal: headingFontFamily
|
|
44
|
-
700: { normal: headingFontFamily
|
|
45
|
-
900: { normal: headingFontFamily
|
|
52
|
+
400: { normal: `${headingFontFamily}Regular` },
|
|
53
|
+
700: { normal: `${headingFontFamily}Bold` },
|
|
54
|
+
900: { normal: `${headingFontFamily}Black` }
|
|
46
55
|
},
|
|
47
56
|
size: headingFontSizes,
|
|
48
57
|
lineHeight: {
|
|
@@ -61,9 +70,9 @@ const createAlouetteFonts = ({
|
|
|
61
70
|
black: "900"
|
|
62
71
|
},
|
|
63
72
|
face: {
|
|
64
|
-
400: { normal: bodyFontFamily
|
|
65
|
-
700: { normal: bodyFontFamily
|
|
66
|
-
900: { normal: bodyFontFamily
|
|
73
|
+
400: { normal: `${bodyFontFamily}Regular` },
|
|
74
|
+
700: { normal: `${bodyFontFamily}Bold` },
|
|
75
|
+
900: { normal: `${bodyFontFamily}Black` }
|
|
67
76
|
},
|
|
68
77
|
size: bodyFontSizes,
|
|
69
78
|
lineHeight: {
|
|
@@ -76,6 +85,36 @@ const createAlouetteFonts = ({
|
|
|
76
85
|
})
|
|
77
86
|
});
|
|
78
87
|
|
|
88
|
+
const Breakpoints = {
|
|
89
|
+
/**
|
|
90
|
+
* min-width: 0
|
|
91
|
+
*/
|
|
92
|
+
BASE: 0,
|
|
93
|
+
/**
|
|
94
|
+
* min-width: 480px
|
|
95
|
+
*/
|
|
96
|
+
SMALL: 480,
|
|
97
|
+
/**
|
|
98
|
+
* min-width: 768px
|
|
99
|
+
*/
|
|
100
|
+
MEDIUM: 768,
|
|
101
|
+
/**
|
|
102
|
+
* min-width: 1024px
|
|
103
|
+
*/
|
|
104
|
+
LARGE: 1024,
|
|
105
|
+
/**
|
|
106
|
+
* min-width: 1280px
|
|
107
|
+
*/
|
|
108
|
+
WIDE: 1280
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const media = createMedia({
|
|
112
|
+
small: { minWidth: Breakpoints.SMALL },
|
|
113
|
+
medium: { minWidth: Breakpoints.MEDIUM },
|
|
114
|
+
large: { minWidth: Breakpoints.LARGE },
|
|
115
|
+
wide: { minWidth: Breakpoints.WIDE }
|
|
116
|
+
});
|
|
117
|
+
|
|
79
118
|
const createAlouetteSizes = (spacing, negative) => {
|
|
80
119
|
const MAX_SIZE = 64;
|
|
81
120
|
const sizes = {};
|
|
@@ -95,7 +134,10 @@ const transformColorScalesToTokens = (colorScales) => {
|
|
|
95
134
|
};
|
|
96
135
|
const createAlouetteTokens = (colorScales, { spacing = 4 } = {}) => {
|
|
97
136
|
const sizes = createAlouetteSizes(spacing, false);
|
|
98
|
-
const negativeSizes = createAlouetteSizes(
|
|
137
|
+
const negativeSizes = createAlouetteSizes(
|
|
138
|
+
-spacing,
|
|
139
|
+
true
|
|
140
|
+
);
|
|
99
141
|
return createTokens({
|
|
100
142
|
color: {
|
|
101
143
|
black: "#000000",
|
|
@@ -122,42 +164,15 @@ const createAlouetteTokens = (colorScales, { spacing = 4 } = {}) => {
|
|
|
122
164
|
});
|
|
123
165
|
};
|
|
124
166
|
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
* min-width: 480px
|
|
132
|
-
*/
|
|
133
|
-
SMALL: 480,
|
|
134
|
-
/**
|
|
135
|
-
* min-width: 768px
|
|
136
|
-
*/
|
|
137
|
-
MEDIUM: 768,
|
|
138
|
-
/**
|
|
139
|
-
* min-width: 1024px
|
|
140
|
-
*/
|
|
141
|
-
LARGE: 1024,
|
|
142
|
-
/**
|
|
143
|
-
* min-width: 1280px
|
|
144
|
-
*/
|
|
145
|
-
WIDE: 1280
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const media = createMedia({
|
|
149
|
-
small: { minWidth: Breakpoints.SMALL },
|
|
150
|
-
medium: { minWidth: Breakpoints.MEDIUM },
|
|
151
|
-
large: { minWidth: Breakpoints.LARGE },
|
|
152
|
-
wide: { minWidth: Breakpoints.WIDE }
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
const createTheme = (theme) => {
|
|
156
|
-
return theme;
|
|
157
|
-
};
|
|
158
|
-
const createColorTheme = (tokens, colorScaleName, textColor = tokens.color.black, contrastTextColor = tokens.color.white) => {
|
|
159
|
-
const getColor = (scaleNumber) => tokens.color[colorScaleName + `.${scaleNumber}`];
|
|
167
|
+
const createColorTheme = (tokens, colorScaleName, backgroundColor, textColor, contrastTextColor) => {
|
|
168
|
+
const alouetteTokens = tokens;
|
|
169
|
+
if (!backgroundColor) backgroundColor = alouetteTokens.color.white;
|
|
170
|
+
if (!textColor) textColor = alouetteTokens.color.black;
|
|
171
|
+
if (!contrastTextColor) contrastTextColor = alouetteTokens.color.white;
|
|
172
|
+
const getColor = (scaleNumber) => tokens.color[`${colorScaleName}.${scaleNumber}`];
|
|
160
173
|
return {
|
|
174
|
+
backgroundColor,
|
|
175
|
+
textColor,
|
|
161
176
|
mainColor: getColor(6),
|
|
162
177
|
mainTextColor: getColor(9),
|
|
163
178
|
contrastTextColor,
|
|
@@ -173,9 +188,9 @@ const createColorTheme = (tokens, colorScaleName, textColor = tokens.color.black
|
|
|
173
188
|
"interactive.contained.backgroundColor:press": getColor(2),
|
|
174
189
|
"interactive.outlined.backgroundColor:press": getColor(3),
|
|
175
190
|
"interactive.borderColor:press": getColor(7),
|
|
176
|
-
"interactive.contained.backgroundColor:disabled":
|
|
177
|
-
"interactive.borderColor:disabled":
|
|
178
|
-
"interactive.textColor:disabled":
|
|
191
|
+
"interactive.contained.backgroundColor:disabled": alouetteTokens.color.disabled,
|
|
192
|
+
"interactive.borderColor:disabled": alouetteTokens.color.disabled,
|
|
193
|
+
"interactive.textColor:disabled": alouetteTokens.color.contrastDisabled,
|
|
179
194
|
"interactive.forms.textColor": textColor,
|
|
180
195
|
// "interactive.forms.backgroundColor": undefined,
|
|
181
196
|
// "interactive.forms.backgroundColor:hover": undefined,
|
|
@@ -185,54 +200,59 @@ const createColorTheme = (tokens, colorScaleName, textColor = tokens.color.black
|
|
|
185
200
|
"interactive.forms.borderColor:hover": getColor(7),
|
|
186
201
|
"interactive.forms.borderColor:focus": getColor(7),
|
|
187
202
|
"interactive.forms.borderColor:press": getColor(7),
|
|
188
|
-
"interactive.forms.borderColor:disabled":
|
|
203
|
+
"interactive.forms.borderColor:disabled": alouetteTokens.color.disabled
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
const createAlouetteThemes = (tokens) => {
|
|
207
|
+
const alouetteTokens = tokens;
|
|
208
|
+
return {
|
|
209
|
+
light: createColorTheme(
|
|
210
|
+
alouetteTokens,
|
|
211
|
+
"grayscale",
|
|
212
|
+
alouetteTokens.color.white,
|
|
213
|
+
alouetteTokens.color.black
|
|
214
|
+
),
|
|
215
|
+
light_info: createColorTheme(alouetteTokens, "info"),
|
|
216
|
+
light_success: createColorTheme(alouetteTokens, "success"),
|
|
217
|
+
light_warning: createColorTheme(alouetteTokens, "warning"),
|
|
218
|
+
light_danger: createColorTheme(alouetteTokens, "danger"),
|
|
219
|
+
light_primary: createColorTheme(alouetteTokens, "primary")
|
|
220
|
+
// dark: createRootTheme({
|
|
221
|
+
// backgroundColor: alouetteTokens.color.black,
|
|
222
|
+
// textColor: alouetteTokens.color.white,
|
|
223
|
+
// }),
|
|
224
|
+
// dark_info: createColorTheme(
|
|
225
|
+
// alouetteTokens,
|
|
226
|
+
// "info",
|
|
227
|
+
// alouetteTokens.color.black,
|
|
228
|
+
// alouetteTokens.color.white,
|
|
229
|
+
// ),
|
|
230
|
+
// dark_success: createColorTheme(
|
|
231
|
+
// alouetteTokens,
|
|
232
|
+
// "success",
|
|
233
|
+
// alouetteTokens.color.black,
|
|
234
|
+
// alouetteTokens.color.white,
|
|
235
|
+
// ),
|
|
236
|
+
// dark_warning: createColorTheme(
|
|
237
|
+
// alouetteTokens,
|
|
238
|
+
// "warning",
|
|
239
|
+
// alouetteTokens.color.black,
|
|
240
|
+
// alouetteTokens.color.white,
|
|
241
|
+
// ),
|
|
242
|
+
// dark_danger: createColorTheme(
|
|
243
|
+
// alouetteTokens,
|
|
244
|
+
// "danger",
|
|
245
|
+
// alouetteTokens.color.black,
|
|
246
|
+
// alouetteTokens.color.white,
|
|
247
|
+
// ),
|
|
248
|
+
// dark_primary: createColorTheme(
|
|
249
|
+
// alouetteTokens,
|
|
250
|
+
// "primary",
|
|
251
|
+
// alouetteTokens.color.black,
|
|
252
|
+
// alouetteTokens.color.white,
|
|
253
|
+
// ),
|
|
189
254
|
};
|
|
190
255
|
};
|
|
191
|
-
const createAlouetteThemes = (tokens) => ({
|
|
192
|
-
light: createTheme({
|
|
193
|
-
backgroundColor: tokens.color.white,
|
|
194
|
-
textColor: tokens.color.black
|
|
195
|
-
}),
|
|
196
|
-
light_info: createColorTheme(tokens, "info"),
|
|
197
|
-
light_success: createColorTheme(tokens, "success"),
|
|
198
|
-
light_warning: createColorTheme(tokens, "warning"),
|
|
199
|
-
light_danger: createColorTheme(tokens, "danger"),
|
|
200
|
-
light_primary: createColorTheme(tokens, "primary"),
|
|
201
|
-
dark: createTheme({
|
|
202
|
-
backgroundColor: tokens.color.black,
|
|
203
|
-
textColor: tokens.color.white
|
|
204
|
-
}),
|
|
205
|
-
dark_info: createColorTheme(
|
|
206
|
-
tokens,
|
|
207
|
-
"info",
|
|
208
|
-
tokens.color.black,
|
|
209
|
-
tokens.color.white
|
|
210
|
-
),
|
|
211
|
-
dark_success: createColorTheme(
|
|
212
|
-
tokens,
|
|
213
|
-
"success",
|
|
214
|
-
tokens.color.black,
|
|
215
|
-
tokens.color.white
|
|
216
|
-
),
|
|
217
|
-
dark_warning: createColorTheme(
|
|
218
|
-
tokens,
|
|
219
|
-
"warning",
|
|
220
|
-
tokens.color.black,
|
|
221
|
-
tokens.color.white
|
|
222
|
-
),
|
|
223
|
-
dark_danger: createColorTheme(
|
|
224
|
-
tokens,
|
|
225
|
-
"danger",
|
|
226
|
-
tokens.color.black,
|
|
227
|
-
tokens.color.white
|
|
228
|
-
),
|
|
229
|
-
dark_primary: createColorTheme(
|
|
230
|
-
tokens,
|
|
231
|
-
"primary",
|
|
232
|
-
tokens.color.black,
|
|
233
|
-
tokens.color.white
|
|
234
|
-
)
|
|
235
|
-
});
|
|
236
256
|
|
|
237
257
|
const createColorScale = (colorScale) => colorScale;
|
|
238
258
|
const defaultColorScales = {
|
|
@@ -310,21 +330,20 @@ const defaultColorScales = {
|
|
|
310
330
|
})
|
|
311
331
|
};
|
|
312
332
|
|
|
313
|
-
const createAlouetteTamagui = (options) => {
|
|
314
|
-
const tokens = createAlouetteTokens(options.colorScales, options.tokens);
|
|
333
|
+
const createAlouetteTamagui = (tokens, themes, options = {}) => {
|
|
315
334
|
return createTamagui({
|
|
316
335
|
fonts: createAlouetteFonts(options.fonts),
|
|
317
336
|
tokens,
|
|
318
|
-
themes
|
|
337
|
+
themes,
|
|
319
338
|
media,
|
|
320
339
|
animations,
|
|
321
340
|
settings: {
|
|
322
|
-
allowedStyleValues: "strict",
|
|
323
|
-
autocompleteSpecificTokens:
|
|
341
|
+
allowedStyleValues: "somewhat-strict-web",
|
|
342
|
+
autocompleteSpecificTokens: "except-special"
|
|
324
343
|
},
|
|
325
344
|
components: ["alouette"]
|
|
326
345
|
});
|
|
327
346
|
};
|
|
328
347
|
|
|
329
|
-
export { createAlouetteTamagui, createColorScale, defaultColorScales };
|
|
348
|
+
export { createAlouetteTamagui, createAlouetteThemes, createAlouetteTokens, createColorScale, createColorTheme, defaultColorScales };
|
|
330
349
|
//# sourceMappingURL=createAlouetteTamagui-browser.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.ts","../src/config/createAlouetteFonts.ts","../src/config/createAlouetteTokens.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/themes.ts","../src/config/colorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-react-native\";\n\nexport const animations = createAnimations({\n fast: {\n type: \"timing\",\n duration: 100,\n damping: 20,\n stiffness: 250,\n },\n formElement: {\n type: \"timing\",\n duration: 600,\n damping: 20,\n stiffness: 250,\n },\n});\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\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","import { createTokens } from \"@tamagui/core\";\nimport type { IntRange } from \"type-fest\";\nimport type {\n AlouetteColorScaleNames,\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 = <N extends boolean>(\n spacing: number,\n negative: N,\n): N extends true ? AlouetteSizeRecord : NegativeAlouetteSizeRecord => {\n const MAX_SIZE = 64;\n const sizes = {} as Partial<\n N extends true ? AlouetteSizeRecord : NegativeAlouetteSizeRecord\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 ? AlouetteSizeRecord\n : NegativeAlouetteSizeRecord;\n};\n\ntype ColorScaleTokens = {\n [K in AlouetteColorScaleNames as `${K}.${AlouetteColorScaleNumber}`]: string; //(typeof colorScales)[K][AlouetteColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = (\n colorScales: AlouetteColorScales,\n): ColorScaleTokens => {\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;\n};\n\nexport interface AlouetteTokensOptions {\n spacing?: number;\n}\n\nexport const createAlouetteTokens = (\n colorScales: AlouetteColorScales,\n { spacing = 4 }: AlouetteTokensOptions = {},\n) => {\n const sizes = createAlouetteSizes(spacing, false);\n const negativeSizes = createAlouetteSizes(-spacing, true);\n\n return createTokens({\n color: {\n black: \"#000000\",\n white: \"#ffffff\",\n disabled: colorScales.grayscale[3],\n contrastDisabled: colorScales.grayscale[7],\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","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 { createMedia } from \"@tamagui/react-native-media-driver\";\nimport { Breakpoints } from \"./Breakpoints\";\n\nexport const media = createMedia({\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 type { Variable } from \"@tamagui/core\";\nimport { createAlouetteTokens } from \"./createAlouetteTokens\";\nimport { AlouetteColorScaleNames } from \"./colorScales\";\n\ninterface MinimalTheme {\n backgroundColor: Variable;\n textColor: Variable;\n}\n\nconst createTheme = <T extends MinimalTheme>(theme: T): T => {\n return theme;\n};\n\nconst createColorTheme = (\n tokens: ReturnType<typeof createAlouetteTokens>,\n colorScaleName: AlouetteColorScaleNames,\n textColor = tokens.color.black,\n contrastTextColor = tokens.color.white,\n) => {\n const getColor = (scaleNumber: number) =>\n tokens.color[\n (colorScaleName + `.${scaleNumber}`) as keyof typeof tokens.color\n ];\n return {\n mainColor: getColor(6),\n mainTextColor: getColor(9),\n contrastTextColor,\n borderColor: getColor(8),\n\n \"interactive.contained.backgroundColor\": getColor(5),\n \"interactive.borderColor\": getColor(8),\n\n \"interactive.contained.backgroundColor:hover\": getColor(4),\n \"interactive.outlined.backgroundColor:hover\": getColor(1),\n \"interactive.borderColor:hover\": getColor(7),\n\n \"interactive.contained.backgroundColor:focus\": getColor(4),\n \"interactive.outlined.backgroundColor:focus\": getColor(1),\n \"interactive.borderColor:focus\": getColor(7),\n\n \"interactive.contained.backgroundColor:press\": getColor(2),\n \"interactive.outlined.backgroundColor:press\": getColor(3),\n \"interactive.borderColor:press\": getColor(7),\n\n \"interactive.contained.backgroundColor:disabled\": tokens.color.disabled,\n \"interactive.borderColor:disabled\": tokens.color.disabled,\n \"interactive.textColor:disabled\": tokens.color.contrastDisabled,\n\n \"interactive.forms.textColor\": textColor,\n // \"interactive.forms.backgroundColor\": undefined,\n // \"interactive.forms.backgroundColor:hover\": undefined,\n \"interactive.forms.backgroundColor:focus\": getColor(1),\n \"interactive.forms.backgroundColor:press\": getColor(3),\n \"interactive.forms.borderColor\": getColor(10),\n \"interactive.forms.borderColor:hover\": getColor(7),\n \"interactive.forms.borderColor:focus\": getColor(7),\n \"interactive.forms.borderColor:press\": getColor(7),\n \"interactive.forms.borderColor:disabled\": tokens.color.disabled,\n };\n};\n\nexport const createAlouetteThemes = (\n tokens: ReturnType<typeof createAlouetteTokens>,\n) =>\n ({\n light: createTheme({\n backgroundColor: tokens.color.white,\n textColor: tokens.color.black,\n }),\n light_info: createColorTheme(tokens, \"info\"),\n light_success: createColorTheme(tokens, \"success\"),\n light_warning: createColorTheme(tokens, \"warning\"),\n light_danger: createColorTheme(tokens, \"danger\"),\n light_primary: createColorTheme(tokens, \"primary\"),\n\n dark: createTheme({\n backgroundColor: tokens.color.black,\n textColor: tokens.color.white,\n }),\n\n dark_info: createColorTheme(\n tokens,\n \"info\",\n tokens.color.black,\n tokens.color.white,\n ),\n dark_success: createColorTheme(\n tokens,\n \"success\",\n tokens.color.black,\n tokens.color.white,\n ),\n dark_warning: createColorTheme(\n tokens,\n \"warning\",\n tokens.color.black,\n tokens.color.white,\n ),\n dark_danger: createColorTheme(\n tokens,\n \"danger\",\n tokens.color.black,\n tokens.color.white,\n ),\n dark_primary: createColorTheme(\n tokens,\n \"primary\",\n tokens.color.black,\n tokens.color.white,\n ),\n }) as const;\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// 1: interactive outlined background hover/focus color\n// 2: interactive contained background press color\n// 3: interactive outlined background press color\n// 4: interactive contained background hover/focus color\n// 5: interactive contained background color\n// 6: main color\n// 7: border hover/focus color\n// 8: border color\n// 9: text color\n// 10: form border color (default)\n\nexport type AlouetteColorScaleNumber = IntRange<1, 10>;\n\nexport type AlouetteColorScale = { [K in AlouetteColorScaleNumber]: string };\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport type AlouetteColorScaleNames =\n | \"grayscale\"\n | \"success\"\n | \"info\"\n | \"warning\"\n | \"danger\"\n | \"primary\";\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// Tool: https://m2.material.io/inline-tools/color/\n\nexport const defaultColorScales: AlouetteColorScales = {\n grayscale: createColorScale({\n 1: \"#faf9f8\",\n 2: \"#f4f3ef\",\n 3: \"#ebe9e5\",\n 4: \"#dedad2\",\n 5: \"#d1cdc5\",\n 6: \"#bab8ae\",\n 7: \"#aeaba3\",\n 8: \"#9c9a92\",\n 9: \"#8e8c83\",\n 10: \"#74726a\",\n }),\n success: createColorScale({\n 1: \"#f0f9f3\",\n 2: \"#d4f0d4\",\n 3: \"#a8e6a8\",\n 4: \"#7edc7e\",\n 5: \"#54d254\",\n 6: \"#2ac82a\",\n 7: \"#00be00\",\n 8: \"#00b400\",\n 9: \"#00aa00\",\n 10: \"#009200\",\n }),\n info: createColorScale({\n 1: \"#f0f9ff\",\n 2: \"#d4f0ff\",\n 3: \"#a8e6ff\",\n 4: \"#7edcff\",\n 5: \"#54d2ff\",\n 6: \"#2ac8ff\",\n 7: \"#00beff\",\n 8: \"#00b4ff\",\n 9: \"#00aaff\",\n 10: \"#0092ff\",\n }),\n warning: createColorScale({\n 1: \"#fff9f0\",\n 2: \"#fff0d4\",\n 3: \"#ffe6a8\",\n 4: \"#ffdc7e\",\n 5: \"#ffd254\",\n 6: \"#ffc82a\",\n 7: \"#ffbe00\",\n 8: \"#ffb400\",\n 9: \"#ffaa00\",\n 10: \"#ff9200\",\n }),\n danger: createColorScale({\n 1: \"#fff0f0\",\n 2: \"#ffd4d4\",\n 3: \"#ffaaaa\",\n 4: \"#ff7e7e\",\n 5: \"#ff5454\",\n 6: \"#ff2a2a\",\n 7: \"#ff0000\",\n 8: \"#f40000\",\n 9: \"#ea0000\",\n 10: \"#d20000\",\n }),\n primary: createColorScale({\n 1: \"#e1f4f6\",\n 2: \"#b4e2e9\",\n 3: \"#86cfdc\",\n 4: \"#60bcd0\",\n 5: \"#46aeca\",\n 6: \"#31a1c4\",\n 7: \"#2994b7\",\n 8: \"#1e82a6\",\n 9: \"#1c7193\",\n 10: \"#125272\",\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 { AlouetteTokensOptions } from \"./config/createAlouetteTokens\";\nimport { createAlouetteTokens } from \"./config/createAlouetteTokens\";\nimport { media } from \"./config/media\";\nimport { createAlouetteThemes } from \"./config/themes\";\n\nexport interface AlouetteTamaguiOptions {\n colorScales: AlouetteColorScales;\n fonts?: AlouetteFontsOptions;\n tokens?: AlouetteTokensOptions;\n}\n\nexport {\n defaultColorScales,\n createColorScale,\n type AlouetteColorScales,\n} from \"./config/colorScales\";\n\nexport const createAlouetteTamagui = (options: AlouetteTamaguiOptions) => {\n const tokens = createAlouetteTokens(options.colorScales, options.tokens);\n return createTamagui({\n fonts: createAlouetteFonts(options.fonts),\n tokens,\n themes: createAlouetteThemes(tokens),\n media,\n animations,\n settings: {\n allowedStyleValues: \"strict\",\n autocompleteSpecificTokens: true,\n },\n components: [\"alouette\"],\n } as const);\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createAlouetteTamagui-browser.es.js","sources":["../src/config/animations.ts","../src/config/createAlouetteFonts.ts","../src/config/Breakpoints.ts","../src/config/media.ts","../src/config/createAlouetteTokens.ts","../src/config/themes.ts","../src/config/colorScales.ts","../src/createAlouetteTamagui.ts"],"sourcesContent":["import { createAnimations } from \"@tamagui/animations-react-native\";\n\nexport const animations = createAnimations({\n fast: {\n type: \"timing\",\n duration: 100,\n damping: 20,\n stiffness: 250,\n },\n formElement: {\n type: \"timing\",\n duration: 600,\n damping: 20,\n stiffness: 250,\n },\n});\n\nif (\"navigator\" in global) {\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n const navigator = global.navigator as any;\n if (!navigator.userAgent?.startsWith(\"Node.js\")) {\n throw new Error(\n `animations native is loaded in web: ${\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n navigator.appName || navigator.product || navigator.userAgent\n }`,\n );\n }\n}\n","import { createFont } from \"@tamagui/core\";\n\nconst defaultHeadingFontSizes = {\n xl: 48,\n lg: 40,\n md: 32,\n sm: 24,\n xs: 18,\n};\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 { createMedia } from \"@tamagui/react-native-media-driver\";\nimport { Breakpoints } from \"./Breakpoints\";\n\nexport const media = createMedia({\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 black: \"#000000\",\n white: \"#ffffff\",\n disabled: colorScales.grayscale[3],\n contrastDisabled: colorScales.grayscale[7],\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","/* eslint-disable camelcase */\nimport type { Variable } from \"@tamagui/core\";\nimport type { AlouetteColorScales } from \"./colorScales\";\nimport type { createAlouetteTokens } from \"./createAlouetteTokens\";\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 textColor: Variable<string>;\n mainColor: Variable<string>;\n mainTextColor: Variable<string>;\n contrastTextColor: Variable<string>;\n borderColor: Variable<string>;\n\n \"interactive.contained.backgroundColor\": Variable<string>;\n \"interactive.borderColor\": Variable<string>;\n\n \"interactive.contained.backgroundColor:hover\": Variable<string>;\n \"interactive.outlined.backgroundColor:hover\": Variable<string>;\n \"interactive.borderColor:hover\": Variable<string>;\n\n \"interactive.contained.backgroundColor:focus\": Variable<string>;\n \"interactive.outlined.backgroundColor:focus\": Variable<string>;\n \"interactive.borderColor:focus\": Variable<string>;\n\n \"interactive.contained.backgroundColor:press\": Variable<string>;\n \"interactive.outlined.backgroundColor:press\": Variable<string>;\n \"interactive.borderColor:press\": Variable<string>;\n\n \"interactive.contained.backgroundColor:disabled\": Variable<string>;\n \"interactive.borderColor:disabled\": Variable<string>;\n \"interactive.textColor:disabled\": Variable<string>;\n\n \"interactive.forms.textColor\": 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 ColorScales extends AlouetteColorScales>(\n tokens: ReturnType<typeof createAlouetteTokens<ColorScales>>,\n colorScaleName: string & keyof ColorScales,\n backgroundColor?: Variable<string>,\n textColor?: Variable<string>,\n contrastTextColor?: Variable<string>,\n // eslint-disable-next-line @typescript-eslint/max-params\n) => {\n const alouetteTokens: ReturnType<\n typeof createAlouetteTokens<AlouetteColorScales>\n > = tokens;\n if (!backgroundColor) backgroundColor = alouetteTokens.color.white;\n if (!textColor) textColor = alouetteTokens.color.black;\n if (!contrastTextColor) contrastTextColor = alouetteTokens.color.white;\n\n const getColor = (scaleNumber: number) =>\n tokens.color[\n `${colorScaleName}.${scaleNumber}` as keyof typeof tokens.color\n ];\n\n return {\n backgroundColor,\n textColor,\n mainColor: getColor(6),\n mainTextColor: getColor(9),\n contrastTextColor,\n borderColor: getColor(8),\n\n \"interactive.contained.backgroundColor\": getColor(5),\n \"interactive.borderColor\": getColor(8),\n\n \"interactive.contained.backgroundColor:hover\": getColor(4),\n \"interactive.outlined.backgroundColor:hover\": getColor(1),\n \"interactive.borderColor:hover\": getColor(7),\n\n \"interactive.contained.backgroundColor:focus\": getColor(4),\n \"interactive.outlined.backgroundColor:focus\": getColor(1),\n \"interactive.borderColor:focus\": getColor(7),\n\n \"interactive.contained.backgroundColor:press\": getColor(2),\n \"interactive.outlined.backgroundColor:press\": getColor(3),\n \"interactive.borderColor:press\": getColor(7),\n\n \"interactive.contained.backgroundColor:disabled\":\n alouetteTokens.color.disabled,\n \"interactive.borderColor:disabled\": alouetteTokens.color.disabled,\n \"interactive.textColor:disabled\": alouetteTokens.color.contrastDisabled,\n\n \"interactive.forms.textColor\": textColor,\n // \"interactive.forms.backgroundColor\": undefined,\n // \"interactive.forms.backgroundColor:hover\": undefined,\n \"interactive.forms.backgroundColor:focus\": getColor(1),\n \"interactive.forms.backgroundColor:press\": getColor(3),\n \"interactive.forms.borderColor\": getColor(10),\n \"interactive.forms.borderColor:hover\": getColor(7),\n \"interactive.forms.borderColor:focus\": getColor(7),\n \"interactive.forms.borderColor:press\": getColor(7),\n \"interactive.forms.borderColor:disabled\": alouetteTokens.color.disabled,\n } satisfies FullTheme;\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(\n alouetteTokens,\n \"grayscale\",\n alouetteTokens.color.white,\n alouetteTokens.color.black,\n ),\n light_info: createColorTheme(alouetteTokens, \"info\"),\n light_success: createColorTheme(alouetteTokens, \"success\"),\n light_warning: createColorTheme(alouetteTokens, \"warning\"),\n light_danger: createColorTheme(alouetteTokens, \"danger\"),\n light_primary: createColorTheme(alouetteTokens, \"primary\"),\n\n // dark: createRootTheme({\n // backgroundColor: alouetteTokens.color.black,\n // textColor: alouetteTokens.color.white,\n // }),\n\n // dark_info: createColorTheme(\n // alouetteTokens,\n // \"info\",\n // alouetteTokens.color.black,\n // alouetteTokens.color.white,\n // ),\n // dark_success: createColorTheme(\n // alouetteTokens,\n // \"success\",\n // alouetteTokens.color.black,\n // alouetteTokens.color.white,\n // ),\n // dark_warning: createColorTheme(\n // alouetteTokens,\n // \"warning\",\n // alouetteTokens.color.black,\n // alouetteTokens.color.white,\n // ),\n // dark_danger: createColorTheme(\n // alouetteTokens,\n // \"danger\",\n // alouetteTokens.color.black,\n // alouetteTokens.color.white,\n // ),\n // dark_primary: createColorTheme(\n // alouetteTokens,\n // \"primary\",\n // alouetteTokens.color.black,\n // alouetteTokens.color.white,\n // ),\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// 1: interactive outlined background hover/focus color\n// 2: interactive contained background press color\n// 3: interactive outlined background press color\n// 4: interactive contained background hover/focus color\n// 5: interactive contained background color\n// 6: main color\n// 7: border hover/focus color\n// 8: border color\n// 9: text color\n// 10: form border color (default)\n\nexport type AlouetteColorScaleNumber = IntRange<1, 10>;\n\nexport type AlouetteColorScale = Record<AlouetteColorScaleNumber, string>;\n\nexport const createColorScale = <const T extends AlouetteColorScale>(\n colorScale: T,\n): T => colorScale;\n\nexport type AlouetteColorScaleNames =\n | \"danger\"\n | \"grayscale\"\n | \"info\"\n | \"primary\"\n | \"success\"\n | \"warning\";\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// Tool: https://m2.material.io/inline-tools/color/\n\nexport const defaultColorScales: AlouetteColorScales = {\n grayscale: createColorScale({\n 1: \"#faf9f8\",\n 2: \"#f4f3ef\",\n 3: \"#ebe9e5\",\n 4: \"#dedad2\",\n 5: \"#d1cdc5\",\n 6: \"#bab8ae\",\n 7: \"#aeaba3\",\n 8: \"#9c9a92\",\n 9: \"#8e8c83\",\n 10: \"#74726a\",\n }),\n success: createColorScale({\n 1: \"#f0f9f3\",\n 2: \"#d4f0d4\",\n 3: \"#a8e6a8\",\n 4: \"#7edc7e\",\n 5: \"#54d254\",\n 6: \"#2ac82a\",\n 7: \"#00be00\",\n 8: \"#00b400\",\n 9: \"#00aa00\",\n 10: \"#009200\",\n }),\n info: createColorScale({\n 1: \"#f0f9ff\",\n 2: \"#d4f0ff\",\n 3: \"#a8e6ff\",\n 4: \"#7edcff\",\n 5: \"#54d2ff\",\n 6: \"#2ac8ff\",\n 7: \"#00beff\",\n 8: \"#00b4ff\",\n 9: \"#00aaff\",\n 10: \"#0092ff\",\n }),\n warning: createColorScale({\n 1: \"#fff9f0\",\n 2: \"#fff0d4\",\n 3: \"#ffe6a8\",\n 4: \"#ffdc7e\",\n 5: \"#ffd254\",\n 6: \"#ffc82a\",\n 7: \"#ffbe00\",\n 8: \"#ffb400\",\n 9: \"#ffaa00\",\n 10: \"#ff9200\",\n }),\n danger: createColorScale({\n 1: \"#fff0f0\",\n 2: \"#ffd4d4\",\n 3: \"#ffaaaa\",\n 4: \"#ff7e7e\",\n 5: \"#ff5454\",\n 6: \"#ff2a2a\",\n 7: \"#ff0000\",\n 8: \"#f40000\",\n 9: \"#ea0000\",\n 10: \"#d20000\",\n }),\n primary: createColorScale({\n 1: \"#e1f4f6\",\n 2: \"#b4e2e9\",\n 3: \"#86cfdc\",\n 4: \"#60bcd0\",\n 5: \"#46aeca\",\n 6: \"#31a1c4\",\n 7: \"#2994b7\",\n 8: \"#1e82a6\",\n 9: \"#1c7193\",\n 10: \"#125272\",\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 defaultColorScales,\n createColorScale,\n type AlouetteColorScales,\n type AlouetteColorScale,\n} from \"./config/colorScales\";\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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"}
|