@apify/ui-library 1.165.37 → 1.166.1

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 (101) hide show
  1. package/dist/components/brand_icon/brand_icon.d.ts +16 -0
  2. package/dist/components/brand_icon/brand_icon.d.ts.map +1 -0
  3. package/dist/components/brand_icon/brand_icon.js +21 -0
  4. package/dist/components/brand_icon/index.d.ts +2 -0
  5. package/dist/components/brand_icon/index.d.ts.map +1 -0
  6. package/dist/components/index.d.ts +1 -0
  7. package/dist/components/index.d.ts.map +1 -1
  8. package/dist/components/split_button/split_button.styled.d.ts +2 -2
  9. package/dist/design_system/colors/css_variables_brand_dark.d.ts +1 -1
  10. package/dist/design_system/colors/css_variables_brand_dark.d.ts.map +1 -1
  11. package/dist/design_system/colors/generated/css_variables.dark.d.ts +1 -1
  12. package/dist/design_system/colors/generated/css_variables.dark.d.ts.map +1 -1
  13. package/dist/design_system/colors/generated/css_variables.dark.js +13 -0
  14. package/dist/design_system/colors/generated/css_variables.light.d.ts +1 -1
  15. package/dist/design_system/colors/generated/css_variables.light.d.ts.map +1 -1
  16. package/dist/design_system/colors/generated/css_variables.light.js +13 -0
  17. package/dist/design_system/colors/generated/properties_theme.d.ts +15 -0
  18. package/dist/design_system/colors/generated/properties_theme.d.ts.map +1 -1
  19. package/dist/design_system/colors/generated/properties_theme.js +15 -0
  20. package/dist/design_system/theme.d.ts +20 -0
  21. package/dist/design_system/theme.d.ts.map +1 -1
  22. package/dist/design_system/theme.js +2 -0
  23. package/dist/design_system/tokens/gradients.d.ts +6 -0
  24. package/dist/design_system/tokens/gradients.d.ts.map +1 -0
  25. package/dist/design_system/tokens/gradients.js +4 -0
  26. package/dist/design_system/tokens/index.d.ts +1 -0
  27. package/dist/design_system/tokens/index.d.ts.map +1 -1
  28. package/dist/files_hash_at_build.txt +1 -1
  29. package/dist/index.js +4 -1
  30. package/dist/src/components/brand_icon/brand_icon.d.ts +16 -0
  31. package/dist/src/components/brand_icon/brand_icon.d.ts.map +1 -0
  32. package/dist/src/components/brand_icon/brand_icon.js +19 -0
  33. package/dist/src/components/brand_icon/brand_icon.js.map +1 -0
  34. package/dist/src/components/brand_icon/index.d.ts +2 -0
  35. package/dist/src/components/brand_icon/index.d.ts.map +1 -0
  36. package/dist/src/components/brand_icon/index.js +2 -0
  37. package/dist/src/components/brand_icon/index.js.map +1 -0
  38. package/dist/src/components/index.d.ts +1 -0
  39. package/dist/src/components/index.d.ts.map +1 -1
  40. package/dist/src/components/index.js +1 -0
  41. package/dist/src/components/index.js.map +1 -1
  42. package/dist/src/components/split_button/split_button.styled.d.ts +2 -2
  43. package/dist/src/design_system/colors/css_variables_brand_dark.d.ts +1 -1
  44. package/dist/src/design_system/colors/css_variables_brand_dark.d.ts.map +1 -1
  45. package/dist/src/design_system/colors/generated/css_variables.dark.d.ts +1 -1
  46. package/dist/src/design_system/colors/generated/css_variables.dark.d.ts.map +1 -1
  47. package/dist/src/design_system/colors/generated/css_variables.dark.js +13 -0
  48. package/dist/src/design_system/colors/generated/css_variables.dark.js.map +1 -1
  49. package/dist/src/design_system/colors/generated/css_variables.light.d.ts +1 -1
  50. package/dist/src/design_system/colors/generated/css_variables.light.d.ts.map +1 -1
  51. package/dist/src/design_system/colors/generated/css_variables.light.js +13 -0
  52. package/dist/src/design_system/colors/generated/css_variables.light.js.map +1 -1
  53. package/dist/src/design_system/colors/generated/properties_theme.d.ts +15 -0
  54. package/dist/src/design_system/colors/generated/properties_theme.d.ts.map +1 -1
  55. package/dist/src/design_system/colors/generated/properties_theme.js +15 -0
  56. package/dist/src/design_system/colors/generated/properties_theme.js.map +1 -1
  57. package/dist/src/design_system/theme.d.ts +20 -0
  58. package/dist/src/design_system/theme.d.ts.map +1 -1
  59. package/dist/src/design_system/theme.js +2 -1
  60. package/dist/src/design_system/theme.js.map +1 -1
  61. package/dist/src/design_system/tokens/gradients.d.ts +6 -0
  62. package/dist/src/design_system/tokens/gradients.d.ts.map +1 -0
  63. package/dist/src/design_system/tokens/gradients.js +6 -0
  64. package/dist/src/design_system/tokens/gradients.js.map +1 -0
  65. package/dist/src/design_system/tokens/index.d.ts +1 -0
  66. package/dist/src/design_system/tokens/index.d.ts.map +1 -1
  67. package/dist/src/design_system/tokens/index.js +1 -0
  68. package/dist/src/design_system/tokens/index.js.map +1 -1
  69. package/dist/src/utils/icons.d.ts +11 -0
  70. package/dist/src/utils/icons.d.ts.map +1 -0
  71. package/dist/src/utils/icons.js +19 -0
  72. package/dist/src/utils/icons.js.map +1 -0
  73. package/dist/src/utils/index.d.ts +1 -0
  74. package/dist/src/utils/index.d.ts.map +1 -1
  75. package/dist/src/utils/index.js +1 -0
  76. package/dist/src/utils/index.js.map +1 -1
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/dist/utils/icons.d.ts +11 -0
  79. package/dist/utils/icons.d.ts.map +1 -0
  80. package/dist/utils/icons.js +29 -0
  81. package/dist/utils/index.d.ts +1 -0
  82. package/dist/utils/index.d.ts.map +1 -1
  83. package/package.json +4 -4
  84. package/src/components/brand_icon/brand_icon.stories.tsx +55 -0
  85. package/src/components/brand_icon/brand_icon.tsx +36 -0
  86. package/src/components/brand_icon/index.ts +1 -0
  87. package/src/components/index.ts +1 -0
  88. package/src/design_system/colors/figma_color_tokens.dark.json +54 -0
  89. package/src/design_system/colors/figma_color_tokens.light.json +55 -1
  90. package/src/design_system/colors/generated/css_variables.dark.ts +13 -0
  91. package/src/design_system/colors/generated/css_variables.light.ts +13 -0
  92. package/src/design_system/colors/generated/properties_theme.ts +15 -0
  93. package/src/design_system/theme.ts +2 -1
  94. package/src/design_system/tokens/gradients.ts +5 -0
  95. package/src/design_system/tokens/index.ts +1 -0
  96. package/src/utils/icons.tsx +32 -0
  97. package/src/utils/index.ts +1 -0
  98. package/style/colors/dark.scss +13 -0
  99. package/style/colors/light.scss +13 -0
  100. package/style/colors/tokens.dark.css +13 -0
  101. package/style/colors/tokens.light.css +13 -0
@@ -0,0 +1,11 @@
1
+ import { IconComponent, IconProps } from '@apify/ui-icons';
2
+ export type WithSizeIconProps = Omit<IconProps, 'size'>;
3
+ export type WithSizeIconComponent = React.FunctionComponent<WithSizeIconProps>;
4
+ export declare const withSize: (Icon: IconComponent, size: IconProps["size"]) => WithSizeIconComponent;
5
+ export type WithColorIconProps = Omit<IconProps, 'color'>;
6
+ export type WithColorIconComponent = React.FunctionComponent<WithColorIconProps>;
7
+ export declare const withColor: (Icon: IconComponent, color: IconProps["color"]) => WithColorIconComponent;
8
+ export type WithGradientIconProps = Omit<IconProps, 'color'>;
9
+ export type WithGradientIconComponent = React.FunctionComponent<WithGradientIconProps>;
10
+ export declare const withGradient: (Icon: IconComponent, color: IconProps["color"], gradient: string) => WithGradientIconComponent;
11
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/utils/icons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAC/E,eAAO,MAAM,QAAQ,GAAI,MAAM,aAAa,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,KAAG,qBAEvE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACjF,eAAO,MAAM,SAAS,GAAI,MAAM,aAAa,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,KAAG,sBAE1E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7D,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAEvF,eAAO,MAAM,YAAY,GACrB,MAAM,aAAa,EACnB,OAAO,SAAS,CAAC,OAAO,CAAC,EACzB,UAAU,MAAM,KACjB,yBAQF,CAAC"}
@@ -0,0 +1,29 @@
1
+ import styled from "styled-components";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/utils/icons.tsx
4
+ var withSize = (Icon, size) => {
5
+ return (props) => /* @__PURE__ */ jsx(Icon, {
6
+ ...props,
7
+ size
8
+ });
9
+ };
10
+ var withColor = (Icon, color) => {
11
+ return (props) => /* @__PURE__ */ jsx(Icon, {
12
+ ...props,
13
+ color
14
+ });
15
+ };
16
+ var withGradient = (Icon, color, gradient) => {
17
+ const GradientIcon = styled(Icon)`
18
+ @supports (clip-path: url(#icon)) {
19
+ color: transparent;
20
+ background: ${gradient};
21
+ }
22
+ `;
23
+ return (props) => /* @__PURE__ */ jsx(GradientIcon, {
24
+ ...props,
25
+ color
26
+ });
27
+ };
28
+ //#endregion
29
+ export { withColor, withGradient, withSize };
@@ -4,4 +4,5 @@ export * from './image_color';
4
4
  export * from './resize_observer';
5
5
  export * from './css_utils';
6
6
  export * from './type_utils';
7
+ export * from './icons';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/ui-library",
3
- "version": "1.165.37",
3
+ "version": "1.166.1",
4
4
  "description": "React UI library used by apify.com",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "It's not nice, but helps us to get around the problem of multiple react instances."
43
43
  ],
44
44
  "dependencies": {
45
- "@apify/ui-icons": "^1.53.0",
45
+ "@apify/ui-icons": "^1.54.0",
46
46
  "@floating-ui/react": "^0.27.19",
47
47
  "@floating-ui/react-dom": "^2.1.8",
48
48
  "@radix-ui/react-checkbox": "^1.3.3",
@@ -75,7 +75,7 @@
75
75
  "styled-components": "^6.1.19"
76
76
  },
77
77
  "devDependencies": {
78
- "@apify-packages/types": "^3.452.0",
78
+ "@apify-packages/types": "^3.453.1",
79
79
  "@storybook/react-vite": "^10.3.5",
80
80
  "@testing-library/react": "^16.3.2",
81
81
  "@types/hast": "^3.0.4",
@@ -95,5 +95,5 @@
95
95
  "src",
96
96
  "style"
97
97
  ],
98
- "gitHead": "048ae8b5adce707866066e1442e3f71a533c79c9"
98
+ "gitHead": "97886d3a5a301bf1d8c907081bf752edaea290d6"
99
99
  }
@@ -0,0 +1,55 @@
1
+ import type { Meta } from '@storybook/react-vite';
2
+ import type React from 'react';
3
+ import styled from 'styled-components';
4
+
5
+ import * as BrandIcons from './brand_icon';
6
+
7
+ export default {
8
+ title: 'UI-Library/BrandIcon',
9
+ component: BrandIcons.ZapierBrandIcon,
10
+ } as Meta;
11
+
12
+ const Grid = styled.div`
13
+ padding: 32px;
14
+ width: 100%;
15
+ display: grid;
16
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
17
+ gap: 32px 16px;
18
+ `;
19
+
20
+ const StyledIconBlock = styled.div`
21
+ display: flex;
22
+ flex-direction: column;
23
+ align-items: center;
24
+ justify-content: center;
25
+ gap: 8px;
26
+
27
+ label {
28
+ font-size: 1.2rem;
29
+ font-weight: 400;
30
+ font-family: Inter, sans-serif;
31
+ }
32
+ `;
33
+
34
+ const IconBlock = ({ children, label }: { children: React.ReactNode; label: string }) => {
35
+ return (
36
+ <StyledIconBlock>
37
+ <label>{label}</label>
38
+ {children}
39
+ </StyledIconBlock>
40
+ );
41
+ };
42
+
43
+ const iconEntries = Object.entries(BrandIcons).sort(([a], [b]) => a.localeCompare(b));
44
+
45
+ export const Default = () => {
46
+ return (
47
+ <Grid>
48
+ {iconEntries.map(([name, Icon]) => (
49
+ <IconBlock key={name} label={name}>
50
+ <Icon />
51
+ </IconBlock>
52
+ ))}
53
+ </Grid>
54
+ );
55
+ };
@@ -0,0 +1,36 @@
1
+ import {
2
+ AnthropicIcon,
3
+ ChatGptIcon,
4
+ ClaudeIcon,
5
+ CursorIcon,
6
+ DiscordIcon,
7
+ DiscordSolidIcon,
8
+ GithubIcon,
9
+ LinkedinIcon,
10
+ LinkedinSolidIcon,
11
+ MakeIcon,
12
+ N8nIcon,
13
+ PerplexityIcon,
14
+ TwitterIcon,
15
+ YoutubeIcon,
16
+ ZapierIcon,
17
+ } from '@apify/ui-icons';
18
+
19
+ import { theme } from '../../design_system/theme';
20
+ import { withColor, withGradient } from '../../utils';
21
+
22
+ export const AnthropicBrandIcon = withColor(AnthropicIcon, theme.color.thirdParty.anthropic);
23
+ export const ChatGptBrandIcon = withColor(ChatGptIcon, theme.color.thirdParty.chatGpt);
24
+ export const ClaudeBrandIcon = withColor(ClaudeIcon, theme.color.thirdParty.claude);
25
+ export const CursorBrandIcon = withColor(CursorIcon, theme.color.thirdParty.cursor);
26
+ export const DiscordBrandIcon = withColor(DiscordIcon, theme.color.thirdParty.discord);
27
+ export const DiscordSolidBrandIcon = withColor(DiscordSolidIcon, theme.color.thirdParty.discord);
28
+ export const GithubBrandIcon = withColor(GithubIcon, theme.color.thirdParty.github);
29
+ export const LinkedinBrandIcon = withColor(LinkedinIcon, theme.color.thirdParty.linkedin);
30
+ export const LinkedinSolidBrandIcon = withColor(LinkedinSolidIcon, theme.color.thirdParty.linkedin);
31
+ export const MakeBrandIcon = withGradient(MakeIcon, theme.color.thirdParty.make, theme.gradient.thirdParty.make);
32
+ export const N8nBrandIcon = withColor(N8nIcon, theme.color.thirdParty.n8n);
33
+ export const PerplexityBrandIcon = withColor(PerplexityIcon, theme.color.thirdParty.perplexity);
34
+ export const TwitterBrandIcon = withColor(TwitterIcon, theme.color.thirdParty.twitter);
35
+ export const YoutubeBrandIcon = withColor(YoutubeIcon, theme.color.thirdParty.youtube);
36
+ export const ZapierBrandIcon = withColor(ZapierIcon, theme.color.thirdParty.zapier);
@@ -0,0 +1 @@
1
+ export * from './brand_icon';
@@ -29,6 +29,7 @@ export * from './tag';
29
29
  export * from './tabs';
30
30
  export * from './shortcut';
31
31
  export * from './icon_button';
32
+ export * from './brand_icon';
32
33
  export * from './spinner';
33
34
  export * from './store';
34
35
  export * from './checkbox';
@@ -441,6 +441,60 @@
441
441
  "$type": "color",
442
442
  "$value": "{Palette.Blue.600}"
443
443
  }
444
+ },
445
+ "Third_Party": {
446
+ "Anthropic": {
447
+ "$type": "color",
448
+ "$value": "#d97757"
449
+ },
450
+ "Chat_Gpt": {
451
+ "$type": "color",
452
+ "$value": "#ffffff"
453
+ },
454
+ "Claude": {
455
+ "$type": "color",
456
+ "$value": "#d97757"
457
+ },
458
+ "Cursor": {
459
+ "$type": "color",
460
+ "$value": "#ffffff"
461
+ },
462
+ "Discord": {
463
+ "$type": "color",
464
+ "$value": "#5865f2"
465
+ },
466
+ "Github": {
467
+ "$type": "color",
468
+ "$value": "#ffffff"
469
+ },
470
+ "Linkedin": {
471
+ "$type": "color",
472
+ "$value": "#0a66c2"
473
+ },
474
+ "Make": {
475
+ "$type": "color",
476
+ "$value": "#6d00cc"
477
+ },
478
+ "N8n": {
479
+ "$type": "color",
480
+ "$value": "#ea4b71"
481
+ },
482
+ "Perplexity": {
483
+ "$type": "color",
484
+ "$value": "#20808d"
485
+ },
486
+ "Twitter": {
487
+ "$type": "color",
488
+ "$value": "#ffffff"
489
+ },
490
+ "Youtube": {
491
+ "$type": "color",
492
+ "$value": "#ff0000"
493
+ },
494
+ "Zapier": {
495
+ "$type": "color",
496
+ "$value": "#ff4a00"
497
+ }
444
498
  }
445
499
  },
446
500
  "Brand": {
@@ -441,6 +441,60 @@
441
441
  "$type": "color",
442
442
  "$value": "{Palette.Blue.50}"
443
443
  }
444
+ },
445
+ "Third_Party": {
446
+ "Anthropic": {
447
+ "$type": "color",
448
+ "$value": "#d97757"
449
+ },
450
+ "Chat_Gpt": {
451
+ "$type": "color",
452
+ "$value": "#000000"
453
+ },
454
+ "Claude": {
455
+ "$type": "color",
456
+ "$value": "#d97757"
457
+ },
458
+ "Cursor": {
459
+ "$type": "color",
460
+ "$value": "#000000"
461
+ },
462
+ "Discord": {
463
+ "$type": "color",
464
+ "$value": "#5865f2"
465
+ },
466
+ "Github": {
467
+ "$type": "color",
468
+ "$value": "#181717"
469
+ },
470
+ "Linkedin": {
471
+ "$type": "color",
472
+ "$value": "#0a66c2"
473
+ },
474
+ "Make": {
475
+ "$type": "color",
476
+ "$value": "#6d00cc"
477
+ },
478
+ "N8n": {
479
+ "$type": "color",
480
+ "$value": "#ea4b71"
481
+ },
482
+ "Perplexity": {
483
+ "$type": "color",
484
+ "$value": "#20808d"
485
+ },
486
+ "Twitter": {
487
+ "$type": "color",
488
+ "$value": "#000000"
489
+ },
490
+ "Youtube": {
491
+ "$type": "color",
492
+ "$value": "#ff0000"
493
+ },
494
+ "Zapier": {
495
+ "$type": "color",
496
+ "$value": "#ff4a00"
497
+ }
444
498
  }
445
499
  },
446
500
  "Brand": {
@@ -1003,4 +1057,4 @@
1003
1057
  }
1004
1058
  }
1005
1059
  }
1006
- }
1060
+ }
@@ -110,6 +110,19 @@ export const tokens = `
110
110
  --color-special-business-plan-background: #408288;
111
111
  --color-special-enterprise-plan-background: #48296f;
112
112
  --color-special-highlight: #152447;
113
+ --color-third-party-anthropic: #d97757;
114
+ --color-third-party-chat-gpt: #ffffff;
115
+ --color-third-party-claude: #d97757;
116
+ --color-third-party-cursor: #ffffff;
117
+ --color-third-party-discord: #5865f2;
118
+ --color-third-party-github: #ffffff;
119
+ --color-third-party-linkedin: #0a66c2;
120
+ --color-third-party-make: #6d00cc;
121
+ --color-third-party-n8n: #ea4b71;
122
+ --color-third-party-perplexity: #20808d;
123
+ --color-third-party-twitter: #ffffff;
124
+ --color-third-party-youtube: #ff0000;
125
+ --color-third-party-zapier: #ff4a00;
113
126
  --color-rose-light: #e88bb3;
114
127
  --color-rose-base: #b8487b;
115
128
  --color-rose-dark: #6f234f;
@@ -110,6 +110,19 @@ export const tokens = `
110
110
  --color-special-business-plan-background: #a7f2ed;
111
111
  --color-special-enterprise-plan-background: #bf97ed;
112
112
  --color-special-highlight: #e0ebff;
113
+ --color-third-party-anthropic: #d97757;
114
+ --color-third-party-chat-gpt: #000000;
115
+ --color-third-party-claude: #d97757;
116
+ --color-third-party-cursor: #000000;
117
+ --color-third-party-discord: #5865f2;
118
+ --color-third-party-github: #181717;
119
+ --color-third-party-linkedin: #0a66c2;
120
+ --color-third-party-make: #6d00cc;
121
+ --color-third-party-n8n: #ea4b71;
122
+ --color-third-party-perplexity: #20808d;
123
+ --color-third-party-twitter: #000000;
124
+ --color-third-party-youtube: #ff0000;
125
+ --color-third-party-zapier: #ff4a00;
113
126
  --color-rose-light: #f483b5;
114
127
  --color-rose-base: #c6387d;
115
128
  --color-rose-dark: #781552;
@@ -124,6 +124,21 @@ export const colorProperties = {
124
124
  enterprisePlanBackground: 'var(--color-special-enterprise-plan-background)',
125
125
  highlight: 'var(--color-special-highlight)',
126
126
  },
127
+ thirdParty: {
128
+ anthropic: 'var(--color-third-party-anthropic)',
129
+ chatGpt: 'var(--color-third-party-chat-gpt)',
130
+ claude: 'var(--color-third-party-claude)',
131
+ cursor: 'var(--color-third-party-cursor)',
132
+ discord: 'var(--color-third-party-discord)',
133
+ github: 'var(--color-third-party-github)',
134
+ linkedin: 'var(--color-third-party-linkedin)',
135
+ make: 'var(--color-third-party-make)',
136
+ n8n: 'var(--color-third-party-n8n)',
137
+ perplexity: 'var(--color-third-party-perplexity)',
138
+ twitter: 'var(--color-third-party-twitter)',
139
+ youtube: 'var(--color-third-party-youtube)',
140
+ zapier: 'var(--color-third-party-zapier)',
141
+ },
127
142
  rose: {
128
143
  light: 'var(--color-rose-light)',
129
144
  base: 'var(--color-rose-base)',
@@ -1,9 +1,10 @@
1
1
  import { colorProperties, darkTheme, lightTheme } from './colors';
2
- import { devices, layouts, radiuses, shadows, spaces, transitions } from './tokens';
2
+ import { devices, gradients, layouts, radiuses, shadows, spaces, transitions } from './tokens';
3
3
  import { typographyTokens } from './typography_theme';
4
4
 
5
5
  export const theme = {
6
6
  color: colorProperties,
7
+ gradient: gradients,
7
8
  colorPalette: { light: lightTheme, dark: darkTheme },
8
9
  space: spaces,
9
10
  radius: radiuses,
@@ -0,0 +1,5 @@
1
+ export const gradients = {
2
+ thirdParty: {
3
+ make: 'linear-gradient(70deg, #ff00ff 2%, #e80df9 9%, #c024ed 23%, #b02de9 30%, #a42be3 42%, #8527d5 63%, #6021c3 85%)',
4
+ },
5
+ } as const;
@@ -3,3 +3,4 @@ export * from './spaces';
3
3
  export * from './shadows';
4
4
  export * from './radiuses';
5
5
  export * from './transitions';
6
+ export * from './gradients';
@@ -0,0 +1,32 @@
1
+ import styled from 'styled-components';
2
+
3
+ import type { IconComponent, IconProps } from '@apify/ui-icons';
4
+
5
+ export type WithSizeIconProps = Omit<IconProps, 'size'>;
6
+ export type WithSizeIconComponent = React.FunctionComponent<WithSizeIconProps>;
7
+ export const withSize = (Icon: IconComponent, size: IconProps['size']): WithSizeIconComponent => {
8
+ return (props: WithSizeIconProps) => <Icon {...props} size={size} />;
9
+ };
10
+
11
+ export type WithColorIconProps = Omit<IconProps, 'color'>;
12
+ export type WithColorIconComponent = React.FunctionComponent<WithColorIconProps>;
13
+ export const withColor = (Icon: IconComponent, color: IconProps['color']): WithColorIconComponent => {
14
+ return (props: WithColorIconProps) => <Icon {...props} color={color} />;
15
+ };
16
+
17
+ export type WithGradientIconProps = Omit<IconProps, 'color'>;
18
+ export type WithGradientIconComponent = React.FunctionComponent<WithGradientIconProps>;
19
+ // The paths are `currentColor`, so a transparent root color reveals the background painted through the clip path.
20
+ export const withGradient = (
21
+ Icon: IconComponent,
22
+ color: IconProps['color'],
23
+ gradient: string,
24
+ ): WithGradientIconComponent => {
25
+ const GradientIcon = styled(Icon)`
26
+ @supports (clip-path: url(#icon)) {
27
+ color: transparent;
28
+ background: ${gradient};
29
+ }
30
+ `;
31
+ return (props: WithGradientIconProps) => <GradientIcon {...props} color={color} />;
32
+ };
@@ -4,3 +4,4 @@ export * from './image_color';
4
4
  export * from './resize_observer';
5
5
  export * from './css_utils';
6
6
  export * from './type_utils';
7
+ export * from './icons';
@@ -111,6 +111,19 @@ $tokens: (
111
111
  'color-special-business-plan-background': #408288,
112
112
  'color-special-enterprise-plan-background': #48296f,
113
113
  'color-special-highlight': #152447,
114
+ 'color-third-party-anthropic': #d97757,
115
+ 'color-third-party-chat-gpt': #ffffff,
116
+ 'color-third-party-claude': #d97757,
117
+ 'color-third-party-cursor': #ffffff,
118
+ 'color-third-party-discord': #5865f2,
119
+ 'color-third-party-github': #ffffff,
120
+ 'color-third-party-linkedin': #0a66c2,
121
+ 'color-third-party-make': #6d00cc,
122
+ 'color-third-party-n8n': #ea4b71,
123
+ 'color-third-party-perplexity': #20808d,
124
+ 'color-third-party-twitter': #ffffff,
125
+ 'color-third-party-youtube': #ff0000,
126
+ 'color-third-party-zapier': #ff4a00,
114
127
  'color-rose-light': #e88bb3,
115
128
  'color-rose-base': #b8487b,
116
129
  'color-rose-dark': #6f234f,
@@ -111,6 +111,19 @@ $tokens: (
111
111
  'color-special-business-plan-background': #a7f2ed,
112
112
  'color-special-enterprise-plan-background': #bf97ed,
113
113
  'color-special-highlight': #e0ebff,
114
+ 'color-third-party-anthropic': #d97757,
115
+ 'color-third-party-chat-gpt': #000000,
116
+ 'color-third-party-claude': #d97757,
117
+ 'color-third-party-cursor': #000000,
118
+ 'color-third-party-discord': #5865f2,
119
+ 'color-third-party-github': #181717,
120
+ 'color-third-party-linkedin': #0a66c2,
121
+ 'color-third-party-make': #6d00cc,
122
+ 'color-third-party-n8n': #ea4b71,
123
+ 'color-third-party-perplexity': #20808d,
124
+ 'color-third-party-twitter': #000000,
125
+ 'color-third-party-youtube': #ff0000,
126
+ 'color-third-party-zapier': #ff4a00,
114
127
  'color-rose-light': #f483b5,
115
128
  'color-rose-base': #c6387d,
116
129
  'color-rose-dark': #781552,
@@ -110,6 +110,19 @@
110
110
  --color-special-business-plan-background: #408288;
111
111
  --color-special-enterprise-plan-background: #48296f;
112
112
  --color-special-highlight: #152447;
113
+ --color-third-party-anthropic: #d97757;
114
+ --color-third-party-chat-gpt: #ffffff;
115
+ --color-third-party-claude: #d97757;
116
+ --color-third-party-cursor: #ffffff;
117
+ --color-third-party-discord: #5865f2;
118
+ --color-third-party-github: #ffffff;
119
+ --color-third-party-linkedin: #0a66c2;
120
+ --color-third-party-make: #6d00cc;
121
+ --color-third-party-n8n: #ea4b71;
122
+ --color-third-party-perplexity: #20808d;
123
+ --color-third-party-twitter: #ffffff;
124
+ --color-third-party-youtube: #ff0000;
125
+ --color-third-party-zapier: #ff4a00;
113
126
  --color-rose-light: #e88bb3;
114
127
  --color-rose-base: #b8487b;
115
128
  --color-rose-dark: #6f234f;
@@ -110,6 +110,19 @@
110
110
  --color-special-business-plan-background: #a7f2ed;
111
111
  --color-special-enterprise-plan-background: #bf97ed;
112
112
  --color-special-highlight: #e0ebff;
113
+ --color-third-party-anthropic: #d97757;
114
+ --color-third-party-chat-gpt: #000000;
115
+ --color-third-party-claude: #d97757;
116
+ --color-third-party-cursor: #000000;
117
+ --color-third-party-discord: #5865f2;
118
+ --color-third-party-github: #181717;
119
+ --color-third-party-linkedin: #0a66c2;
120
+ --color-third-party-make: #6d00cc;
121
+ --color-third-party-n8n: #ea4b71;
122
+ --color-third-party-perplexity: #20808d;
123
+ --color-third-party-twitter: #000000;
124
+ --color-third-party-youtube: #ff0000;
125
+ --color-third-party-zapier: #ff4a00;
113
126
  --color-rose-light: #f483b5;
114
127
  --color-rose-base: #c6387d;
115
128
  --color-rose-dark: #781552;