@proulr/sdui-components 0.1.66 → 0.1.68

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 (171) hide show
  1. package/assets/icons/arrow-down-right.svg +8 -0
  2. package/assets/icons/arrow-right.svg +8 -0
  3. package/assets/icons/arrow-up-right.svg +8 -0
  4. package/assets/icons/attachment.svg +8 -0
  5. package/assets/icons/back.svg +8 -0
  6. package/assets/icons/bell.svg +10 -0
  7. package/assets/icons/bookmark.svg +8 -0
  8. package/assets/icons/boost.svg +11 -0
  9. package/assets/icons/camera.svg +10 -0
  10. package/assets/icons/chat.svg +11 -0
  11. package/assets/icons/check.svg +8 -0
  12. package/assets/icons/chevron-down.svg +8 -0
  13. package/assets/icons/chevron-right.svg +8 -0
  14. package/assets/icons/close.svg +8 -0
  15. package/assets/icons/communities.svg +10 -0
  16. package/assets/icons/copy.svg +11 -0
  17. package/assets/icons/crop.svg +10 -0
  18. package/assets/icons/download.svg +9 -0
  19. package/assets/icons/edit.svg +10 -0
  20. package/assets/icons/events.svg +15 -0
  21. package/assets/icons/fire.svg +8 -0
  22. package/assets/icons/flash.svg +8 -0
  23. package/assets/icons/flip-camera.svg +12 -0
  24. package/assets/icons/followers.svg +13 -0
  25. package/assets/icons/gallery.svg +12 -0
  26. package/assets/icons/gift.svg +11 -0
  27. package/assets/icons/globe.svg +10 -0
  28. package/assets/icons/heart-filled.svg +8 -0
  29. package/assets/icons/heart.svg +8 -0
  30. package/assets/icons/hourglass.svg +13 -0
  31. package/assets/icons/hunt.svg +12 -0
  32. package/assets/icons/incognito.svg +11 -0
  33. package/assets/icons/info.svg +10 -0
  34. package/assets/icons/list.svg +13 -0
  35. package/assets/icons/location.svg +8 -0
  36. package/assets/icons/lock.svg +11 -0
  37. package/assets/icons/mention.svg +9 -0
  38. package/assets/icons/mic.svg +10 -0
  39. package/assets/icons/overflow.svg +12 -0
  40. package/assets/icons/pause.svg +10 -0
  41. package/assets/icons/pending.svg +10 -0
  42. package/assets/icons/play.svg +8 -0
  43. package/assets/icons/plus.svg +8 -0
  44. package/assets/icons/poll.svg +9 -0
  45. package/assets/icons/profile.svg +10 -0
  46. package/assets/icons/publish.svg +9 -0
  47. package/assets/icons/radio-unchecked.svg +8 -0
  48. package/assets/icons/reply.svg +9 -0
  49. package/assets/icons/repost.svg +11 -0
  50. package/assets/icons/right-now.svg +14 -0
  51. package/assets/icons/search.svg +10 -0
  52. package/assets/icons/send.svg +9 -0
  53. package/assets/icons/settings.svg +8 -0
  54. package/assets/icons/share.svg +13 -0
  55. package/assets/icons/shield.svg +9 -0
  56. package/assets/icons/sign-out.svg +9 -0
  57. package/assets/icons/signal.svg +8 -0
  58. package/assets/icons/star.svg +8 -0
  59. package/assets/icons/story-effects.svg +12 -0
  60. package/assets/icons/story-mention.svg +10 -0
  61. package/assets/icons/story-music.svg +10 -0
  62. package/assets/icons/story-sticker.svg +11 -0
  63. package/assets/icons/story-text.svg +9 -0
  64. package/assets/icons/story.svg +10 -0
  65. package/assets/icons/tab-chat.svg +11 -0
  66. package/assets/icons/tab-discover.svg +11 -0
  67. package/assets/icons/tab-flash.svg +8 -0
  68. package/assets/icons/tab-random.svg +13 -0
  69. package/assets/icons/tab-vibes.svg +8 -0
  70. package/assets/icons/thumbs-up-filled.svg +8 -0
  71. package/assets/icons/thumbs-up.svg +9 -0
  72. package/assets/icons/trash.svg +10 -0
  73. package/assets/icons/travel.svg +11 -0
  74. package/assets/icons/video.svg +11 -0
  75. package/assets/icons/visibility-off.svg +10 -0
  76. package/assets/icons/visibility.svg +9 -0
  77. package/assets/icons/volume-off.svg +9 -0
  78. package/assets/icons/volume-on.svg +10 -0
  79. package/assets/icons/warning.svg +10 -0
  80. package/package.json +4 -2
  81. package/src/catalog/catalog.test.ts +3 -1
  82. package/src/renderer/ui/app-icon-glyph-props.ts +5 -0
  83. package/src/renderer/ui/app-icon.test.ts +45 -0
  84. package/src/renderer/ui/app-icon.tsx +6 -166
  85. package/src/renderer/ui/compose-recent-media-grid.tsx +2 -2
  86. package/src/renderer/ui/compose-screen-header.tsx +2 -2
  87. package/src/renderer/ui/compose-visibility-row.tsx +2 -2
  88. package/src/renderer/ui/generated/arrow-down-right.tsx +16 -0
  89. package/src/renderer/ui/generated/arrow-right.tsx +16 -0
  90. package/src/renderer/ui/generated/arrow-up-right.tsx +16 -0
  91. package/src/renderer/ui/generated/attachment.tsx +16 -0
  92. package/src/renderer/ui/generated/back.tsx +16 -0
  93. package/src/renderer/ui/generated/bell.tsx +18 -0
  94. package/src/renderer/ui/generated/bookmark.tsx +16 -0
  95. package/src/renderer/ui/generated/boost.tsx +19 -0
  96. package/src/renderer/ui/generated/camera.tsx +18 -0
  97. package/src/renderer/ui/generated/chat.tsx +19 -0
  98. package/src/renderer/ui/generated/check.tsx +16 -0
  99. package/src/renderer/ui/generated/chevron-down.tsx +16 -0
  100. package/src/renderer/ui/generated/chevron-right.tsx +16 -0
  101. package/src/renderer/ui/generated/close.tsx +16 -0
  102. package/src/renderer/ui/generated/communities.tsx +18 -0
  103. package/src/renderer/ui/generated/copy.tsx +19 -0
  104. package/src/renderer/ui/generated/crop.tsx +18 -0
  105. package/src/renderer/ui/generated/download.tsx +17 -0
  106. package/src/renderer/ui/generated/edit.tsx +18 -0
  107. package/src/renderer/ui/generated/events.tsx +23 -0
  108. package/src/renderer/ui/generated/fire.tsx +16 -0
  109. package/src/renderer/ui/generated/flash.tsx +16 -0
  110. package/src/renderer/ui/generated/flip-camera.tsx +20 -0
  111. package/src/renderer/ui/generated/followers.tsx +21 -0
  112. package/src/renderer/ui/generated/gallery.tsx +20 -0
  113. package/src/renderer/ui/generated/gift.tsx +19 -0
  114. package/src/renderer/ui/generated/globe.tsx +18 -0
  115. package/src/renderer/ui/generated/heart-filled.tsx +16 -0
  116. package/src/renderer/ui/generated/heart.tsx +16 -0
  117. package/src/renderer/ui/generated/hourglass.tsx +21 -0
  118. package/src/renderer/ui/generated/hunt.tsx +20 -0
  119. package/src/renderer/ui/generated/incognito.tsx +19 -0
  120. package/src/renderer/ui/generated/index.ts +248 -0
  121. package/src/renderer/ui/generated/info.tsx +18 -0
  122. package/src/renderer/ui/generated/list.tsx +21 -0
  123. package/src/renderer/ui/generated/location.tsx +16 -0
  124. package/src/renderer/ui/generated/lock.tsx +19 -0
  125. package/src/renderer/ui/generated/mention.tsx +17 -0
  126. package/src/renderer/ui/generated/mic.tsx +18 -0
  127. package/src/renderer/ui/generated/overflow.tsx +20 -0
  128. package/src/renderer/ui/generated/pause.tsx +18 -0
  129. package/src/renderer/ui/generated/pending.tsx +18 -0
  130. package/src/renderer/ui/generated/play.tsx +16 -0
  131. package/src/renderer/ui/generated/plus.tsx +16 -0
  132. package/src/renderer/ui/generated/poll.tsx +17 -0
  133. package/src/renderer/ui/generated/profile.tsx +18 -0
  134. package/src/renderer/ui/generated/publish.tsx +17 -0
  135. package/src/renderer/ui/generated/radio-unchecked.tsx +16 -0
  136. package/src/renderer/ui/generated/reply.tsx +17 -0
  137. package/src/renderer/ui/generated/repost.tsx +19 -0
  138. package/src/renderer/ui/generated/right-now.tsx +22 -0
  139. package/src/renderer/ui/generated/search.tsx +18 -0
  140. package/src/renderer/ui/generated/send.tsx +17 -0
  141. package/src/renderer/ui/generated/settings.tsx +16 -0
  142. package/src/renderer/ui/generated/share.tsx +21 -0
  143. package/src/renderer/ui/generated/shield.tsx +17 -0
  144. package/src/renderer/ui/generated/sign-out.tsx +17 -0
  145. package/src/renderer/ui/generated/signal.tsx +16 -0
  146. package/src/renderer/ui/generated/star.tsx +16 -0
  147. package/src/renderer/ui/generated/story-effects.tsx +20 -0
  148. package/src/renderer/ui/generated/story-mention.tsx +18 -0
  149. package/src/renderer/ui/generated/story-music.tsx +18 -0
  150. package/src/renderer/ui/generated/story-sticker.tsx +19 -0
  151. package/src/renderer/ui/generated/story-text.tsx +17 -0
  152. package/src/renderer/ui/generated/story.tsx +18 -0
  153. package/src/renderer/ui/generated/tab-chat.tsx +19 -0
  154. package/src/renderer/ui/generated/tab-discover.tsx +19 -0
  155. package/src/renderer/ui/generated/tab-flash.tsx +16 -0
  156. package/src/renderer/ui/generated/tab-random.tsx +21 -0
  157. package/src/renderer/ui/generated/tab-vibes.tsx +16 -0
  158. package/src/renderer/ui/generated/thumbs-up-filled.tsx +16 -0
  159. package/src/renderer/ui/generated/thumbs-up.tsx +17 -0
  160. package/src/renderer/ui/generated/trash.tsx +18 -0
  161. package/src/renderer/ui/generated/travel.tsx +19 -0
  162. package/src/renderer/ui/generated/video.tsx +19 -0
  163. package/src/renderer/ui/generated/visibility-off.tsx +18 -0
  164. package/src/renderer/ui/generated/visibility.tsx +17 -0
  165. package/src/renderer/ui/generated/volume-off.tsx +17 -0
  166. package/src/renderer/ui/generated/volume-on.tsx +18 -0
  167. package/src/renderer/ui/generated/warning.tsx +18 -0
  168. package/src/renderer/ui/index.ts +2 -85
  169. package/src/renderer/ui/story-compose-header.tsx +2 -2
  170. package/src/renderer/ui/app-glyphs.tsx +0 -2082
  171. package/src/renderer/ui/compose-glyphs.tsx +0 -439
@@ -0,0 +1,16 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function FlashIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.3} d="M14 1.6 5.8 13.6h5l-1.3 9.2 9-13.4h-5.2l.7-7.8z" />
13
+ <Path fill={color} d="M13.6 2.4 6.6 13.2h4.2l-1 7.8 7.4-11h-4.4l.4-7.6z" />
14
+ </Svg>
15
+ );
16
+ }
@@ -0,0 +1,20 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function FlipCameraIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={3.6} fill={color} fillOpacity={0.3} />
13
+ <Circle cx={12} cy={12} r={4.2} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Circle cx={12} cy={12} r={1.55} fill={color} />
15
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} d="M4.8 9.2A8.2 8.2 0 0 1 12 3.8c2.6 0 4.9 1.2 6.4 3.1" />
16
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} d="M19.2 14.8A8.2 8.2 0 0 1 12 20.2c-2.6 0-4.9-1.2-6.4-3.1" />
17
+ <Path fill={color} d="M18.2 4.6l2.4 3.2h-4.2l1.8-3.2zM5.8 19.4l-2.4-3.2h4.2l-1.8 3.2z" />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,21 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function FollowersIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={10.2} cy={8} r={3.9} fill={color} fillOpacity={0.28} />
13
+ <Circle cx={10.2} cy={8} r={3.4} fill={color} />
14
+ <Path fill={color} fillOpacity={0.28} d="M3.4 19.4c0-3.1 3-5.4 6.8-5.4 1.5 0 2.9.4 4 1-.4.7-.7 1.6-.7 2.5V20.4H3.4v-1z" />
15
+ <Path fill={color} d="M4 19.6c0-2.6 2.7-4.5 6.2-4.5 1.2 0 2.3.2 3.2.7-.3.7-.5 1.4-.5 2.2V20H4v-.4z" />
16
+ <Circle cx={17.6} cy={15.6} r={3.6} fill={color} fillOpacity={0.3} />
17
+ <Circle cx={17.6} cy={15.6} r={3.1} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} />
18
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} d="M17.6 14v3.2M16 15.6h3.2" />
19
+ </Svg>
20
+ );
21
+ }
@@ -0,0 +1,20 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path, Rect } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function GalleryIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Rect x={2.4} y={6.6} width={12.8} height={12.8} rx={2.1} fill={color} fillOpacity={0.3} />
13
+ <Rect x={2.4} y={6.6} width={12.8} height={12.8} rx={2.1} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.6} />
14
+ <Rect x={7.8} y={2.8} width={13.4} height={13.4} rx={2.2} fill={color} fillOpacity={0.22} />
15
+ <Rect x={7.8} y={2.8} width={13.4} height={13.4} rx={2.2} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
16
+ <Circle cx={12.4} cy={7.2} r={1.5} fill={color} />
17
+ <Path fill={color} d="M9.4 14.6l2.8-3.1 2.1 1.8 2.8-3.3 2.6 4.6H9.4z" />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,19 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path, Rect } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function GiftIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.28} d="M4.4 11.2h15.2v9.6H4.4v-9.6z" />
13
+ <Rect x={4.4} y={11} width={15.2} height={9.8} rx={1.6} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} />
14
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} d="M12 11v9.8M4.4 13.4h15.2" />
15
+ <Path fill={color} fillOpacity={0.4} d="M12 6.8c.9-1.5 2.4-2.5 4-2.5 1.6 0 2.7 1.1 2.7 2.5S17.6 9.8 16 9.8H12V6.8zm0 0C11.1 5.3 9.6 4.3 8 4.3 6.4 4.3 5.3 5.4 5.3 6.8S6.4 9.8 8 9.8h4V6.8z" />
16
+ <Path fill={color} d="M4.4 9.8h15.2v2.4H4.4V9.8z" />
17
+ </Svg>
18
+ );
19
+ }
@@ -0,0 +1,18 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Ellipse, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function GlobeIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={7.6} fill={color} fillOpacity={0.25} />
13
+ <Circle cx={12} cy={12} r={8.4} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Ellipse cx={12} cy={12} rx={4} ry={8.4} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.5} />
15
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.5} d="M3.6 12h16.8M5.2 7.6h13.6M5.2 16.4h13.6" />
16
+ </Svg>
17
+ );
18
+ }
@@ -0,0 +1,16 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function HeartFilledIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.3} d="M12 21S2.8 15 2.8 9A5.1 5.1 0 0 1 12 5.8 5.1 5.1 0 0 1 21.2 9c0 6-9.2 12-9.2 12z" />
13
+ <Path fill={color} d="M12 19.8S4.2 14.6 4.2 9.4A4.2 4.2 0 0 1 12 6.8a4.2 4.2 0 0 1 7.8 2.6c0 5.2-7.8 10.4-7.8 10.4z" />
14
+ </Svg>
15
+ );
16
+ }
@@ -0,0 +1,16 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function HeartIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.28} d="M12 19.2S5.2 14.4 5.2 9.6A3.6 3.6 0 0 1 12 7.2a3.6 3.6 0 0 1 6.8 2.4c0 4.8-6.8 9.6-6.8 9.6z" />
13
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={2} d="M12 20.4S3.6 14.9 3.6 9.4A4.6 4.6 0 0 1 12 6.8a4.6 4.6 0 0 1 8.4 2.6c0 5.5-8.4 11-8.4 11z" />
14
+ </Svg>
15
+ );
16
+ }
@@ -0,0 +1,21 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function HourglassIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.32} d="M9.2 5.2h5.6L12 10.2 9.2 5.2z" />
13
+ <Path fill={color} fillOpacity={0.28} d="M9.2 18.8h5.6L12 13.8 9.2 18.8z" />
14
+ <Path stroke={color} strokeWidth={1.9} strokeLinecap="round" strokeLinejoin="round" fill="none" d="M8 4.5h8" />
15
+ <Path stroke={color} strokeWidth={1.9} strokeLinecap="round" strokeLinejoin="round" fill="none" d="M8 19.5h8" />
16
+ <Path stroke={color} strokeWidth={1.9} strokeLinecap="round" strokeLinejoin="round" fill="none" d="M8 4.5 12 11 16 4.5" />
17
+ <Path stroke={color} strokeWidth={1.9} strokeLinecap="round" strokeLinejoin="round" fill="none" d="M8 19.5 12 13 16 19.5" />
18
+ <Circle cx={12} cy={12} r={0.85} fill={color} />
19
+ </Svg>
20
+ );
21
+ }
@@ -0,0 +1,20 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function HuntIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={7.2} fill={color} fillOpacity={0.22} />
13
+ <Circle cx={12} cy={12} r={8.4} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Circle cx={12} cy={12} r={5.1} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.5} />
15
+ <Circle cx={12} cy={12} r={2.35} fill={color} />
16
+ <Path fill={color} d="M11.15 1.8h1.7v3.1h-1.7V1.8zm0 17.3h1.7v3.1h-1.7v-3.1zM1.8 11.15h3.1v1.7H1.8v-1.7zm17.3 0h3.1v1.7h-3.1v-1.7z" />
17
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.6} d="M12 6.5v1.5M12 16v1.5M6.5 12h1.5M16 12h1.5" />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,19 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function IncognitoIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.3} d="M12 2.6c-4.1 0-7.4 3.4-7.4 7.5V19l3-1.8 4.4 2.6 4.4-2.6 3 1.8v-8.9c0-4.1-3.3-7.5-7.4-7.5z" />
13
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} d="M12 3.4c-3.6 0-6.5 3-6.5 6.7V17.6l2.4-1.45 4.1 2.4 4.1-2.4 2.4 1.45V10.1c0-3.7-2.9-6.7-6.5-6.7z" />
14
+ <Circle cx={12} cy={10.2} r={3.5} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.7} />
15
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.7} d="M12 7.2v6M9 10.2h6" />
16
+ <Circle cx={12} cy={10.2} r={1.05} fill={color} />
17
+ </Svg>
18
+ );
19
+ }
@@ -0,0 +1,248 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import type { ComponentType } from 'react';
3
+ import type { AppIconName } from '../../../catalog/app-icon-names';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+ import { SearchIcon } from './search';
6
+ import { HuntIcon } from './hunt';
7
+ import { BackIcon } from './back';
8
+ import { OverflowIcon } from './overflow';
9
+ import { LocationIcon } from './location';
10
+ import { MicIcon } from './mic';
11
+ import { SendIcon } from './send';
12
+ import { ChatIcon } from './chat';
13
+ import { CloseIcon } from './close';
14
+ import { ChevronDownIcon } from './chevron-down';
15
+ import { ChevronRightIcon } from './chevron-right';
16
+ import { FlipCameraIcon } from './flip-camera';
17
+ import { FlashIcon } from './flash';
18
+ import { GalleryIcon } from './gallery';
19
+ import { VideoIcon } from './video';
20
+ import { CameraIcon } from './camera';
21
+ import { TrashIcon } from './trash';
22
+ import { GlobeIcon } from './globe';
23
+ import { TravelIcon } from './travel';
24
+ import { TabDiscoverIcon } from './tab-discover';
25
+ import { TabVibesIcon } from './tab-vibes';
26
+ import { TabFlashIcon } from './tab-flash';
27
+ import { TabChatIcon } from './tab-chat';
28
+ import { TabRandomIcon } from './tab-random';
29
+ import { BoostIcon } from './boost';
30
+ import { FireIcon } from './fire';
31
+ import { RightNowIcon } from './right-now';
32
+ import { SettingsIcon } from './settings';
33
+ import { EditIcon } from './edit';
34
+ import { CropIcon } from './crop';
35
+ import { IncognitoIcon } from './incognito';
36
+ import { EventsIcon } from './events';
37
+ import { ShieldIcon } from './shield';
38
+ import { ProfileIcon } from './profile';
39
+ import { BookmarkIcon } from './bookmark';
40
+ import { ListIcon } from './list';
41
+ import { CommunitiesIcon } from './communities';
42
+ import { StarIcon } from './star';
43
+ import { SignOutIcon } from './sign-out';
44
+ import { PublishIcon } from './publish';
45
+ import { StoryIcon } from './story';
46
+ import { StoryMusicIcon } from './story-music';
47
+ import { StoryStickerIcon } from './story-sticker';
48
+ import { StoryTextIcon } from './story-text';
49
+ import { StoryEffectsIcon } from './story-effects';
50
+ import { StoryMentionIcon } from './story-mention';
51
+ import { RepostIcon } from './repost';
52
+ import { HeartIcon } from './heart';
53
+ import { HeartFilledIcon } from './heart-filled';
54
+ import { ThumbsUpIcon } from './thumbs-up';
55
+ import { ThumbsUpFilledIcon } from './thumbs-up-filled';
56
+ import { PlayIcon } from './play';
57
+ import { PauseIcon } from './pause';
58
+ import { PlusIcon } from './plus';
59
+ import { FollowersIcon } from './followers';
60
+ import { MentionIcon } from './mention';
61
+ import { VisibilityIcon } from './visibility';
62
+ import { VisibilityOffIcon } from './visibility-off';
63
+ import { CheckIcon } from './check';
64
+ import { ArrowRightIcon } from './arrow-right';
65
+ import { ArrowUpRightIcon } from './arrow-up-right';
66
+ import { ArrowDownRightIcon } from './arrow-down-right';
67
+ import { ReplyIcon } from './reply';
68
+ import { PendingIcon } from './pending';
69
+ import { DownloadIcon } from './download';
70
+ import { RadioUncheckedIcon } from './radio-unchecked';
71
+ import { CopyIcon } from './copy';
72
+ import { AttachmentIcon } from './attachment';
73
+ import { PollIcon } from './poll';
74
+ import { LockIcon } from './lock';
75
+ import { VolumeOnIcon } from './volume-on';
76
+ import { VolumeOffIcon } from './volume-off';
77
+ import { InfoIcon } from './info';
78
+ import { WarningIcon } from './warning';
79
+ import { SignalIcon } from './signal';
80
+ import { HourglassIcon } from './hourglass';
81
+ import { BellIcon } from './bell';
82
+ import { ShareIcon } from './share';
83
+ import { GiftIcon } from './gift';
84
+
85
+ export const GENERATED_ICON_REGISTRY: Record<
86
+ AppIconName,
87
+ ComponentType<AppIconGlyphProps>
88
+ > = {
89
+ 'search': SearchIcon,
90
+ 'hunt': HuntIcon,
91
+ 'back': BackIcon,
92
+ 'overflow': OverflowIcon,
93
+ 'location': LocationIcon,
94
+ 'mic': MicIcon,
95
+ 'send': SendIcon,
96
+ 'chat': ChatIcon,
97
+ 'close': CloseIcon,
98
+ 'chevron-down': ChevronDownIcon,
99
+ 'chevron-right': ChevronRightIcon,
100
+ 'flip-camera': FlipCameraIcon,
101
+ 'flash': FlashIcon,
102
+ 'gallery': GalleryIcon,
103
+ 'video': VideoIcon,
104
+ 'camera': CameraIcon,
105
+ 'trash': TrashIcon,
106
+ 'globe': GlobeIcon,
107
+ 'travel': TravelIcon,
108
+ 'tab-discover': TabDiscoverIcon,
109
+ 'tab-vibes': TabVibesIcon,
110
+ 'tab-flash': TabFlashIcon,
111
+ 'tab-chat': TabChatIcon,
112
+ 'tab-random': TabRandomIcon,
113
+ 'boost': BoostIcon,
114
+ 'fire': FireIcon,
115
+ 'right-now': RightNowIcon,
116
+ 'settings': SettingsIcon,
117
+ 'edit': EditIcon,
118
+ 'crop': CropIcon,
119
+ 'incognito': IncognitoIcon,
120
+ 'events': EventsIcon,
121
+ 'shield': ShieldIcon,
122
+ 'profile': ProfileIcon,
123
+ 'bookmark': BookmarkIcon,
124
+ 'list': ListIcon,
125
+ 'communities': CommunitiesIcon,
126
+ 'star': StarIcon,
127
+ 'sign-out': SignOutIcon,
128
+ 'publish': PublishIcon,
129
+ 'story': StoryIcon,
130
+ 'story-music': StoryMusicIcon,
131
+ 'story-sticker': StoryStickerIcon,
132
+ 'story-text': StoryTextIcon,
133
+ 'story-effects': StoryEffectsIcon,
134
+ 'story-mention': StoryMentionIcon,
135
+ 'repost': RepostIcon,
136
+ 'heart': HeartIcon,
137
+ 'heart-filled': HeartFilledIcon,
138
+ 'thumbs-up': ThumbsUpIcon,
139
+ 'thumbs-up-filled': ThumbsUpFilledIcon,
140
+ 'play': PlayIcon,
141
+ 'pause': PauseIcon,
142
+ 'plus': PlusIcon,
143
+ 'followers': FollowersIcon,
144
+ 'mention': MentionIcon,
145
+ 'visibility': VisibilityIcon,
146
+ 'visibility-off': VisibilityOffIcon,
147
+ 'check': CheckIcon,
148
+ 'arrow-right': ArrowRightIcon,
149
+ 'arrow-up-right': ArrowUpRightIcon,
150
+ 'arrow-down-right': ArrowDownRightIcon,
151
+ 'reply': ReplyIcon,
152
+ 'pending': PendingIcon,
153
+ 'download': DownloadIcon,
154
+ 'radio-unchecked': RadioUncheckedIcon,
155
+ 'copy': CopyIcon,
156
+ 'attachment': AttachmentIcon,
157
+ 'poll': PollIcon,
158
+ 'lock': LockIcon,
159
+ 'volume-on': VolumeOnIcon,
160
+ 'volume-off': VolumeOffIcon,
161
+ 'info': InfoIcon,
162
+ 'warning': WarningIcon,
163
+ 'signal': SignalIcon,
164
+ 'hourglass': HourglassIcon,
165
+ 'bell': BellIcon,
166
+ 'share': ShareIcon,
167
+ 'gift': GiftIcon,
168
+ };
169
+
170
+ export { SearchIcon } from './search';
171
+ export { HuntIcon } from './hunt';
172
+ export { BackIcon } from './back';
173
+ export { OverflowIcon } from './overflow';
174
+ export { LocationIcon } from './location';
175
+ export { MicIcon } from './mic';
176
+ export { SendIcon } from './send';
177
+ export { ChatIcon } from './chat';
178
+ export { CloseIcon } from './close';
179
+ export { ChevronDownIcon } from './chevron-down';
180
+ export { ChevronRightIcon } from './chevron-right';
181
+ export { FlipCameraIcon } from './flip-camera';
182
+ export { FlashIcon } from './flash';
183
+ export { GalleryIcon } from './gallery';
184
+ export { VideoIcon } from './video';
185
+ export { CameraIcon } from './camera';
186
+ export { TrashIcon } from './trash';
187
+ export { GlobeIcon } from './globe';
188
+ export { TravelIcon } from './travel';
189
+ export { TabDiscoverIcon } from './tab-discover';
190
+ export { TabVibesIcon } from './tab-vibes';
191
+ export { TabFlashIcon } from './tab-flash';
192
+ export { TabChatIcon } from './tab-chat';
193
+ export { TabRandomIcon } from './tab-random';
194
+ export { BoostIcon } from './boost';
195
+ export { FireIcon } from './fire';
196
+ export { RightNowIcon } from './right-now';
197
+ export { SettingsIcon } from './settings';
198
+ export { EditIcon } from './edit';
199
+ export { CropIcon } from './crop';
200
+ export { IncognitoIcon } from './incognito';
201
+ export { EventsIcon } from './events';
202
+ export { ShieldIcon } from './shield';
203
+ export { ProfileIcon } from './profile';
204
+ export { BookmarkIcon } from './bookmark';
205
+ export { ListIcon } from './list';
206
+ export { CommunitiesIcon } from './communities';
207
+ export { StarIcon } from './star';
208
+ export { SignOutIcon } from './sign-out';
209
+ export { PublishIcon } from './publish';
210
+ export { StoryIcon } from './story';
211
+ export { StoryMusicIcon } from './story-music';
212
+ export { StoryStickerIcon } from './story-sticker';
213
+ export { StoryTextIcon } from './story-text';
214
+ export { StoryEffectsIcon } from './story-effects';
215
+ export { StoryMentionIcon } from './story-mention';
216
+ export { RepostIcon } from './repost';
217
+ export { HeartIcon } from './heart';
218
+ export { HeartFilledIcon } from './heart-filled';
219
+ export { ThumbsUpIcon } from './thumbs-up';
220
+ export { ThumbsUpFilledIcon } from './thumbs-up-filled';
221
+ export { PlayIcon } from './play';
222
+ export { PauseIcon } from './pause';
223
+ export { PlusIcon } from './plus';
224
+ export { FollowersIcon } from './followers';
225
+ export { MentionIcon } from './mention';
226
+ export { VisibilityIcon } from './visibility';
227
+ export { VisibilityOffIcon } from './visibility-off';
228
+ export { CheckIcon } from './check';
229
+ export { ArrowRightIcon } from './arrow-right';
230
+ export { ArrowUpRightIcon } from './arrow-up-right';
231
+ export { ArrowDownRightIcon } from './arrow-down-right';
232
+ export { ReplyIcon } from './reply';
233
+ export { PendingIcon } from './pending';
234
+ export { DownloadIcon } from './download';
235
+ export { RadioUncheckedIcon } from './radio-unchecked';
236
+ export { CopyIcon } from './copy';
237
+ export { AttachmentIcon } from './attachment';
238
+ export { PollIcon } from './poll';
239
+ export { LockIcon } from './lock';
240
+ export { VolumeOnIcon } from './volume-on';
241
+ export { VolumeOffIcon } from './volume-off';
242
+ export { InfoIcon } from './info';
243
+ export { WarningIcon } from './warning';
244
+ export { SignalIcon } from './signal';
245
+ export { HourglassIcon } from './hourglass';
246
+ export { BellIcon } from './bell';
247
+ export { ShareIcon } from './share';
248
+ export { GiftIcon } from './gift';
@@ -0,0 +1,18 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function InfoIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={8.2} fill={color} fillOpacity={0.28} />
13
+ <Circle cx={12} cy={12} r={8.2} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Circle cx={12} cy={8} r={1.25} fill={color} />
15
+ <Path fill={color} d="M10.9 10.6h2.2v6h-2.2v-6z" />
16
+ </Svg>
17
+ );
18
+ }
@@ -0,0 +1,21 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function ListIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={5.4} cy={6.4} r={1.85} fill={color} fillOpacity={0.35} />
13
+ <Circle cx={5.4} cy={12} r={1.85} fill={color} fillOpacity={0.35} />
14
+ <Circle cx={5.4} cy={17.6} r={1.85} fill={color} fillOpacity={0.35} />
15
+ <Circle cx={5.4} cy={6.4} r={1.25} fill={color} />
16
+ <Circle cx={5.4} cy={12} r={1.25} fill={color} />
17
+ <Circle cx={5.4} cy={17.6} r={1.25} fill={color} />
18
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={2} d="M9.4 6.4h10.2M9.4 12h10.2M9.4 17.6h10.2" />
19
+ </Svg>
20
+ );
21
+ }
@@ -0,0 +1,16 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function LocationIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path fill={color} fillOpacity={0.28} d="M12 2.2c-4 0-7.2 3.1-7.2 7 0 5 5.8 11.4 6.7 12.4a.75.75 0 0 0 1.1 0c.9-1 6.7-7.4 6.7-12.4 0-3.9-3.2-7-7.2-7z" />
13
+ <Path fill={color} fillRule="evenodd" d="M12 2.6c-3.6 0-6.5 2.8-6.5 6.3 0 4.5 5.2 10.5 6 11.4a.65.65 0 0 0 .95 0c.8-.9 6-6.9 6-11.4 0-3.5-2.9-6.3-6.45-6.3zm0 4a2.3 2.3 0 1 0 0 4.6 2.3 2.3 0 0 0 0-4.6z" />
14
+ </Svg>
15
+ );
16
+ }
@@ -0,0 +1,19 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path, Rect } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function LockIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={2} d="M8.2 10.4V7.6A3.8 3.8 0 0 1 12 3.8a3.8 3.8 0 0 1 3.8 3.8v2.8" />
13
+ <Rect x={5.6} y={10.6} width={12.8} height={9.6} rx={2.1} fill={color} fillOpacity={0.3} />
14
+ <Rect x={5.4} y={10.4} width={13.2} height={10} rx={2.2} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.8} />
15
+ <Circle cx={12} cy={15.2} r={1.35} fill={color} />
16
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.6} d="M12 16.4v1.8" />
17
+ </Svg>
18
+ );
19
+ }
@@ -0,0 +1,17 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function MentionIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={7.5} fill={color} fillOpacity={0.22} />
13
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} d="M16 12.2a4 4 0 1 1-.5-1.9" />
14
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} d="M15.5 10.3v3.8c0 1.3.8 2.2 2.1 2.2h.2" />
15
+ </Svg>
16
+ );
17
+ }
@@ -0,0 +1,18 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Path, Rect } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function MicIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Rect x={9.2} y={3.6} width={5.6} height={10.4} rx={2.8} fill={color} fillOpacity={0.3} />
13
+ <Rect x={9} y={3.2} width={6} height={11.2} rx={3} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} d="M6.2 11.4a5.8 5.8 0 0 0 11.6 0" />
15
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={2} d="M12 17.2v3.2M9.2 20.6h5.6" />
16
+ </Svg>
17
+ );
18
+ }
@@ -0,0 +1,20 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function OverflowIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={5.2} r={2.1} fill={color} fillOpacity={0.3} />
13
+ <Circle cx={12} cy={12} r={2.1} fill={color} fillOpacity={0.3} />
14
+ <Circle cx={12} cy={18.8} r={2.1} fill={color} fillOpacity={0.3} />
15
+ <Circle cx={12} cy={5.2} r={1.55} fill={color} />
16
+ <Circle cx={12} cy={12} r={1.55} fill={color} />
17
+ <Circle cx={12} cy={18.8} r={1.55} fill={color} />
18
+ </Svg>
19
+ );
20
+ }
@@ -0,0 +1,18 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Rect } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function PauseIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Rect x={5.8} y={4.4} width={4.6} height={15.2} rx={1.6} fill={color} fillOpacity={0.28} />
13
+ <Rect x={13.6} y={4.4} width={4.6} height={15.2} rx={1.6} fill={color} fillOpacity={0.28} />
14
+ <Rect x={6.6} y={5.2} width={3.4} height={13.6} rx={1.2} fill={color} />
15
+ <Rect x={14.4} y={5.2} width={3.4} height={13.6} rx={1.2} fill={color} />
16
+ </Svg>
17
+ );
18
+ }
@@ -0,0 +1,18 @@
1
+ /* Generated by scripts/generate-app-icons.mjs — do not edit. */
2
+ import Svg, { Circle, Path } from 'react-native-svg';
3
+ import { m3Colors } from '../../theme/proulr-theme';
4
+ import type { AppIconGlyphProps } from '../app-icon-glyph-props';
5
+
6
+ export function PendingIcon({
7
+ color = m3Colors.primary,
8
+ size = 24,
9
+ }: AppIconGlyphProps) {
10
+ return (
11
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
12
+ <Circle cx={12} cy={12} r={7.6} fill={color} fillOpacity={0.25} />
13
+ <Circle cx={12} cy={12} r={8.4} stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={1.9} />
14
+ <Path stroke={color} strokeLinecap="round" strokeLinejoin="round" fill="none" strokeWidth={2} d="M12 7.2v5.2l3.6 2.2" />
15
+ <Circle cx={12} cy={12} r={1.15} fill={color} />
16
+ </Svg>
17
+ );
18
+ }