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