@ornikar/bumper 2.0.2-canary.2d7ede8c7fb5706ec9d1d7e92f5956899c4ca14f.0 → 2.0.2-canary.957d3d8f386f2e0996d63b54a6fb2bafdef96232.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.
@@ -0,0 +1,527 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const addons = require('@storybook/addons');
6
+ const core = require('@tamagui/core');
7
+ const jsxRuntime = require('react/jsx-runtime');
8
+ const react = require('react');
9
+ const reactNative = require('react-native');
10
+
11
+ const createColorScale = colorScale => colorScale;
12
+
13
+ // WARNING
14
+ // If you update this palette, don't forget to update the palette in @ornikar/bumper as well.
15
+ const colorScales = {
16
+ deepPurple: createColorScale({
17
+ 5: '#936C93',
18
+ 6: '#7A587A',
19
+ 7: '#6E4D6E',
20
+ 8: '#563B56',
21
+ 9: '#452F45'
22
+ }),
23
+ beige: createColorScale({
24
+ 1: '#F7F4EE',
25
+ 2: '#F1ECE4',
26
+ 3: '#EAE3D6',
27
+ 4: '#E5DCCA',
28
+ 5: '#DDD0B8',
29
+ 6: '#C1B59F'
30
+ }),
31
+ lightning: createColorScale({
32
+ 4: '#FFF966',
33
+ 5: '#FFF500',
34
+ 8: '#594D0D',
35
+ 9: '#43390A'
36
+ }),
37
+ rainbow: createColorScale({
38
+ pink: '#E4A4F9',
39
+ brick: '#951D12',
40
+ orange: '#DB6E2E',
41
+ gold: '#9A7600',
42
+ sun: '#EFD346',
43
+ 'green-pine': '#1C5D47',
44
+ 'green-grass': '#4DA00A',
45
+ 'green-apple': '#DEF985',
46
+ 'blue-electric': '#2850C4',
47
+ 'blue-sky': '#B2F0FD'
48
+ }),
49
+ grey: createColorScale({
50
+ 0: '#ffffff',
51
+ 1: '#ECECEC',
52
+ 2: '#CDCED0',
53
+ 3: '#A8A8A8',
54
+ 5: '#838383',
55
+ 7: '#505050',
56
+ 9: '#101010'
57
+ }),
58
+ blue: createColorScale({
59
+ 1: '#E9F4FC',
60
+ 2: '#BCDFF6',
61
+ 6: '#1772AB',
62
+ 7: '#125A87'
63
+ }),
64
+ green: createColorScale({
65
+ 1: '#ECFEDD',
66
+ 2: '#DBFAC1',
67
+ 6: '#438D06',
68
+ 7: '#357105'
69
+ }),
70
+ yellow: createColorScale({
71
+ 1: '#FDF8E7',
72
+ 2: '#FAEBB8',
73
+ 6: '#EFC11F',
74
+ 7: '#BA930B'
75
+ }),
76
+ red: createColorScale({
77
+ 1: '#FDE4E3',
78
+ 2: '#FAB8B8',
79
+ 6: '#F14847',
80
+ 7: '#BD100F'
81
+ }),
82
+ 'beige-alpha': createColorScale({
83
+ '25': '#C1B59F40',
84
+ '40': '#C1B59F66',
85
+ '50': '#C1B59F80'
86
+ }),
87
+ 'grey-alpha': createColorScale({
88
+ '25': '#10101040',
89
+ '35': '#10101059',
90
+ '50': '#10101080'
91
+ }),
92
+ 'white-alpha': createColorScale({
93
+ '10': '#FFFFFF1A',
94
+ '20': '#FFFFFF33',
95
+ '60': '#FFFFFF99',
96
+ '80': '#FFFFFFCC',
97
+ '90': '#FFFFFFE5'
98
+ })
99
+ };
100
+ const transformColorScalesToTokens = () => {
101
+ return Object.fromEntries(Object.entries(colorScales).flatMap(([colorName, colorScale]) => {
102
+ return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {
103
+ return [`${colorName}.${scaleNumber}`, colorValue];
104
+ });
105
+ }));
106
+ };
107
+ const deepPurpleColorPalette = {
108
+ ...transformColorScalesToTokens(),
109
+ white: '#FFFFFF',
110
+ black: '#000000',
111
+ transparent: 'transparent'
112
+ };
113
+
114
+ const light = {
115
+ // content
116
+ 'content.base.hi': deepPurpleColorPalette['grey.9'],
117
+ 'content.base.mid': deepPurpleColorPalette['grey.7'],
118
+ 'content.base.low': deepPurpleColorPalette['grey.5'],
119
+ 'content.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
120
+ 'content.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.80'],
121
+ 'content.base.onContrasted.low': deepPurpleColorPalette['white-alpha.60'],
122
+ 'content.accent': deepPurpleColorPalette['deepPurple.8'],
123
+ 'content.promo': deepPurpleColorPalette['lightning.9'],
124
+ 'content.promo.onContrasted': deepPurpleColorPalette['lightning.5'],
125
+ 'content.info': deepPurpleColorPalette['blue.7'],
126
+ 'content.success': deepPurpleColorPalette['green.7'],
127
+ 'content.warning': deepPurpleColorPalette['yellow.7'],
128
+ 'content.danger': deepPurpleColorPalette['red.7'],
129
+ 'content.muted': deepPurpleColorPalette['beige.6'],
130
+ 'content.disabled': deepPurpleColorPalette['grey.3'],
131
+ 'content.disabled.onContrasted': deepPurpleColorPalette['grey.1'],
132
+ // backgrounds
133
+ 'bg.base.hi.default': deepPurpleColorPalette['beige.2'],
134
+ 'bg.base.hi.pressed': deepPurpleColorPalette['beige.3'],
135
+ 'bg.base.mid.default': deepPurpleColorPalette['beige.1'],
136
+ 'bg.base.mid.pressed': deepPurpleColorPalette['beige.2'],
137
+ 'bg.base.low.default': deepPurpleColorPalette['grey.0'],
138
+ 'bg.base.low.pressed': deepPurpleColorPalette['beige.1'],
139
+ 'bg.accent.default': deepPurpleColorPalette['deepPurple.8'],
140
+ 'bg.accent.pressed': deepPurpleColorPalette['deepPurple.7'],
141
+ 'bg.promo.hi.default': deepPurpleColorPalette['lightning.9'],
142
+ 'bg.promo.hi.pressed': deepPurpleColorPalette['lightning.8'],
143
+ 'bg.promo.mid.default': deepPurpleColorPalette['lightning.5'],
144
+ 'bg.promo.mid.pressed': deepPurpleColorPalette['lightning.4'],
145
+ 'bg.highlight.default': deepPurpleColorPalette['blue.1'],
146
+ 'bg.highlight.pressed': deepPurpleColorPalette['blue.2'],
147
+ 'bg.info.hi': deepPurpleColorPalette['blue.6'],
148
+ 'bg.info.mid': deepPurpleColorPalette['blue.1'],
149
+ 'bg.success.hi': deepPurpleColorPalette['green.6'],
150
+ 'bg.success.mid': deepPurpleColorPalette['green.1'],
151
+ 'bg.warning.hi': deepPurpleColorPalette['yellow.6'],
152
+ 'bg.warning.mid': deepPurpleColorPalette['yellow.1'],
153
+ 'bg.danger.hi': deepPurpleColorPalette['red.6'],
154
+ 'bg.danger.mid': deepPurpleColorPalette['red.1'],
155
+ 'bg.disabled.hi': deepPurpleColorPalette['grey.3'],
156
+ 'bg.disabled.mid': deepPurpleColorPalette['grey.1'],
157
+ 'bg.overlay': deepPurpleColorPalette['grey-alpha.50'],
158
+ // borders
159
+ 'border.base.hi': deepPurpleColorPalette['grey.9'],
160
+ 'border.base.mid': deepPurpleColorPalette['grey.3'],
161
+ 'border.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
162
+ 'border.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.60'],
163
+ 'border.info': deepPurpleColorPalette['blue.6'],
164
+ 'border.success': deepPurpleColorPalette['green.6'],
165
+ 'border.warning': deepPurpleColorPalette['yellow.6'],
166
+ 'border.danger': deepPurpleColorPalette['red.6'],
167
+ 'border.disabled': deepPurpleColorPalette['grey.2']
168
+ };
169
+
170
+ let BreakpointNameEnum = /*#__PURE__*/function (BreakpointNameEnum) {
171
+ BreakpointNameEnum["BASE"] = "base";
172
+ BreakpointNameEnum["SMALL"] = "small";
173
+ BreakpointNameEnum["MEDIUM"] = "medium";
174
+ BreakpointNameEnum["LARGE"] = "large";
175
+ BreakpointNameEnum["WIDE"] = "wide";
176
+ return BreakpointNameEnum;
177
+ }({});
178
+ const breakpoints = {
179
+ [BreakpointNameEnum.BASE]: 0,
180
+ [BreakpointNameEnum.SMALL]: 480,
181
+ [BreakpointNameEnum.MEDIUM]: 768,
182
+ [BreakpointNameEnum.LARGE]: 1024,
183
+ [BreakpointNameEnum.WIDE]: 1280
184
+ };
185
+
186
+ const BODY_VARIANTS = ['body-xl', 'body-l', 'body-m', 'body-s', 'body-xs'];
187
+ const GTStandardFaces = {
188
+ 500: {
189
+ normal: 'GTStandardRegular'
190
+ },
191
+ 600: {
192
+ normal: 'GTStandardSemibold'
193
+ },
194
+ 700: {
195
+ normal: 'GTStandardBold'
196
+ }
197
+ };
198
+ const size = {
199
+ 'heading-2xl': 56,
200
+ 'heading-xl': 48,
201
+ 'heading-l': 38,
202
+ 'heading-m': 24,
203
+ 'heading-s': 20,
204
+ 'heading-xs': 16,
205
+ 'body-xl': 24,
206
+ 'body-l': 18,
207
+ 'body-m': 16,
208
+ 'body-s': 14,
209
+ 'body-xs': 12,
210
+ 'label-xl': 18,
211
+ 'label-l': 16,
212
+ 'label-m': 14,
213
+ 'label-s': 12
214
+ };
215
+ const lineHeight = {
216
+ 'heading-2xl': 64,
217
+ 'heading-xl': 56,
218
+ 'heading-l': 48,
219
+ 'heading-m': 32,
220
+ 'heading-s': 20,
221
+ 'heading-xs': 18,
222
+ 'body-xl': 32,
223
+ 'body-l': 26,
224
+ 'body-m': 24,
225
+ 'body-s': 20,
226
+ 'body-xs': 16,
227
+ 'label-xl': 26,
228
+ 'label-l': 24,
229
+ 'label-m': 20,
230
+ 'label-s': 16
231
+ };
232
+ const letterSpacing = {
233
+ 'heading-2xl': 0,
234
+ 'heading-xl': 0,
235
+ 'heading-l': 0,
236
+ 'heading-m': 0,
237
+ 'heading-s': 0,
238
+ 'heading-xs': 0,
239
+ 'body-xl': 0.3,
240
+ 'body-l': 0.3,
241
+ 'body-m': 0.3,
242
+ 'body-s': 0.3,
243
+ 'body-xs': 0.3,
244
+ 'label-xl': 0,
245
+ 'label-l': 0,
246
+ 'label-m': 0,
247
+ 'label-s': 0
248
+ };
249
+ const weight = {
250
+ bold: '700',
251
+ semibold: '600',
252
+ regular: '500'
253
+ };
254
+ const fonts = core.createFont({
255
+ family: 'GTStandard',
256
+ size,
257
+ lineHeight,
258
+ letterSpacing,
259
+ weight,
260
+ face: GTStandardFaces
261
+ });
262
+
263
+ const sizeTokens = {
264
+ 16: 16,
265
+ 20: 20,
266
+ 24: 24,
267
+ 32: 32,
268
+ 80: 80,
269
+ 128: 128,
270
+ 176: 176,
271
+ 208: 208
272
+ };
273
+
274
+ const spaceTokens = {
275
+ 0: 0,
276
+ 2: 2,
277
+ 4: 4,
278
+ 8: 8,
279
+ 12: 12,
280
+ 16: 16,
281
+ 24: 24,
282
+ 32: 32,
283
+ 40: 40,
284
+ 48: 48,
285
+ 56: 56,
286
+ 64: 64,
287
+ 80: 80
288
+ };
289
+
290
+ const tokens = core.createTokens({
291
+ color: {},
292
+ space: spaceTokens,
293
+ size: sizeTokens
294
+ });
295
+ const config = core.createTamagui({
296
+ tokens,
297
+ fonts: {
298
+ GTStandard: fonts
299
+ },
300
+ themes: {
301
+ light
302
+ },
303
+ media: {
304
+ [BreakpointNameEnum.BASE]: {
305
+ minWidth: breakpoints[BreakpointNameEnum.BASE]
306
+ },
307
+ [BreakpointNameEnum.SMALL]: {
308
+ minWidth: breakpoints[BreakpointNameEnum.SMALL]
309
+ },
310
+ [BreakpointNameEnum.MEDIUM]: {
311
+ minWidth: breakpoints[BreakpointNameEnum.MEDIUM]
312
+ },
313
+ [BreakpointNameEnum.LARGE]: {
314
+ minWidth: breakpoints[BreakpointNameEnum.LARGE]
315
+ },
316
+ [BreakpointNameEnum.WIDE]: {
317
+ minWidth: breakpoints[BreakpointNameEnum.WIDE]
318
+ }
319
+ },
320
+ settings: {
321
+ allowedStyleValues: 'strict',
322
+ disableSSR: true,
323
+ styleCompat: 'react-native',
324
+ autocompleteSpecificTokens: true,
325
+ debug: false
326
+ }
327
+ });
328
+
329
+ // make imports typed
330
+
331
+ function BumperProvider({
332
+ children
333
+ }) {
334
+ return /*#__PURE__*/jsxRuntime.jsx(core.TamaguiProvider, {
335
+ config: config,
336
+ defaultTheme: "light",
337
+ children: children
338
+ });
339
+ }
340
+
341
+ const BumperDecorator = addons.makeDecorator({
342
+ name: 'BumperDecorator',
343
+ parameterName: 'bumper',
344
+ wrapper: (storyFn, context) => {
345
+ return /*#__PURE__*/jsxRuntime.jsx(BumperProvider, {
346
+ children: storyFn(context)
347
+ });
348
+ }
349
+ });
350
+
351
+ const HStack = core.styled(core.Stack, {
352
+ name: 'HStack',
353
+ flexDirection: 'row'
354
+ });
355
+ const VStack = core.styled(core.Stack, {
356
+ name: 'VStack',
357
+ flexDirection: 'column'
358
+ });
359
+
360
+ function getVariantAndWeightValues(weightProp, variantProp, typographyWeightAncestorValue, typographyVariantAncestorValue) {
361
+ const computedVariant = variantProp || typographyVariantAncestorValue || undefined;
362
+ if (computedVariant) {
363
+ if (BODY_VARIANTS.includes(computedVariant)) {
364
+ const computedWeight = weightProp || typographyWeightAncestorValue || undefined;
365
+ return {
366
+ weight: computedWeight,
367
+ variant: computedVariant
368
+ };
369
+ }
370
+ return {
371
+ weight: 'semibold',
372
+ variant: computedVariant
373
+ };
374
+ }
375
+ return {
376
+ weight: weightProp,
377
+ variant: undefined
378
+ };
379
+ }
380
+
381
+ const TypographyVariantContext = /*#__PURE__*/react.createContext(null);
382
+ const TypographyWeightContext = /*#__PURE__*/react.createContext(null);
383
+ const TypograhyColorContext = /*#__PURE__*/react.createContext(null);
384
+ const InternalTypography = core.styled(core.Text, {
385
+ fontFamily: '$GTStandard',
386
+ color: '$content.base.hi',
387
+ '$platform-web': {
388
+ WebkitFontSmoothing: 'antialiased'
389
+ },
390
+ variants: {
391
+ variant: variant => {
392
+ if (!variant) return {};
393
+ return {
394
+ fontSize: `$${variant}`,
395
+ lineHeight: `$${variant}`,
396
+ letterSpacing: `$${variant}`
397
+ };
398
+ },
399
+ weight: {
400
+ regular: {
401
+ fontWeight: '$regular'
402
+ },
403
+ semibold: {
404
+ fontWeight: '$semibold'
405
+ },
406
+ bold: {
407
+ fontWeight: '$bold'
408
+ }
409
+ }
410
+ },
411
+ defaultVariants: {
412
+ variant: 'body-m',
413
+ weight: 'regular'
414
+ }
415
+ });
416
+
417
+ // Create a type for color props that matches strings containing '$content.'
418
+
419
+ // Remove font-related style props from InternalTypography Props
420
+
421
+ const TypographyText = InternalTypography.styleable((props, ref) => {
422
+ const typographyVariantAncestorValue = react.useContext(TypographyVariantContext);
423
+ const typographyWeightAncestorValue = react.useContext(TypographyWeightContext);
424
+ const typographyColorAncestorValue = react.useContext(TypograhyColorContext);
425
+ const {
426
+ variant,
427
+ weight
428
+ } = getVariantAndWeightValues(props.weight, props.variant, typographyWeightAncestorValue, typographyVariantAncestorValue);
429
+ const color = props.color || typographyColorAncestorValue || undefined;
430
+ let content = /*#__PURE__*/jsxRuntime.jsx(InternalTypography, {
431
+ ref: ref,
432
+ ...props,
433
+ color: color,
434
+ weight: weight,
435
+ variant: variant
436
+ });
437
+ content = props.variant ?
438
+ /*#__PURE__*/
439
+ // If a variant is provided, we set it in the context for children to be able to inherit variant value
440
+ jsxRuntime.jsx(TypographyVariantContext.Provider, {
441
+ value: props.variant,
442
+ children: content
443
+ }) : content;
444
+ content = props.weight ?
445
+ /*#__PURE__*/
446
+ // If a weight is provided, we set it in the context for children to be able to inherit weight value
447
+ jsxRuntime.jsx(TypographyWeightContext.Provider, {
448
+ value: props.weight,
449
+ children: content
450
+ }) : content;
451
+ content = props.color ?
452
+ /*#__PURE__*/
453
+ // If a color is provided, we set it in the context for children to be able to inherit color value
454
+ jsxRuntime.jsx(TypograhyColorContext.Provider, {
455
+ value: props.color,
456
+ children: content
457
+ }) : content;
458
+ return content;
459
+ });
460
+ const Typography = {
461
+ Text: TypographyText
462
+ };
463
+
464
+ function getValueForBreakpoint(breakpoint, {
465
+ base,
466
+ small,
467
+ medium,
468
+ large,
469
+ wide
470
+ }) {
471
+ switch (breakpoint) {
472
+ case BreakpointNameEnum.WIDE:
473
+ return wide ?? large ?? medium ?? small ?? base;
474
+ case BreakpointNameEnum.LARGE:
475
+ return large ?? medium ?? small ?? base;
476
+ case BreakpointNameEnum.MEDIUM:
477
+ return medium ?? small ?? base;
478
+ case BreakpointNameEnum.SMALL:
479
+ return small ?? base;
480
+ case BreakpointNameEnum.BASE:
481
+ default:
482
+ return base;
483
+ }
484
+ }
485
+
486
+ function useCurrentBreakpointName() {
487
+ const media = core.useMedia();
488
+ switch (true) {
489
+ case media.wide:
490
+ return BreakpointNameEnum.WIDE;
491
+ case media.large:
492
+ return BreakpointNameEnum.LARGE;
493
+ case media.medium:
494
+ return BreakpointNameEnum.MEDIUM;
495
+ case media.small:
496
+ return BreakpointNameEnum.SMALL;
497
+ case media.base:
498
+ default:
499
+ return BreakpointNameEnum.BASE;
500
+ }
501
+ }
502
+
503
+ function useBreakpointValue(values) {
504
+ const breakpoint = useCurrentBreakpointName();
505
+ return react.useMemo(() => {
506
+ return getValueForBreakpoint(breakpoint, values);
507
+ }, [breakpoint, values]);
508
+ }
509
+
510
+ function SwitchBreakpoints(values) {
511
+ const breakpoint = useCurrentBreakpointName();
512
+ return getValueForBreakpoint(breakpoint, values);
513
+ }
514
+
515
+ exports.Stack = core.Stack;
516
+ exports.View = core.View;
517
+ exports.useWindowSize = reactNative.useWindowDimensions;
518
+ exports.BumperDecorator = BumperDecorator;
519
+ exports.BumperProvider = BumperProvider;
520
+ exports.HStack = HStack;
521
+ exports.SwitchBreakpoints = SwitchBreakpoints;
522
+ exports.Typography = Typography;
523
+ exports.VStack = VStack;
524
+ exports.getValueForBreakpoint = getValueForBreakpoint;
525
+ exports.useBreakpointValue = useBreakpointValue;
526
+ exports.useCurrentBreakpointName = useCurrentBreakpointName;
527
+ //# sourceMappingURL=index-node-22.17.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node-22.17.cjs.js","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/primitives/Stacks.ts","../src/components/typography/utils/getTypeAndWeightValues.tsx","../src/components/typography/Typograhy.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\n// WARNING\n// If you update this palette, don't forget to update the palette in @ornikar/bumper as well.\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 { Stack, styled } from '@tamagui/core';\nimport type { GetProps } from '@tamagui/core';\n\nexport { Stack } from '@tamagui/core';\nexport type StackProps = GetProps<typeof Stack>;\n\nexport const HStack = styled(Stack, {\n name: 'HStack',\n flexDirection: 'row',\n});\n\nexport type HStackProps = GetProps<typeof HStack>;\n\nexport const VStack = styled(Stack, {\n name: 'VStack',\n flexDirection: 'column',\n});\n\nexport type VStackProps = GetProps<typeof VStack>;\n","import type { FontVariants } from '../../../tokens/fonts';\nimport { BODY_VARIANTS } from '../../../tokens/fonts';\nimport type {\n InternalTypographyProps,\n TypographyTextProps,\n TypographyVariantContextValue,\n TypographyWeightContextValue,\n} from '../Typograhy';\n\ninterface VariantAndWeightValues {\n weight: InternalTypographyProps['weight'] | undefined;\n variant: FontVariants | undefined;\n}\n\nexport function getVariantAndWeightValues(\n weightProp: TypographyTextProps['weight'],\n variantProp: TypographyTextProps['variant'],\n typographyWeightAncestorValue: TypographyWeightContextValue,\n typographyVariantAncestorValue: TypographyVariantContextValue,\n): VariantAndWeightValues {\n const computedVariant = variantProp || typographyVariantAncestorValue || undefined;\n\n if (computedVariant) {\n if ((BODY_VARIANTS as readonly string[]).includes(computedVariant)) {\n const computedWeight = weightProp || typographyWeightAncestorValue || undefined;\n return { weight: computedWeight, variant: computedVariant };\n }\n return { weight: 'semibold', variant: computedVariant };\n }\n\n return { weight: weightProp, variant: undefined };\n}\n","import type { GetProps, GetThemeValueForKey } from '@tamagui/core';\nimport { Text, styled } from '@tamagui/core';\nimport { createContext, useContext } from 'react';\nimport { type Except } from 'type-fest';\nimport type { BodyFontVariants, FontVariants, HeadingFontVariants, LabelFontVariants } from '../../tokens/fonts';\nimport { getVariantAndWeightValues } from './utils/getTypeAndWeightValues';\n\nexport type TypographyVariantContextValue = FontVariants | null;\nexport type TypographyWeightContextValue = 'regular' | 'bold' | null;\nexport type TypograhyColorContextValue = TypograhyColorProps | null;\n\nconst TypographyVariantContext = createContext<TypographyVariantContextValue>(null);\nconst TypographyWeightContext = createContext<TypographyWeightContextValue>(null);\nconst TypograhyColorContext = createContext<TypograhyColorContextValue>(null);\n\nconst InternalTypography = styled(Text, {\n fontFamily: '$GTStandard',\n color: '$content.base.hi',\n '$platform-web': {\n WebkitFontSmoothing: 'antialiased',\n },\n variants: {\n variant: (variant: FontVariants | undefined) => {\n if (!variant) return {};\n\n return {\n fontSize: `$${variant}`,\n lineHeight: `$${variant}`,\n letterSpacing: `$${variant}`,\n };\n },\n weight: {\n regular: {\n fontWeight: '$regular',\n },\n semibold: {\n fontWeight: '$semibold',\n },\n bold: {\n fontWeight: '$bold',\n },\n },\n } as const,\n defaultVariants: {\n variant: 'body-m',\n weight: 'regular',\n },\n});\n\nexport type InternalTypographyProps = GetProps<typeof InternalTypography>;\n\n// Create a type for color props that matches strings containing '$content.'\ntype ContainsOneString<T extends string> = `${string}${T}${string}`;\ntype TypograhyColorProps = ContainsOneString<'$content.'>;\n\n// Remove font-related style props from InternalTypography Props\ntype TypographyExcludedFontStyleProps =\n | 'fontFamily'\n | 'fontSize'\n | 'lineHeight'\n | 'fontStyle'\n | 'fontVariant'\n | 'fontWeight';\ntype TypographyPropsWithoutFontStyleProps = Except<\n InternalTypographyProps,\n TypographyExcludedFontStyleProps | 'color'\n> & {\n color?: TypograhyColorProps;\n};\n\nexport interface BodyProps extends TypographyPropsWithoutFontStyleProps {\n variant?: BodyFontVariants;\n weight?: Exclude<InternalTypographyProps['weight'], 'semibold'>;\n}\nexport interface HeadingLabelProps extends TypographyPropsWithoutFontStyleProps {\n variant: HeadingFontVariants | LabelFontVariants;\n weight?: never;\n}\nexport type TypographyTextProps = BodyProps | HeadingLabelProps;\n\nconst TypographyText = InternalTypography.styleable<TypographyTextProps>((props, ref) => {\n const typographyVariantAncestorValue = useContext(TypographyVariantContext);\n const typographyWeightAncestorValue = useContext(TypographyWeightContext);\n const typographyColorAncestorValue = useContext(TypograhyColorContext);\n\n const { variant, weight } = getVariantAndWeightValues(\n props.weight,\n props.variant,\n typographyWeightAncestorValue,\n typographyVariantAncestorValue,\n );\n const color = props.color || typographyColorAncestorValue || undefined;\n\n let content = (\n <InternalTypography\n ref={ref}\n {...props}\n color={color as GetThemeValueForKey<'color'>}\n weight={weight}\n variant={variant}\n />\n );\n\n content = props.variant ? (\n // If a variant is provided, we set it in the context for children to be able to inherit variant value\n <TypographyVariantContext.Provider value={props.variant}>{content}</TypographyVariantContext.Provider>\n ) : (\n content\n );\n\n content = props.weight ? (\n // If a weight is provided, we set it in the context for children to be able to inherit weight value\n <TypographyWeightContext.Provider value={props.weight}>{content}</TypographyWeightContext.Provider>\n ) : (\n content\n );\n\n content = props.color ? (\n // If a color is provided, we set it in the context for children to be able to inherit color value\n <TypograhyColorContext.Provider value={props.color}>{content}</TypograhyColorContext.Provider>\n ) : (\n content\n );\n\n return content;\n});\n\nexport const Typography = {\n Text: TypographyText,\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","BODY_VARIANTS","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","HStack","styled","Stack","flexDirection","VStack","getVariantAndWeightValues","weightProp","variantProp","typographyWeightAncestorValue","typographyVariantAncestorValue","computedVariant","undefined","includes","computedWeight","variant","TypographyVariantContext","createContext","TypographyWeightContext","TypograhyColorContext","InternalTypography","Text","fontFamily","WebkitFontSmoothing","variants","fontSize","fontWeight","defaultVariants","TypographyText","styleable","props","ref","useContext","typographyColorAncestorValue","content","Provider","value","Typography","getValueForBreakpoint","breakpoint","base","small","medium","large","wide","useCurrentBreakpointName","useMedia","useBreakpointValue","values","useMemo","SwitchBreakpoints"],"mappings":"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"}