@ornikar/bumper 1.1.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.
Files changed (108) hide show
  1. package/.eslintrc.json +3 -0
  2. package/.vscode/settings.json +3 -0
  3. package/CHANGELOG.md +20 -0
  4. package/dist/definitions/components/breakpoints/SwitchBreakpoins.d.ts +5 -0
  5. package/dist/definitions/components/breakpoints/SwitchBreakpoins.d.ts.map +1 -0
  6. package/dist/definitions/components/breakpoints/hooks/useBreakpointValue.d.ts +3 -0
  7. package/dist/definitions/components/breakpoints/hooks/useBreakpointValue.d.ts.map +1 -0
  8. package/dist/definitions/components/breakpoints/hooks/useCurrentBreakpointName.d.ts +3 -0
  9. package/dist/definitions/components/breakpoints/hooks/useCurrentBreakpointName.d.ts.map +1 -0
  10. package/dist/definitions/components/breakpoints/hooks/useWindowSize.d.ts +2 -0
  11. package/dist/definitions/components/breakpoints/hooks/useWindowSize.d.ts.map +1 -0
  12. package/dist/definitions/components/breakpoints/utils/breakpointsUtils.d.ts +10 -0
  13. package/dist/definitions/components/breakpoints/utils/breakpointsUtils.d.ts.map +1 -0
  14. package/dist/definitions/components/primitives/Stacks.d.ts +9 -0
  15. package/dist/definitions/components/primitives/Stacks.d.ts.map +1 -0
  16. package/dist/definitions/components/primitives/View.d.ts +5 -0
  17. package/dist/definitions/components/primitives/View.d.ts.map +1 -0
  18. package/dist/definitions/components/typography/Typograhy.d.ts +40 -0
  19. package/dist/definitions/components/typography/Typograhy.d.ts.map +1 -0
  20. package/dist/definitions/components/typography/utils/getTypeAndWeightValues.d.ts +9 -0
  21. package/dist/definitions/components/typography/utils/getTypeAndWeightValues.d.ts.map +1 -0
  22. package/dist/definitions/core/BumperDecorator.d.ts +2 -0
  23. package/dist/definitions/core/BumperDecorator.d.ts.map +1 -0
  24. package/dist/definitions/core/BumperProvider.d.ts +6 -0
  25. package/dist/definitions/core/BumperProvider.d.ts.map +1 -0
  26. package/dist/definitions/index.d.ts +10 -0
  27. package/dist/definitions/index.d.ts.map +1 -0
  28. package/dist/definitions/story-components/StorySection.d.ts +20 -0
  29. package/dist/definitions/story-components/StorySection.d.ts.map +1 -0
  30. package/dist/definitions/story-components/StoryTitle.d.ts +6 -0
  31. package/dist/definitions/story-components/StoryTitle.d.ts.map +1 -0
  32. package/dist/definitions/tamagui.config.d.ts +148 -0
  33. package/dist/definitions/tamagui.config.d.ts.map +1 -0
  34. package/dist/definitions/themes/light.d.ts +53 -0
  35. package/dist/definitions/themes/light.d.ts.map +1 -0
  36. package/dist/definitions/themes/palettes/deepPurpleColorPalette.d.ts +86 -0
  37. package/dist/definitions/themes/palettes/deepPurpleColorPalette.d.ts.map +1 -0
  38. package/dist/definitions/themes/utils/breakpoints.d.ts +15 -0
  39. package/dist/definitions/themes/utils/breakpoints.d.ts.map +1 -0
  40. package/dist/definitions/tokens/fonts.d.ts +18 -0
  41. package/dist/definitions/tokens/fonts.d.ts.map +1 -0
  42. package/dist/definitions/tokens/size.d.ts +11 -0
  43. package/dist/definitions/tokens/size.d.ts.map +1 -0
  44. package/dist/definitions/tokens/space.d.ts +16 -0
  45. package/dist/definitions/tokens/space.d.ts.map +1 -0
  46. package/dist/index-metro.es.android.js +396 -0
  47. package/dist/index-metro.es.android.js.map +1 -0
  48. package/dist/index-metro.es.ios.js +396 -0
  49. package/dist/index-metro.es.ios.js.map +1 -0
  50. package/dist/index-node-22.17.cjs.js +405 -0
  51. package/dist/index-node-22.17.cjs.js.map +1 -0
  52. package/dist/index-node-22.17.cjs.web.js +405 -0
  53. package/dist/index-node-22.17.cjs.web.js.map +1 -0
  54. package/dist/index-node-22.17.es.mjs +395 -0
  55. package/dist/index-node-22.17.es.mjs.map +1 -0
  56. package/dist/index-node-22.17.es.web.mjs +395 -0
  57. package/dist/index-node-22.17.es.web.mjs.map +1 -0
  58. package/dist/index.es.js +392 -0
  59. package/dist/index.es.js.map +1 -0
  60. package/dist/index.es.web.js +392 -0
  61. package/dist/index.es.web.js.map +1 -0
  62. package/dist/tsbuildinfo +1 -0
  63. package/package.json +79 -0
  64. package/src/.eslintrc.json +20 -0
  65. package/src/components/breakpoints/SwitchBreakpoins.tsx +12 -0
  66. package/src/components/breakpoints/__snapshots__/breakpoints.stories.tsx.snap +49 -0
  67. package/src/components/breakpoints/__snapshots_web__/breakpoints.stories.tsx.snap +43 -0
  68. package/src/components/breakpoints/breakpoints.stories.tsx +45 -0
  69. package/src/components/breakpoints/hooks/useBreakpointValue.ts +12 -0
  70. package/src/components/breakpoints/hooks/useCurrentBreakpointName.ts +20 -0
  71. package/src/components/breakpoints/hooks/useWindowSize.ts +1 -0
  72. package/src/components/breakpoints/utils/breakpointsUtils.test.ts +85 -0
  73. package/src/components/breakpoints/utils/breakpointsUtils.ts +28 -0
  74. package/src/components/primitives/Stack.stories.tsx +62 -0
  75. package/src/components/primitives/Stacks.ts +19 -0
  76. package/src/components/primitives/View.stories.tsx +13 -0
  77. package/src/components/primitives/View.ts +5 -0
  78. package/src/components/primitives/__snapshots__/Stack.stories.tsx.snap +376 -0
  79. package/src/components/primitives/__snapshots__/View.stories.tsx.snap +25 -0
  80. package/src/components/primitives/__snapshots_web__/Stack.stories.tsx.snap +190 -0
  81. package/src/components/primitives/__snapshots_web__/View.stories.tsx.snap +28 -0
  82. package/src/components/typography/Typograhy.tsx +130 -0
  83. package/src/components/typography/Typography.stories.tsx +144 -0
  84. package/src/components/typography/__snapshots__/Typography.stories.tsx.snap +1471 -0
  85. package/src/components/typography/__snapshots_web__/Typography.stories.tsx.snap +605 -0
  86. package/src/components/typography/utils/getTypeAndWeightValues.test.tsx +147 -0
  87. package/src/components/typography/utils/getTypeAndWeightValues.tsx +32 -0
  88. package/src/core/BumperDecorator.tsx +11 -0
  89. package/src/core/BumperProvider.tsx +15 -0
  90. package/src/index.ts +11 -0
  91. package/src/story-components/StorySection.tsx +70 -0
  92. package/src/story-components/StoryTitle.tsx +16 -0
  93. package/src/tamagui.config.ts +43 -0
  94. package/src/themes/__snapshots__/light.stories.tsx.snap +2192 -0
  95. package/src/themes/__snapshots_web__/light.stories.tsx.snap +985 -0
  96. package/src/themes/light.stories.tsx +38 -0
  97. package/src/themes/light.ts +59 -0
  98. package/src/themes/palettes/__snapshots__/deepPurpleColorPalette.stories.tsx.snap +2770 -0
  99. package/src/themes/palettes/__snapshots_web__/deepPurpleColorPalette.stories.tsx.snap +1213 -0
  100. package/src/themes/palettes/deepPurpleColorPalette.stories.tsx +37 -0
  101. package/src/themes/palettes/deepPurpleColorPalette.ts +147 -0
  102. package/src/themes/utils/breakpoints.ts +15 -0
  103. package/src/tokens/fonts.ts +95 -0
  104. package/src/tokens/size.ts +10 -0
  105. package/src/tokens/space.ts +15 -0
  106. package/tsconfig.build.json +25 -0
  107. package/tsconfig.eslint.json +6 -0
  108. package/tsconfig.json +21 -0
@@ -0,0 +1,395 @@
1
+ import { makeDecorator } from '@storybook/addons';
2
+ import { createFont, createTokens, createTamagui, TamaguiProvider, useMedia } from '@tamagui/core';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { useMemo } from 'react';
5
+ export { useWindowDimensions as useWindowSize } from 'react-native';
6
+
7
+ const createColorScale = colorScale => colorScale;
8
+ const colorScales = {
9
+ deepPurple: createColorScale({
10
+ 5: '#936C93',
11
+ 6: '#7A587A',
12
+ 7: '#6E4D6E',
13
+ 8: '#563B56',
14
+ 9: '#452F45'
15
+ }),
16
+ beige: createColorScale({
17
+ 1: '#F7F4EE',
18
+ 2: '#F1ECE4',
19
+ 3: '#EAE3D6',
20
+ 4: '#E5DCCA',
21
+ 5: '#DDD0B8',
22
+ 6: '#C1B59F'
23
+ }),
24
+ lightning: createColorScale({
25
+ 4: '#FFF966',
26
+ 5: '#FFF500',
27
+ 8: '#594D0D',
28
+ 9: '#43390A'
29
+ }),
30
+ rainbow: createColorScale({
31
+ pink: '#E4A4F9',
32
+ brick: '#951D12',
33
+ orange: '#DB6E2E',
34
+ gold: '#9A7600',
35
+ sun: '#EFD346',
36
+ 'green-pine': '#1C5D47',
37
+ 'green-grass': '#4DA00A',
38
+ 'green-apple': '#DEF985',
39
+ 'blue-electric': '#2850C4',
40
+ 'blue-sky': '#B2F0FD'
41
+ }),
42
+ grey: createColorScale({
43
+ 0: '#ffffff',
44
+ 1: '#ECECEC',
45
+ 2: '#CDCED0',
46
+ 3: '#A8A8A8',
47
+ 5: '#838383',
48
+ 7: '#505050',
49
+ 9: '#101010'
50
+ }),
51
+ blue: createColorScale({
52
+ 1: '#E9F4FC',
53
+ 2: '#BCDFF6',
54
+ 6: '#1772AB',
55
+ 7: '#125A87'
56
+ }),
57
+ green: createColorScale({
58
+ 1: '#ECFEDD',
59
+ 2: '#DBFAC1',
60
+ 6: '#438D06',
61
+ 7: '#357105'
62
+ }),
63
+ yellow: createColorScale({
64
+ 1: '#FDF8E7',
65
+ 2: '#FAEBB8',
66
+ 6: '#EFC11F',
67
+ 7: '#BA930B'
68
+ }),
69
+ red: createColorScale({
70
+ 1: '#FDE4E3',
71
+ 2: '#FAB8B8',
72
+ 6: '#F14847',
73
+ 7: '#BD100F'
74
+ }),
75
+ 'beige-alpha': createColorScale({
76
+ '25': '#C1B59F40',
77
+ '40': '#C1B59F66',
78
+ '50': '#C1B59F80'
79
+ }),
80
+ 'grey-alpha': createColorScale({
81
+ '25': '#10101040',
82
+ '35': '#10101059',
83
+ '50': '#10101080'
84
+ }),
85
+ 'white-alpha': createColorScale({
86
+ '10': '#FFFFFF1A',
87
+ '20': '#FFFFFF33',
88
+ '60': '#FFFFFF99',
89
+ '80': '#FFFFFFCC',
90
+ '90': '#FFFFFFE5'
91
+ })
92
+ };
93
+ const transformColorScalesToTokens = () => {
94
+ return Object.fromEntries(Object.entries(colorScales).flatMap(([colorName, colorScale]) => {
95
+ return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {
96
+ return [`${colorName}.${scaleNumber}`, colorValue];
97
+ });
98
+ }));
99
+ };
100
+ const deepPurpleColorPalette = {
101
+ ...transformColorScalesToTokens(),
102
+ white: '#FFFFFF',
103
+ black: '#000000',
104
+ transparent: 'transparent'
105
+ };
106
+
107
+ const light = {
108
+ // content
109
+ 'content.base.hi': deepPurpleColorPalette['grey.9'],
110
+ 'content.base.mid': deepPurpleColorPalette['grey.7'],
111
+ 'content.base.low': deepPurpleColorPalette['grey.5'],
112
+ 'content.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
113
+ 'content.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.80'],
114
+ 'content.base.onContrasted.low': deepPurpleColorPalette['white-alpha.60'],
115
+ 'content.accent': deepPurpleColorPalette['deepPurple.8'],
116
+ 'content.promo': deepPurpleColorPalette['lightning.9'],
117
+ 'content.promo.onContrasted': deepPurpleColorPalette['lightning.5'],
118
+ 'content.info': deepPurpleColorPalette['blue.7'],
119
+ 'content.success': deepPurpleColorPalette['green.7'],
120
+ 'content.warning': deepPurpleColorPalette['yellow.7'],
121
+ 'content.danger': deepPurpleColorPalette['red.7'],
122
+ 'content.muted': deepPurpleColorPalette['beige.6'],
123
+ 'content.disabled': deepPurpleColorPalette['grey.3'],
124
+ 'content.disabled.onContrasted': deepPurpleColorPalette['grey.1'],
125
+ // backgrounds
126
+ 'bg.base.hi.default': deepPurpleColorPalette['beige.2'],
127
+ 'bg.base.hi.pressed': deepPurpleColorPalette['beige.3'],
128
+ 'bg.base.mid.default': deepPurpleColorPalette['beige.1'],
129
+ 'bg.base.mid.pressed': deepPurpleColorPalette['beige.2'],
130
+ 'bg.base.low.default': deepPurpleColorPalette['grey.0'],
131
+ 'bg.base.low.pressed': deepPurpleColorPalette['beige.1'],
132
+ 'bg.accent.default': deepPurpleColorPalette['deepPurple.8'],
133
+ 'bg.accent.pressed': deepPurpleColorPalette['deepPurple.7'],
134
+ 'bg.promo.hi.default': deepPurpleColorPalette['lightning.9'],
135
+ 'bg.promo.hi.pressed': deepPurpleColorPalette['lightning.8'],
136
+ 'bg.promo.mid.default': deepPurpleColorPalette['lightning.5'],
137
+ 'bg.promo.mid.pressed': deepPurpleColorPalette['lightning.4'],
138
+ 'bg.highlight.default': deepPurpleColorPalette['blue.1'],
139
+ 'bg.highlight.pressed': deepPurpleColorPalette['blue.2'],
140
+ 'bg.info.hi': deepPurpleColorPalette['blue.6'],
141
+ 'bg.info.mid': deepPurpleColorPalette['blue.1'],
142
+ 'bg.success.hi': deepPurpleColorPalette['green.6'],
143
+ 'bg.success.mid': deepPurpleColorPalette['green.1'],
144
+ 'bg.warning.hi': deepPurpleColorPalette['yellow.6'],
145
+ 'bg.warning.mid': deepPurpleColorPalette['yellow.1'],
146
+ 'bg.danger.hi': deepPurpleColorPalette['red.6'],
147
+ 'bg.danger.mid': deepPurpleColorPalette['red.1'],
148
+ 'bg.disabled.hi': deepPurpleColorPalette['grey.3'],
149
+ 'bg.disabled.mid': deepPurpleColorPalette['grey.1'],
150
+ 'bg.overlay': deepPurpleColorPalette['grey-alpha.50'],
151
+ // borders
152
+ 'border.base.hi': deepPurpleColorPalette['grey.9'],
153
+ 'border.base.mid': deepPurpleColorPalette['grey.3'],
154
+ 'border.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
155
+ 'border.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.60'],
156
+ 'border.info': deepPurpleColorPalette['blue.6'],
157
+ 'border.success': deepPurpleColorPalette['green.6'],
158
+ 'border.warning': deepPurpleColorPalette['yellow.6'],
159
+ 'border.danger': deepPurpleColorPalette['red.6'],
160
+ 'border.disabled': deepPurpleColorPalette['grey.2']
161
+ };
162
+
163
+ let BreakpointNameEnum = /*#__PURE__*/function (BreakpointNameEnum) {
164
+ BreakpointNameEnum["BASE"] = "base";
165
+ BreakpointNameEnum["SMALL"] = "small";
166
+ BreakpointNameEnum["MEDIUM"] = "medium";
167
+ BreakpointNameEnum["LARGE"] = "large";
168
+ BreakpointNameEnum["WIDE"] = "wide";
169
+ return BreakpointNameEnum;
170
+ }({});
171
+ const breakpoints = {
172
+ [BreakpointNameEnum.BASE]: 0,
173
+ [BreakpointNameEnum.SMALL]: 480,
174
+ [BreakpointNameEnum.MEDIUM]: 768,
175
+ [BreakpointNameEnum.LARGE]: 1024,
176
+ [BreakpointNameEnum.WIDE]: 1280
177
+ };
178
+
179
+ const GTStandardFaces = {
180
+ 500: {
181
+ normal: 'GTStandardRegular'
182
+ },
183
+ 600: {
184
+ normal: 'GTStandardSemibold'
185
+ },
186
+ 700: {
187
+ normal: 'GTStandardBold'
188
+ }
189
+ };
190
+ const size = {
191
+ 'heading-2xl': 56,
192
+ 'heading-xl': 48,
193
+ 'heading-l': 38,
194
+ 'heading-m': 24,
195
+ 'heading-s': 20,
196
+ 'heading-xs': 16,
197
+ 'body-xl': 24,
198
+ 'body-l': 18,
199
+ 'body-m': 16,
200
+ 'body-s': 14,
201
+ 'body-xs': 12,
202
+ 'label-xl': 18,
203
+ 'label-l': 16,
204
+ 'label-m': 14,
205
+ 'label-s': 12
206
+ };
207
+ const lineHeight = {
208
+ 'heading-2xl': 64,
209
+ 'heading-xl': 56,
210
+ 'heading-l': 48,
211
+ 'heading-m': 32,
212
+ 'heading-s': 20,
213
+ 'heading-xs': 18,
214
+ 'body-xl': 32,
215
+ 'body-l': 26,
216
+ 'body-m': 24,
217
+ 'body-s': 20,
218
+ 'body-xs': 16,
219
+ 'label-xl': 26,
220
+ 'label-l': 24,
221
+ 'label-m': 20,
222
+ 'label-s': 16
223
+ };
224
+ const letterSpacing = {
225
+ 'heading-2xl': 0,
226
+ 'heading-xl': 0,
227
+ 'heading-l': 0,
228
+ 'heading-m': 0,
229
+ 'heading-s': 0,
230
+ 'heading-xs': 0,
231
+ 'body-xl': 0.3,
232
+ 'body-l': 0.3,
233
+ 'body-m': 0.3,
234
+ 'body-s': 0.3,
235
+ 'body-xs': 0.3,
236
+ 'label-xl': 0,
237
+ 'label-l': 0,
238
+ 'label-m': 0,
239
+ 'label-s': 0
240
+ };
241
+ const weight = {
242
+ bold: '700',
243
+ semibold: '600',
244
+ regular: '500'
245
+ };
246
+ const fonts = createFont({
247
+ family: 'GTStandard',
248
+ size,
249
+ lineHeight,
250
+ letterSpacing,
251
+ weight,
252
+ face: GTStandardFaces
253
+ });
254
+
255
+ const sizeTokens = {
256
+ 16: 16,
257
+ 20: 20,
258
+ 24: 24,
259
+ 32: 32,
260
+ 80: 80,
261
+ 128: 128,
262
+ 176: 176,
263
+ 208: 208
264
+ };
265
+
266
+ const spaceTokens = {
267
+ 0: 0,
268
+ 2: 2,
269
+ 4: 4,
270
+ 8: 8,
271
+ 12: 12,
272
+ 16: 16,
273
+ 24: 24,
274
+ 32: 32,
275
+ 40: 40,
276
+ 48: 48,
277
+ 56: 56,
278
+ 64: 64,
279
+ 80: 80
280
+ };
281
+
282
+ const tokens = createTokens({
283
+ color: {},
284
+ space: spaceTokens,
285
+ size: sizeTokens
286
+ });
287
+ const config = createTamagui({
288
+ tokens,
289
+ fonts: {
290
+ GTStandard: fonts
291
+ },
292
+ themes: {
293
+ light
294
+ },
295
+ media: {
296
+ [BreakpointNameEnum.BASE]: {
297
+ minWidth: breakpoints[BreakpointNameEnum.BASE]
298
+ },
299
+ [BreakpointNameEnum.SMALL]: {
300
+ minWidth: breakpoints[BreakpointNameEnum.SMALL]
301
+ },
302
+ [BreakpointNameEnum.MEDIUM]: {
303
+ minWidth: breakpoints[BreakpointNameEnum.MEDIUM]
304
+ },
305
+ [BreakpointNameEnum.LARGE]: {
306
+ minWidth: breakpoints[BreakpointNameEnum.LARGE]
307
+ },
308
+ [BreakpointNameEnum.WIDE]: {
309
+ minWidth: breakpoints[BreakpointNameEnum.WIDE]
310
+ }
311
+ },
312
+ settings: {
313
+ allowedStyleValues: 'strict',
314
+ disableSSR: true,
315
+ styleCompat: 'react-native',
316
+ autocompleteSpecificTokens: true,
317
+ debug: false
318
+ }
319
+ });
320
+
321
+ // make imports typed
322
+
323
+ function BumperProvider({
324
+ children
325
+ }) {
326
+ return /*#__PURE__*/jsx(TamaguiProvider, {
327
+ config: config,
328
+ defaultTheme: "light",
329
+ children: children
330
+ });
331
+ }
332
+
333
+ const BumperDecorator = makeDecorator({
334
+ name: 'BumperDecorator',
335
+ parameterName: 'bumper',
336
+ wrapper: (storyFn, context) => {
337
+ return /*#__PURE__*/jsx(BumperProvider, {
338
+ children: storyFn(context)
339
+ });
340
+ }
341
+ });
342
+
343
+ function getValueForBreakpoint(breakpoint, {
344
+ base,
345
+ small,
346
+ medium,
347
+ large,
348
+ wide
349
+ }) {
350
+ switch (breakpoint) {
351
+ case BreakpointNameEnum.WIDE:
352
+ return wide ?? large ?? medium ?? small ?? base;
353
+ case BreakpointNameEnum.LARGE:
354
+ return large ?? medium ?? small ?? base;
355
+ case BreakpointNameEnum.MEDIUM:
356
+ return medium ?? small ?? base;
357
+ case BreakpointNameEnum.SMALL:
358
+ return small ?? base;
359
+ case BreakpointNameEnum.BASE:
360
+ default:
361
+ return base;
362
+ }
363
+ }
364
+
365
+ function useCurrentBreakpointName() {
366
+ const media = useMedia();
367
+ switch (true) {
368
+ case media.wide:
369
+ return BreakpointNameEnum.WIDE;
370
+ case media.large:
371
+ return BreakpointNameEnum.LARGE;
372
+ case media.medium:
373
+ return BreakpointNameEnum.MEDIUM;
374
+ case media.small:
375
+ return BreakpointNameEnum.SMALL;
376
+ case media.base:
377
+ default:
378
+ return BreakpointNameEnum.BASE;
379
+ }
380
+ }
381
+
382
+ function useBreakpointValue(values) {
383
+ const breakpoint = useCurrentBreakpointName();
384
+ return useMemo(() => {
385
+ return getValueForBreakpoint(breakpoint, values);
386
+ }, [breakpoint, values]);
387
+ }
388
+
389
+ function SwitchBreakpoints(values) {
390
+ const breakpoint = useCurrentBreakpointName();
391
+ return getValueForBreakpoint(breakpoint, values);
392
+ }
393
+
394
+ export { BumperDecorator, BumperProvider, SwitchBreakpoints, getValueForBreakpoint, useBreakpointValue, useCurrentBreakpointName };
395
+ //# sourceMappingURL=index-node-22.17.es.web.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node-22.17.es.web.mjs","sources":["../src/themes/palettes/deepPurpleColorPalette.ts","../src/themes/light.ts","../src/themes/utils/breakpoints.ts","../src/tokens/fonts.ts","../src/tokens/size.ts","../src/tokens/space.ts","../src/tamagui.config.ts","../src/core/BumperProvider.tsx","../src/core/BumperDecorator.tsx","../src/components/breakpoints/utils/breakpointsUtils.ts","../src/components/breakpoints/hooks/useCurrentBreakpointName.ts","../src/components/breakpoints/hooks/useBreakpointValue.ts","../src/components/breakpoints/SwitchBreakpoins.tsx"],"sourcesContent":["import type { IntRange, UnionToIntersection } from 'type-fest';\n\ninterface ColorScaleKeysMap {\n deepPurple: IntRange<5, 10>;\n beige: IntRange<1, 7>;\n lightning: 4 | 5 | 8 | 9;\n rainbow:\n | 'pink'\n | 'brick'\n | 'orange'\n | 'gold'\n | 'sun'\n | 'green-pine'\n | 'green-grass'\n | 'green-apple'\n | 'blue-electric'\n | 'blue-sky';\n grey: 0 | 1 | 2 | 3 | 5 | 7 | 9;\n blue: 1 | 2 | 6 | 7;\n green: 1 | 2 | 6 | 7;\n yellow: 1 | 2 | 6 | 7;\n red: 1 | 2 | 6 | 7;\n 'beige-alpha': '25' | '40' | '50';\n 'grey-alpha': '25' | '35' | '50';\n 'white-alpha': '10' | '20' | '60' | '80' | '90';\n}\n\ntype CreateColorScale<K extends keyof ColorScaleKeysMap> = Record<ColorScaleKeysMap[K], string>;\n\ntype ColorScales = {\n [K in keyof ColorScaleKeysMap]: CreateColorScale<K>;\n};\n\ntype CreateTokens<K extends keyof ColorScaleKeysMap> = {\n [Key in ColorScaleKeysMap[K] as `${K}.${Key}`]: string;\n};\n\ntype ColorScaleTokens = UnionToIntersection<\n {\n [K in keyof ColorScaleKeysMap]: CreateTokens<K>;\n }[keyof ColorScaleKeysMap]\n>;\n\nconst createColorScale = <const T extends Record<string | number, string>>(colorScale: T): T => colorScale;\n\nexport const colorScales: ColorScales = {\n deepPurple: createColorScale({\n 5: '#936C93',\n 6: '#7A587A',\n 7: '#6E4D6E',\n 8: '#563B56',\n 9: '#452F45',\n }),\n beige: createColorScale({\n 1: '#F7F4EE',\n 2: '#F1ECE4',\n 3: '#EAE3D6',\n 4: '#E5DCCA',\n 5: '#DDD0B8',\n 6: '#C1B59F',\n }),\n lightning: createColorScale({\n 4: '#FFF966',\n 5: '#FFF500',\n 8: '#594D0D',\n 9: '#43390A',\n }),\n rainbow: createColorScale({\n pink: '#E4A4F9',\n brick: '#951D12',\n orange: '#DB6E2E',\n gold: '#9A7600',\n sun: '#EFD346',\n 'green-pine': '#1C5D47',\n 'green-grass': '#4DA00A',\n 'green-apple': '#DEF985',\n 'blue-electric': '#2850C4',\n 'blue-sky': '#B2F0FD',\n }),\n grey: createColorScale({\n 0: '#ffffff',\n 1: '#ECECEC',\n 2: '#CDCED0',\n 3: '#A8A8A8',\n 5: '#838383',\n 7: '#505050',\n 9: '#101010',\n }),\n blue: createColorScale({\n 1: '#E9F4FC',\n 2: '#BCDFF6',\n 6: '#1772AB',\n 7: '#125A87',\n }),\n green: createColorScale({\n 1: '#ECFEDD',\n 2: '#DBFAC1',\n 6: '#438D06',\n 7: '#357105',\n }),\n yellow: createColorScale({\n 1: '#FDF8E7',\n 2: '#FAEBB8',\n 6: '#EFC11F',\n 7: '#BA930B',\n }),\n red: createColorScale({\n 1: '#FDE4E3',\n 2: '#FAB8B8',\n 6: '#F14847',\n 7: '#BD100F',\n }),\n 'beige-alpha': createColorScale({\n '25': '#C1B59F40',\n '40': '#C1B59F66',\n '50': '#C1B59F80',\n }),\n 'grey-alpha': createColorScale({\n '25': '#10101040',\n '35': '#10101059',\n '50': '#10101080',\n }),\n 'white-alpha': createColorScale({\n '10': '#FFFFFF1A',\n '20': '#FFFFFF33',\n '60': '#FFFFFF99',\n '80': '#FFFFFFCC',\n '90': '#FFFFFFE5',\n }),\n} as const;\n\nconst transformColorScalesToTokens = (): 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 const deepPurpleColorPalette = {\n ...transformColorScalesToTokens(),\n white: '#FFFFFF',\n black: '#000000',\n transparent: 'transparent',\n};\n","import { deepPurpleColorPalette } from './palettes/deepPurpleColorPalette';\n\nexport const light = {\n // content\n 'content.base.hi': deepPurpleColorPalette['grey.9'],\n 'content.base.mid': deepPurpleColorPalette['grey.7'],\n 'content.base.low': deepPurpleColorPalette['grey.5'],\n 'content.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],\n 'content.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.80'],\n 'content.base.onContrasted.low': deepPurpleColorPalette['white-alpha.60'],\n 'content.accent': deepPurpleColorPalette['deepPurple.8'],\n 'content.promo': deepPurpleColorPalette['lightning.9'],\n 'content.promo.onContrasted': deepPurpleColorPalette['lightning.5'],\n 'content.info': deepPurpleColorPalette['blue.7'],\n 'content.success': deepPurpleColorPalette['green.7'],\n 'content.warning': deepPurpleColorPalette['yellow.7'],\n 'content.danger': deepPurpleColorPalette['red.7'],\n 'content.muted': deepPurpleColorPalette['beige.6'],\n 'content.disabled': deepPurpleColorPalette['grey.3'],\n 'content.disabled.onContrasted': deepPurpleColorPalette['grey.1'],\n\n // backgrounds\n 'bg.base.hi.default': deepPurpleColorPalette['beige.2'],\n 'bg.base.hi.pressed': deepPurpleColorPalette['beige.3'],\n 'bg.base.mid.default': deepPurpleColorPalette['beige.1'],\n 'bg.base.mid.pressed': deepPurpleColorPalette['beige.2'],\n 'bg.base.low.default': deepPurpleColorPalette['grey.0'],\n 'bg.base.low.pressed': deepPurpleColorPalette['beige.1'],\n 'bg.accent.default': deepPurpleColorPalette['deepPurple.8'],\n 'bg.accent.pressed': deepPurpleColorPalette['deepPurple.7'],\n 'bg.promo.hi.default': deepPurpleColorPalette['lightning.9'],\n 'bg.promo.hi.pressed': deepPurpleColorPalette['lightning.8'],\n 'bg.promo.mid.default': deepPurpleColorPalette['lightning.5'],\n 'bg.promo.mid.pressed': deepPurpleColorPalette['lightning.4'],\n 'bg.highlight.default': deepPurpleColorPalette['blue.1'],\n 'bg.highlight.pressed': deepPurpleColorPalette['blue.2'],\n 'bg.info.hi': deepPurpleColorPalette['blue.6'],\n 'bg.info.mid': deepPurpleColorPalette['blue.1'],\n 'bg.success.hi': deepPurpleColorPalette['green.6'],\n 'bg.success.mid': deepPurpleColorPalette['green.1'],\n 'bg.warning.hi': deepPurpleColorPalette['yellow.6'],\n 'bg.warning.mid': deepPurpleColorPalette['yellow.1'],\n 'bg.danger.hi': deepPurpleColorPalette['red.6'],\n 'bg.danger.mid': deepPurpleColorPalette['red.1'],\n 'bg.disabled.hi': deepPurpleColorPalette['grey.3'],\n 'bg.disabled.mid': deepPurpleColorPalette['grey.1'],\n 'bg.overlay': deepPurpleColorPalette['grey-alpha.50'],\n\n // borders\n 'border.base.hi': deepPurpleColorPalette['grey.9'],\n 'border.base.mid': deepPurpleColorPalette['grey.3'],\n 'border.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],\n 'border.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.60'],\n 'border.info': deepPurpleColorPalette['blue.6'],\n 'border.success': deepPurpleColorPalette['green.6'],\n 'border.warning': deepPurpleColorPalette['yellow.6'],\n 'border.danger': deepPurpleColorPalette['red.6'],\n 'border.disabled': deepPurpleColorPalette['grey.2'],\n};\n","export enum BreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport const breakpoints = {\n [BreakpointNameEnum.BASE]: 0,\n [BreakpointNameEnum.SMALL]: 480,\n [BreakpointNameEnum.MEDIUM]: 768,\n [BreakpointNameEnum.LARGE]: 1024,\n [BreakpointNameEnum.WIDE]: 1280,\n};\n","import { createFont } from '@tamagui/core';\n\nexport const HEADING_VARIANTS = [\n 'heading-2xl',\n 'heading-xl',\n 'heading-l',\n 'heading-m',\n 'heading-s',\n 'heading-xs',\n] as const;\nexport const BODY_VARIANTS = ['body-xl', 'body-l', 'body-m', 'body-s', 'body-xs'] as const;\nexport const LABEL_VARIANTS = ['label-xl', 'label-l', 'label-m', 'label-s'] as const;\nexport const VARIANTS = [...HEADING_VARIANTS, ...BODY_VARIANTS, ...LABEL_VARIANTS] as const;\n\nexport type FontVariants = (typeof VARIANTS)[number];\nexport type BodyFontVariants = (typeof BODY_VARIANTS)[number];\nexport type LabelFontVariants = (typeof LABEL_VARIANTS)[number];\nexport type HeadingFontVariants = (typeof HEADING_VARIANTS)[number];\n\nexport type GTStandardFontWeight = '500' | '600' | '700';\n\nconst GTStandardFaces: Record<GTStandardFontWeight, Record<string, string>> = {\n 500: { normal: 'GTStandardRegular' },\n 600: { normal: 'GTStandardSemibold' },\n 700: { normal: 'GTStandardBold' },\n};\n\nconst size: Record<FontVariants, number> = {\n 'heading-2xl': 56,\n 'heading-xl': 48,\n 'heading-l': 38,\n 'heading-m': 24,\n 'heading-s': 20,\n 'heading-xs': 16,\n 'body-xl': 24,\n 'body-l': 18,\n 'body-m': 16,\n 'body-s': 14,\n 'body-xs': 12,\n 'label-xl': 18,\n 'label-l': 16,\n 'label-m': 14,\n 'label-s': 12,\n};\n\nconst lineHeight: Record<FontVariants, number> = {\n 'heading-2xl': 64,\n 'heading-xl': 56,\n 'heading-l': 48,\n 'heading-m': 32,\n 'heading-s': 20,\n 'heading-xs': 18,\n 'body-xl': 32,\n 'body-l': 26,\n 'body-m': 24,\n 'body-s': 20,\n 'body-xs': 16,\n 'label-xl': 26,\n 'label-l': 24,\n 'label-m': 20,\n 'label-s': 16,\n};\n\nconst letterSpacing: Record<FontVariants, number> = {\n 'heading-2xl': 0,\n 'heading-xl': 0,\n 'heading-l': 0,\n 'heading-m': 0,\n 'heading-s': 0,\n 'heading-xs': 0,\n 'body-xl': 0.3,\n 'body-l': 0.3,\n 'body-m': 0.3,\n 'body-s': 0.3,\n 'body-xs': 0.3,\n 'label-xl': 0,\n 'label-l': 0,\n 'label-m': 0,\n 'label-s': 0,\n};\n\nconst weight: Record<string, GTStandardFontWeight> = {\n bold: '700',\n semibold: '600',\n regular: '500',\n};\n\nexport const fonts = createFont({\n family: 'GTStandard',\n size,\n lineHeight,\n letterSpacing,\n weight,\n face: GTStandardFaces,\n});\n","export const sizeTokens = {\n 16: 16,\n 20: 20,\n 24: 24,\n 32: 32,\n 80: 80,\n 128: 128,\n 176: 176,\n 208: 208,\n};\n","export const spaceTokens = {\n 0: 0,\n 2: 2,\n 4: 4,\n 8: 8,\n 12: 12,\n 16: 16,\n 24: 24,\n 32: 32,\n 40: 40,\n 48: 48,\n 56: 56,\n 64: 64,\n 80: 80,\n};\n","import { createTamagui, createTokens } from '@tamagui/core';\nimport { light } from './themes/light';\nimport { BreakpointNameEnum, breakpoints } from './themes/utils/breakpoints';\nimport { fonts } from './tokens/fonts';\nimport { sizeTokens } from './tokens/size';\nimport { spaceTokens } from './tokens/space';\n\nconst tokens = createTokens({\n color: {},\n space: spaceTokens,\n size: sizeTokens,\n});\n\nexport const config = createTamagui({\n tokens,\n fonts: {\n GTStandard: fonts,\n },\n themes: {\n light,\n },\n media: {\n [BreakpointNameEnum.BASE]: { minWidth: breakpoints[BreakpointNameEnum.BASE] },\n [BreakpointNameEnum.SMALL]: { minWidth: breakpoints[BreakpointNameEnum.SMALL] },\n [BreakpointNameEnum.MEDIUM]: { minWidth: breakpoints[BreakpointNameEnum.MEDIUM] },\n [BreakpointNameEnum.LARGE]: { minWidth: breakpoints[BreakpointNameEnum.LARGE] },\n [BreakpointNameEnum.WIDE]: { minWidth: breakpoints[BreakpointNameEnum.WIDE] },\n },\n settings: {\n allowedStyleValues: 'strict',\n disableSSR: true,\n styleCompat: 'react-native',\n autocompleteSpecificTokens: true,\n debug: false,\n },\n});\n\ntype Conf = typeof config;\n\n// make imports typed\ndeclare module '@tamagui/core' {\n interface TamaguiCustomConfig extends Conf {}\n}\n","import { TamaguiProvider } from '@tamagui/core';\nimport type { ReactNode } from 'react';\nimport { config } from '../tamagui.config';\n\nexport interface BumperProviderProps {\n children: ReactNode;\n}\n\nexport function BumperProvider({ children }: BumperProviderProps): ReactNode {\n return (\n <TamaguiProvider config={config} defaultTheme=\"light\">\n {children}\n </TamaguiProvider>\n );\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport { BumperProvider } from './BumperProvider';\n\nexport const BumperDecorator = makeDecorator({\n name: 'BumperDecorator',\n parameterName: 'bumper',\n wrapper: (storyFn, context) => {\n return <BumperProvider>{storyFn(context) as ReactNode}</BumperProvider>;\n },\n});\n","import { BreakpointNameEnum } from '../../../themes/utils/breakpoints';\n\nexport interface ValueForBreakpoint<T> {\n base: T;\n small?: T;\n medium?: T;\n large?: T;\n wide?: T;\n}\n\nexport function getValueForBreakpoint<T>(\n breakpoint: BreakpointNameEnum,\n { base, small, medium, large, wide }: ValueForBreakpoint<T>,\n): T {\n switch (breakpoint) {\n case BreakpointNameEnum.WIDE:\n return wide ?? large ?? medium ?? small ?? base;\n case BreakpointNameEnum.LARGE:\n return large ?? medium ?? small ?? base;\n case BreakpointNameEnum.MEDIUM:\n return medium ?? small ?? base;\n case BreakpointNameEnum.SMALL:\n return small ?? base;\n case BreakpointNameEnum.BASE:\n default:\n return base;\n }\n}\n","import { useMedia } from '@tamagui/core';\nimport { BreakpointNameEnum } from '../../../themes/utils/breakpoints';\n\nexport function useCurrentBreakpointName(): BreakpointNameEnum {\n const media = useMedia();\n\n switch (true) {\n case media.wide:\n return BreakpointNameEnum.WIDE;\n case media.large:\n return BreakpointNameEnum.LARGE;\n case media.medium:\n return BreakpointNameEnum.MEDIUM;\n case media.small:\n return BreakpointNameEnum.SMALL;\n case media.base:\n default:\n return BreakpointNameEnum.BASE;\n }\n}\n","import { useMemo } from 'react';\nimport type { ValueForBreakpoint } from '../utils/breakpointsUtils';\nimport { getValueForBreakpoint } from '../utils/breakpointsUtils';\nimport { useCurrentBreakpointName } from './useCurrentBreakpointName';\n\nexport function useBreakpointValue<T>(values: ValueForBreakpoint<T>): T {\n const breakpoint = useCurrentBreakpointName();\n\n return useMemo(() => {\n return getValueForBreakpoint(breakpoint, values);\n }, [breakpoint, values]);\n}\n","import type { ReactNode } from 'react';\nimport { useCurrentBreakpointName } from './hooks/useCurrentBreakpointName';\nimport type { ValueForBreakpoint } from './utils/breakpointsUtils';\nimport { getValueForBreakpoint } from './utils/breakpointsUtils';\n\nexport type SwitchBreakpointsProps = ValueForBreakpoint<ReactNode>;\n\nexport function SwitchBreakpoints(values: SwitchBreakpointsProps): ReactNode {\n const breakpoint = useCurrentBreakpointName();\n\n return getValueForBreakpoint(breakpoint, values);\n}\n"],"names":["createColorScale","colorScale","colorScales","deepPurple","beige","lightning","rainbow","pink","brick","orange","gold","sun","grey","blue","green","yellow","red","transformColorScalesToTokens","Object","fromEntries","entries","flatMap","colorName","map","scaleNumber","colorValue","deepPurpleColorPalette","white","black","transparent","light","BreakpointNameEnum","breakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","GTStandardFaces","normal","size","lineHeight","letterSpacing","weight","bold","semibold","regular","fonts","createFont","family","face","sizeTokens","spaceTokens","tokens","createTokens","color","space","config","createTamagui","GTStandard","themes","media","minWidth","settings","allowedStyleValues","disableSSR","styleCompat","autocompleteSpecificTokens","debug","BumperProvider","children","_jsx","TamaguiProvider","defaultTheme","BumperDecorator","makeDecorator","name","parameterName","wrapper","storyFn","context","getValueForBreakpoint","breakpoint","base","small","medium","large","wide","useCurrentBreakpointName","useMedia","useBreakpointValue","values","useMemo","SwitchBreakpoints"],"mappings":"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"}