Skip to content

Commit e4135e8

Browse files
feat(icons): add new icons (#4006)
* feat(icons): add new icons * chore: formatting --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
1 parent db3a612 commit e4135e8

File tree

9 files changed

+128
-3
lines changed

9 files changed

+128
-3
lines changed

.changeset/poor-bananas-tell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@twilio-paste/icons": minor
3+
---
4+
5+
[Icons] Add 2 new icons: SupportRequestIcon and RCSCapableIcon

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"build": "yarn prebuild && yarn nx run-many --target=build --exclude @twilio-paste/website @twilio-paste/theme-designer @twilio-paste/nextjs-template @twilio-paste/token-contrast-checker",
3737
"build:js": "yarn prebuild && yarn nx run-many --target=build:js --exclude @twilio-paste/website @twilio-paste/theme-designer",
3838
"build:typedocs": "yarn prebuild && yarn nx run-many --target=build:typedocs",
39-
"build:typedocs:clean":"rm -rf .nx/cache && yarn build && yarn build:typedocs",
39+
"build:typedocs:clean": "rm -rf .nx/cache && yarn build && yarn build:typedocs",
4040
"build:core": "yarn nx run @twilio-paste/core:build",
4141
"build:codemods": "yarn nx run @twilio-paste/codemods:build",
4242
"build:tokens": "yarn nx run @twilio-paste/design-tokens:tokens",

packages/paste-icons/__test__/__snapshots__/icons.spec.tsx.snap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ Array [
249249
"ProductVideoIcon",
250250
"ProductVoiceIcon",
251251
"ProductVoiceIntelligenceIcon",
252+
"RCSCapableIcon",
252253
"RaiseHandIcon",
253254
"RecordIcon",
254255
"RedoIcon",
@@ -284,6 +285,7 @@ Array [
284285
"SuccessIcon",
285286
"SuperscriptIcon",
286287
"SupportIcon",
288+
"SupportRequestIcon",
287289
"SystemStatusIcon",
288290
"TaskIcon",
289291
"TemplateMessageIcon",

packages/paste-icons/build.icon-list.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/paste-icons/json/icons.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { useUID } from "@twilio-paste/uid-library";
2+
/**
3+
* This file was automatically generated with @twilio-labs/svg-to-react
4+
*/
5+
import * as React from "react";
6+
7+
import { IconWrapper } from "./helpers/IconWrapper";
8+
import type { IconWrapperProps } from "./helpers/IconWrapper";
9+
10+
export interface RCSCapableIconProps extends IconWrapperProps {
11+
title?: string;
12+
decorative: boolean;
13+
}
14+
15+
const RCSCapableIcon = React.forwardRef<HTMLElement, RCSCapableIconProps>(
16+
({ as, display, element = "ICON", size, color, title, decorative }, ref) => {
17+
const titleId = `RCSCapableIcon-${useUID()}`;
18+
19+
if (!decorative && title == null) {
20+
throw new Error("[RCSCapableIcon]: Missing a title for non-decorative icon.");
21+
}
22+
23+
return (
24+
<IconWrapper as={as} display={display} element={element} size={size} color={color} ref={ref}>
25+
<svg
26+
role="img"
27+
aria-hidden={decorative}
28+
height="100%"
29+
width="100%"
30+
fill="none"
31+
xmlns="http://www.w3.org/2000/svg"
32+
viewBox="0 0 20 20"
33+
aria-labelledby={titleId}
34+
>
35+
{title ? <title id={titleId}>{title}</title> : null}
36+
<path
37+
fill="currentColor"
38+
d="M5.318 3.938a.364.364 0 01.464-.135l.037.02 2.912 1.824a.363.363 0 01.035.589l-.035.024-2.912 1.826a.365.365 0 01-.555-.264l-.002-.043V4.131c0-.069.02-.135.056-.193z"
39+
/>
40+
<path
41+
fill="currentColor"
42+
fillRule="evenodd"
43+
clipRule="evenodd"
44+
d="M1.628 2.629A2.14 2.14 0 013.143 2h7.568a2.141 2.141 0 012.143 2.146v3.617A2.148 2.148 0 0110.71 9.91H8.568v1.964a.502.502 0 01-.856.355l-2.315-2.32H3.143A2.14 2.14 0 011 7.764V4.146c0-.569.226-1.115.628-1.517zm1.515.375a1.139 1.139 0 00-1.14 1.142v3.617a1.143 1.143 0 001.14 1.142h2.462c.133 0 .26.053.354.148l1.606 1.608V9.408c0-.278.225-.503.502-.503h2.644a1.14 1.14 0 001.14-1.141V4.146a1.143 1.143 0 00-1.14-1.142H3.143z"
45+
/>
46+
<path
47+
fill="currentColor"
48+
d="M12.384 15.088a.673.673 0 100-1.346.673.673 0 000 1.346zm1.888 0a.673.673 0 10-.001-1.346.673.673 0 00.001 1.346zm1.888 0a.673.673 0 10-.002-1.346.673.673 0 00.002 1.346z"
49+
/>
50+
<path
51+
fill="currentColor"
52+
fillRule="evenodd"
53+
clipRule="evenodd"
54+
d="M9.585 12.878c0-.832.674-1.506 1.504-1.506h6.407c.83 0 1.504.674 1.504 1.506v2.965c0 .832-.673 1.507-1.504 1.507H15.97l-2.601 1.563a.602.602 0 01-.911-.517V17.35h-1.369c-.83 0-1.504-.675-1.504-1.507v-2.965zm1.504-.502a.502.502 0 00-.501.502v2.965c0 .277.224.502.501.502h1.62c.415 0 .751.338.751.754v.588l2.054-1.234a.75.75 0 01.387-.108h1.595a.502.502 0 00.501-.502v-2.965a.502.502 0 00-.501-.502h-6.407z"
55+
/>
56+
</svg>
57+
</IconWrapper>
58+
);
59+
},
60+
);
61+
62+
RCSCapableIcon.displayName = "RCSCapableIcon";
63+
export { RCSCapableIcon };
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import { useUID } from "@twilio-paste/uid-library";
2+
/**
3+
* This file was automatically generated with @twilio-labs/svg-to-react
4+
*/
5+
import * as React from "react";
6+
7+
import { IconWrapper } from "./helpers/IconWrapper";
8+
import type { IconWrapperProps } from "./helpers/IconWrapper";
9+
10+
export interface SupportRequestIconProps extends IconWrapperProps {
11+
title?: string;
12+
decorative: boolean;
13+
}
14+
15+
const SupportRequestIcon = React.forwardRef<HTMLElement, SupportRequestIconProps>(
16+
({ as, display, element = "ICON", size, color, title, decorative }, ref) => {
17+
const titleId = `SupportRequestIcon-${useUID()}`;
18+
19+
if (!decorative && title == null) {
20+
throw new Error("[SupportRequestIcon]: Missing a title for non-decorative icon.");
21+
}
22+
23+
return (
24+
<IconWrapper as={as} display={display} element={element} size={size} color={color} ref={ref}>
25+
<svg
26+
role="img"
27+
aria-hidden={decorative}
28+
height="100%"
29+
width="100%"
30+
fill="none"
31+
xmlns="http://www.w3.org/2000/svg"
32+
viewBox="0 0 20 20"
33+
aria-labelledby={titleId}
34+
>
35+
{title ? <title id={titleId}>{title}</title> : null}
36+
<path
37+
fill="currentColor"
38+
d="M10.076 5.185a.97.97 0 00-1.036.967.5.5 0 11-1 0 1.97 1.97 0 013.776-.783 1.968 1.968 0 01-1.15 2.639.234.234 0 00-.157.222v.125a.5.5 0 11-1 0V8.23a1.235 1.235 0 01.823-1.165.969.969 0 00-.256-1.88zm-.066 4.139a.684.684 0 110 1.367.684.684 0 010-1.367z"
39+
/>
40+
<path
41+
fill="currentColor"
42+
fillRule="evenodd"
43+
clipRule="evenodd"
44+
d="M5.804 2a1.435 1.435 0 00-1.435 1.435v5.85l-.328-.21a1 1 0 00-1.541.84V15.5A1.5 1.5 0 004 17h12a1.5 1.5 0 001.5-1.5V9.916a1 1 0 00-1.54-.841l-.31.199v-5.84A1.434 1.434 0 0014.214 2h-8.41zm8.845 7.917V3.435A.435.435 0 0014.216 3H5.804a.435.435 0 00-.435.435v6.494l4.36 2.803a.5.5 0 00.541 0l4.38-2.815zm-3.838 3.656L16.5 9.916V15.5a.5.5 0 01-.5.5H4a.5.5 0 01-.5-.5V9.916l5.689 3.657a1.5 1.5 0 001.622 0z"
45+
/>
46+
</svg>
47+
</IconWrapper>
48+
);
49+
},
50+
);
51+
52+
SupportRequestIcon.displayName = "SupportRequestIcon";
53+
export { SupportRequestIcon };
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)