@lightdash/common 0.3301.0 → 0.3302.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.
@@ -9,12 +9,27 @@ export type SolidColor = string;
9
9
  export declare const isSolidColorString: (value: string) => value is SolidColor;
10
10
  export declare const toSolidColor: (hex: HexColor) => SolidColor;
11
11
  export declare const getHexFromSolidColor: (value: SolidColor) => HexColor;
12
- export type UserAvatarColorValue = UserAvatarGradientId | HexColor | SolidColor;
12
+ export declare const AVATAR_MESH_VIBES: readonly [0, 1, 2, 3];
13
+ export type AvatarMeshVibe = (typeof AVATAR_MESH_VIBES)[number];
14
+ export type MeshColor = string;
15
+ export declare const isMeshColorString: (value: string) => value is MeshColor;
16
+ export declare const toMeshColor: (hex: HexColor, vibe: AvatarMeshVibe) => MeshColor;
17
+ export declare const parseMeshColor: (value: MeshColor) => {
18
+ vibe: AvatarMeshVibe;
19
+ hex: HexColor;
20
+ };
21
+ export type UserAvatarColorValue = UserAvatarGradientId | HexColor | MeshColor | SolidColor;
13
22
  export declare const isUserAvatarColorValue: (value: string) => value is UserAvatarColorValue;
14
23
  export declare const hexToRgba: (hex: HexColor, alpha: number) => string;
15
- export declare const generateAvatarMeshBackgroundImage: (hex: HexColor) => string;
24
+ export declare const generateAvatarMeshBackgroundImage: (hex: HexColor, vibe?: AvatarMeshVibe) => string;
25
+ export type AvatarMeshBackground = {
26
+ backgroundImage: string;
27
+ backgroundBlendMode: string;
28
+ backgroundSize: string;
29
+ };
30
+ export declare const generateAvatarMeshBackground: (hex: HexColor, vibe?: AvatarMeshVibe) => AvatarMeshBackground;
16
31
  export declare const generateAvatarMeshBorderColor: (hex: HexColor) => string;
17
- export declare const getAvatarMeshClassName: (hex: HexColor) => string;
32
+ export declare const getAvatarMeshClassName: (hex: HexColor, vibe?: AvatarMeshVibe) => string;
18
33
  export declare const getContrastTextColor: (hex: HexColor) => "black" | "white";
19
34
  export declare const getAvatarSolidClassName: (hex: HexColor) => string;
20
35
  //# sourceMappingURL=userAvatars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"userAvatars.d.ts","sourceRoot":"","sources":["../../../src/types/userAvatars.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,sEAO3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,GAC/B,OAAO,MAAM,KACd,KAAK,IAAI,oBACuD,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAC9B,UAAU,MAAM,EAChB,UAAU,oBAAoB,GAAG,IAAI,KACtC,oBAOF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,UAAU,MAAM,EAChB,aAAa,MAAM,KACpB,MAA2D,CAAC;AAK/D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,QAC3B,CAAC;AAIhC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,UAC3B,CAAC;AAElC,eAAO,MAAM,YAAY,GAAI,KAAK,QAAQ,KAAG,UAA4B,CAAC;AAE1E,eAAO,MAAM,oBAAoB,GAAI,OAAO,UAAU,KAAG,QACzB,CAAC;AAGjC,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhF,eAAO,MAAM,sBAAsB,GAC/B,OAAO,MAAM,KACd,KAAK,IAAI,oBAGiB,CAAC;AA+D9B,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,EAAE,OAAO,MAAM,KAAG,MAKxD,CAAC;AAKF,eAAO,MAAM,iCAAiC,GAAI,KAAK,QAAQ,KAAG,MAejE,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,KAAK,QAAQ,KAAG,MACvC,CAAC;AAExB,eAAO,MAAM,sBAAsB,GAAI,KAAK,QAAQ,KAAG,MACR,CAAC;AAGhD,eAAO,MAAM,oBAAoB,GAAI,KAAK,QAAQ,KAAG,OAAO,GAAG,OAU9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,QAAQ,KAAG,MACR,CAAC"}
1
+ {"version":3,"file":"userAvatars.d.ts","sourceRoot":"","sources":["../../../src/types/userAvatars.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,sEAO3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,GAC/B,OAAO,MAAM,KACd,KAAK,IAAI,oBACuD,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAC9B,UAAU,MAAM,EAChB,UAAU,oBAAoB,GAAG,IAAI,KACtC,oBAOF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,UAAU,MAAM,EAChB,aAAa,MAAM,KACpB,MAA2D,CAAC;AAK/D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,QAC3B,CAAC;AAIhC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,UAC3B,CAAC;AAElC,eAAO,MAAM,YAAY,GAAI,KAAK,QAAQ,KAAG,UAA4B,CAAC;AAE1E,eAAO,MAAM,oBAAoB,GAAI,OAAO,UAAU,KAAG,QACzB,CAAC;AAEjC,eAAO,MAAM,iBAAiB,uBAAwB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIhE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,SAC3B,CAAC;AAEjC,eAAO,MAAM,WAAW,GAAI,KAAK,QAAQ,EAAE,MAAM,cAAc,KAAG,SACzC,CAAC;AAE1B,eAAO,MAAM,cAAc,GACvB,OAAO,SAAS,KACjB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAKtC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAC1B,oBAAoB,GACpB,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEjB,eAAO,MAAM,sBAAsB,GAC/B,OAAO,MAAM,KACd,KAAK,IAAI,oBAIiB,CAAC;AA+D9B,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,EAAE,OAAO,MAAM,KAAG,MAKxD,CAAC;AA0EF,eAAO,MAAM,iCAAiC,GAC1C,KAAK,QAAQ,EACb,OAAM,cAAkB,KACzB,MAaF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,4BAA4B,GACrC,KAAK,QAAQ,EACb,OAAM,cAAkB,KACzB,oBAaF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,KAAK,QAAQ,KAAG,MACvC,CAAC;AAExB,eAAO,MAAM,sBAAsB,GAC/B,KAAK,QAAQ,EACb,OAAM,cAAkB,KACzB,MAA6D,CAAC;AAGjE,eAAO,MAAM,oBAAoB,GAAI,KAAK,QAAQ,KAAG,OAAO,GAAG,OAU9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,QAAQ,KAAG,MACR,CAAC"}
@@ -1,3 +1,4 @@
1
+ import assertUnreachable from '../utils/assertUnreachable';
1
2
  export const USER_AVATAR_GRADIENT_IDS = [
2
3
  'lilac',
3
4
  'blush',
@@ -23,8 +24,17 @@ const SOLID_COLOR_REGEX = /^solid:#[0-9a-fA-F]{6}$/;
23
24
  export const isSolidColorString = (value) => SOLID_COLOR_REGEX.test(value);
24
25
  export const toSolidColor = (hex) => `solid:${hex}`;
25
26
  export const getHexFromSolidColor = (value) => value.slice('solid:'.length);
27
+ export const AVATAR_MESH_VIBES = [0, 1, 2, 3];
28
+ const MESH_COLOR_REGEX = /^mesh:[0-3]:#[0-9a-fA-F]{6}$/;
29
+ export const isMeshColorString = (value) => MESH_COLOR_REGEX.test(value);
30
+ export const toMeshColor = (hex, vibe) => `mesh:${vibe}:${hex}`;
31
+ export const parseMeshColor = (value) => ({
32
+ vibe: Number(value.slice('mesh:'.length, 'mesh:'.length + 1)),
33
+ hex: value.slice('mesh:0:'.length),
34
+ });
26
35
  export const isUserAvatarColorValue = (value) => isUserAvatarGradientId(value) ||
27
36
  isHexColorString(value) ||
37
+ isMeshColorString(value) ||
28
38
  isSolidColorString(value);
29
39
  const hexToHsl = (hex) => {
30
40
  const r = parseInt(hex.slice(1, 3), 16) / 255;
@@ -91,10 +101,11 @@ export const hexToRgba = (hex, alpha) => {
91
101
  const b = parseInt(hex.slice(5, 7), 16);
92
102
  return `rgba(${r}, ${g}, ${b}, ${alpha})`;
93
103
  };
94
- /* Generates the same "paint splatter" mesh recipe used by the curated
95
- gradients (bright corner, subtle opposite corner, two saturated spots,
96
- diagonal wash) but parameterized from an arbitrary base hex color. */
97
- export const generateAvatarMeshBackgroundImage = (hex) => {
104
+ /* Tiling SVG fractal-noise tile blended soft-light over the mesh for a film-grain finish. */
105
+ const GRAIN_LAYER = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`;
106
+ /* The original "paint splatter" recipe (bright corner, subtle opposite
107
+ corner, two saturated spots, diagonal wash). */
108
+ const splatterMesh = (hex) => {
98
109
  const spotA = shiftHsl(hex, { hueShift: 24, satShift: 15, lightShift: 0 });
99
110
  const spotB = shiftHsl(hex, {
100
111
  hueShift: -24,
@@ -110,8 +121,84 @@ export const generateAvatarMeshBackgroundImage = (hex) => {
110
121
  `linear-gradient(135deg, ${washLight} 0%, ${hex} 100%)`,
111
122
  ].join(', ');
112
123
  };
124
+ /* Soft off-center dome of lightened base over an analogous halo, vertical wash. */
125
+ const bloomMesh = (hex) => {
126
+ const dome = shiftHsl(hex, { satShift: 8, lightShift: 18 });
127
+ const halo = shiftHsl(hex, { hueShift: 20, satShift: 12, lightShift: -4 });
128
+ const washLight = shiftHsl(hex, { satShift: -15, lightShift: 30 });
129
+ return [
130
+ 'radial-gradient(circle at 30% 12%, rgba(255, 255, 255, 0.55) 0%, transparent 45%)',
131
+ `radial-gradient(circle at 50% 36%, ${dome} 0%, transparent 65%)`,
132
+ `radial-gradient(circle at 62% 78%, ${halo} 0%, transparent 60%)`,
133
+ `linear-gradient(180deg, ${washLight} 0%, ${hex} 100%)`,
134
+ ].join(', ');
135
+ };
136
+ /* Three saturated spots pinned near triangle corners with wide overlapping
137
+ falloffs, no white highlight — the classic mesh-gradient look. */
138
+ const cornersMesh = (hex) => {
139
+ const spotA = shiftHsl(hex, { hueShift: 30, satShift: 18, lightShift: 6 });
140
+ const spotB = shiftHsl(hex, {
141
+ hueShift: -30,
142
+ satShift: 14,
143
+ lightShift: -4,
144
+ });
145
+ const spotC = shiftHsl(hex, { satShift: 20, lightShift: 14 });
146
+ const washDark = shiftHsl(hex, { satShift: 6, lightShift: -18 });
147
+ return [
148
+ `radial-gradient(circle at 18% 20%, ${spotA} 0%, transparent 55%)`,
149
+ `radial-gradient(circle at 82% 24%, ${spotB} 0%, transparent 52%)`,
150
+ `radial-gradient(circle at 50% 88%, ${spotC} 0%, transparent 55%)`,
151
+ `linear-gradient(315deg, ${washDark} 0%, ${hex} 100%)`,
152
+ ].join(', ');
153
+ };
154
+ /* Two large opposing radials of the base and a hue-drifted twin bleeding
155
+ into each other diagonally, plus a small white glint. */
156
+ const duotoneDriftMesh = (hex) => {
157
+ const driftA = shiftHsl(hex, { satShift: 12, lightShift: 10 });
158
+ const driftB = shiftHsl(hex, {
159
+ hueShift: 42,
160
+ satShift: 10,
161
+ lightShift: -2,
162
+ });
163
+ const washDeep = shiftHsl(hex, { hueShift: 20, lightShift: -14 });
164
+ return [
165
+ 'radial-gradient(circle at 78% 15%, rgba(255, 255, 255, 0.8) 0%, transparent 22%)',
166
+ `radial-gradient(circle at 22% 25%, ${driftA} 0%, transparent 70%)`,
167
+ `radial-gradient(circle at 80% 78%, ${driftB} 0%, transparent 72%)`,
168
+ `linear-gradient(120deg, ${hex} 0%, ${washDeep} 100%)`,
169
+ ].join(', ');
170
+ };
171
+ export const generateAvatarMeshBackgroundImage = (hex, vibe = 0) => {
172
+ switch (vibe) {
173
+ case 0:
174
+ return splatterMesh(hex);
175
+ case 1:
176
+ return bloomMesh(hex);
177
+ case 2:
178
+ return cornersMesh(hex);
179
+ case 3:
180
+ return duotoneDriftMesh(hex);
181
+ default:
182
+ return assertUnreachable(vibe, `Unknown avatar mesh vibe ${vibe}`);
183
+ }
184
+ };
185
+ /* Grain tile stacked on top of the mesh; blend/size lists are per-layer. */
186
+ export const generateAvatarMeshBackground = (hex, vibe = 0) => {
187
+ const mesh = generateAvatarMeshBackgroundImage(hex, vibe);
188
+ const meshLayerCount = mesh.split('-gradient(').length - 1;
189
+ const meshLayers = Array.from({ length: meshLayerCount });
190
+ return {
191
+ backgroundImage: `${GRAIN_LAYER}, ${mesh}`,
192
+ backgroundBlendMode: `soft-light, ${meshLayers
193
+ .map(() => 'normal')
194
+ .join(', ')}`,
195
+ backgroundSize: `96px 96px, ${meshLayers
196
+ .map(() => '180% 180%')
197
+ .join(', ')}`,
198
+ };
199
+ };
113
200
  export const generateAvatarMeshBorderColor = (hex) => hexToRgba(hex, 0.4);
114
- export const getAvatarMeshClassName = (hex) => `avatar-mesh-${hex.slice(1).toLowerCase()}`;
201
+ export const getAvatarMeshClassName = (hex, vibe = 0) => `avatar-mesh-${vibe}-${hex.slice(1).toLowerCase()}`;
115
202
  /* Relative luminance (WCAG) decides whether initials read better in black or white. */
116
203
  export const getContrastTextColor = (hex) => {
117
204
  const toLinear = (channel) => {
@@ -1 +1 @@
1
- {"version":3,"file":"userAvatars.js","sourceRoot":"","sources":["../../../src/types/userAvatars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userAvatars.js","sourceRoot":"","sources":["../../../src/types/userAvatars.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { generateAvatarMeshBackgroundImage, generateAvatarMeshBorderColor, getAvatarMeshClassName, getContrastTextColor, getUserAvatarGradient, getUserAvatarUrl, hexToRgba, isHexColorString, isUserAvatarColorValue, isUserAvatarGradientId, USER_AVATAR_GRADIENT_IDS, } from './userAvatars';
1
+ import { AVATAR_MESH_VIBES, generateAvatarMeshBackgroundImage, generateAvatarMeshBorderColor, getAvatarMeshClassName, getContrastTextColor, getUserAvatarGradient, getUserAvatarUrl, hexToRgba, isHexColorString, isMeshColorString, isUserAvatarColorValue, isUserAvatarGradientId, parseMeshColor, toMeshColor, USER_AVATAR_GRADIENT_IDS, } from './userAvatars';
2
2
  describe('getUserAvatarGradient', () => {
3
3
  it('is deterministic for the same uuid', () => {
4
4
  const uuid = 'b264d83a-9000-426a-85ec-3f9c20f368ce';
@@ -46,9 +46,35 @@ describe('isUserAvatarColorValue', () => {
46
46
  it('accepts preset ids and hex colors, rejects everything else', () => {
47
47
  expect(isUserAvatarColorValue('lilac')).toBe(true);
48
48
  expect(isUserAvatarColorValue('#5e4cff')).toBe(true);
49
+ expect(isUserAvatarColorValue('mesh:2:#5e4cff')).toBe(true);
49
50
  expect(isUserAvatarColorValue('not-a-color')).toBe(false);
50
51
  });
51
52
  });
53
+ describe('isMeshColorString', () => {
54
+ it('accepts mesh values for all vibes in both hex cases', () => {
55
+ expect(isMeshColorString('mesh:0:#5e4cff')).toBe(true);
56
+ expect(isMeshColorString('mesh:3:#5E4CFF')).toBe(true);
57
+ });
58
+ it('rejects invalid vibes and malformed values', () => {
59
+ expect(isMeshColorString('mesh:4:#5e4cff')).toBe(false);
60
+ expect(isMeshColorString('mesh:0:#fff')).toBe(false);
61
+ expect(isMeshColorString('mesh:0:5e4cff')).toBe(false);
62
+ expect(isMeshColorString('#5e4cff')).toBe(false);
63
+ expect(isMeshColorString('solid:#5e4cff')).toBe(false);
64
+ });
65
+ });
66
+ describe('toMeshColor / parseMeshColor', () => {
67
+ it('round-trips every vibe', () => {
68
+ AVATAR_MESH_VIBES.forEach((vibe) => {
69
+ const encoded = toMeshColor('#5e4cff', vibe);
70
+ expect(isMeshColorString(encoded)).toBe(true);
71
+ expect(parseMeshColor(encoded)).toEqual({
72
+ vibe,
73
+ hex: '#5e4cff',
74
+ });
75
+ });
76
+ });
77
+ });
52
78
  describe('hexToRgba', () => {
53
79
  it('converts a hex color to an rgba string with the given alpha', () => {
54
80
  expect(hexToRgba('#5e4cff', 0.4)).toBe('rgba(94, 76, 255, 0.4)');
@@ -61,6 +87,18 @@ describe('generateAvatarMeshBackgroundImage', () => {
61
87
  expect(result).toContain('radial-gradient');
62
88
  expect(result).toContain('linear-gradient');
63
89
  });
90
+ it('defaults to vibe 0 so bare hex values render unchanged', () => {
91
+ expect(generateAvatarMeshBackgroundImage('#5e4cff')).toBe(generateAvatarMeshBackgroundImage('#5e4cff', 0));
92
+ });
93
+ it('produces a distinct layered recipe per vibe', () => {
94
+ const results = AVATAR_MESH_VIBES.map((vibe) => generateAvatarMeshBackgroundImage('#5e4cff', vibe));
95
+ expect(new Set(results).size).toBe(AVATAR_MESH_VIBES.length);
96
+ results.forEach((result) => {
97
+ expect(result).toContain('#5e4cff');
98
+ expect(result).toContain('radial-gradient');
99
+ expect(result).toContain('linear-gradient');
100
+ });
101
+ });
64
102
  });
65
103
  describe('generateAvatarMeshBorderColor', () => {
66
104
  it('returns an rgba border color derived from the base hex', () => {
@@ -68,8 +106,9 @@ describe('generateAvatarMeshBorderColor', () => {
68
106
  });
69
107
  });
70
108
  describe('getAvatarMeshClassName', () => {
71
- it('derives a stable, lowercase class name from the hex color', () => {
72
- expect(getAvatarMeshClassName('#5E4CFF')).toBe('avatar-mesh-5e4cff');
109
+ it('derives a stable, lowercase class name from the hex color and vibe', () => {
110
+ expect(getAvatarMeshClassName('#5E4CFF')).toBe('avatar-mesh-0-5e4cff');
111
+ expect(getAvatarMeshClassName('#5E4CFF', 2)).toBe('avatar-mesh-2-5e4cff');
73
112
  });
74
113
  });
75
114
  describe('getContrastTextColor', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"userAvatars.test.js","sourceRoot":"","sources":["../../../src/types/userAvatars.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userAvatars.test.js","sourceRoot":"","sources":["../../../src/types/userAvatars.test.ts"],"names":[],"mappings":"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"}