@shipengine/giger-theme 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/Theme.d.ts +2 -136
- package/dist/esm/Theme.js.map +1 -1
- package/dist/lib/Theme.d.ts +2 -136
- package/dist/lib/Theme.js.map +1 -1
- package/package.json +3 -3
package/dist/esm/Theme.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { TypographyVariables } from './Typographies.js';
|
|
|
6
6
|
import { PaletteVariables } from './Palette.js';
|
|
7
7
|
import { IconsVariables } from './Icons.js';
|
|
8
8
|
import { BorderRadiusVariables } from './BorderRadius.js';
|
|
9
|
-
import { ComponentsVariables } from './Components/Components.js';
|
|
9
|
+
import { ComponentsVariables, CustomComponentsVariables } from './Components/Components.js';
|
|
10
10
|
import { ElevationsVariables } from './Elevations.js';
|
|
11
11
|
import { BreakpointsVariables } from './Breakpoints.js';
|
|
12
12
|
import { ThemeData, CustomThemeData } from './ThemeTypes.js';
|
|
@@ -380,141 +380,7 @@ declare class Theme implements ThemeData {
|
|
|
380
380
|
private removePx;
|
|
381
381
|
mediaQuery: (breakpoint: keyof BreakpointsVariables) => string;
|
|
382
382
|
getComponent: <Component extends keyof ComponentsVariables>(component: Component) => ComponentsVariables[Component];
|
|
383
|
-
getComponentOverride: <Component extends keyof ComponentsVariables>(component: Component) => NonNullable<
|
|
384
|
-
Chip?: {
|
|
385
|
-
backgroundColor?: string | undefined;
|
|
386
|
-
border?: string | undefined;
|
|
387
|
-
borderRadius?: string | undefined;
|
|
388
|
-
color?: string | undefined;
|
|
389
|
-
fontWeight?: number | undefined;
|
|
390
|
-
padding?: string | undefined;
|
|
391
|
-
isSelected?: {
|
|
392
|
-
border?: string | undefined;
|
|
393
|
-
backgroundColor?: string | undefined;
|
|
394
|
-
color?: string | undefined;
|
|
395
|
-
} | undefined;
|
|
396
|
-
} | undefined;
|
|
397
|
-
Link?: {
|
|
398
|
-
defaultColor?: string | undefined;
|
|
399
|
-
visitedColor?: string | undefined;
|
|
400
|
-
hoverColor?: string | undefined;
|
|
401
|
-
activeColor?: string | undefined;
|
|
402
|
-
isDark?: {
|
|
403
|
-
defaultColor?: string | undefined;
|
|
404
|
-
visitedColor?: string | undefined;
|
|
405
|
-
hoverColor?: string | undefined;
|
|
406
|
-
activeColor?: string | undefined;
|
|
407
|
-
} | undefined;
|
|
408
|
-
} | undefined;
|
|
409
|
-
Button?: {
|
|
410
|
-
borderRadius?: string | undefined;
|
|
411
|
-
} | undefined;
|
|
412
|
-
Dialog?: {
|
|
413
|
-
action?: {
|
|
414
|
-
justifyContent?: string | undefined;
|
|
415
|
-
} | undefined;
|
|
416
|
-
content?: {
|
|
417
|
-
textAlign?: csstype.Property.TextAlign | undefined;
|
|
418
|
-
padding?: number | undefined;
|
|
419
|
-
} | undefined;
|
|
420
|
-
dialog?: {
|
|
421
|
-
backgroundColor?: string | undefined;
|
|
422
|
-
borderRadius?: string | undefined;
|
|
423
|
-
} | undefined;
|
|
424
|
-
header?: {
|
|
425
|
-
titleColor?: string | undefined;
|
|
426
|
-
padding?: number | undefined;
|
|
427
|
-
borderBottom?: string | undefined;
|
|
428
|
-
} | undefined;
|
|
429
|
-
} | undefined;
|
|
430
|
-
Typography?: {
|
|
431
|
-
heading1?: {
|
|
432
|
-
fontSize?: string | undefined;
|
|
433
|
-
fontWeight?: number | undefined;
|
|
434
|
-
lineHeight?: string | undefined;
|
|
435
|
-
letterSpacing?: number | "normal" | undefined;
|
|
436
|
-
} | undefined;
|
|
437
|
-
heading2?: {
|
|
438
|
-
fontSize?: string | undefined;
|
|
439
|
-
fontWeight?: number | undefined;
|
|
440
|
-
lineHeight?: string | undefined;
|
|
441
|
-
letterSpacing?: number | "normal" | undefined;
|
|
442
|
-
} | undefined;
|
|
443
|
-
heading3?: {
|
|
444
|
-
fontSize?: string | undefined;
|
|
445
|
-
fontWeight?: number | undefined;
|
|
446
|
-
lineHeight?: string | undefined;
|
|
447
|
-
letterSpacing?: number | "normal" | undefined;
|
|
448
|
-
} | undefined;
|
|
449
|
-
heading4?: {
|
|
450
|
-
fontSize?: string | undefined;
|
|
451
|
-
fontWeight?: number | undefined;
|
|
452
|
-
lineHeight?: string | undefined;
|
|
453
|
-
letterSpacing?: number | "normal" | undefined;
|
|
454
|
-
} | undefined;
|
|
455
|
-
heading5?: {
|
|
456
|
-
fontSize?: string | undefined;
|
|
457
|
-
fontWeight?: number | undefined;
|
|
458
|
-
lineHeight?: string | undefined;
|
|
459
|
-
letterSpacing?: number | "normal" | undefined;
|
|
460
|
-
} | undefined;
|
|
461
|
-
heading6?: {
|
|
462
|
-
fontSize?: string | undefined;
|
|
463
|
-
fontWeight?: number | undefined;
|
|
464
|
-
lineHeight?: string | undefined;
|
|
465
|
-
letterSpacing?: number | "normal" | undefined;
|
|
466
|
-
} | undefined;
|
|
467
|
-
subtitle1?: {
|
|
468
|
-
fontSize?: string | undefined;
|
|
469
|
-
fontWeight?: number | undefined;
|
|
470
|
-
lineHeight?: string | undefined;
|
|
471
|
-
letterSpacing?: number | "normal" | undefined;
|
|
472
|
-
} | undefined;
|
|
473
|
-
subtitle2?: {
|
|
474
|
-
fontSize?: string | undefined;
|
|
475
|
-
fontWeight?: number | undefined;
|
|
476
|
-
lineHeight?: string | undefined;
|
|
477
|
-
letterSpacing?: number | "normal" | undefined;
|
|
478
|
-
} | undefined;
|
|
479
|
-
body1?: {
|
|
480
|
-
fontSize?: string | undefined;
|
|
481
|
-
fontWeight?: number | undefined;
|
|
482
|
-
lineHeight?: string | undefined;
|
|
483
|
-
letterSpacing?: number | "normal" | undefined;
|
|
484
|
-
} | undefined;
|
|
485
|
-
body2?: {
|
|
486
|
-
fontSize?: string | undefined;
|
|
487
|
-
fontWeight?: number | undefined;
|
|
488
|
-
lineHeight?: string | undefined;
|
|
489
|
-
letterSpacing?: number | "normal" | undefined;
|
|
490
|
-
} | undefined;
|
|
491
|
-
small?: {
|
|
492
|
-
fontSize?: string | undefined;
|
|
493
|
-
fontWeight?: number | undefined;
|
|
494
|
-
lineHeight?: string | undefined;
|
|
495
|
-
letterSpacing?: number | "normal" | undefined;
|
|
496
|
-
} | undefined;
|
|
497
|
-
} | undefined;
|
|
498
|
-
Checkbox?: {
|
|
499
|
-
borderRadius?: string | undefined;
|
|
500
|
-
square?: boolean | undefined;
|
|
501
|
-
} | undefined;
|
|
502
|
-
Field?: {
|
|
503
|
-
fontWeight?: number | undefined;
|
|
504
|
-
color?: string | undefined;
|
|
505
|
-
placeholder?: {
|
|
506
|
-
fontWeight?: number | undefined;
|
|
507
|
-
} | undefined;
|
|
508
|
-
} | undefined;
|
|
509
|
-
FieldContainer?: {
|
|
510
|
-
borderRadius?: string | undefined;
|
|
511
|
-
} | undefined;
|
|
512
|
-
Table?: {
|
|
513
|
-
border?: string | undefined;
|
|
514
|
-
borderRadius?: string | undefined;
|
|
515
|
-
boxShadow?: string | undefined;
|
|
516
|
-
} | undefined;
|
|
517
|
-
}[Component]>;
|
|
383
|
+
getComponentOverride: <Component extends keyof ComponentsVariables>(component: Component) => NonNullable<CustomComponentsVariables[Component]>;
|
|
518
384
|
spacing: (multiplier?: number) => number;
|
|
519
385
|
getElevation: (elevation: keyof ElevationsVariables) => {
|
|
520
386
|
boxShadow: string;
|
package/dist/esm/Theme.js.map
CHANGED
|
@@ -1 +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';\nimport { ThemePaletteColorGray } from './Palette';\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 // Adds backwards compatibility with old grays naming\n this.palette.gray = mergeGrays(fallbackTheme.palette.gray, palette.gray);\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): string => {\n return typeof percentage === 'number' ? `${percentage / 100}em` : percentage;\n };\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\nfunction mergeGrays(fallbackGray: ThemePaletteColorGray, gray?: Partial<ThemePaletteColorGray>): ThemePaletteColorGray {\n return {\n ...fallbackGray,\n ...gray,\n 50: gray?.[50] || gray?.megaLight || fallbackGray.megaLight,\n 100: gray?.[100] || gray?.ultraLight || fallbackGray.ultraLight,\n 200: gray?.[200] || gray?.light || fallbackGray.light,\n 600: gray?.[600] || gray?.main || fallbackGray.main,\n 900: gray?.[900] || gray?.dark || fallbackGray.dark,\n };\n}\n"],"names":["Theme","constructor","borderRadius","breakPoints","iconSize","palette","spacingBase","typography","card","elevations","grid","fontFaces","defaultFontFamily","components","arguments","length","undefined","merge","fallbackTheme","gray","mergeGrays","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","fallbackGray","megaLight","ultraLight","light","main","dark"],"mappings":"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"}
|
|
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';\nimport { ThemePaletteColorGray } from './Palette';\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 // Adds backwards compatibility with old grays naming\n this.palette.gray = mergeGrays(fallbackTheme.palette.gray, palette.gray);\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): string => {\n return typeof percentage === 'number' ? `${percentage / 100}em` : percentage;\n };\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\nfunction mergeGrays(fallbackGray: ThemePaletteColorGray, gray?: Partial<ThemePaletteColorGray>): ThemePaletteColorGray {\n return {\n ...fallbackGray,\n ...gray,\n 50: gray?.[50] || gray?.megaLight || fallbackGray.megaLight,\n 100: gray?.[100] || gray?.ultraLight || fallbackGray.ultraLight,\n 200: gray?.[200] || gray?.light || fallbackGray.light,\n 600: gray?.[600] || gray?.main || fallbackGray.main,\n 900: gray?.[900] || gray?.dark || fallbackGray.dark,\n };\n}\n"],"names":["Theme","constructor","borderRadius","breakPoints","iconSize","palette","spacingBase","typography","card","elevations","grid","fontFaces","defaultFontFamily","components","arguments","length","undefined","merge","fallbackTheme","gray","mergeGrays","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","fallbackGray","megaLight","ultraLight","light","main","dark"],"mappings":"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"}
|
package/dist/lib/Theme.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { TypographyVariables } from './Typographies.js';
|
|
|
6
6
|
import { PaletteVariables } from './Palette.js';
|
|
7
7
|
import { IconsVariables } from './Icons.js';
|
|
8
8
|
import { BorderRadiusVariables } from './BorderRadius.js';
|
|
9
|
-
import { ComponentsVariables } from './Components/Components.js';
|
|
9
|
+
import { ComponentsVariables, CustomComponentsVariables } from './Components/Components.js';
|
|
10
10
|
import { ElevationsVariables } from './Elevations.js';
|
|
11
11
|
import { BreakpointsVariables } from './Breakpoints.js';
|
|
12
12
|
import { ThemeData, CustomThemeData } from './ThemeTypes.js';
|
|
@@ -380,141 +380,7 @@ declare class Theme implements ThemeData {
|
|
|
380
380
|
private removePx;
|
|
381
381
|
mediaQuery: (breakpoint: keyof BreakpointsVariables) => string;
|
|
382
382
|
getComponent: <Component extends keyof ComponentsVariables>(component: Component) => ComponentsVariables[Component];
|
|
383
|
-
getComponentOverride: <Component extends keyof ComponentsVariables>(component: Component) => NonNullable<
|
|
384
|
-
Chip?: {
|
|
385
|
-
backgroundColor?: string | undefined;
|
|
386
|
-
border?: string | undefined;
|
|
387
|
-
borderRadius?: string | undefined;
|
|
388
|
-
color?: string | undefined;
|
|
389
|
-
fontWeight?: number | undefined;
|
|
390
|
-
padding?: string | undefined;
|
|
391
|
-
isSelected?: {
|
|
392
|
-
border?: string | undefined;
|
|
393
|
-
backgroundColor?: string | undefined;
|
|
394
|
-
color?: string | undefined;
|
|
395
|
-
} | undefined;
|
|
396
|
-
} | undefined;
|
|
397
|
-
Link?: {
|
|
398
|
-
defaultColor?: string | undefined;
|
|
399
|
-
visitedColor?: string | undefined;
|
|
400
|
-
hoverColor?: string | undefined;
|
|
401
|
-
activeColor?: string | undefined;
|
|
402
|
-
isDark?: {
|
|
403
|
-
defaultColor?: string | undefined;
|
|
404
|
-
visitedColor?: string | undefined;
|
|
405
|
-
hoverColor?: string | undefined;
|
|
406
|
-
activeColor?: string | undefined;
|
|
407
|
-
} | undefined;
|
|
408
|
-
} | undefined;
|
|
409
|
-
Button?: {
|
|
410
|
-
borderRadius?: string | undefined;
|
|
411
|
-
} | undefined;
|
|
412
|
-
Dialog?: {
|
|
413
|
-
action?: {
|
|
414
|
-
justifyContent?: string | undefined;
|
|
415
|
-
} | undefined;
|
|
416
|
-
content?: {
|
|
417
|
-
textAlign?: csstype.Property.TextAlign | undefined;
|
|
418
|
-
padding?: number | undefined;
|
|
419
|
-
} | undefined;
|
|
420
|
-
dialog?: {
|
|
421
|
-
backgroundColor?: string | undefined;
|
|
422
|
-
borderRadius?: string | undefined;
|
|
423
|
-
} | undefined;
|
|
424
|
-
header?: {
|
|
425
|
-
titleColor?: string | undefined;
|
|
426
|
-
padding?: number | undefined;
|
|
427
|
-
borderBottom?: string | undefined;
|
|
428
|
-
} | undefined;
|
|
429
|
-
} | undefined;
|
|
430
|
-
Typography?: {
|
|
431
|
-
heading1?: {
|
|
432
|
-
fontSize?: string | undefined;
|
|
433
|
-
fontWeight?: number | undefined;
|
|
434
|
-
lineHeight?: string | undefined;
|
|
435
|
-
letterSpacing?: number | "normal" | undefined;
|
|
436
|
-
} | undefined;
|
|
437
|
-
heading2?: {
|
|
438
|
-
fontSize?: string | undefined;
|
|
439
|
-
fontWeight?: number | undefined;
|
|
440
|
-
lineHeight?: string | undefined;
|
|
441
|
-
letterSpacing?: number | "normal" | undefined;
|
|
442
|
-
} | undefined;
|
|
443
|
-
heading3?: {
|
|
444
|
-
fontSize?: string | undefined;
|
|
445
|
-
fontWeight?: number | undefined;
|
|
446
|
-
lineHeight?: string | undefined;
|
|
447
|
-
letterSpacing?: number | "normal" | undefined;
|
|
448
|
-
} | undefined;
|
|
449
|
-
heading4?: {
|
|
450
|
-
fontSize?: string | undefined;
|
|
451
|
-
fontWeight?: number | undefined;
|
|
452
|
-
lineHeight?: string | undefined;
|
|
453
|
-
letterSpacing?: number | "normal" | undefined;
|
|
454
|
-
} | undefined;
|
|
455
|
-
heading5?: {
|
|
456
|
-
fontSize?: string | undefined;
|
|
457
|
-
fontWeight?: number | undefined;
|
|
458
|
-
lineHeight?: string | undefined;
|
|
459
|
-
letterSpacing?: number | "normal" | undefined;
|
|
460
|
-
} | undefined;
|
|
461
|
-
heading6?: {
|
|
462
|
-
fontSize?: string | undefined;
|
|
463
|
-
fontWeight?: number | undefined;
|
|
464
|
-
lineHeight?: string | undefined;
|
|
465
|
-
letterSpacing?: number | "normal" | undefined;
|
|
466
|
-
} | undefined;
|
|
467
|
-
subtitle1?: {
|
|
468
|
-
fontSize?: string | undefined;
|
|
469
|
-
fontWeight?: number | undefined;
|
|
470
|
-
lineHeight?: string | undefined;
|
|
471
|
-
letterSpacing?: number | "normal" | undefined;
|
|
472
|
-
} | undefined;
|
|
473
|
-
subtitle2?: {
|
|
474
|
-
fontSize?: string | undefined;
|
|
475
|
-
fontWeight?: number | undefined;
|
|
476
|
-
lineHeight?: string | undefined;
|
|
477
|
-
letterSpacing?: number | "normal" | undefined;
|
|
478
|
-
} | undefined;
|
|
479
|
-
body1?: {
|
|
480
|
-
fontSize?: string | undefined;
|
|
481
|
-
fontWeight?: number | undefined;
|
|
482
|
-
lineHeight?: string | undefined;
|
|
483
|
-
letterSpacing?: number | "normal" | undefined;
|
|
484
|
-
} | undefined;
|
|
485
|
-
body2?: {
|
|
486
|
-
fontSize?: string | undefined;
|
|
487
|
-
fontWeight?: number | undefined;
|
|
488
|
-
lineHeight?: string | undefined;
|
|
489
|
-
letterSpacing?: number | "normal" | undefined;
|
|
490
|
-
} | undefined;
|
|
491
|
-
small?: {
|
|
492
|
-
fontSize?: string | undefined;
|
|
493
|
-
fontWeight?: number | undefined;
|
|
494
|
-
lineHeight?: string | undefined;
|
|
495
|
-
letterSpacing?: number | "normal" | undefined;
|
|
496
|
-
} | undefined;
|
|
497
|
-
} | undefined;
|
|
498
|
-
Checkbox?: {
|
|
499
|
-
borderRadius?: string | undefined;
|
|
500
|
-
square?: boolean | undefined;
|
|
501
|
-
} | undefined;
|
|
502
|
-
Field?: {
|
|
503
|
-
fontWeight?: number | undefined;
|
|
504
|
-
color?: string | undefined;
|
|
505
|
-
placeholder?: {
|
|
506
|
-
fontWeight?: number | undefined;
|
|
507
|
-
} | undefined;
|
|
508
|
-
} | undefined;
|
|
509
|
-
FieldContainer?: {
|
|
510
|
-
borderRadius?: string | undefined;
|
|
511
|
-
} | undefined;
|
|
512
|
-
Table?: {
|
|
513
|
-
border?: string | undefined;
|
|
514
|
-
borderRadius?: string | undefined;
|
|
515
|
-
boxShadow?: string | undefined;
|
|
516
|
-
} | undefined;
|
|
517
|
-
}[Component]>;
|
|
383
|
+
getComponentOverride: <Component extends keyof ComponentsVariables>(component: Component) => NonNullable<CustomComponentsVariables[Component]>;
|
|
518
384
|
spacing: (multiplier?: number) => number;
|
|
519
385
|
getElevation: (elevation: keyof ElevationsVariables) => {
|
|
520
386
|
boxShadow: string;
|
package/dist/lib/Theme.js.map
CHANGED
|
@@ -1 +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';\nimport { ThemePaletteColorGray } from './Palette';\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 // Adds backwards compatibility with old grays naming\n this.palette.gray = mergeGrays(fallbackTheme.palette.gray, palette.gray);\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): string => {\n return typeof percentage === 'number' ? `${percentage / 100}em` : percentage;\n };\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\nfunction mergeGrays(fallbackGray: ThemePaletteColorGray, gray?: Partial<ThemePaletteColorGray>): ThemePaletteColorGray {\n return {\n ...fallbackGray,\n ...gray,\n 50: gray?.[50] || gray?.megaLight || fallbackGray.megaLight,\n 100: gray?.[100] || gray?.ultraLight || fallbackGray.ultraLight,\n 200: gray?.[200] || gray?.light || fallbackGray.light,\n 600: gray?.[600] || gray?.main || fallbackGray.main,\n 900: gray?.[900] || gray?.dark || fallbackGray.dark,\n };\n}\n"],"names":["Theme","constructor","borderRadius","breakPoints","iconSize","palette","spacingBase","typography","card","elevations","grid","fontFaces","defaultFontFamily","components","arguments","length","undefined","merge","fallbackTheme","gray","mergeGrays","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","fallbackGray","megaLight","ultraLight","light","main","dark"],"mappings":"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"}
|
|
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';\nimport { ThemePaletteColorGray } from './Palette';\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 // Adds backwards compatibility with old grays naming\n this.palette.gray = mergeGrays(fallbackTheme.palette.gray, palette.gray);\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): string => {\n return typeof percentage === 'number' ? `${percentage / 100}em` : percentage;\n };\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\nfunction mergeGrays(fallbackGray: ThemePaletteColorGray, gray?: Partial<ThemePaletteColorGray>): ThemePaletteColorGray {\n return {\n ...fallbackGray,\n ...gray,\n 50: gray?.[50] || gray?.megaLight || fallbackGray.megaLight,\n 100: gray?.[100] || gray?.ultraLight || fallbackGray.ultraLight,\n 200: gray?.[200] || gray?.light || fallbackGray.light,\n 600: gray?.[600] || gray?.main || fallbackGray.main,\n 900: gray?.[900] || gray?.dark || fallbackGray.dark,\n };\n}\n"],"names":["Theme","constructor","borderRadius","breakPoints","iconSize","palette","spacingBase","typography","card","elevations","grid","fontFaces","defaultFontFamily","components","arguments","length","undefined","merge","fallbackTheme","gray","mergeGrays","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","fallbackGray","megaLight","ultraLight","light","main","dark"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shipengine/giger-theme",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "ShipEngine Giger Theme definition and utils",
|
|
5
5
|
"author": "ShipEngine",
|
|
6
6
|
"license": "ISC",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.21.0",
|
|
34
|
-
"@types/lodash": "^4.
|
|
34
|
+
"@types/lodash": "^4.17.7",
|
|
35
35
|
"lodash": "^4.17.21"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "c615f819a514fd35d0475d50019595949cdc60c2"
|
|
38
38
|
}
|