@ornikar/bumper 1.1.0

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