@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,392 @@
1
+ import { makeDecorator } from '@storybook/addons';
2
+ import { createFont, createTokens, createTamagui, TamaguiProvider, useMedia } from '@tamagui/core';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
5
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
6
+ import { jsx } from 'react/jsx-runtime';
7
+ import { useMemo } from 'react';
8
+ export { useWindowDimensions as useWindowSize } from 'react-native';
9
+
10
+ var createColorScale = function (colorScale) {
11
+ return colorScale;
12
+ };
13
+ var 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
+ var transformColorScalesToTokens = function () {
99
+ return Object.fromEntries(Object.entries(colorScales).flatMap(function (_ref) {
100
+ var _ref2 = _slicedToArray(_ref, 2),
101
+ colorName = _ref2[0],
102
+ colorScale = _ref2[1];
103
+ return Object.entries(colorScale).map(function (_ref3) {
104
+ var _ref4 = _slicedToArray(_ref3, 2),
105
+ scaleNumber = _ref4[0],
106
+ colorValue = _ref4[1];
107
+ return ["".concat(colorName, ".").concat(scaleNumber), colorValue];
108
+ });
109
+ }));
110
+ };
111
+ var deepPurpleColorPalette = _objectSpread(_objectSpread({}, transformColorScalesToTokens()), {}, {
112
+ white: '#FFFFFF',
113
+ black: '#000000',
114
+ transparent: 'transparent'
115
+ });
116
+
117
+ var light = {
118
+ // content
119
+ 'content.base.hi': deepPurpleColorPalette['grey.9'],
120
+ 'content.base.mid': deepPurpleColorPalette['grey.7'],
121
+ 'content.base.low': deepPurpleColorPalette['grey.5'],
122
+ 'content.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
123
+ 'content.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.80'],
124
+ 'content.base.onContrasted.low': deepPurpleColorPalette['white-alpha.60'],
125
+ 'content.accent': deepPurpleColorPalette['deepPurple.8'],
126
+ 'content.promo': deepPurpleColorPalette['lightning.9'],
127
+ 'content.promo.onContrasted': deepPurpleColorPalette['lightning.5'],
128
+ 'content.info': deepPurpleColorPalette['blue.7'],
129
+ 'content.success': deepPurpleColorPalette['green.7'],
130
+ 'content.warning': deepPurpleColorPalette['yellow.7'],
131
+ 'content.danger': deepPurpleColorPalette['red.7'],
132
+ 'content.muted': deepPurpleColorPalette['beige.6'],
133
+ 'content.disabled': deepPurpleColorPalette['grey.3'],
134
+ 'content.disabled.onContrasted': deepPurpleColorPalette['grey.1'],
135
+ // backgrounds
136
+ 'bg.base.hi.default': deepPurpleColorPalette['beige.2'],
137
+ 'bg.base.hi.pressed': deepPurpleColorPalette['beige.3'],
138
+ 'bg.base.mid.default': deepPurpleColorPalette['beige.1'],
139
+ 'bg.base.mid.pressed': deepPurpleColorPalette['beige.2'],
140
+ 'bg.base.low.default': deepPurpleColorPalette['grey.0'],
141
+ 'bg.base.low.pressed': deepPurpleColorPalette['beige.1'],
142
+ 'bg.accent.default': deepPurpleColorPalette['deepPurple.8'],
143
+ 'bg.accent.pressed': deepPurpleColorPalette['deepPurple.7'],
144
+ 'bg.promo.hi.default': deepPurpleColorPalette['lightning.9'],
145
+ 'bg.promo.hi.pressed': deepPurpleColorPalette['lightning.8'],
146
+ 'bg.promo.mid.default': deepPurpleColorPalette['lightning.5'],
147
+ 'bg.promo.mid.pressed': deepPurpleColorPalette['lightning.4'],
148
+ 'bg.highlight.default': deepPurpleColorPalette['blue.1'],
149
+ 'bg.highlight.pressed': deepPurpleColorPalette['blue.2'],
150
+ 'bg.info.hi': deepPurpleColorPalette['blue.6'],
151
+ 'bg.info.mid': deepPurpleColorPalette['blue.1'],
152
+ 'bg.success.hi': deepPurpleColorPalette['green.6'],
153
+ 'bg.success.mid': deepPurpleColorPalette['green.1'],
154
+ 'bg.warning.hi': deepPurpleColorPalette['yellow.6'],
155
+ 'bg.warning.mid': deepPurpleColorPalette['yellow.1'],
156
+ 'bg.danger.hi': deepPurpleColorPalette['red.6'],
157
+ 'bg.danger.mid': deepPurpleColorPalette['red.1'],
158
+ 'bg.disabled.hi': deepPurpleColorPalette['grey.3'],
159
+ 'bg.disabled.mid': deepPurpleColorPalette['grey.1'],
160
+ 'bg.overlay': deepPurpleColorPalette['grey-alpha.50'],
161
+ // borders
162
+ 'border.base.hi': deepPurpleColorPalette['grey.9'],
163
+ 'border.base.mid': deepPurpleColorPalette['grey.3'],
164
+ 'border.base.onContrasted.hi': deepPurpleColorPalette['grey.0'],
165
+ 'border.base.onContrasted.mid': deepPurpleColorPalette['white-alpha.60'],
166
+ 'border.info': deepPurpleColorPalette['blue.6'],
167
+ 'border.success': deepPurpleColorPalette['green.6'],
168
+ 'border.warning': deepPurpleColorPalette['yellow.6'],
169
+ 'border.danger': deepPurpleColorPalette['red.6'],
170
+ 'border.disabled': deepPurpleColorPalette['grey.2']
171
+ };
172
+
173
+ var BreakpointNameEnum = /*#__PURE__*/function (BreakpointNameEnum) {
174
+ BreakpointNameEnum["BASE"] = "base";
175
+ BreakpointNameEnum["SMALL"] = "small";
176
+ BreakpointNameEnum["MEDIUM"] = "medium";
177
+ BreakpointNameEnum["LARGE"] = "large";
178
+ BreakpointNameEnum["WIDE"] = "wide";
179
+ return BreakpointNameEnum;
180
+ }({});
181
+ var breakpoints = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, BreakpointNameEnum.BASE, 0), BreakpointNameEnum.SMALL, 480), BreakpointNameEnum.MEDIUM, 768), BreakpointNameEnum.LARGE, 1024), BreakpointNameEnum.WIDE, 1280);
182
+
183
+ var GTStandardFaces = {
184
+ 500: {
185
+ normal: 'GTStandardRegular'
186
+ },
187
+ 600: {
188
+ normal: 'GTStandardSemibold'
189
+ },
190
+ 700: {
191
+ normal: 'GTStandardBold'
192
+ }
193
+ };
194
+ var 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
+ var 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
+ var 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
+ var weight = {
246
+ bold: '700',
247
+ semibold: '600',
248
+ regular: '500'
249
+ };
250
+ var fonts = createFont({
251
+ family: 'GTStandard',
252
+ size: size,
253
+ lineHeight: lineHeight,
254
+ letterSpacing: letterSpacing,
255
+ weight: weight,
256
+ face: GTStandardFaces
257
+ });
258
+
259
+ var 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
+ var 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
+ var tokens = createTokens({
287
+ color: {},
288
+ space: spaceTokens,
289
+ size: sizeTokens
290
+ });
291
+ var config = createTamagui({
292
+ tokens: tokens,
293
+ fonts: {
294
+ GTStandard: fonts
295
+ },
296
+ themes: {
297
+ light: light
298
+ },
299
+ media: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, BreakpointNameEnum.BASE, {
300
+ minWidth: breakpoints[BreakpointNameEnum.BASE]
301
+ }), BreakpointNameEnum.SMALL, {
302
+ minWidth: breakpoints[BreakpointNameEnum.SMALL]
303
+ }), BreakpointNameEnum.MEDIUM, {
304
+ minWidth: breakpoints[BreakpointNameEnum.MEDIUM]
305
+ }), BreakpointNameEnum.LARGE, {
306
+ minWidth: breakpoints[BreakpointNameEnum.LARGE]
307
+ }), BreakpointNameEnum.WIDE, {
308
+ minWidth: breakpoints[BreakpointNameEnum.WIDE]
309
+ }),
310
+ settings: {
311
+ allowedStyleValues: 'strict',
312
+ disableSSR: true,
313
+ styleCompat: 'react-native',
314
+ autocompleteSpecificTokens: true,
315
+ debug: false
316
+ }
317
+ });
318
+
319
+ // make imports typed
320
+
321
+ function BumperProvider(_ref) {
322
+ var children = _ref.children;
323
+ return /*#__PURE__*/jsx(TamaguiProvider, {
324
+ config: config,
325
+ defaultTheme: "light",
326
+ children: children
327
+ });
328
+ }
329
+
330
+ var BumperDecorator = makeDecorator({
331
+ name: 'BumperDecorator',
332
+ parameterName: 'bumper',
333
+ wrapper: function (storyFn, context) {
334
+ return /*#__PURE__*/jsx(BumperProvider, {
335
+ children: storyFn(context)
336
+ });
337
+ }
338
+ });
339
+
340
+ function getValueForBreakpoint(breakpoint, _ref) {
341
+ var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7;
342
+ var base = _ref.base,
343
+ small = _ref.small,
344
+ medium = _ref.medium,
345
+ large = _ref.large,
346
+ wide = _ref.wide;
347
+ switch (breakpoint) {
348
+ case BreakpointNameEnum.WIDE:
349
+ 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;
350
+ case BreakpointNameEnum.LARGE:
351
+ return (_ref5 = (_ref6 = large !== null && large !== void 0 ? large : medium) !== null && _ref6 !== void 0 ? _ref6 : small) !== null && _ref5 !== void 0 ? _ref5 : base;
352
+ case BreakpointNameEnum.MEDIUM:
353
+ return (_ref7 = medium !== null && medium !== void 0 ? medium : small) !== null && _ref7 !== void 0 ? _ref7 : base;
354
+ case BreakpointNameEnum.SMALL:
355
+ return small !== null && small !== void 0 ? small : base;
356
+ case BreakpointNameEnum.BASE:
357
+ default:
358
+ return base;
359
+ }
360
+ }
361
+
362
+ function useCurrentBreakpointName() {
363
+ var media = useMedia();
364
+ switch (true) {
365
+ case media.wide:
366
+ return BreakpointNameEnum.WIDE;
367
+ case media.large:
368
+ return BreakpointNameEnum.LARGE;
369
+ case media.medium:
370
+ return BreakpointNameEnum.MEDIUM;
371
+ case media.small:
372
+ return BreakpointNameEnum.SMALL;
373
+ case media.base:
374
+ default:
375
+ return BreakpointNameEnum.BASE;
376
+ }
377
+ }
378
+
379
+ function useBreakpointValue(values) {
380
+ var breakpoint = useCurrentBreakpointName();
381
+ return useMemo(function () {
382
+ return getValueForBreakpoint(breakpoint, values);
383
+ }, [breakpoint, values]);
384
+ }
385
+
386
+ function SwitchBreakpoints(values) {
387
+ var breakpoint = useCurrentBreakpointName();
388
+ return getValueForBreakpoint(breakpoint, values);
389
+ }
390
+
391
+ export { BumperDecorator, BumperProvider, SwitchBreakpoints, getValueForBreakpoint, useBreakpointValue, useCurrentBreakpointName };
392
+ //# sourceMappingURL=index.es.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.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","_ref","_ref2","_slicedToArray","colorName","map","_ref3","_ref4","scaleNumber","colorValue","concat","deepPurpleColorPalette","_objectSpread","white","black","transparent","light","BreakpointNameEnum","breakpoints","_defineProperty","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","_ref5","_ref6","_ref7","base","small","medium","large","wide","useCurrentBreakpointName","useMedia","useBreakpointValue","values","useMemo","SwitchBreakpoints"],"mappings":"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"}