@shipengine/giger-theme 0.3.0 → 0.4.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 (65) hide show
  1. package/dist/esm/BorderRadius.d.ts +3 -0
  2. package/dist/esm/Breakpoints.d.ts +3 -0
  3. package/dist/esm/Card.d.ts +10 -0
  4. package/dist/esm/Components/Button.d.ts +5 -0
  5. package/dist/esm/Components/Checkbox.d.ts +6 -0
  6. package/dist/esm/Components/Chip.d.ts +15 -0
  7. package/dist/esm/Components/Components.d.ts +25 -0
  8. package/dist/esm/Components/Dialog.d.ts +26 -0
  9. package/dist/esm/Components/Field.d.ts +9 -0
  10. package/dist/esm/Components/FieldContainer.d.ts +5 -0
  11. package/dist/esm/Components/Link.d.ts +14 -0
  12. package/dist/esm/Components/Table.d.ts +7 -0
  13. package/dist/esm/Components/Typography.d.ts +21 -0
  14. package/dist/esm/Elevations.d.ts +20 -0
  15. package/dist/esm/FallbackTheme/fallback.d.ts +5 -0
  16. package/dist/esm/FallbackTheme/fallback.js +223 -0
  17. package/dist/esm/FallbackTheme/fallback.js.map +1 -0
  18. package/dist/esm/FontFaces.d.ts +12 -0
  19. package/dist/esm/Grid.d.ts +16 -0
  20. package/dist/esm/Icons.d.ts +152 -0
  21. package/dist/esm/Icons.js +154 -0
  22. package/dist/esm/Icons.js.map +1 -0
  23. package/dist/esm/Palette.d.ts +44 -0
  24. package/dist/esm/Theme.d.ts +526 -0
  25. package/dist/esm/Theme.js +88 -0
  26. package/dist/esm/Theme.js.map +1 -0
  27. package/dist/esm/ThemeTypes.d.ts +31 -0
  28. package/dist/esm/Types.d.ts +5 -0
  29. package/dist/esm/Typographies.d.ts +12 -0
  30. package/dist/esm/index.d.ts +22 -0
  31. package/dist/esm/index.js +4 -0
  32. package/dist/esm/index.js.map +1 -0
  33. package/dist/lib/BorderRadius.d.ts +3 -0
  34. package/dist/lib/Breakpoints.d.ts +3 -0
  35. package/dist/lib/Card.d.ts +10 -0
  36. package/dist/lib/Components/Button.d.ts +5 -0
  37. package/dist/lib/Components/Checkbox.d.ts +6 -0
  38. package/dist/lib/Components/Chip.d.ts +15 -0
  39. package/dist/lib/Components/Components.d.ts +25 -0
  40. package/dist/lib/Components/Dialog.d.ts +26 -0
  41. package/dist/lib/Components/Field.d.ts +9 -0
  42. package/dist/lib/Components/FieldContainer.d.ts +5 -0
  43. package/dist/lib/Components/Link.d.ts +14 -0
  44. package/dist/lib/Components/Table.d.ts +7 -0
  45. package/dist/lib/Components/Typography.d.ts +21 -0
  46. package/dist/lib/Elevations.d.ts +20 -0
  47. package/dist/lib/FallbackTheme/fallback.d.ts +5 -0
  48. package/dist/lib/FallbackTheme/fallback.js +227 -0
  49. package/dist/lib/FallbackTheme/fallback.js.map +1 -0
  50. package/dist/lib/FontFaces.d.ts +12 -0
  51. package/dist/lib/Grid.d.ts +16 -0
  52. package/dist/lib/Icons.d.ts +152 -0
  53. package/dist/lib/Icons.js +156 -0
  54. package/dist/lib/Icons.js.map +1 -0
  55. package/dist/lib/Palette.d.ts +44 -0
  56. package/dist/lib/Theme.d.ts +526 -0
  57. package/dist/lib/Theme.js +96 -0
  58. package/dist/lib/Theme.js.map +1 -0
  59. package/dist/lib/ThemeTypes.d.ts +31 -0
  60. package/dist/lib/Types.d.ts +5 -0
  61. package/dist/lib/Typographies.d.ts +12 -0
  62. package/dist/lib/index.d.ts +22 -0
  63. package/dist/lib/index.js +17 -0
  64. package/dist/lib/index.js.map +1 -0
  65. package/package.json +2 -2
@@ -0,0 +1,526 @@
1
+ import * as csstype from 'csstype';
2
+ import { FontFacesVariables } from './FontFaces.js';
3
+ import { GridVariables } from './Grid.js';
4
+ import { CardVariables } from './Card.js';
5
+ import { TypographyVariables } from './Typographies.js';
6
+ import { PaletteVariables } from './Palette.js';
7
+ import { IconsVariables } from './Icons.js';
8
+ import { BorderRadiusVariables } from './BorderRadius.js';
9
+ import { ComponentsVariables } from './Components/Components.js';
10
+ import { ElevationsVariables } from './Elevations.js';
11
+ import { BreakpointsVariables } from './Breakpoints.js';
12
+ import { ThemeData, CustomThemeData } from './ThemeTypes.js';
13
+
14
+ declare class Theme implements ThemeData {
15
+ borderRadius: BorderRadiusVariables & {
16
+ XS?: string | undefined;
17
+ S?: string | undefined;
18
+ M?: string | undefined;
19
+ L?: string | undefined;
20
+ XL?: string | undefined;
21
+ };
22
+ breakPoints: BreakpointsVariables & {
23
+ mobileLarge?: number | undefined;
24
+ tablet?: number | undefined;
25
+ tabletLarge?: number | undefined;
26
+ desktop?: number | undefined;
27
+ };
28
+ iconSize: IconsVariables & {
29
+ small?: string | undefined;
30
+ medium?: string | undefined;
31
+ regular?: string | undefined;
32
+ large?: string | undefined;
33
+ extra_large?: string | undefined;
34
+ };
35
+ palette: PaletteVariables & {
36
+ primary?: {
37
+ main?: string | undefined;
38
+ light?: string | undefined;
39
+ dark?: string | undefined;
40
+ ultraLight?: string | undefined;
41
+ } | undefined;
42
+ secondary?: {
43
+ main?: string | undefined;
44
+ light?: string | undefined;
45
+ dark?: string | undefined;
46
+ ultraLight?: string | undefined;
47
+ } | undefined;
48
+ alert?: {
49
+ main?: string | undefined;
50
+ light?: string | undefined;
51
+ } | undefined;
52
+ info?: {
53
+ main?: string | undefined;
54
+ light?: string | undefined;
55
+ } | undefined;
56
+ success?: {
57
+ main?: string | undefined;
58
+ light?: string | undefined;
59
+ } | undefined;
60
+ error?: {
61
+ main?: string | undefined;
62
+ light?: string | undefined;
63
+ } | undefined;
64
+ gray?: {
65
+ main?: string | undefined;
66
+ light?: string | undefined;
67
+ dark?: string | undefined;
68
+ ultraLight?: string | undefined;
69
+ megaLight?: string | undefined;
70
+ } | undefined;
71
+ black?: string | undefined;
72
+ white?: string | undefined;
73
+ dataVisualization?: {
74
+ highContrast?: {
75
+ blueDark?: string | undefined;
76
+ coral?: string | undefined;
77
+ purpleDark?: string | undefined;
78
+ orange?: string | undefined;
79
+ purple?: string | undefined;
80
+ orangeDark?: string | undefined;
81
+ blue?: string | undefined;
82
+ cyan?: string | undefined;
83
+ pink?: string | undefined;
84
+ green?: string | undefined;
85
+ } | undefined;
86
+ lowContrast?: {
87
+ blueDark?: string | undefined;
88
+ coral?: string | undefined;
89
+ purpleDark?: string | undefined;
90
+ orange?: string | undefined;
91
+ purple?: string | undefined;
92
+ orangeDark?: string | undefined;
93
+ blue?: string | undefined;
94
+ cyan?: string | undefined;
95
+ pink?: string | undefined;
96
+ green?: string | undefined;
97
+ } | undefined;
98
+ } | undefined;
99
+ };
100
+ spacingBase: number;
101
+ typography: TypographyVariables & {
102
+ fontSize?: {
103
+ XS?: string | undefined;
104
+ S?: string | undefined;
105
+ M?: string | undefined;
106
+ L?: string | undefined;
107
+ XL?: string | undefined;
108
+ XXS?: string | undefined;
109
+ XXL?: string | undefined;
110
+ XXXL?: string | undefined;
111
+ XXXXL?: string | undefined;
112
+ } | undefined;
113
+ fontWeight?: {
114
+ light?: number | undefined;
115
+ normal?: number | undefined;
116
+ semibold?: number | undefined;
117
+ bold?: number | undefined;
118
+ } | undefined;
119
+ lineHeight?: {
120
+ S?: string | undefined;
121
+ M?: string | undefined;
122
+ L?: string | undefined;
123
+ XL?: string | undefined;
124
+ XXL?: string | undefined;
125
+ XXXL?: string | undefined;
126
+ } | undefined;
127
+ letterSpacing?: {
128
+ S?: number | undefined;
129
+ M?: number | undefined;
130
+ L?: number | undefined;
131
+ XL?: number | undefined;
132
+ XXL?: number | undefined;
133
+ XXXL?: number | undefined;
134
+ } | undefined;
135
+ };
136
+ card: CardVariables & {
137
+ borderRadius?: {
138
+ mobile?: string | undefined;
139
+ tablet?: string | undefined;
140
+ desktop?: string | undefined;
141
+ } | undefined;
142
+ };
143
+ elevations: ElevationsVariables & {
144
+ flat1?: {
145
+ boxShadow?: string | undefined;
146
+ zIndex?: number | undefined;
147
+ } | undefined;
148
+ flat2?: {
149
+ boxShadow?: string | undefined;
150
+ zIndex?: number | undefined;
151
+ } | undefined;
152
+ above?: {
153
+ boxShadow?: string | undefined;
154
+ zIndex?: number | undefined;
155
+ } | undefined;
156
+ sticky?: {
157
+ boxShadow?: string | undefined;
158
+ zIndex?: number | undefined;
159
+ } | undefined;
160
+ raised?: {
161
+ boxShadow?: string | undefined;
162
+ zIndex?: number | undefined;
163
+ } | undefined;
164
+ raisedInverted1?: {
165
+ boxShadow?: string | undefined;
166
+ zIndex?: number | undefined;
167
+ } | undefined;
168
+ raisedInverted2?: {
169
+ boxShadow?: string | undefined;
170
+ zIndex?: number | undefined;
171
+ } | undefined;
172
+ popout1?: {
173
+ boxShadow?: string | undefined;
174
+ zIndex?: number | undefined;
175
+ } | undefined;
176
+ popout2?: {
177
+ boxShadow?: string | undefined;
178
+ zIndex?: number | undefined;
179
+ } | undefined;
180
+ backdrop?: {
181
+ boxShadow?: string | undefined;
182
+ zIndex?: number | undefined;
183
+ } | undefined;
184
+ overlay1?: {
185
+ boxShadow?: string | undefined;
186
+ zIndex?: number | undefined;
187
+ } | undefined;
188
+ overlay2?: {
189
+ boxShadow?: string | undefined;
190
+ zIndex?: number | undefined;
191
+ } | undefined;
192
+ };
193
+ grid: GridVariables & {
194
+ mobile?: {
195
+ columns?: number | undefined;
196
+ horizontalSpace?: number | undefined;
197
+ verticalSpace?: number | undefined;
198
+ gutter?: number | undefined;
199
+ } | undefined;
200
+ mobileLarge?: {
201
+ columns?: number | undefined;
202
+ horizontalSpace?: number | undefined;
203
+ verticalSpace?: number | undefined;
204
+ gutter?: number | undefined;
205
+ } | undefined;
206
+ tablet?: {
207
+ columns?: number | undefined;
208
+ horizontalSpace?: number | undefined;
209
+ verticalSpace?: number | undefined;
210
+ gutter?: number | undefined;
211
+ } | undefined;
212
+ tabletLarge?: {
213
+ columns?: number | undefined;
214
+ horizontalSpace?: number | undefined;
215
+ verticalSpace?: number | undefined;
216
+ gutter?: number | undefined;
217
+ } | undefined;
218
+ desktop?: {
219
+ columns?: number | undefined;
220
+ horizontalSpace?: number | undefined;
221
+ verticalSpace?: number | undefined;
222
+ gutter?: number | undefined;
223
+ } | undefined;
224
+ desktopLarge?: {
225
+ columns?: number | undefined;
226
+ horizontalSpace?: number | undefined;
227
+ verticalSpace?: number | undefined;
228
+ gutter?: number | undefined;
229
+ } | undefined;
230
+ };
231
+ fontFaces: FontFacesVariables[];
232
+ defaultFontFamily: string;
233
+ components: {
234
+ Chip?: {
235
+ backgroundColor?: string | undefined;
236
+ border?: string | undefined;
237
+ borderRadius?: string | undefined;
238
+ color?: string | undefined;
239
+ fontWeight?: number | undefined;
240
+ padding?: string | undefined;
241
+ isSelected?: {
242
+ border?: string | undefined;
243
+ backgroundColor?: string | undefined;
244
+ color?: string | undefined;
245
+ } | undefined;
246
+ } | undefined;
247
+ Link?: {
248
+ defaultColor?: string | undefined;
249
+ visitedColor?: string | undefined;
250
+ hoverColor?: string | undefined;
251
+ activeColor?: string | undefined;
252
+ isDark?: {
253
+ defaultColor?: string | undefined;
254
+ visitedColor?: string | undefined;
255
+ hoverColor?: string | undefined;
256
+ activeColor?: string | undefined;
257
+ } | undefined;
258
+ } | undefined;
259
+ Button?: {
260
+ borderRadius?: string | undefined;
261
+ } | undefined;
262
+ Dialog?: {
263
+ action?: {
264
+ justifyContent?: string | undefined;
265
+ } | undefined;
266
+ content?: {
267
+ textAlign?: csstype.Property.TextAlign | undefined;
268
+ padding?: number | undefined;
269
+ } | undefined;
270
+ dialog?: {
271
+ backgroundColor?: string | undefined;
272
+ borderRadius?: string | undefined;
273
+ } | undefined;
274
+ header?: {
275
+ titleColor?: string | undefined;
276
+ padding?: number | undefined;
277
+ borderBottom?: string | undefined;
278
+ } | undefined;
279
+ } | undefined;
280
+ Typography?: {
281
+ heading1?: {
282
+ fontSize?: string | undefined;
283
+ fontWeight?: number | undefined;
284
+ lineHeight?: string | undefined;
285
+ letterSpacing?: number | undefined;
286
+ } | undefined;
287
+ heading2?: {
288
+ fontSize?: string | undefined;
289
+ fontWeight?: number | undefined;
290
+ lineHeight?: string | undefined;
291
+ letterSpacing?: number | undefined;
292
+ } | undefined;
293
+ heading3?: {
294
+ fontSize?: string | undefined;
295
+ fontWeight?: number | undefined;
296
+ lineHeight?: string | undefined;
297
+ letterSpacing?: number | undefined;
298
+ } | undefined;
299
+ heading4?: {
300
+ fontSize?: string | undefined;
301
+ fontWeight?: number | undefined;
302
+ lineHeight?: string | undefined;
303
+ letterSpacing?: number | undefined;
304
+ } | undefined;
305
+ heading5?: {
306
+ fontSize?: string | undefined;
307
+ fontWeight?: number | undefined;
308
+ lineHeight?: string | undefined;
309
+ letterSpacing?: number | undefined;
310
+ } | undefined;
311
+ heading6?: {
312
+ fontSize?: string | undefined;
313
+ fontWeight?: number | undefined;
314
+ lineHeight?: string | undefined;
315
+ letterSpacing?: number | undefined;
316
+ } | undefined;
317
+ subtitle1?: {
318
+ fontSize?: string | undefined;
319
+ fontWeight?: number | undefined;
320
+ lineHeight?: string | undefined;
321
+ letterSpacing?: number | undefined;
322
+ } | undefined;
323
+ subtitle2?: {
324
+ fontSize?: string | undefined;
325
+ fontWeight?: number | undefined;
326
+ lineHeight?: string | undefined;
327
+ letterSpacing?: number | undefined;
328
+ } | undefined;
329
+ body1?: {
330
+ fontSize?: string | undefined;
331
+ fontWeight?: number | undefined;
332
+ lineHeight?: string | undefined;
333
+ letterSpacing?: number | undefined;
334
+ } | undefined;
335
+ body2?: {
336
+ fontSize?: string | undefined;
337
+ fontWeight?: number | undefined;
338
+ lineHeight?: string | undefined;
339
+ letterSpacing?: number | undefined;
340
+ } | undefined;
341
+ small?: {
342
+ fontSize?: string | undefined;
343
+ fontWeight?: number | undefined;
344
+ lineHeight?: string | undefined;
345
+ letterSpacing?: number | undefined;
346
+ } | undefined;
347
+ } | undefined;
348
+ Checkbox?: {
349
+ borderRadius?: string | undefined;
350
+ square?: boolean | undefined;
351
+ } | undefined;
352
+ Field?: {
353
+ fontWeight?: number | undefined;
354
+ color?: string | undefined;
355
+ placeholder?: {
356
+ fontWeight?: number | undefined;
357
+ } | undefined;
358
+ } | undefined;
359
+ FieldContainer?: {
360
+ borderRadius?: string | undefined;
361
+ } | undefined;
362
+ Table?: {
363
+ border?: string | undefined;
364
+ borderRadius?: string | undefined;
365
+ boxShadow?: string | undefined;
366
+ } | undefined;
367
+ };
368
+ constructor({ borderRadius, breakPoints, iconSize, palette, spacingBase, typography, card, elevations, grid, fontFaces, defaultFontFamily, components, }?: CustomThemeData);
369
+ private removePx;
370
+ mediaQuery: (breakpoint: keyof BreakpointsVariables) => string;
371
+ getComponent: <Component extends keyof ComponentsVariables>(component: Component) => ComponentsVariables[Component];
372
+ getComponentOverride: <Component extends keyof ComponentsVariables>(component: Component) => NonNullable<{
373
+ Chip?: {
374
+ backgroundColor?: string | undefined;
375
+ border?: string | undefined;
376
+ borderRadius?: string | undefined;
377
+ color?: string | undefined;
378
+ fontWeight?: number | undefined;
379
+ padding?: string | undefined;
380
+ isSelected?: {
381
+ border?: string | undefined;
382
+ backgroundColor?: string | undefined;
383
+ color?: string | undefined;
384
+ } | undefined;
385
+ } | undefined;
386
+ Link?: {
387
+ defaultColor?: string | undefined;
388
+ visitedColor?: string | undefined;
389
+ hoverColor?: string | undefined;
390
+ activeColor?: string | undefined;
391
+ isDark?: {
392
+ defaultColor?: string | undefined;
393
+ visitedColor?: string | undefined;
394
+ hoverColor?: string | undefined;
395
+ activeColor?: string | undefined;
396
+ } | undefined;
397
+ } | undefined;
398
+ Button?: {
399
+ borderRadius?: string | undefined;
400
+ } | undefined;
401
+ Dialog?: {
402
+ action?: {
403
+ justifyContent?: string | undefined;
404
+ } | undefined;
405
+ content?: {
406
+ textAlign?: csstype.Property.TextAlign | undefined;
407
+ padding?: number | undefined;
408
+ } | undefined;
409
+ dialog?: {
410
+ backgroundColor?: string | undefined;
411
+ borderRadius?: string | undefined;
412
+ } | undefined;
413
+ header?: {
414
+ titleColor?: string | undefined;
415
+ padding?: number | undefined;
416
+ borderBottom?: string | undefined;
417
+ } | undefined;
418
+ } | undefined;
419
+ Typography?: {
420
+ heading1?: {
421
+ fontSize?: string | undefined;
422
+ fontWeight?: number | undefined;
423
+ lineHeight?: string | undefined;
424
+ letterSpacing?: number | undefined;
425
+ } | undefined;
426
+ heading2?: {
427
+ fontSize?: string | undefined;
428
+ fontWeight?: number | undefined;
429
+ lineHeight?: string | undefined;
430
+ letterSpacing?: number | undefined;
431
+ } | undefined;
432
+ heading3?: {
433
+ fontSize?: string | undefined;
434
+ fontWeight?: number | undefined;
435
+ lineHeight?: string | undefined;
436
+ letterSpacing?: number | undefined;
437
+ } | undefined;
438
+ heading4?: {
439
+ fontSize?: string | undefined;
440
+ fontWeight?: number | undefined;
441
+ lineHeight?: string | undefined;
442
+ letterSpacing?: number | undefined;
443
+ } | undefined;
444
+ heading5?: {
445
+ fontSize?: string | undefined;
446
+ fontWeight?: number | undefined;
447
+ lineHeight?: string | undefined;
448
+ letterSpacing?: number | undefined;
449
+ } | undefined;
450
+ heading6?: {
451
+ fontSize?: string | undefined;
452
+ fontWeight?: number | undefined;
453
+ lineHeight?: string | undefined;
454
+ letterSpacing?: number | undefined;
455
+ } | undefined;
456
+ subtitle1?: {
457
+ fontSize?: string | undefined;
458
+ fontWeight?: number | undefined;
459
+ lineHeight?: string | undefined;
460
+ letterSpacing?: number | undefined;
461
+ } | undefined;
462
+ subtitle2?: {
463
+ fontSize?: string | undefined;
464
+ fontWeight?: number | undefined;
465
+ lineHeight?: string | undefined;
466
+ letterSpacing?: number | undefined;
467
+ } | undefined;
468
+ body1?: {
469
+ fontSize?: string | undefined;
470
+ fontWeight?: number | undefined;
471
+ lineHeight?: string | undefined;
472
+ letterSpacing?: number | undefined;
473
+ } | undefined;
474
+ body2?: {
475
+ fontSize?: string | undefined;
476
+ fontWeight?: number | undefined;
477
+ lineHeight?: string | undefined;
478
+ letterSpacing?: number | undefined;
479
+ } | undefined;
480
+ small?: {
481
+ fontSize?: string | undefined;
482
+ fontWeight?: number | undefined;
483
+ lineHeight?: string | undefined;
484
+ letterSpacing?: number | undefined;
485
+ } | undefined;
486
+ } | undefined;
487
+ Checkbox?: {
488
+ borderRadius?: string | undefined;
489
+ square?: boolean | undefined;
490
+ } | undefined;
491
+ Field?: {
492
+ fontWeight?: number | undefined;
493
+ color?: string | undefined;
494
+ placeholder?: {
495
+ fontWeight?: number | undefined;
496
+ } | undefined;
497
+ } | undefined;
498
+ FieldContainer?: {
499
+ borderRadius?: string | undefined;
500
+ } | undefined;
501
+ Table?: {
502
+ border?: string | undefined;
503
+ borderRadius?: string | undefined;
504
+ boxShadow?: string | undefined;
505
+ } | undefined;
506
+ }[Component]>;
507
+ spacing: (multiplier?: number) => number;
508
+ getElevation: (elevation: keyof ElevationsVariables) => {
509
+ boxShadow: string;
510
+ zIndex: number;
511
+ };
512
+ getCardStyle: () => {
513
+ [x: string]: string | {
514
+ borderRadius: string;
515
+ };
516
+ backgroundColor: string;
517
+ borderRadius: string;
518
+ };
519
+ toRem: (fontSizePx: string, baseFontSizePx?: string) => string;
520
+ toEm: (percentage: number) => string;
521
+ toPercentage: (value: number) => string;
522
+ toRGBA: (hexCode: string, alpha: number | string) => string;
523
+ getLineHeight: (fontSizePx: string, lineHeightPx: string) => number;
524
+ }
525
+
526
+ export { Theme };
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var merge = require('lodash/fp/merge');
6
+ var fallback = require('./FallbackTheme/fallback.js');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var merge__default = /*#__PURE__*/_interopDefault(merge);
11
+
12
+ class Theme {
13
+ constructor() {
14
+ let {
15
+ borderRadius = {},
16
+ breakPoints = {},
17
+ iconSize = {},
18
+ palette = {},
19
+ spacingBase,
20
+ typography = {},
21
+ card = {},
22
+ elevations = {},
23
+ grid = {},
24
+ fontFaces,
25
+ defaultFontFamily,
26
+ components = {}
27
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
+ this.borderRadius = merge__default.default(fallback.fallbackTheme.borderRadius, borderRadius);
29
+ this.breakPoints = merge__default.default(fallback.fallbackTheme.breakPoints, breakPoints);
30
+ this.iconSize = merge__default.default(fallback.fallbackTheme.iconSize, iconSize);
31
+ this.palette = merge__default.default(fallback.fallbackTheme.palette, palette);
32
+ this.spacingBase = spacingBase || fallback.fallbackTheme.spacingBase;
33
+ this.typography = merge__default.default(fallback.fallbackTheme.typography, typography);
34
+ this.card = merge__default.default(fallback.fallbackTheme.card, card);
35
+ this.elevations = merge__default.default(fallback.fallbackTheme.elevations, elevations);
36
+ this.grid = merge__default.default(fallback.fallbackTheme.grid, grid);
37
+ this.fontFaces = fontFaces || fallback.fallbackTheme.fontFaces;
38
+ this.defaultFontFamily = defaultFontFamily || fallback.fallbackTheme.defaultFontFamily;
39
+ this.components = components;
40
+ }
41
+ removePx = px => parseInt(px.substring(0, px.indexOf('px')));
42
+ mediaQuery = breakpoint => `@media (min-width: ${this.breakPoints[breakpoint]}px)`;
43
+
44
+ /*
45
+ * @deprecated Please use getComponentOverride. Types may not be accurate if used outside @packlink/brands
46
+ * We switched to allow partial component overrides, so this styling may be incomplete
47
+ */
48
+ getComponent = component => this.components[component] || {};
49
+ getComponentOverride = component => {
50
+ return this.components[component] || {};
51
+ };
52
+ spacing = (() => {
53
+ var _this = this;
54
+ return function () {
55
+ let multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
56
+ return _this.spacingBase * multiplier;
57
+ };
58
+ })();
59
+ getElevation = elevation => ({
60
+ boxShadow: this.elevations[elevation].boxShadow,
61
+ zIndex: this.elevations[elevation].zIndex
62
+ });
63
+ getCardStyle = () => ({
64
+ backgroundColor: this.palette.white,
65
+ borderRadius: this.card.borderRadius.mobile,
66
+ [this.mediaQuery('tablet')]: {
67
+ borderRadius: this.card.borderRadius.tablet
68
+ },
69
+ [this.mediaQuery('desktop')]: {
70
+ borderRadius: this.card.borderRadius.desktop
71
+ }
72
+ });
73
+ toRem = (() => {
74
+ var _this2 = this;
75
+ return function (fontSizePx) {
76
+ let baseFontSizePx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this2.typography.fontSize.M;
77
+ return `${_this2.removePx(fontSizePx) / _this2.removePx(baseFontSizePx)}rem`;
78
+ };
79
+ })();
80
+ toEm = percentage => `${percentage / 100}em`;
81
+ toPercentage = value => `${value * 100}%`;
82
+ toRGBA = (hexCode, alpha) => {
83
+ let hex = hexCode.replace('#', '');
84
+ if (hex.length === 3) {
85
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
86
+ }
87
+ const red = parseInt(hex.substring(0, 2), 16),
88
+ green = parseInt(hex.substring(2, 4), 16),
89
+ blue = parseInt(hex.substring(4, 6), 16);
90
+ return `rgba(${red}, ${green}, ${blue}, ${alpha})`;
91
+ };
92
+ getLineHeight = (fontSizePx, lineHeightPx) => this.removePx(lineHeightPx) / this.removePx(fontSizePx);
93
+ }
94
+
95
+ exports.Theme = Theme;
96
+ //# sourceMappingURL=Theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Theme.js","sources":["../../src/Theme.ts"],"sourcesContent":["import merge from 'lodash/fp/merge';\n\nimport { ComponentsVariables, CustomComponentsVariables } from './Components';\nimport { ElevationsVariables } from './Elevations';\nimport { BreakpointsVariables } from './Breakpoints';\nimport { fallbackTheme } from './FallbackTheme';\nimport { CustomThemeData, ThemeData } from './ThemeTypes';\n\nexport class Theme implements ThemeData {\n public borderRadius;\n public breakPoints;\n public iconSize;\n public palette;\n public spacingBase;\n public typography;\n public card;\n public elevations;\n public grid;\n public fontFaces;\n public defaultFontFamily;\n public components;\n\n constructor({\n borderRadius = {},\n breakPoints = {},\n iconSize = {},\n palette = {},\n spacingBase,\n typography = {},\n card = {},\n elevations = {},\n grid = {},\n fontFaces,\n defaultFontFamily,\n components = {},\n }: CustomThemeData = {}) {\n this.borderRadius = merge(fallbackTheme.borderRadius, borderRadius);\n this.breakPoints = merge(fallbackTheme.breakPoints, breakPoints);\n this.iconSize = merge(fallbackTheme.iconSize, iconSize);\n this.palette = merge(fallbackTheme.palette, palette);\n this.spacingBase = spacingBase || fallbackTheme.spacingBase;\n this.typography = merge(fallbackTheme.typography, typography);\n this.card = merge(fallbackTheme.card, card);\n this.elevations = merge(fallbackTheme.elevations, elevations);\n this.grid = merge(fallbackTheme.grid, grid);\n this.fontFaces = fontFaces || fallbackTheme.fontFaces;\n this.defaultFontFamily = defaultFontFamily || fallbackTheme.defaultFontFamily;\n this.components = components;\n }\n\n private removePx = (px: string): number => parseInt(px.substring(0, px.indexOf('px')));\n\n mediaQuery = (breakpoint: keyof BreakpointsVariables): string =>\n `@media (min-width: ${this.breakPoints[breakpoint]}px)`;\n\n /*\n * @deprecated Please use getComponentOverride. Types may not be accurate if used outside @packlink/brands\n * We switched to allow partial component overrides, so this styling may be incomplete\n */\n getComponent = <Component extends keyof ComponentsVariables>(\n component: Component\n ): ComponentsVariables[Component] => (this.components[component] || {}) as ComponentsVariables[Component];\n\n getComponentOverride = <Component extends keyof ComponentsVariables>(\n component: Component\n ): NonNullable<CustomComponentsVariables[Component]> => {\n return this.components[component] || {};\n };\n\n spacing = (multiplier = 1): number => this.spacingBase * multiplier;\n\n getElevation = (elevation: keyof ElevationsVariables) => ({\n boxShadow: this.elevations[elevation].boxShadow,\n zIndex: this.elevations[elevation].zIndex,\n });\n\n getCardStyle = () => ({\n backgroundColor: this.palette.white,\n borderRadius: this.card.borderRadius.mobile,\n [this.mediaQuery('tablet')]: {\n borderRadius: this.card.borderRadius.tablet,\n },\n [this.mediaQuery('desktop')]: {\n borderRadius: this.card.borderRadius.desktop,\n },\n });\n\n toRem = (fontSizePx: string, baseFontSizePx: string = this.typography.fontSize.M): string =>\n `${this.removePx(fontSizePx) / this.removePx(baseFontSizePx)}rem`;\n\n toEm = (percentage: number): string => `${percentage / 100}em`;\n\n toPercentage = (value: number): string => `${value * 100}%`;\n\n toRGBA = (hexCode: string, alpha: number | string): string => {\n let hex = hexCode.replace('#', '');\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n\n const red = parseInt(hex.substring(0, 2), 16),\n green = parseInt(hex.substring(2, 4), 16),\n blue = parseInt(hex.substring(4, 6), 16);\n\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`;\n };\n\n getLineHeight = (fontSizePx: string, lineHeightPx: string): number =>\n this.removePx(lineHeightPx) / this.removePx(fontSizePx);\n}\n"],"names":["Theme","constructor","borderRadius","breakPoints","iconSize","palette","spacingBase","typography","card","elevations","grid","fontFaces","defaultFontFamily","components","arguments","length","undefined","merge","fallbackTheme","removePx","px","parseInt","substring","indexOf","mediaQuery","breakpoint","getComponent","component","getComponentOverride","spacing","_this","multiplier","getElevation","elevation","boxShadow","zIndex","getCardStyle","backgroundColor","white","mobile","tablet","desktop","toRem","_this2","fontSizePx","baseFontSizePx","fontSize","M","toEm","percentage","toPercentage","value","toRGBA","hexCode","alpha","hex","replace","red","green","blue","getLineHeight","lineHeightPx"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { BorderRadiusVariables } from './BorderRadius.js';
2
+ import { BreakpointsVariables } from './Breakpoints.js';
3
+ import { CardVariables } from './Card.js';
4
+ import { CustomComponentsVariables } from './Components/Components.js';
5
+ import { ElevationsVariables } from './Elevations.js';
6
+ import { FontFacesVariables } from './FontFaces.js';
7
+ import { GridVariables } from './Grid.js';
8
+ import { IconsVariables } from './Icons.js';
9
+ import { PaletteVariables } from './Palette.js';
10
+ import { DeepPartial } from './Types.js';
11
+ import { TypographyVariables } from './Typographies.js';
12
+
13
+ interface CustomThemeData extends DeepPartial<ThemeData> {
14
+ fontFaces?: FontFacesVariables[];
15
+ }
16
+ interface ThemeData {
17
+ borderRadius: BorderRadiusVariables;
18
+ breakPoints: BreakpointsVariables;
19
+ iconSize: IconsVariables;
20
+ palette: PaletteVariables;
21
+ spacingBase: number;
22
+ typography: TypographyVariables;
23
+ card: CardVariables;
24
+ elevations: ElevationsVariables;
25
+ grid: GridVariables;
26
+ defaultFontFamily: string;
27
+ components?: CustomComponentsVariables;
28
+ fontFaces: FontFacesVariables[];
29
+ }
30
+
31
+ export { CustomThemeData, ThemeData };
@@ -0,0 +1,5 @@
1
+ type DeepPartial<T> = T extends object ? {
2
+ [P in keyof T]?: DeepPartial<T[P]>;
3
+ } : T;
4
+
5
+ export { DeepPartial };