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