alouette 5.5.0 → 7.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/.editorconfig +0 -4
  2. package/.eslintrc.json +5 -0
  3. package/.yo-rc.json +11 -0
  4. package/LICENSE +2 -15
  5. package/README.md +17 -74
  6. package/dist/createAlouetteTamagui-browser.es.js +330 -0
  7. package/dist/createAlouetteTamagui-browser.es.js.map +1 -0
  8. package/dist/createAlouetteTamagui-node18.mjs +330 -0
  9. package/dist/createAlouetteTamagui-node18.mjs.map +1 -0
  10. package/dist/createAlouetteTamagui-react-native.cjs.js +334 -0
  11. package/dist/createAlouetteTamagui-react-native.cjs.js.map +1 -0
  12. package/dist/index-browser.es.js +404 -0
  13. package/dist/index-browser.es.js.map +1 -0
  14. package/dist/index-node18.mjs +404 -0
  15. package/dist/index-node18.mjs.map +1 -0
  16. package/dist/index-react-native.cjs.js +419 -0
  17. package/dist/index-react-native.cjs.js.map +1 -0
  18. package/dist/phosphor-icons-browser.es.js +2497 -0
  19. package/dist/phosphor-icons-browser.es.js.map +1 -0
  20. package/dist/phosphor-icons-node18.mjs +2497 -0
  21. package/dist/phosphor-icons-node18.mjs.map +1 -0
  22. package/dist/phosphor-icons-react-native.cjs.js +4998 -0
  23. package/dist/phosphor-icons-react-native.cjs.js.map +1 -0
  24. package/package.json +90 -73
  25. package/phosphor-icons.js +1 -0
  26. package/rollup.config.mjs +8 -0
  27. package/scripts/generate-phosphor-icons-legacy-withcopy.mjs +64 -0
  28. package/scripts/generate-phosphor-icons.mjs +51 -0
  29. package/src/.eslintrc.json +32 -0
  30. package/src/components/actions/Button.stories.tsx +89 -0
  31. package/src/components/actions/Button.tsx +71 -0
  32. package/src/components/actions/IconButton.stories.tsx +63 -0
  33. package/src/components/actions/IconButton.tsx +40 -0
  34. package/src/components/containers/Frame.stories.tsx +104 -0
  35. package/src/components/containers/Frame.tsx +12 -0
  36. package/src/components/containers/Pressable.stories.tsx +30 -0
  37. package/src/components/containers/Pressable.tsx +9 -0
  38. package/src/components/containers/variants.ts +93 -0
  39. package/src/components/feedback/FeedbackIcon.tsx +25 -0
  40. package/src/components/feedback/Message.stories.tsx +63 -0
  41. package/src/components/feedback/Message.tsx +74 -0
  42. package/src/components/forms/InputText.stories.tsx +72 -0
  43. package/src/components/forms/InputText.tsx +33 -0
  44. package/src/components/primitives/Icon.stories.tsx +18 -0
  45. package/src/components/primitives/Icon.tsx +46 -0
  46. package/src/components/primitives/ScrollView.ts +26 -0
  47. package/src/components/primitives/View.stories.tsx +24 -0
  48. package/src/components/primitives/View.ts +5 -0
  49. package/src/components/primitives/createVariants.ts +109 -0
  50. package/src/components/primitives/stacks.stories.tsx +75 -0
  51. package/src/components/primitives/stacks.ts +41 -0
  52. package/src/components/story-components/Story.tsx +80 -0
  53. package/src/components/story-components/StoryContainer.tsx +20 -0
  54. package/src/components/story-components/StoryDecorator.tsx +8 -0
  55. package/src/components/story-components/StoryGrid.tsx +90 -0
  56. package/src/components/story-components/StoryTitle.tsx +19 -0
  57. package/src/components/story-components/WithTamaguiConfig.tsx +15 -0
  58. package/src/components/typography/Typography.stories.tsx +48 -0
  59. package/src/components/typography/Typography.tsx +78 -0
  60. package/src/components/windowSize/SwitchBreakpoints.stories.tsx +60 -0
  61. package/src/components/windowSize/SwitchBreakpoints.tsx +59 -0
  62. package/src/components/windowSize/__snapshots__/SwitchBreakpoints.stories.tsx.snap +1032 -0
  63. package/src/components/windowSize/__snapshots_web__/SwitchBreakpoints.stories.tsx.snap +402 -0
  64. package/src/components/windowSize/useCurrentBreakpointName.ts +33 -0
  65. package/src/config/Breakpoints.ts +33 -0
  66. package/src/config/animations.ts +16 -0
  67. package/src/config/animations.web.ts +6 -0
  68. package/src/config/colorScales.ts +115 -0
  69. package/src/config/createAlouetteFonts.ts +70 -0
  70. package/src/config/createAlouetteTokens.ts +81 -0
  71. package/src/config/media.ts +9 -0
  72. package/src/config/themes.stories.tsx +63 -0
  73. package/src/config/themes.ts +111 -0
  74. package/src/config/tokens.stories.tsx +86 -0
  75. package/src/config/utils/groupTokens.ts +32 -0
  76. package/src/core/AlouetteDecorator.tsx +9 -0
  77. package/src/core/AlouetteProvider.tsx +19 -0
  78. package/src/createAlouetteTamagui.ts +37 -0
  79. package/src/index.ts +15 -0
  80. package/src/phosphor-icons.cjs +1254 -0
  81. package/src/phosphor-icons.d.ts +2503 -0
  82. package/src/phosphor-icons.ts +2498 -0
  83. package/src/typings/bundler.d.ts +10 -0
  84. package/tsconfig.json +20 -0
  85. package/.commitrc.js +0 -1
  86. package/.eslintignore +0 -2
  87. package/.eslintrc.js +0 -1
  88. package/.npmignore +0 -26
  89. package/.travis.yml +0 -10
  90. package/AUTHORS +0 -2
  91. package/CHANGELOG.md +0 -70
  92. package/HtmlRenderer.js +0 -4
  93. package/index.js +0 -6
  94. package/jsdoc.conf.json +0 -5
  95. package/lib-browsers/HtmlRenderer.js +0 -262
  96. package/lib-browsers/HtmlRenderer.js.map +0 -1
  97. package/lib-browsers/ParsedError.js +0 -70
  98. package/lib-browsers/ParsedError.js.map +0 -1
  99. package/lib-browsers/StackTrace.js +0 -43
  100. package/lib-browsers/StackTrace.js.map +0 -1
  101. package/lib-browsers/StackTraceItem.js +0 -92
  102. package/lib-browsers/StackTraceItem.js.map +0 -1
  103. package/lib-browsers/index.js +0 -131
  104. package/lib-browsers/index.js.map +0 -1
  105. package/lib-browsers-dev/HtmlRenderer.js +0 -262
  106. package/lib-browsers-dev/HtmlRenderer.js.map +0 -1
  107. package/lib-browsers-dev/ParsedError.js +0 -94
  108. package/lib-browsers-dev/ParsedError.js.map +0 -1
  109. package/lib-browsers-dev/StackTrace.js +0 -43
  110. package/lib-browsers-dev/StackTrace.js.map +0 -1
  111. package/lib-browsers-dev/StackTraceItem.js +0 -92
  112. package/lib-browsers-dev/StackTraceItem.js.map +0 -1
  113. package/lib-browsers-dev/index.js +0 -131
  114. package/lib-browsers-dev/index.js.map +0 -1
  115. package/lib-node6/HtmlRenderer.js +0 -240
  116. package/lib-node6/HtmlRenderer.js.map +0 -1
  117. package/lib-node6/ParsedError.js +0 -47
  118. package/lib-node6/ParsedError.js.map +0 -1
  119. package/lib-node6/StackTrace.js +0 -25
  120. package/lib-node6/StackTrace.js.map +0 -1
  121. package/lib-node6/StackTraceItem.js +0 -75
  122. package/lib-node6/StackTraceItem.js.map +0 -1
  123. package/lib-node6/index.js +0 -177
  124. package/lib-node6/index.js.map +0 -1
  125. package/lib-node6-dev/HtmlRenderer.js +0 -240
  126. package/lib-node6-dev/HtmlRenderer.js.map +0 -1
  127. package/lib-node6-dev/ParsedError.js +0 -72
  128. package/lib-node6-dev/ParsedError.js.map +0 -1
  129. package/lib-node6-dev/StackTrace.js +0 -25
  130. package/lib-node6-dev/StackTrace.js.map +0 -1
  131. package/lib-node6-dev/StackTraceItem.js +0 -75
  132. package/lib-node6-dev/StackTraceItem.js.map +0 -1
  133. package/lib-node6-dev/index.js +0 -177
  134. package/lib-node6-dev/index.js.map +0 -1
  135. package/lib-node7/HtmlRenderer.js +0 -240
  136. package/lib-node7/HtmlRenderer.js.map +0 -1
  137. package/lib-node7/ParsedError.js +0 -47
  138. package/lib-node7/ParsedError.js.map +0 -1
  139. package/lib-node7/StackTrace.js +0 -25
  140. package/lib-node7/StackTrace.js.map +0 -1
  141. package/lib-node7/StackTraceItem.js +0 -75
  142. package/lib-node7/StackTraceItem.js.map +0 -1
  143. package/lib-node7/index.js +0 -177
  144. package/lib-node7/index.js.map +0 -1
  145. package/lib-node7-dev/HtmlRenderer.js +0 -240
  146. package/lib-node7-dev/HtmlRenderer.js.map +0 -1
  147. package/lib-node7-dev/ParsedError.js +0 -72
  148. package/lib-node7-dev/ParsedError.js.map +0 -1
  149. package/lib-node7-dev/StackTrace.js +0 -25
  150. package/lib-node7-dev/StackTrace.js.map +0 -1
  151. package/lib-node7-dev/StackTraceItem.js +0 -75
  152. package/lib-node7-dev/StackTraceItem.js.map +0 -1
  153. package/lib-node7-dev/index.js +0 -177
  154. package/lib-node7-dev/index.js.map +0 -1
  155. package/lib-older-node/HtmlRenderer.js +0 -262
  156. package/lib-older-node/HtmlRenderer.js.map +0 -1
  157. package/lib-older-node/ParsedError.js +0 -70
  158. package/lib-older-node/ParsedError.js.map +0 -1
  159. package/lib-older-node/StackTrace.js +0 -43
  160. package/lib-older-node/StackTrace.js.map +0 -1
  161. package/lib-older-node/StackTraceItem.js +0 -92
  162. package/lib-older-node/StackTraceItem.js.map +0 -1
  163. package/lib-older-node/index.js +0 -177
  164. package/lib-older-node/index.js.map +0 -1
  165. package/lib-older-node-dev/HtmlRenderer.js +0 -262
  166. package/lib-older-node-dev/HtmlRenderer.js.map +0 -1
  167. package/lib-older-node-dev/ParsedError.js +0 -94
  168. package/lib-older-node-dev/ParsedError.js.map +0 -1
  169. package/lib-older-node-dev/StackTrace.js +0 -43
  170. package/lib-older-node-dev/StackTrace.js.map +0 -1
  171. package/lib-older-node-dev/StackTraceItem.js +0 -92
  172. package/lib-older-node-dev/StackTraceItem.js.map +0 -1
  173. package/lib-older-node-dev/index.js +0 -177
  174. package/lib-older-node-dev/index.js.map +0 -1
  175. package/lib-webpack/HtmlRenderer.js +0 -247
  176. package/lib-webpack/HtmlRenderer.js.map +0 -1
  177. package/lib-webpack/ParsedError.js +0 -64
  178. package/lib-webpack/ParsedError.js.map +0 -1
  179. package/lib-webpack/StackTrace.js +0 -37
  180. package/lib-webpack/StackTrace.js.map +0 -1
  181. package/lib-webpack/StackTraceItem.js +0 -86
  182. package/lib-webpack/StackTraceItem.js.map +0 -1
  183. package/lib-webpack/index.js +0 -113
  184. package/lib-webpack/index.js.map +0 -1
  185. package/lib-webpack-dev/HtmlRenderer.js +0 -247
  186. package/lib-webpack-dev/HtmlRenderer.js.map +0 -1
  187. package/lib-webpack-dev/ParsedError.js +0 -81
  188. package/lib-webpack-dev/ParsedError.js.map +0 -1
  189. package/lib-webpack-dev/StackTrace.js +0 -37
  190. package/lib-webpack-dev/StackTrace.js.map +0 -1
  191. package/lib-webpack-dev/StackTraceItem.js +0 -86
  192. package/lib-webpack-dev/StackTraceItem.js.map +0 -1
  193. package/lib-webpack-dev/index.js +0 -113
  194. package/lib-webpack-dev/index.js.map +0 -1
  195. package/lib-webpack-modern-browsers/HtmlRenderer.js +0 -226
  196. package/lib-webpack-modern-browsers/HtmlRenderer.js.map +0 -1
  197. package/lib-webpack-modern-browsers/ParsedError.js +0 -43
  198. package/lib-webpack-modern-browsers/ParsedError.js.map +0 -1
  199. package/lib-webpack-modern-browsers/StackTrace.js +0 -23
  200. package/lib-webpack-modern-browsers/StackTrace.js.map +0 -1
  201. package/lib-webpack-modern-browsers/StackTraceItem.js +0 -69
  202. package/lib-webpack-modern-browsers/StackTraceItem.js.map +0 -1
  203. package/lib-webpack-modern-browsers/index.js +0 -113
  204. package/lib-webpack-modern-browsers/index.js.map +0 -1
  205. package/lib-webpack-modern-browsers-dev/HtmlRenderer.js +0 -226
  206. package/lib-webpack-modern-browsers-dev/HtmlRenderer.js.map +0 -1
  207. package/lib-webpack-modern-browsers-dev/ParsedError.js +0 -57
  208. package/lib-webpack-modern-browsers-dev/ParsedError.js.map +0 -1
  209. package/lib-webpack-modern-browsers-dev/StackTrace.js +0 -23
  210. package/lib-webpack-modern-browsers-dev/StackTrace.js.map +0 -1
  211. package/lib-webpack-modern-browsers-dev/StackTraceItem.js +0 -69
  212. package/lib-webpack-modern-browsers-dev/StackTraceItem.js.map +0 -1
  213. package/lib-webpack-modern-browsers-dev/index.js +0 -113
  214. package/lib-webpack-modern-browsers-dev/index.js.map +0 -1
  215. package/lib-webpack-node7/HtmlRenderer.js +0 -222
  216. package/lib-webpack-node7/HtmlRenderer.js.map +0 -1
  217. package/lib-webpack-node7/ParsedError.js +0 -43
  218. package/lib-webpack-node7/ParsedError.js.map +0 -1
  219. package/lib-webpack-node7/StackTrace.js +0 -21
  220. package/lib-webpack-node7/StackTrace.js.map +0 -1
  221. package/lib-webpack-node7/StackTraceItem.js +0 -69
  222. package/lib-webpack-node7/StackTraceItem.js.map +0 -1
  223. package/lib-webpack-node7/index.js +0 -157
  224. package/lib-webpack-node7/index.js.map +0 -1
  225. package/lib-webpack-node7-dev/HtmlRenderer.js +0 -222
  226. package/lib-webpack-node7-dev/HtmlRenderer.js.map +0 -1
  227. package/lib-webpack-node7-dev/ParsedError.js +0 -57
  228. package/lib-webpack-node7-dev/ParsedError.js.map +0 -1
  229. package/lib-webpack-node7-dev/StackTrace.js +0 -21
  230. package/lib-webpack-node7-dev/StackTrace.js.map +0 -1
  231. package/lib-webpack-node7-dev/StackTraceItem.js +0 -69
  232. package/lib-webpack-node7-dev/StackTraceItem.js.map +0 -1
  233. package/lib-webpack-node7-dev/index.js +0 -157
  234. package/lib-webpack-node7-dev/index.js.map +0 -1
  235. package/src/HtmlRenderer.js +0 -231
  236. package/src/ParsedError.js +0 -44
  237. package/src/StackTrace.js +0 -21
  238. package/src/StackTraceItem.js +0 -71
  239. package/src/index.js +0 -160
  240. package/yarn.lock +0 -3680
package/.editorconfig CHANGED
@@ -11,7 +11,3 @@ end_of_line = lf
11
11
  charset = utf-8
12
12
  trim_trailing_whitespace = true
13
13
  insert_final_newline = true
14
-
15
- # Tab indentation (no size specified)
16
- [Makefile, *.mk]
17
- indent_style = tab
package/.eslintrc.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "root": true,
3
+ "extends": ["@pob/eslint-config/root-module"],
4
+ "ignorePatterns": ["*.d.ts", "/dist"]
5
+ }
package/.yo-rc.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "pob": {
3
+ "lib": {
4
+ "documentation": false,
5
+ "testing": {}
6
+ },
7
+ "project": {
8
+ "type": "lib"
9
+ }
10
+ }
11
+ }
package/LICENSE CHANGED
@@ -1,15 +1,2 @@
1
- Copyright (c) 2014-2016 Christophe Hurpeau <christophe@hurpeau.com> (http://christophe.hurpeau.com/)
2
-
3
- Permission to use, copy, modify, and/or distribute this software for
4
- any purpose with or without fee is hereby granted, provided that the
5
- above copyright notice and this permission notice appear in all
6
- copies.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9
- WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10
- WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11
- AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
13
- PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
14
- TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- PERFORMANCE OF THIS SOFTWARE.
1
+ Copyright (c) 2024 Christophe Hurpeau <302891+christophehurpeau@users.noreply.github.com> (https://christophe.hurpeau.com)
2
+ All rights reserved.
package/README.md CHANGED
@@ -1,86 +1,29 @@
1
- # alouette [![NPM version][npm-image]][npm-url]
1
+ <h3 align="center">
2
+ alouette
3
+ </h3>
2
4
 
3
- Parse an error with its stack trace, apply source maps and render it in console or in html
5
+ <p align="center">
6
+ tamagui-based design system with configurable defaults
7
+ </p>
4
8
 
5
- [![Build Status][circleci-status-image]][circleci-status-url]
6
- [![Travis Status][travisci-status-image]][travisci-status-url]
7
- [![Dependency ci Status][dependencyci-image]][dependencyci-url]
8
- [![Dependency Status][daviddm-image]][daviddm-url]
9
- [![Coverage percentage][coverage-image]][coverage-url]
9
+ <p align="center">
10
+ </p>
10
11
 
11
12
  ## Install
12
13
 
13
- ```sh
14
+ ```bash
14
15
  npm install --save alouette
15
16
  ```
16
17
 
18
+ ## Usage
17
19
 
18
- ## API
20
+ > tamagui.config.ts
19
21
 
20
- [https://christophehurpeau.github.io/alouette/docs](http://christophehurpeau.github.io/alouette/docs)
21
-
22
-
23
- ## Use
24
-
25
- ### For console
26
-
27
- ```js
28
- import { parse as parseError } from 'alouette';
29
- // es5: var parseError = require('alouette').parse;
30
-
31
- try {
32
- //...
33
- } catch (err) {
34
- console.error(parseError(err).toString());
35
- }
36
- ```
37
-
38
- ### Html rendering
39
-
40
- ```js
41
- import HtmlStackRenderer from 'alouette/HtmlRenderer';
42
- // es5: var HtmlStackRenderer = require('alouette/HtmlRenderer');
43
- const htmlStackRenderer = new HtmlStackRenderer();
44
-
45
- function (req, res) {
46
- try {
47
- //...
48
- } catch (err) {
49
- res.send(500, htmlStackRenderer.render(err));
50
- }
51
- }
22
+ ```ts
23
+ import {
24
+ createAlouetteTamagui,
25
+ defaultColorScales,
26
+ } from "alouette/createAlouetteTamagui";
52
27
 
28
+ export default createAlouetteTamagui({ colorScales: defaultColorScales });
53
29
  ```
54
-
55
- ### Open local files
56
-
57
- You can use [this firefox extension](https://addons.mozilla.org/en-US/firefox/addon/locallink/) to open in a new tab.
58
-
59
- To open in your editor, you can follow this below: (only works with linux)
60
-
61
- ```
62
- sudo wget https://raw.github.com/christophehurpeau/ppa/master/openlocalfile/openlocalfile -o /usr/bin/openlocalfile
63
- sudo wget https://raw.github.com/christophehurpeau/ppa/master/openlocalfile/openlocalfile.desktop -o /usr/share/applications/openlocalfile.desktop
64
- sudo xdg-mime default openlocalfile.desktop x-scheme-handler/openlocalfile
65
- ```
66
-
67
- And pass the `fileProtocol` option:
68
- ```js
69
- const htmlStackRenderer = new HtmlStackRenderer({ fileProtocol: 'openlocalfile' });
70
- ```
71
-
72
- You can modify /usr/bin/openlocalfile to change the editor.
73
-
74
- [npm-image]: https://img.shields.io/npm/v/alouette.svg?style=flat-square
75
- [npm-url]: https://npmjs.org/package/alouette
76
- [daviddm-image]: https://david-dm.org/christophehurpeau/alouette.svg?style=flat-square
77
- [daviddm-url]: https://david-dm.org/christophehurpeau/alouette
78
- [dependencyci-image]: https://dependencyci.com/github/christophehurpeau/alouette/badge?style=flat-square
79
- [dependencyci-url]: https://dependencyci.com/github/christophehurpeau/alouette
80
- [circleci-status-image]: https://img.shields.io/circleci/project/christophehurpeau/alouette/master.svg?style=flat-square
81
- [circleci-status-url]: https://circleci.com/gh/christophehurpeau/alouette
82
- [travisci-status-image]: https://img.shields.io/travis/christophehurpeau/alouette/master.svg?style=flat-square
83
- [travisci-status-url]: https://travis-ci.org/christophehurpeau/alouette
84
- [coverage-image]: https://img.shields.io/codecov/c/github/christophehurpeau/alouette/master.svg?style=flat-square
85
- [coverage-url]: https://codecov.io/gh/christophehurpeau/alouette
86
- [docs-coverage-url]: https://christophehurpeau.github.io/alouette/coverage/lcov-report/
@@ -0,0 +1,330 @@
1
+ import { createFont, createTokens, createTamagui } from '@tamagui/core';
2
+ import { createAnimations } from '@tamagui/animations-react-native';
3
+ import { createMedia } from '@tamagui/react-native-media-driver';
4
+
5
+ const animations = createAnimations({
6
+ fast: {
7
+ type: "timing",
8
+ duration: 100,
9
+ damping: 20,
10
+ stiffness: 250
11
+ },
12
+ formElement: {
13
+ type: "timing",
14
+ duration: 600,
15
+ damping: 20,
16
+ stiffness: 250
17
+ }
18
+ });
19
+
20
+ const defaultHeadingFontSizes = {
21
+ xl: 48,
22
+ lg: 40,
23
+ md: 32,
24
+ sm: 24,
25
+ xs: 18
26
+ };
27
+ const defaultBodyFontSizes = { xl: 24, lg: 18, md: 16, sm: 14, xs: 12 };
28
+ const roundWith1Precision = (value) => Math.round(value * 10) / 10;
29
+ const createAlouetteFonts = ({
30
+ headingFontFamily = "Inter",
31
+ headingFontSizes = defaultHeadingFontSizes,
32
+ bodyFontFamily = "Inter",
33
+ bodyFontSizes = defaultBodyFontSizes
34
+ } = {}) => ({
35
+ heading: createFont({
36
+ family: headingFontFamily,
37
+ weight: {
38
+ regular: "400",
39
+ bold: "700",
40
+ black: "900"
41
+ },
42
+ face: {
43
+ 400: { normal: headingFontFamily + "Regular" },
44
+ 700: { normal: headingFontFamily + "Bold" },
45
+ 900: { normal: headingFontFamily + "Black" }
46
+ },
47
+ size: headingFontSizes,
48
+ lineHeight: {
49
+ xl: roundWith1Precision(1.1 * headingFontSizes.xl),
50
+ lg: roundWith1Precision(1.1 * headingFontSizes.lg),
51
+ md: roundWith1Precision(1.2 * headingFontSizes.md),
52
+ sm: roundWith1Precision(1.3 * headingFontSizes.sm),
53
+ xs: roundWith1Precision(1.3 * headingFontSizes.xs)
54
+ }
55
+ }),
56
+ body: createFont({
57
+ family: bodyFontFamily,
58
+ weight: {
59
+ regular: "400",
60
+ bold: "700",
61
+ black: "900"
62
+ },
63
+ face: {
64
+ 400: { normal: bodyFontFamily + "Regular" },
65
+ 700: { normal: bodyFontFamily + "Bold" },
66
+ 900: { normal: bodyFontFamily + "Black" }
67
+ },
68
+ size: bodyFontSizes,
69
+ lineHeight: {
70
+ xl: roundWith1Precision(1.4 * bodyFontSizes.xl),
71
+ lg: roundWith1Precision(1.4 * bodyFontSizes.lg),
72
+ md: roundWith1Precision(1.4 * bodyFontSizes.md),
73
+ sm: roundWith1Precision(1.4 * bodyFontSizes.sm),
74
+ xs: roundWith1Precision(1.4 * bodyFontSizes.xs)
75
+ }
76
+ })
77
+ });
78
+
79
+ const Breakpoints = {
80
+ /**
81
+ * min-width: 0
82
+ */
83
+ BASE: 0,
84
+ /**
85
+ * min-width: 480px
86
+ */
87
+ SMALL: 480,
88
+ /**
89
+ * min-width: 768px
90
+ */
91
+ MEDIUM: 768,
92
+ /**
93
+ * min-width: 1024px
94
+ */
95
+ LARGE: 1024,
96
+ /**
97
+ * min-width: 1280px
98
+ */
99
+ WIDE: 1280
100
+ };
101
+
102
+ const media = createMedia({
103
+ small: { minWidth: Breakpoints.SMALL },
104
+ medium: { minWidth: Breakpoints.MEDIUM },
105
+ large: { minWidth: Breakpoints.LARGE },
106
+ wide: { minWidth: Breakpoints.WIDE }
107
+ });
108
+
109
+ const createTheme = (theme) => {
110
+ return theme;
111
+ };
112
+ const createColorTheme = (tokens, colorScaleName, textColor = tokens.color.black, contrastTextColor = tokens.color.white) => {
113
+ const getColor = (scaleNumber) => tokens.color[colorScaleName + `.${scaleNumber}`];
114
+ return {
115
+ mainColor: getColor(6),
116
+ mainTextColor: getColor(9),
117
+ contrastTextColor,
118
+ borderColor: getColor(8),
119
+ "interactive.contained.backgroundColor": getColor(5),
120
+ "interactive.borderColor": getColor(8),
121
+ "interactive.contained.backgroundColor:hover": getColor(4),
122
+ "interactive.outlined.backgroundColor:hover": getColor(1),
123
+ "interactive.borderColor:hover": getColor(7),
124
+ "interactive.contained.backgroundColor:focus": getColor(4),
125
+ "interactive.outlined.backgroundColor:focus": getColor(1),
126
+ "interactive.borderColor:focus": getColor(7),
127
+ "interactive.contained.backgroundColor:press": getColor(2),
128
+ "interactive.outlined.backgroundColor:press": getColor(3),
129
+ "interactive.borderColor:press": getColor(7),
130
+ "interactive.contained.backgroundColor:disabled": tokens.color.disabled,
131
+ "interactive.borderColor:disabled": tokens.color.disabled,
132
+ "interactive.textColor:disabled": tokens.color.contrastDisabled,
133
+ "interactive.forms.textColor": textColor,
134
+ "interactive.forms.backgroundColor": void 0,
135
+ "interactive.forms.backgroundColor:hover": void 0,
136
+ "interactive.forms.backgroundColor:focus": getColor(1),
137
+ "interactive.forms.backgroundColor:press": getColor(3),
138
+ "interactive.forms.borderColor": getColor(10),
139
+ "interactive.forms.borderColor:hover": getColor(7),
140
+ "interactive.forms.borderColor:focus": getColor(7),
141
+ "interactive.forms.borderColor:press": getColor(7),
142
+ "interactive.forms.borderColor:disabled": tokens.color.disabled
143
+ };
144
+ };
145
+ const createAlouetteThemes = (tokens) => ({
146
+ light: createTheme({
147
+ backgroundColor: tokens.color.white,
148
+ textColor: tokens.color.black
149
+ }),
150
+ light_info: createColorTheme(tokens, "info"),
151
+ light_success: createColorTheme(tokens, "success"),
152
+ light_warning: createColorTheme(tokens, "warning"),
153
+ light_danger: createColorTheme(tokens, "danger"),
154
+ light_primary: createColorTheme(tokens, "primary"),
155
+ dark: createTheme({
156
+ backgroundColor: tokens.color.black,
157
+ textColor: tokens.color.white
158
+ }),
159
+ dark_info: createColorTheme(
160
+ tokens,
161
+ "info",
162
+ tokens.color.black,
163
+ tokens.color.white
164
+ ),
165
+ dark_success: createColorTheme(
166
+ tokens,
167
+ "success",
168
+ tokens.color.black,
169
+ tokens.color.white
170
+ ),
171
+ dark_warning: createColorTheme(
172
+ tokens,
173
+ "warning",
174
+ tokens.color.black,
175
+ tokens.color.white
176
+ ),
177
+ dark_danger: createColorTheme(
178
+ tokens,
179
+ "danger",
180
+ tokens.color.black,
181
+ tokens.color.white
182
+ ),
183
+ dark_primary: createColorTheme(
184
+ tokens,
185
+ "primary",
186
+ tokens.color.black,
187
+ tokens.color.white
188
+ )
189
+ });
190
+
191
+ const createAlouetteSizes = (spacing, negative) => {
192
+ const MAX_SIZE = 64;
193
+ const sizes = {};
194
+ for (let size = 0; size <= MAX_SIZE; size++) {
195
+ sizes[negative ? `-${size}` : `${size}`] = size * spacing;
196
+ }
197
+ return sizes;
198
+ };
199
+ const transformColorScalesToTokens = (colorScales) => {
200
+ return Object.fromEntries(
201
+ Object.entries(colorScales).flatMap(([colorName, colorScale]) => {
202
+ return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {
203
+ return [`${colorName}.${scaleNumber}`, colorValue];
204
+ });
205
+ })
206
+ );
207
+ };
208
+ const createAlouetteTokens = (colorScales, { spacing = 4 } = {}) => {
209
+ const sizes = createAlouetteSizes(spacing, false);
210
+ const negativeSizes = createAlouetteSizes(-spacing, true);
211
+ return createTokens({
212
+ color: {
213
+ black: "#000000",
214
+ white: "#ffffff",
215
+ disabled: colorScales.grayscale[3],
216
+ contrastDisabled: colorScales.grayscale[7],
217
+ ...transformColorScalesToTokens(colorScales)
218
+ },
219
+ radius: {
220
+ ...sizes,
221
+ xs: spacing * 2,
222
+ sm: spacing * 4,
223
+ md: spacing * 8
224
+ },
225
+ space: {
226
+ ...sizes,
227
+ ...negativeSizes,
228
+ xs: spacing * 2,
229
+ sm: spacing * 4,
230
+ md: spacing * 8
231
+ },
232
+ size: { ...sizes },
233
+ zIndex: {}
234
+ });
235
+ };
236
+
237
+ const createColorScale = (colorScale) => colorScale;
238
+ const defaultColorScales = {
239
+ grayscale: createColorScale({
240
+ 1: "#faf9f8",
241
+ 2: "#f4f3ef",
242
+ 3: "#ebe9e5",
243
+ 4: "#dedad2",
244
+ 5: "#d1cdc5",
245
+ 6: "#bab8ae",
246
+ 7: "#aeaba3",
247
+ 8: "#9c9a92",
248
+ 9: "#8e8c83",
249
+ 10: "#74726a"
250
+ }),
251
+ success: createColorScale({
252
+ 1: "#f0f9f3",
253
+ 2: "#d4f0d4",
254
+ 3: "#a8e6a8",
255
+ 4: "#7edc7e",
256
+ 5: "#54d254",
257
+ 6: "#2ac82a",
258
+ 7: "#00be00",
259
+ 8: "#00b400",
260
+ 9: "#00aa00",
261
+ 10: "#009200"
262
+ }),
263
+ info: createColorScale({
264
+ 1: "#f0f9ff",
265
+ 2: "#d4f0ff",
266
+ 3: "#a8e6ff",
267
+ 4: "#7edcff",
268
+ 5: "#54d2ff",
269
+ 6: "#2ac8ff",
270
+ 7: "#00beff",
271
+ 8: "#00b4ff",
272
+ 9: "#00aaff",
273
+ 10: "#0092ff"
274
+ }),
275
+ warning: createColorScale({
276
+ 1: "#fff9f0",
277
+ 2: "#fff0d4",
278
+ 3: "#ffe6a8",
279
+ 4: "#ffdc7e",
280
+ 5: "#ffd254",
281
+ 6: "#ffc82a",
282
+ 7: "#ffbe00",
283
+ 8: "#ffb400",
284
+ 9: "#ffaa00",
285
+ 10: "#ff9200"
286
+ }),
287
+ danger: createColorScale({
288
+ 1: "#fff0f0",
289
+ 2: "#ffd4d4",
290
+ 3: "#ffaaaa",
291
+ 4: "#ff7e7e",
292
+ 5: "#ff5454",
293
+ 6: "#ff2a2a",
294
+ 7: "#ff0000",
295
+ 8: "#f40000",
296
+ 9: "#ea0000",
297
+ 10: "#d20000"
298
+ }),
299
+ primary: createColorScale({
300
+ 1: "#e1f4f6",
301
+ 2: "#b4e2e9",
302
+ 3: "#86cfdc",
303
+ 4: "#60bcd0",
304
+ 5: "#46aeca",
305
+ 6: "#31a1c4",
306
+ 7: "#2994b7",
307
+ 8: "#1e82a6",
308
+ 9: "#1c7193",
309
+ 10: "#125272"
310
+ })
311
+ };
312
+
313
+ const createAlouetteTamagui = (options) => {
314
+ const tokens = createAlouetteTokens(options.colorScales, options.tokens);
315
+ return createTamagui({
316
+ fonts: createAlouetteFonts(options.fonts),
317
+ tokens,
318
+ themes: createAlouetteThemes(tokens),
319
+ media,
320
+ animations,
321
+ settings: {
322
+ allowedStyleValues: "strict",
323
+ autocompleteSpecificTokens: true
324
+ },
325
+ components: ["alouette"]
326
+ });
327
+ };
328
+
329
+ export { createAlouetteTamagui, createColorScale, defaultColorScales };
330
+ //# sourceMappingURL=createAlouetteTamagui-browser.es.js.map
@@ -0,0 +1 @@
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/themes.ts","../src/config/createAlouetteTokens.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","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 { 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","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 {\n createAlouetteFonts,\n AlouetteFontsOptions,\n} from \"./config/createAlouetteFonts\";\nimport { media } from \"./config/media\";\nimport { createAlouetteThemes } from \"./config/themes\";\nimport {\n createAlouetteTokens,\n AlouetteTokensOptions,\n} from \"./config/createAlouetteTokens\";\nimport { AlouetteColorScales } from \"./config/colorScales\";\n\ninterface AlouetteTamaguiOptions {\n colorScales: AlouetteColorScales;\n fonts?: AlouetteFontsOptions;\n tokens?: AlouetteTokensOptions;\n}\n\nexport { defaultColorScales, createColorScale } 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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"}