@apify/ui-library 1.120.0 → 1.121.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 (38) hide show
  1. package/dist/src/components/boring_avatar.d.ts +13 -0
  2. package/dist/src/components/boring_avatar.d.ts.map +1 -0
  3. package/dist/src/components/boring_avatar.js +98 -0
  4. package/dist/src/components/boring_avatar.js.map +1 -0
  5. package/dist/src/components/index.d.ts +2 -0
  6. package/dist/src/components/index.d.ts.map +1 -1
  7. package/dist/src/components/index.js +2 -0
  8. package/dist/src/components/index.js.map +1 -1
  9. package/dist/src/components/readme_renderer/index.d.ts +2 -2
  10. package/dist/src/components/readme_renderer/index.d.ts.map +1 -1
  11. package/dist/src/components/readme_renderer/index.js +1 -1
  12. package/dist/src/components/readme_renderer/index.js.map +1 -1
  13. package/dist/src/components/store/actor_avatar.d.ts +18 -0
  14. package/dist/src/components/store/actor_avatar.d.ts.map +1 -0
  15. package/dist/src/components/store/actor_avatar.js +64 -0
  16. package/dist/src/components/store/actor_avatar.js.map +1 -0
  17. package/dist/src/components/store/index.d.ts +3 -0
  18. package/dist/src/components/store/index.d.ts.map +1 -0
  19. package/dist/src/components/store/index.js +3 -0
  20. package/dist/src/components/store/index.js.map +1 -0
  21. package/dist/src/components/store/store_actor_header.d.ts +13 -0
  22. package/dist/src/components/store/store_actor_header.d.ts.map +1 -0
  23. package/dist/src/components/store/store_actor_header.js +70 -0
  24. package/dist/src/components/store/store_actor_header.js.map +1 -0
  25. package/dist/src/components/tag.d.ts +1 -1
  26. package/dist/src/components/tag.d.ts.map +1 -1
  27. package/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/package.json +3 -2
  29. package/src/components/boring_avatar.stories.tsx +188 -0
  30. package/src/components/boring_avatar.tsx +262 -0
  31. package/src/components/index.ts +2 -0
  32. package/src/components/readme_renderer/index.ts +2 -2
  33. package/src/components/store/actor_avatar.stories.tsx +65 -0
  34. package/src/components/store/actor_avatar.tsx +129 -0
  35. package/src/components/store/index.ts +2 -0
  36. package/src/components/store/store_actor_header.stories.tsx +126 -0
  37. package/src/components/store/store_actor_header.tsx +131 -0
  38. package/src/components/tag.tsx +1 -1
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface BoringAvatarProps {
3
+ name?: string;
4
+ className?: string;
5
+ size: number;
6
+ colors?: string[];
7
+ square?: boolean;
8
+ alt?: string;
9
+ }
10
+ export declare const BoringAvatarMarble: React.MemoExoticComponent<({ name, colors, square, className, size, alt, }: BoringAvatarProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export declare const BoringAvatarSolid: React.MemoExoticComponent<({ name, alt, colors, square, className, size, }: BoringAvatarProps) => import("react/jsx-runtime").JSX.Element>;
12
+ export {};
13
+ //# sourceMappingURL=boring_avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boring_avatar.d.ts","sourceRoot":"","sources":["../../../src/components/boring_avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAgGvC,UAAU,iBAAiB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,8EAO5B,iBAAiB,6CA+ElB,CAAC;AAEH,eAAO,MAAM,iBAAiB,8EAO3B,iBAAiB,6CA4DlB,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import emojiRegex from 'emoji-regex';
3
+ import React, { useMemo } from 'react';
4
+ const emojiRegexPattern = emojiRegex();
5
+ // This code is taken from https://github.com/boringdesigners/boring-avatars/blob/master/src/lib/components/avatar-marble.js
6
+ const ELEMENTS = 3;
7
+ const SIZE = 100;
8
+ const IGNORED_WORDS = ['AND', 'A', 'THE', 'AN'];
9
+ function hashCode(name) {
10
+ // This is very defensive, but passing empty string as name to this component by mistake
11
+ // should never break the UI completely.
12
+ if (!name)
13
+ return 0;
14
+ let hash = 0;
15
+ for (let i = 0; i < name.length; i++) {
16
+ const character = name.charCodeAt(i);
17
+ hash = (hash << 5) - hash + character; // eslint-disable-line
18
+ hash &= hash; // eslint-disable-line
19
+ }
20
+ return Math.abs(hash);
21
+ }
22
+ function getDigit(number, ntn) {
23
+ return Math.floor((number / 10 ** ntn) % 10);
24
+ }
25
+ function getUnit(number, range, index) {
26
+ const value = number % range;
27
+ if (index && getDigit(number, index) % 2 === 0) {
28
+ return -value;
29
+ }
30
+ return value;
31
+ }
32
+ function generateProperties(name, colors) {
33
+ const numFromName = hashCode(name);
34
+ const elementsProperties = [];
35
+ for (let i = 0; i < ELEMENTS; i++) {
36
+ elementsProperties.push({
37
+ color: colors[(numFromName + (i + 1)) % colors.length],
38
+ translateX: getUnit(numFromName * (i + 1), SIZE / 10, 1),
39
+ translateY: getUnit(numFromName * (i + 1), SIZE / 10, 2),
40
+ scale: 1.2 + getUnit(numFromName * (i + 1), SIZE / 20) / 10,
41
+ rotate: getUnit(numFromName * (i + 1), 360, 1),
42
+ });
43
+ }
44
+ return elementsProperties;
45
+ }
46
+ function generateFill(properties, name) {
47
+ const { translateX: translateX1, translateY: translateY1, rotate: rotate1, } = properties[1];
48
+ const { translateX: translateX2, translateY: translateY2, rotate: rotate2, scale, } = properties[2];
49
+ let nameParts = name
50
+ .replace(emojiRegexPattern, ' ') // Remove emojis from the name
51
+ .trim().replace(/\s+/g, ' ') // Remove multiple spaces
52
+ .toUpperCase()
53
+ .split(' '); // Ideally if the Actor has a name with spaces, we take words separated by spaces
54
+ if (nameParts.length <= 1)
55
+ nameParts = nameParts[0].split('-'); // If that did not work, we try to separate it by -
56
+ if (nameParts.length <= 1)
57
+ nameParts = nameParts[0].split('_'); // If those are also not present we try to separate it by _
58
+ if (nameParts.length <= 1)
59
+ nameParts = nameParts[0].split('.'); // If those are also not present we try to separate it by .
60
+ if (nameParts.length <= 1)
61
+ nameParts = nameParts[0].split(''); // In the end we take the first word and separate it by letter
62
+ // Nice to have: remove ignored words from the name if the name has more than 2 words
63
+ if (nameParts.length > 2) {
64
+ nameParts = nameParts.filter((part) => !IGNORED_WORDS.includes(part));
65
+ }
66
+ return {
67
+ fill0: properties[0].color,
68
+ fill1: properties[1].color,
69
+ fill2: properties[2].color,
70
+ transform1: `translate(${translateX1} ${translateY1}) rotate(${rotate1} ${SIZE / 2} ${SIZE / 2}) scale(${scale})`,
71
+ transform2: `translate(${translateX2} ${translateY2}) rotate(${rotate2} ${SIZE / 2} ${SIZE / 2}) scale(${scale})`,
72
+ letter1: nameParts?.[0]?.[0] ?? undefined,
73
+ letter2: nameParts?.[1]?.[0] ?? undefined,
74
+ };
75
+ }
76
+ export const BoringAvatarMarble = React.memo(({ name = '', colors = ['#12966F', '#5D85E1', '#E44467', '#F0B21B', '#FA8136', '#30C0BB'], square = false, className, size = 24, alt = 'Avatar image', }) => {
77
+ const fill = useMemo(() => {
78
+ const properties = generateProperties(name ?? '', colors);
79
+ return generateFill(properties, name ?? '');
80
+ }, [name, colors]);
81
+ return (_jsxs("svg", { viewBox: `0 0 ${SIZE} ${SIZE}`, fill: "none", role: "img", xmlns: "http://www.w3.org/2000/svg", width: size, height: size, className: className, "aria-label": alt, children: [_jsx("mask", { id: "mask__marble", maskUnits: "userSpaceOnUse", x: 0, y: 0, width: SIZE, height: SIZE, children: _jsx("rect", { width: SIZE, height: SIZE, rx: square ? undefined : SIZE * 2, fill: "#FFFFFF" }) }), _jsxs("g", { mask: "url(#mask__marble)", children: [_jsx("rect", { width: SIZE, height: SIZE, fill: fill.fill0 }), _jsx("path", { filter: "url(#prefix__filter0_f)", d: "M32.414 59.35L50.376 70.5H72.5v-71H33.728L26.5 13.381l19.057 27.08L32.414 59.35z", fill: fill.fill1, transform: fill.transform1 }), _jsx("path", { filter: "url(#prefix__filter0_f)", style: {
82
+ mixBlendMode: 'overlay',
83
+ }, d: "M22.216 24L0 46.75l14.108 38.129L78 86l-3.081-59.276-22.378 4.005 12.972 20.186-23.35 27.395L22.215 24z", fill: fill.fill2, transform: fill.transform2 })] }), _jsx("g", { children: fill.letter1 && (_jsxs("text", { style: { fontSize: '50px' }, x: "50", y: "50", dy: "7", textAnchor: "middle", alignmentBaseline: "middle", dominantBaseline: "middle", children: [fill.letter1, fill.letter2] })) }), _jsx("defs", { children: _jsxs("filter", { id: "prefix__filter0_f", filterUnits: "userSpaceOnUse", colorInterpolationFilters: "sRGB", children: [_jsx("feFlood", { floodOpacity: 0, result: "BackgroundImageFix" }), _jsx("feBlend", { in: "SourceGraphic", in2: "BackgroundImageFix", result: "shape" }), _jsx("feGaussianBlur", { stdDeviation: 7, result: "effect1_foregroundBlur" })] }) })] }));
84
+ });
85
+ export const BoringAvatarSolid = React.memo(({ name = '', alt = 'Avatar image', colors = ['#B8487B', '#E5B557', '#58BCC4', '#6D85CA', '#8690BF', '#F08848', '#8148C9', '#439274'], square = false, className, size = 24, }) => {
86
+ /**
87
+ * Name must be lowercased to avoid irregularities caused by caps.
88
+ * This is an issue in the Actor detail header, where the username comes from the Actor object,
89
+ * while in the user selector it comes from the user object, where it can have capitals.
90
+ */
91
+ const nameLowercase = name.toLowerCase();
92
+ const fill = useMemo(() => {
93
+ const properties = generateProperties(nameLowercase, colors);
94
+ return generateFill(properties, nameLowercase);
95
+ }, [nameLowercase, colors]);
96
+ return (_jsxs("svg", { viewBox: `0 0 ${SIZE} ${SIZE}`, fill: "none", role: "img", xmlns: "http://www.w3.org/2000/svg", width: size, height: size, className: className, "aria-label": alt, children: [_jsx("mask", { id: "mask__solid", maskUnits: "userSpaceOnUse", x: 0, y: 0, width: SIZE, height: SIZE, children: _jsx("rect", { width: SIZE, height: SIZE, rx: square ? undefined : SIZE * 2, fill: "#FFFFFF" }) }), _jsx("g", { mask: "url(#mask__solid)", children: _jsx("rect", { width: SIZE, height: SIZE, fill: fill.fill0 }) }), _jsx("g", { children: fill.letter1 && (_jsxs("text", { style: { fontSize: '50px' }, x: "50", y: "50", dy: "7", textAnchor: "middle", alignmentBaseline: "middle", dominantBaseline: "middle", children: [fill.letter1, fill.letter2] })) })] }));
97
+ });
98
+ //# sourceMappingURL=boring_avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boring_avatar.js","sourceRoot":"","sources":["../../../src/components/boring_avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,iBAAiB,GAAG,UAAU,EAAE,CAAC;AAEvC,4HAA4H;AAE5H,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,IAAI,GAAG,GAAG,CAAC;AAEjB,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEhD,SAAS,QAAQ,CAAC,IAAa;IAC3B,wFAAwF;IACxF,wCAAwC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,sBAAsB;QAC7D,IAAI,IAAI,IAAI,CAAC,CAAC,sBAAsB;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,GAAW;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,KAAa,EAAE,KAAc;IAC1D,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAE7B,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,MAAgB;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACtD,UAAU,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,UAAU,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE;YAC3D,MAAM,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;SACjD,CAAC,CAAC;IACP,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CACjB,UAAiD,EACjD,IAAY;IAEZ,MAAM,EACF,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,GAClB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,EACF,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,KAAK,GACR,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAElB,IAAI,SAAS,GAAG,IAAI;SACf,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,8BAA8B;SAC9D,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,yBAAyB;SACrD,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,iFAAiF;IAElG,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,mDAAmD;IACnH,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,2DAA2D;IAC3H,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,2DAA2D;IAC3H,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;QAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,8DAA8D;IAE7H,qFAAqF;IACrF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAAC,CAAC;IAEpG,OAAO;QACH,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1B,UAAU,EAAE,aAAa,WAAW,IAAI,WAAW,YAAY,OAAO,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG;QACjH,UAAU,EAAE,aAAa,WAAW,IAAI,WAAW,YAAY,OAAO,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG;QACjH,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS;QACzC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS;KAC5C,CAAC;AACN,CAAC;AAWD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1C,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC3E,MAAM,GAAG,KAAK,EACd,SAAS,EACT,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,cAAc,GACJ,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,YAAY,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnB,OAAO,CACH,eACI,OAAO,EAAE,OAAO,IAAI,IAAI,IAAI,EAAE,EAC9B,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,KAAK,EACV,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,SAAS,gBACR,GAAG,aAEf,eACI,EAAE,EAAC,cAAc,EACjB,SAAS,EAAC,gBAAgB,EAC1B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,YAEZ,eACI,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EACjC,IAAI,EAAC,SAAS,GAChB,GACC,EACP,aAAG,IAAI,EAAC,oBAAoB,aACxB,eAAM,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,EACrD,eACI,MAAM,EAAC,yBAAyB,EAChC,CAAC,EAAC,kFAAkF,EACpF,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,SAAS,EAAE,IAAI,CAAC,UAAU,GAC5B,EACF,eACI,MAAM,EAAC,yBAAyB,EAChC,KAAK,EAAE;4BACH,YAAY,EAAE,SAAS;yBAC1B,EACD,CAAC,EAAC,yGAAyG,EAC3G,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,SAAS,EAAE,IAAI,CAAC,UAAU,GAC5B,IACF,EACJ,sBACK,IAAI,CAAC,OAAO,IAAI,CACb,gBACI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,CAAC,EAAC,IAAI,EACN,CAAC,EAAC,IAAI,EACN,EAAE,EAAC,GAAG,EACN,UAAU,EAAC,QAAQ,EACnB,iBAAiB,EAAC,QAAQ,EAC1B,gBAAgB,EAAC,QAAQ,aAExB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,IACV,CACV,GACD,EACJ,yBACI,kBACI,EAAE,EAAC,mBAAmB,EACtB,WAAW,EAAC,gBAAgB,EAC5B,yBAAyB,EAAC,MAAM,aAEhC,kBAAS,YAAY,EAAE,CAAC,EAAE,MAAM,EAAC,oBAAoB,GAAG,EACxD,kBAAS,EAAE,EAAC,eAAe,EAAC,GAAG,EAAC,oBAAoB,EAAC,MAAM,EAAC,OAAO,GAAG,EACtE,yBAAgB,YAAY,EAAE,CAAC,EAAE,MAAM,EAAC,wBAAwB,GAAG,IAC9D,GACN,IACL,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EACzC,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,cAAc,EACpB,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjG,MAAM,GAAG,KAAK,EACd,SAAS,EACT,IAAI,GAAG,EAAE,GACO,EAAE,EAAE;IACpB;;;;WAIO;IACP,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,OAAO,CACH,eACI,OAAO,EAAE,OAAO,IAAI,IAAI,IAAI,EAAE,EAC9B,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,KAAK,EACV,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,SAAS,gBACR,GAAG,aAEf,eACI,EAAE,EAAC,aAAa,EAChB,SAAS,EAAC,gBAAgB,EAC1B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,YAEZ,eACI,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EACjC,IAAI,EAAC,SAAS,GAChB,GACC,EACP,YAAG,IAAI,EAAC,mBAAmB,YACvB,eAAM,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,GACrD,EACJ,sBACK,IAAI,CAAC,OAAO,IAAI,CACb,gBACI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,CAAC,EAAC,IAAI,EACN,CAAC,EAAC,IAAI,EACN,EAAE,EAAC,GAAG,EACN,UAAU,EAAC,QAAQ,EACnB,iBAAiB,EAAC,QAAQ,EAC1B,gBAAgB,EAAC,QAAQ,aAExB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,IACV,CACV,GACD,IACF,CACT,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './text/index.js';
2
2
  export * from './box.js';
3
+ export * from './boring_avatar.js';
3
4
  export * from './card_container.js';
4
5
  export * from './message.js';
5
6
  export * from './floating/index.js';
@@ -24,4 +25,5 @@ export * from './tabs/index.js';
24
25
  export * from './shortcut.js';
25
26
  export * from './icon_button.js';
26
27
  export * from './spinner.js';
28
+ export * from './store/index.js';
27
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './text/index.js';
2
2
  export * from './box.js';
3
+ export * from './boring_avatar.js';
3
4
  export * from './card_container.js';
4
5
  export * from './message.js';
5
6
  export * from './floating/index.js';
@@ -24,4 +25,5 @@ export * from './tabs/index.js';
24
25
  export * from './shortcut.js';
25
26
  export * from './icon_button.js';
26
27
  export * from './spinner.js';
28
+ export * from './store/index.js';
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { useActorTitleHeadingFilter } from './utils.js';
1
+ export { useActorTitleHeadingFilter, cleanMarkdown, slugifyHeadingChildren } from './utils.js';
2
2
  export { pythonizeValue } from './pythonize_value.js';
3
- export { TableOfContents, useShowTableOfContents } from './table_of_contents.js';
3
+ export { TableOfContents, type TableOfContentsProps, useShowTableOfContents } from './table_of_contents.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/readme_renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/readme_renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { useActorTitleHeadingFilter } from './utils.js';
1
+ export { useActorTitleHeadingFilter, cleanMarkdown, slugifyHeadingChildren } from './utils.js';
2
2
  export { pythonizeValue } from './pythonize_value.js';
3
3
  export { TableOfContents, useShowTableOfContents } from './table_of_contents.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/readme_renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/readme_renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAA6B,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FC } from 'react';
2
+ import React from 'react';
3
+ export declare const actorAvatarClassnames: {
4
+ BASE: string;
5
+ IMG: string;
6
+ SVG: string;
7
+ };
8
+ interface ActorAvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {
9
+ name?: string;
10
+ className?: string;
11
+ url?: string;
12
+ alt?: string;
13
+ size: number;
14
+ }
15
+ export declare const ActorAvatarInner: FC<ActorAvatarProps>;
16
+ export declare const ActorAvatar: React.NamedExoticComponent<ActorAvatarProps>;
17
+ export {};
18
+ //# sourceMappingURL=actor_avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor_avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/store/actor_avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAC7C,OAAO,KAA6E,MAAM,OAAO,CAAC;AAUlG,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;AA0BF,UAAU,gBAAiB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CA4EjD,CAAC;AAEF,eAAO,MAAM,WAAW,8CAA+B,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
4
+ import styled from 'styled-components';
5
+ import { BoringAvatarMarble, theme, useImageColor, useSharedUiDependencies, } from '../../index.js';
6
+ export const actorAvatarClassnames = {
7
+ BASE: 'ActorAvatar',
8
+ IMG: 'ActorAvatar-image',
9
+ SVG: 'ActorAvatar-svg',
10
+ };
11
+ const StyledBoringAvatarMarble = styled(BoringAvatarMarble) `
12
+ border-radius: ${theme.radius.radius8};
13
+
14
+ text {
15
+ ${theme.typography.shared.mobile.bodyMStrong}
16
+
17
+ @media (min-width: ${theme.layout.tablet}) {
18
+ ${theme.typography.shared.tablet.bodyMStrong}
19
+ }
20
+ @media (min-width: ${theme.layout.desktop}) {
21
+ ${theme.typography.shared.desktop.bodyMStrong}
22
+ }
23
+
24
+ fill: ${theme.color.neutral.background};
25
+ color: ${theme.color.neutral.background};
26
+ text-transform: uppercase;
27
+ white-space: pre;
28
+ }
29
+ `;
30
+ const StyledImg = styled.img `
31
+ border-radius: ${theme.radius.radius8};
32
+ `;
33
+ export const ActorAvatarInner = ({ name, className, url, size, alt, ...rest }) => {
34
+ const [hasImageError, setHasImageError] = useState(false);
35
+ useEffect(() => {
36
+ setHasImageError(false);
37
+ }, [url]);
38
+ const { generateProxyImageUrl } = useSharedUiDependencies();
39
+ const maybeProxiedUrl = useMemo(() => (generateProxyImageUrl && url
40
+ ? generateProxyImageUrl(url, { resize: { height: size * 2, width: size * 2 } })
41
+ : url), [generateProxyImageUrl, url, size]);
42
+ const { color, refCallback } = useImageColor();
43
+ const imageRef = useRef(null);
44
+ const imageRefCallback = useCallback((element) => {
45
+ imageRef.current = element;
46
+ refCallback(element);
47
+ }, [refCallback]);
48
+ const onError = useCallback(() => setHasImageError(true), []);
49
+ useLayoutEffect(() => {
50
+ if (imageRef.current) {
51
+ imageRef.current.style.backgroundColor = color?.isLight
52
+ ? '#1a1b21' // TODO: introduce a static theme color variable (e.g.: theme.color.neutral.backgroundDark)
53
+ : theme.color.neutral.backgroundWhite;
54
+ }
55
+ }, [color?.isLight]);
56
+ const fullClassName = clsx(actorAvatarClassnames.BASE, maybeProxiedUrl ? actorAvatarClassnames.IMG : actorAvatarClassnames.SVG, className);
57
+ const altText = alt || `${name} avatar`;
58
+ if (maybeProxiedUrl && !hasImageError) {
59
+ return (_jsx(StyledImg, { ref: imageRefCallback, crossOrigin: 'anonymous', src: maybeProxiedUrl, className: fullClassName, width: size, height: size, alt: altText, onError: onError, ...rest }));
60
+ }
61
+ return (_jsx(StyledBoringAvatarMarble, { size: size, className: fullClassName, name: name, square: true, alt: altText }));
62
+ };
63
+ export const ActorAvatar = React.memo(ActorAvatarInner);
64
+ //# sourceMappingURL=actor_avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor_avatar.js","sourceRoot":"","sources":["../../../../src/components/store/actor_avatar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './store_actor_header.js';
2
+ export * from './actor_avatar.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './store_actor_header.js';
2
+ export * from './actor_avatar.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type BoxProps } from '../../index.js';
2
+ export type StoreActorHeaderProps = {
3
+ name: string;
4
+ title: string;
5
+ pictureUrl?: string;
6
+ username: string;
7
+ isUnderMaintenance?: boolean;
8
+ hasRisingStarBadge?: boolean;
9
+ avatarSize?: number;
10
+ newStyle?: boolean;
11
+ };
12
+ export declare const StoreActorHeader: React.FC<StoreActorHeaderProps & BoxProps>;
13
+ //# sourceMappingURL=store_actor_header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store_actor_header.d.ts","sourceRoot":"","sources":["../../../../src/components/store/store_actor_header.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAwB,MAAM,gBAAgB,CAAC;AAmEjF,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG,QAAQ,CAgDvE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled from 'styled-components';
3
+ import { StarEmptyIcon, WarningTriangleIcon } from '@apify/ui-icons';
4
+ import { Badge, Box, Heading, Text, theme } from '../../index.js';
5
+ import { ActorAvatar, actorAvatarClassnames } from './actor_avatar.js';
6
+ const storeActorHeaderClassNames = {
7
+ title: 'ActorStoreItem-title',
8
+ slug: 'ActorStoreItem-slug',
9
+ badge: 'ActorStoreItem-badge',
10
+ };
11
+ const StyledStoreActorHeader = styled(Box) `
12
+ display: flex;
13
+ gap: ${({ $newStyle }) => ($newStyle ? theme.space.space12 : theme.space.space8)};
14
+ align-items: center;
15
+
16
+ .${actorAvatarClassnames.BASE} {
17
+ border: 1px solid ${theme.color.neutral.border};
18
+ flex-shrink: 0;
19
+ }
20
+
21
+ .${storeActorHeaderClassNames.badge} {
22
+ position: absolute;
23
+ top: -${theme.space.space8};
24
+ right: -${theme.space.space8};
25
+ }
26
+ `;
27
+ const ActorAvatarWrapper = styled(Box) `
28
+ position: relative;
29
+ display: inline-block;
30
+ `;
31
+ const StyledCompactBadge = styled(Badge) `
32
+ padding: ${theme.space.space4};
33
+ `;
34
+ const ActorTitleWrapper = styled(Box) `
35
+ overflow: hidden;
36
+ display: flex;
37
+ flex-direction: column;
38
+ justify-content: center;
39
+
40
+ .${storeActorHeaderClassNames.title} {
41
+ overflow: hidden;
42
+ display: flex;
43
+ align-items: center;
44
+ flex-direction: row;
45
+ justify-content: flex-start;
46
+ gap: ${theme.space.space4};
47
+
48
+ h3 {
49
+ white-space: nowrap;
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ }
53
+
54
+ svg {
55
+ flex-shrink: 0;
56
+ }
57
+ }
58
+
59
+ .${storeActorHeaderClassNames.slug} {
60
+ white-space: nowrap;
61
+ overflow: hidden;
62
+ text-overflow: ellipsis;
63
+ }
64
+ `;
65
+ export const StoreActorHeader = ({ name, title, pictureUrl, username, isUnderMaintenance = false, hasRisingStarBadge = false, avatarSize = 40, newStyle = false, ...rest }) => {
66
+ return (_jsxs(StyledStoreActorHeader, { "data-test": "actor-store-item-header", "$newStyle": newStyle, ...rest, children: [_jsxs(ActorAvatarWrapper, { children: [_jsx(ActorAvatar, { size: avatarSize, url: pictureUrl, name: title }), hasRisingStarBadge && _jsx(StyledCompactBadge, { variant: 'primary_blue', size: 'small', LeadingIcon: StarEmptyIcon, className: storeActorHeaderClassNames.badge })] }), _jsxs(ActorTitleWrapper, { children: [_jsxs("div", { className: storeActorHeaderClassNames.title, children: [newStyle
67
+ ? _jsx(Text, { as: 'h3', weight: 'bold', color: theme.color.neutral.text, children: title })
68
+ : _jsx(Heading, { as: 'h3', type: "titleS", color: theme.color.neutral.text, children: title }), isUnderMaintenance && (_jsx(WarningTriangleIcon, { size: "12", color: theme.color.warning.icon }))] }), _jsxs(Text, { size: "small", weight: newStyle ? 'medium' : 'normal', type: "code", color: theme.color.neutral.textSubtle, className: storeActorHeaderClassNames.slug, children: [username, "/", name] })] })] }));
69
+ };
70
+ //# sourceMappingURL=store_actor_header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store_actor_header.js","sourceRoot":"","sources":["../../../../src/components/store/store_actor_header.tsx"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export type TagProps<T extends TagNodeType> = SharedTagProps & ({
28
28
  variant?: TagVariant;
29
29
  LeadingIcon?: IconComponent;
30
30
  TrailingIcon?: IconComponent;
31
- } & Omit<TagNodePropsMap[T]['props'], 'size'>);
31
+ } & Omit<TagNodePropsMap[T]['props'], 'size' | 'type'>);
32
32
  /**
33
33
  * Component for displaying inherenly interactive chip descendant
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAK/D,OAAO,EAAO,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAQ,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEjF,KAAK,OAAO,GAAG,cAAc,CAAC;AAC9B,eAAO,MAAM,SAAS,EAAE,OAAO,EAAgC,CAAC;AAQhE,eAAO,MAAM,YAAY,sFAAuF,CAAC;AACjH,KAAK,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAE9C,KAAK,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;AAC9D,KAAK,eAAe,GAAG;IACnB,CAAC,EAAE;QACC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,EAAE,gBAAgB,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACJ,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,EAAE,kBAAkB,CAAC;KAC7B,CAAC;CACL,CAAA;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAAC;AACvE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,GAAG,CAAC;IAC5D,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;CAChC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAqH/C;;GAEG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,WAAW,EACrC,EACI,EAAE,EACF,IAAc,EACd,IAAa,EACb,OAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,QAAQ,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,2CAoBnD;kBA/BQ,UAAU;;;AAmCnB,eAAO,MAAM,GAAG,EAA6B,CAAC,CAAC,SAAS,WAAW,EAE/D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE,KACzE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAK/D,OAAO,EAAO,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAQ,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEjF,KAAK,OAAO,GAAG,cAAc,CAAC;AAC9B,eAAO,MAAM,SAAS,EAAE,OAAO,EAAgC,CAAC;AAQhE,eAAO,MAAM,YAAY,sFAAuF,CAAC;AACjH,KAAK,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAE9C,KAAK,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;AAC9D,KAAK,eAAe,GAAG;IACnB,CAAC,EAAE;QACC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,EAAE,gBAAgB,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACJ,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,EAAE,kBAAkB,CAAC;KAC7B,CAAC;CACL,CAAA;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAAC;AACvE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,GAAG,CAAC;IAC5D,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;CAChC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAqHxD;;GAEG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,WAAW,EACrC,EACI,EAAE,EACF,IAAc,EACd,IAAa,EACb,OAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,QAAQ,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,2CAoBnD;kBA/BQ,UAAU;;;AAmCnB,eAAO,MAAM,GAAG,EAA6B,CAAC,CAAC,SAAS,WAAW,EAE/D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE,KACzE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}