@soul-refiner/design-system 0.0.9 → 0.0.11

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 (267) hide show
  1. package/dist/custom.d.ts +4 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/{design-system.umd.cjs → index.umd.cjs} +1 -1
  4. package/dist/src/actions/Button/Button.module.scss +205 -0
  5. package/dist/src/actions/Button/Button.spec.js +56 -0
  6. package/dist/src/actions/Button/Button.tsx +143 -0
  7. package/dist/src/actions/Button/index.ts +1 -0
  8. package/dist/src/actions/Dropdown/Dropdown.module.scss +77 -0
  9. package/dist/src/actions/Dropdown/Dropdown.spec.js +149 -0
  10. package/dist/src/actions/Dropdown/Dropdown.tsx +224 -0
  11. package/dist/src/actions/Dropdown/index.ts +6 -0
  12. package/dist/src/actions/Dropzone/Dropzone.module.scss +48 -0
  13. package/dist/src/actions/Dropzone/Dropzone.spec.js +60 -0
  14. package/dist/src/actions/Dropzone/Dropzone.tsx +191 -0
  15. package/dist/src/actions/Dropzone/index.ts +1 -0
  16. package/dist/src/actions/Rate/Rate.module.scss +17 -0
  17. package/dist/src/actions/Rate/Rate.tsx +53 -0
  18. package/dist/src/actions/Rate/index.ts +1 -0
  19. package/dist/src/actions/Switch/Switch.module.scss +35 -0
  20. package/dist/src/actions/Switch/Switch.spec.js +31 -0
  21. package/dist/src/actions/Switch/Switch.tsx +34 -0
  22. package/dist/src/actions/Switch/index.ts +1 -0
  23. package/dist/src/actions/index.ts +5 -0
  24. package/dist/src/cards/CourseCard/CourseCard.module.scss +219 -0
  25. package/dist/src/cards/CourseCard/CourseCard.spec.js +60 -0
  26. package/dist/src/cards/CourseCard/CourseCard.tsx +145 -0
  27. package/dist/src/cards/CourseCard/index.ts +1 -0
  28. package/dist/src/cards/EpisodeCard/EpisodeCard.module.scss +69 -0
  29. package/dist/src/cards/EpisodeCard/EpisodeCard.tsx +53 -0
  30. package/dist/src/cards/EpisodeCard/index.ts +1 -0
  31. package/dist/src/cards/FeatureCard/FeatureCard.module.scss +116 -0
  32. package/dist/src/cards/FeatureCard/FeatureCard.spec.js +70 -0
  33. package/dist/src/cards/FeatureCard/FeatureCard.tsx +123 -0
  34. package/dist/src/cards/FeatureCard/index.ts +1 -0
  35. package/dist/src/cards/index.ts +3 -0
  36. package/dist/src/data/Bar/Bar.module.scss +105 -0
  37. package/dist/src/data/Bar/Bar.tsx +161 -0
  38. package/dist/src/data/Bar/index.ts +1 -0
  39. package/dist/src/data/Line/Line.module.scss +102 -0
  40. package/dist/src/data/Line/Line.tsx +162 -0
  41. package/dist/src/data/Line/index.ts +1 -0
  42. package/dist/src/data/Pie/Pie.module.scss +56 -0
  43. package/dist/src/data/Pie/Pie.spec.js +72 -0
  44. package/dist/src/data/Pie/Pie.tsx +111 -0
  45. package/dist/src/data/Pie/index.ts +1 -0
  46. package/dist/src/data/index.ts +3 -0
  47. package/dist/src/editor/Editor.module.scss +125 -0
  48. package/dist/src/editor/Editor.tsx +327 -0
  49. package/dist/src/editor/common/elements.ts +50 -0
  50. package/dist/src/editor/common/index.ts +2 -0
  51. package/dist/src/editor/common/marks.ts +27 -0
  52. package/dist/src/editor/components/MediaDrawer/MediaDrawer.module.scss +316 -0
  53. package/dist/src/editor/components/MediaDrawer/MediaDrawer.tsx +457 -0
  54. package/dist/src/editor/components/MediaDrawer/index.ts +1 -0
  55. package/dist/src/editor/components/index.ts +1 -0
  56. package/dist/src/editor/config/default.ts +213 -0
  57. package/dist/src/editor/config/index.ts +2 -0
  58. package/dist/src/editor/config/props.ts +9 -0
  59. package/dist/src/editor/index.ts +2 -0
  60. package/dist/src/editor/plateUI.ts +82 -0
  61. package/dist/src/editor/plugins/blocks.tsx +71 -0
  62. package/dist/src/editor/plugins/custom/assets/DefaultThumbnail.tsx +57 -0
  63. package/dist/src/editor/plugins/custom/assets/index.ts +1 -0
  64. package/dist/src/editor/plugins/custom/buttons.tsx +289 -0
  65. package/dist/src/editor/plugins/custom/example.tsx +64 -0
  66. package/dist/src/editor/plugins/custom/exitBreak.ts +41 -0
  67. package/dist/src/editor/plugins/custom/footnote.tsx +185 -0
  68. package/dist/src/editor/plugins/custom/index.ts +14 -0
  69. package/dist/src/editor/plugins/custom/paywall.tsx +156 -0
  70. package/dist/src/editor/plugins/custom/qa.tsx +390 -0
  71. package/dist/src/editor/plugins/custom/resetBlockType.ts +29 -0
  72. package/dist/src/editor/plugins/custom/selectOnBackspace.ts +7 -0
  73. package/dist/src/editor/plugins/custom/softBreak.ts +20 -0
  74. package/dist/src/editor/plugins/custom/styles/Button.module.scss +51 -0
  75. package/dist/src/editor/plugins/custom/styles/Footnote.module.scss +58 -0
  76. package/dist/src/editor/plugins/custom/styles/Paywall.module.scss +67 -0
  77. package/dist/src/editor/plugins/custom/styles/QA.module.scss +140 -0
  78. package/dist/src/editor/plugins/custom/styles/Video.module.scss +79 -0
  79. package/dist/src/editor/plugins/custom/video.tsx +163 -0
  80. package/dist/src/editor/plugins/index.ts +18 -0
  81. package/dist/src/editor/plugins/inline.ts +46 -0
  82. package/dist/src/editor/plugins/marks.ts +25 -0
  83. package/dist/src/editor/plugins/utils.ts +22 -0
  84. package/dist/src/feedback/Chip/Chip.module.scss +23 -0
  85. package/dist/src/feedback/Chip/Chip.tsx +58 -0
  86. package/dist/src/feedback/Chip/index.ts +1 -0
  87. package/dist/src/feedback/Loader/Loader.module.scss +18 -0
  88. package/dist/src/feedback/Loader/Loader.spec.js +18 -0
  89. package/dist/src/feedback/Loader/Loader.tsx +53 -0
  90. package/dist/src/feedback/Loader/index.ts +1 -0
  91. package/dist/src/feedback/ProgressBar/ProgressBar.module.scss +13 -0
  92. package/dist/src/feedback/ProgressBar/ProgressBar.tsx +32 -0
  93. package/dist/src/feedback/ProgressBar/index.ts +1 -0
  94. package/dist/src/feedback/Toast/Toast.module.scss +44 -0
  95. package/dist/src/feedback/Toast/Toast.tsx +76 -0
  96. package/dist/src/feedback/Toast/index.ts +1 -0
  97. package/dist/src/feedback/Tooltip/Tooltip.module.scss +47 -0
  98. package/dist/src/feedback/Tooltip/Tooltip.tsx +10 -0
  99. package/dist/src/feedback/Tooltip/index.ts +1 -0
  100. package/dist/src/feedback/index.ts +5 -0
  101. package/dist/src/global.d.ts +6 -0
  102. package/dist/src/iconography/Avatar/Avatar.module.scss +90 -0
  103. package/dist/src/iconography/Avatar/Avatar.spec.js +75 -0
  104. package/dist/src/iconography/Avatar/Avatar.tsx +96 -0
  105. package/dist/src/iconography/Avatar/DefaultIcon.svg +4 -0
  106. package/dist/src/iconography/Avatar/DefaultIcon.tsx +12 -0
  107. package/dist/src/iconography/Avatar/iconHelpers.tsx +186 -0
  108. package/dist/src/iconography/Avatar/index.ts +1 -0
  109. package/dist/src/iconography/ColoredIcon/ColoredIcon.module.scss +40 -0
  110. package/dist/src/iconography/ColoredIcon/ColoredIcon.tsx +30 -0
  111. package/dist/src/iconography/ColoredIcon/index.ts +5 -0
  112. package/dist/src/iconography/DevicePreview/DevicePreview.module.scss +143 -0
  113. package/dist/src/iconography/DevicePreview/DevicePreview.tsx +592 -0
  114. package/dist/src/iconography/DevicePreview/index.ts +1 -0
  115. package/dist/src/iconography/IconHeader/IconHeader.module.scss +42 -0
  116. package/dist/src/iconography/IconHeader/IconHeader.tsx +42 -0
  117. package/dist/src/iconography/IconHeader/index.ts +1 -0
  118. package/dist/src/iconography/StarRating/StarRating.tsx +99 -0
  119. package/dist/src/iconography/StarRating/index.ts +1 -0
  120. package/dist/src/iconography/index.ts +5 -0
  121. package/dist/src/implementations/BodyContent/BodyContent.module.scss +38 -0
  122. package/dist/src/implementations/BodyContent/BodyContent.tsx +78 -0
  123. package/dist/src/implementations/BodyContent/index.ts +2 -0
  124. package/dist/src/implementations/JoinGroupModal/JoinGroupModal.module.scss +83 -0
  125. package/dist/src/implementations/JoinGroupModal/JoinGroupModal.tsx +176 -0
  126. package/dist/src/implementations/JoinGroupModal/index.ts +1 -0
  127. package/dist/src/implementations/index.ts +2 -0
  128. package/dist/src/index.ts +149 -0
  129. package/dist/src/inputs/CalendarInput/CalendarInput.module.scss +38 -0
  130. package/dist/src/inputs/CalendarInput/CalendarInput.spec.js +19 -0
  131. package/dist/src/inputs/CalendarInput/CalendarInput.tsx +29 -0
  132. package/dist/src/inputs/CalendarInput/index.ts +1 -0
  133. package/dist/src/inputs/CheckboxInput/CheckboxInput.module.scss +23 -0
  134. package/dist/src/inputs/CheckboxInput/CheckboxInput.tsx +39 -0
  135. package/dist/src/inputs/CheckboxInput/index.ts +1 -0
  136. package/dist/src/inputs/FeedInput/FeedInput.module.scss +48 -0
  137. package/dist/src/inputs/FeedInput/FeedInput.spec.js +16 -0
  138. package/dist/src/inputs/FeedInput/FeedInput.tsx +197 -0
  139. package/dist/src/inputs/FeedInput/index.ts +1 -0
  140. package/dist/src/inputs/InboxInput/InboxInput.module.scss +48 -0
  141. package/dist/src/inputs/InboxInput/InboxInput.spec.js +19 -0
  142. package/dist/src/inputs/InboxInput/InboxInput.tsx +97 -0
  143. package/dist/src/inputs/InboxInput/index.ts +1 -0
  144. package/dist/src/inputs/PostInput/PostInput.module.scss +49 -0
  145. package/dist/src/inputs/PostInput/PostInput.spec.js +19 -0
  146. package/dist/src/inputs/PostInput/PostInput.tsx +54 -0
  147. package/dist/src/inputs/PostInput/index.ts +1 -0
  148. package/dist/src/inputs/RadioInput/RadioInput.module.scss +68 -0
  149. package/dist/src/inputs/RadioInput/RadioInput.tsx +55 -0
  150. package/dist/src/inputs/RadioInput/index.ts +1 -0
  151. package/dist/src/inputs/SearchInput/SearchInput.module.scss +40 -0
  152. package/dist/src/inputs/SearchInput/SearchInput.tsx +61 -0
  153. package/dist/src/inputs/SearchInput/index.ts +1 -0
  154. package/dist/src/inputs/SelectInput/SelectInput.module.scss +66 -0
  155. package/dist/src/inputs/SelectInput/SelectInput.tsx +145 -0
  156. package/dist/src/inputs/SelectInput/index.ts +1 -0
  157. package/dist/src/inputs/TagInput/TagInput.module.scss +75 -0
  158. package/dist/src/inputs/TagInput/TagInput.tsx +115 -0
  159. package/dist/src/inputs/TagInput/index.ts +1 -0
  160. package/dist/src/inputs/TextInput/TextInput.module.scss +35 -0
  161. package/dist/src/inputs/TextInput/TextInput.tsx +46 -0
  162. package/dist/src/inputs/TextInput/index.ts +1 -0
  163. package/dist/src/inputs/index.ts +10 -0
  164. package/dist/src/lists/ContactDetails/ContactDetails.module.scss +70 -0
  165. package/dist/src/lists/ContactDetails/ContactDetails.spec.js +69 -0
  166. package/dist/src/lists/ContactDetails/ContactDetails.tsx +185 -0
  167. package/dist/src/lists/ContactDetails/index.ts +1 -0
  168. package/dist/src/lists/index.ts +1 -0
  169. package/dist/src/navigation/Breadcrumbs/Breadcrumbs.module.scss +18 -0
  170. package/dist/src/navigation/Breadcrumbs/Breadcrumbs.spec.js +38 -0
  171. package/dist/src/navigation/Breadcrumbs/Breadcrumbs.tsx +43 -0
  172. package/dist/src/navigation/Breadcrumbs/index.ts +1 -0
  173. package/dist/src/navigation/Drawer/Drawer.module.scss +104 -0
  174. package/dist/src/navigation/Drawer/Drawer.tsx +177 -0
  175. package/dist/src/navigation/Drawer/index.ts +1 -0
  176. package/dist/src/navigation/EditorBar/EditorBar.module.scss +118 -0
  177. package/dist/src/navigation/EditorBar/EditorBar.tsx +416 -0
  178. package/dist/src/navigation/EditorBar/components/AlignmentDropdown/AlignmentDropdown.tsx +106 -0
  179. package/dist/src/navigation/EditorBar/components/AlignmentDropdown/index.ts +1 -0
  180. package/dist/src/navigation/EditorBar/components/ButtonModal/ButtonModal.module.scss +85 -0
  181. package/dist/src/navigation/EditorBar/components/ButtonModal/ButtonModal.tsx +314 -0
  182. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Comment.tsx +28 -0
  183. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/GiftSubscription.tsx +28 -0
  184. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Link.tsx +28 -0
  185. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Share.tsx +28 -0
  186. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/ShareCommunity.tsx +42 -0
  187. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Signup.tsx +68 -0
  188. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Special.tsx +24 -0
  189. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/Subscribe.tsx +28 -0
  190. package/dist/src/navigation/EditorBar/components/ButtonModal/assets/index.ts +8 -0
  191. package/dist/src/navigation/EditorBar/components/ButtonModal/index.ts +1 -0
  192. package/dist/src/navigation/EditorBar/components/FontDropdown/FontDropdown.module.scss +16 -0
  193. package/dist/src/navigation/EditorBar/components/FontDropdown/FontDropdown.tsx +137 -0
  194. package/dist/src/navigation/EditorBar/components/FontDropdown/index.ts +1 -0
  195. package/dist/src/navigation/EditorBar/components/MoreDropdown/MoreDropdown.module.scss +43 -0
  196. package/dist/src/navigation/EditorBar/components/MoreDropdown/MoreDropdown.tsx +124 -0
  197. package/dist/src/navigation/EditorBar/components/MoreDropdown/index.ts +1 -0
  198. package/dist/src/navigation/EditorBar/components/OutlineDropdown/OutlineDropdown.module.scss +21 -0
  199. package/dist/src/navigation/EditorBar/components/OutlineDropdown/OutlineDropdown.tsx +37 -0
  200. package/dist/src/navigation/EditorBar/components/OutlineDropdown/index.ts +1 -0
  201. package/dist/src/navigation/EditorBar/components/TextTypeDropdown/TextTypeDropdown.module.scss +51 -0
  202. package/dist/src/navigation/EditorBar/components/TextTypeDropdown/TextTypeDropdown.tsx +80 -0
  203. package/dist/src/navigation/EditorBar/components/TextTypeDropdown/index.ts +1 -0
  204. package/dist/src/navigation/EditorBar/components/VideoModal/VideoModal.module.scss +150 -0
  205. package/dist/src/navigation/EditorBar/components/VideoModal/VideoModal.tsx +163 -0
  206. package/dist/src/navigation/EditorBar/components/VideoModal/index.ts +1 -0
  207. package/dist/src/navigation/EditorBar/components/index.ts +7 -0
  208. package/dist/src/navigation/EditorBar/index.ts +1 -0
  209. package/dist/src/navigation/MenuTabs/MenuTabs.module.scss +34 -0
  210. package/dist/src/navigation/MenuTabs/MenuTabs.spec.js +36 -0
  211. package/dist/src/navigation/MenuTabs/MenuTabs.tsx +52 -0
  212. package/dist/src/navigation/MenuTabs/index.ts +1 -0
  213. package/dist/src/navigation/Navigation/Navigation.module.scss +92 -0
  214. package/dist/src/navigation/Navigation/Navigation.spec.js +144 -0
  215. package/dist/src/navigation/Navigation/Navigation.tsx +111 -0
  216. package/dist/src/navigation/Navigation/SubNavigation.module.scss +255 -0
  217. package/dist/src/navigation/Navigation/SubNavigation.spec.js +112 -0
  218. package/dist/src/navigation/Navigation/SubNavigation.tsx +443 -0
  219. package/dist/src/navigation/Navigation/index.ts +15 -0
  220. package/dist/src/navigation/Pagination/Pagination.module.scss +49 -0
  221. package/dist/src/navigation/Pagination/Pagination.tsx +115 -0
  222. package/dist/src/navigation/Pagination/index.ts +1 -0
  223. package/dist/src/navigation/index.ts +21 -0
  224. package/dist/src/surfaces/Comment/Comment.module.scss +106 -0
  225. package/dist/src/surfaces/Comment/Comment.spec.js +105 -0
  226. package/dist/src/surfaces/Comment/Comment.tsx +157 -0
  227. package/dist/src/surfaces/Comment/index.ts +1 -0
  228. package/dist/src/surfaces/Faq/Faq.module.scss +91 -0
  229. package/dist/src/surfaces/Faq/Faq.spec.js +38 -0
  230. package/dist/src/surfaces/Faq/Faq.tsx +156 -0
  231. package/dist/src/surfaces/Faq/index.ts +1 -0
  232. package/dist/src/surfaces/Message/Message.module.scss +37 -0
  233. package/dist/src/surfaces/Message/Message.spec.js +47 -0
  234. package/dist/src/surfaces/Message/Message.tsx +54 -0
  235. package/dist/src/surfaces/Message/index.ts +1 -0
  236. package/dist/src/surfaces/Modal/Modal.module.scss +52 -0
  237. package/dist/src/surfaces/Modal/Modal.spec.js +38 -0
  238. package/dist/src/surfaces/Modal/Modal.tsx +131 -0
  239. package/dist/src/surfaces/Modal/index.ts +5 -0
  240. package/dist/src/surfaces/Plan/Plan.module.scss +79 -0
  241. package/dist/src/surfaces/Plan/Plan.tsx +75 -0
  242. package/dist/src/surfaces/Plan/index.ts +1 -0
  243. package/dist/src/surfaces/Post/Post.module.scss +46 -0
  244. package/dist/src/surfaces/Post/Post.spec.js +103 -0
  245. package/dist/src/surfaces/Post/Post.tsx +185 -0
  246. package/dist/src/surfaces/Post/index.ts +1 -0
  247. package/dist/src/surfaces/Post/postHelpers.ts +20 -0
  248. package/dist/src/surfaces/ProfileHeader/ProfileHeader.module.scss +202 -0
  249. package/dist/src/surfaces/ProfileHeader/ProfileHeader.tsx +103 -0
  250. package/dist/src/surfaces/ProfileHeader/index.ts +1 -0
  251. package/dist/src/surfaces/RatingsOverview/RatingsOverview.module.scss +54 -0
  252. package/dist/src/surfaces/RatingsOverview/RatingsOverview.tsx +69 -0
  253. package/dist/src/surfaces/RatingsOverview/index.ts +1 -0
  254. package/dist/src/surfaces/Review/Review.module.scss +73 -0
  255. package/dist/src/surfaces/Review/Review.tsx +88 -0
  256. package/dist/src/surfaces/Review/index.ts +1 -0
  257. package/dist/src/surfaces/index.ts +9 -0
  258. package/dist/src/tables/Filter/Filter.module.scss +34 -0
  259. package/dist/src/tables/Filter/Filter.tsx +30 -0
  260. package/dist/src/tables/Filter/index.ts +1 -0
  261. package/dist/src/tables/Table/Table.module.scss +126 -0
  262. package/dist/src/tables/Table/Table.spec.js +113 -0
  263. package/dist/src/tables/Table/Table.tsx +251 -0
  264. package/dist/src/tables/Table/index.ts +7 -0
  265. package/dist/src/tables/index.ts +7 -0
  266. package/package.json +3 -2
  267. /package/dist/{design-system.js → index.js} +0 -0
@@ -0,0 +1,592 @@
1
+ import React from "react";
2
+ import styles from "./DevicePreview.module.scss";
3
+ import {
4
+ AA,
5
+ Battery,
6
+ ChevronLeft,
7
+ ChevronRight,
8
+ Lock,
9
+ NetworkConnectivity,
10
+ Plus,
11
+ Refresh,
12
+ ShareIOS,
13
+ Wifi,
14
+ } from "@soul-refiner/icons/src";
15
+
16
+ export interface DevicePreviewProps
17
+ extends Omit<
18
+ React.DetailedHTMLProps<
19
+ React.IframeHTMLAttributes<HTMLIFrameElement>,
20
+ HTMLIFrameElement
21
+ >,
22
+ "width" | "height"
23
+ > {
24
+ width: string;
25
+ height: string;
26
+ statusbar?: boolean;
27
+ statusbarTheme?: "light" | "dark";
28
+ type?: "phone" | "laptop";
29
+ urlbar?: boolean;
30
+ }
31
+
32
+ export const DevicePreview = ({
33
+ width = "100%",
34
+ height = "100%",
35
+ src,
36
+ statusbar = true,
37
+ statusbarTheme = "dark",
38
+ title,
39
+ type = "phone",
40
+ urlbar = true,
41
+ ...rest
42
+ }: DevicePreviewProps) => {
43
+ const intl = new Intl.DateTimeFormat(undefined, { timeStyle: "short" });
44
+ const [time, setTime] = React.useState(intl.format().replace(/ PM| AM/, ""));
45
+
46
+ const shortURL = src
47
+ ?.replace(/https:\/\/|http:\/\//, "")
48
+ .split("/")[0]
49
+ .replace("www.", "");
50
+
51
+ React.useEffect(() => {
52
+ const interval = setInterval(() => {
53
+ setTime(intl.format(new Date()).replace(/ PM| AM/, ""));
54
+ }, 60000);
55
+
56
+ return () => {
57
+ clearInterval(interval);
58
+ };
59
+ }, [time]);
60
+
61
+ if (type === "laptop") {
62
+ return (
63
+ <svg
64
+ className={styles.wrapper}
65
+ width="1826"
66
+ height="1023"
67
+ viewBox="0 0 1826 1023"
68
+ fill="none"
69
+ xmlns="http://www.w3.org/2000/svg"
70
+ >
71
+ <path
72
+ d="M0 996.992L1826 996.996C1826 996.996 1770.11 1022 1692.15 1022H183.095C66.8587 1022 12.5999 1005.33 0 996.992Z"
73
+ fill="url(#paint0_linear_7391_203621)"
74
+ />
75
+ <path
76
+ d="M218.969 3H1597.82C1627.39 3 1651.37 26.1491 1651.37 54.7074V957.86C1651.37 959.952 1650.51 961.959 1648.98 963.438C1647.45 964.917 1645.37 965.748 1643.2 965.748H173.587C171.42 965.748 169.342 964.917 167.811 963.438C166.279 961.959 165.418 959.952 165.418 957.86V54.7074C165.418 26.1491 189.394 3 218.969 3Z"
77
+ fill="#1C1C1C"
78
+ stroke="#4E5051"
79
+ strokeWidth="4.51282"
80
+ />
81
+ <path
82
+ d="M0.115234 964.633H1826V997.079H0.115234V964.633Z"
83
+ fill="url(#paint1_linear_7391_203621)"
84
+ />
85
+ <path
86
+ d="M765.213 964.773H1064.04V966.27C1064.04 978.855 1053.47 989.057 1040.44 989.057H788.812C775.78 989.057 765.213 978.855 765.213 966.27V964.773Z"
87
+ fill="url(#paint2_radial_7391_203621)"
88
+ />
89
+ <rect
90
+ x="188.121"
91
+ y="30.0859"
92
+ width="1440"
93
+ height="900"
94
+ rx="18.0513"
95
+ fill="url(#paint3_linear_7391_203621)"
96
+ />
97
+ <foreignObject x="188.12" y="27.09" width="1440" height="900">
98
+ {urlbar && (
99
+ <div className={`${styles.laptop} ${statusbarTheme}`}>
100
+ <div className="left">
101
+ <div />
102
+ <div />
103
+ <div />
104
+ <ChevronLeft
105
+ fill={statusbarTheme === "dark" ? "#B5B5B5" : "#000000"}
106
+ iconSize={16}
107
+ size={16}
108
+ />
109
+ <ChevronRight
110
+ fill={statusbarTheme === "dark" ? "#5D6D6D" : "#B5B5B5"}
111
+ iconSize={16}
112
+ size={16}
113
+ />
114
+ </div>
115
+ <div className="url">
116
+ <Lock
117
+ fill={statusbarTheme === "dark" ? "#B5B5B5" : "#000000"}
118
+ iconSize={12}
119
+ size={16}
120
+ />
121
+ <p>{shortURL}</p>
122
+ <Refresh
123
+ fill={statusbarTheme === "dark" ? "#B5B5B5" : "#000000"}
124
+ iconSize={12}
125
+ size={16}
126
+ />
127
+ </div>
128
+ <div className="right">
129
+ <ShareIOS
130
+ fill={statusbarTheme === "dark" ? "#B5B5B5" : "#000000"}
131
+ iconSize={16}
132
+ size={16}
133
+ />
134
+ <Plus
135
+ fill={statusbarTheme === "dark" ? "#B5B5B5" : "#000000"}
136
+ iconSize={16}
137
+ size={16}
138
+ />
139
+ </div>
140
+ </div>
141
+ )}
142
+ <iframe
143
+ className={styles.frame}
144
+ height={`${844 + (urlbar ? 0 : 56)}`}
145
+ src={src}
146
+ title={title}
147
+ width="1440"
148
+ {...rest}
149
+ />
150
+ </foreignObject>
151
+ <path
152
+ id="path4"
153
+ fill="#000000"
154
+ fillOpacity="1"
155
+ stroke="#000000"
156
+ strokeWidth="5"
157
+ d="M 226.6875 12.335938 C 198.6165 12.335938 175.85938 34.310662 175.85938 61.414062 L 175.85938 937.01953 L 1640.7109 937.01953 L 1640.7109 61.414062 C 1640.7109 34.308863 1617.9509 12.335938 1589.8809 12.335938 L 226.6875 12.335938 z M 206.17188 30.085938 L 1610.0703 30.085938 C 1620.0707 30.085938 1628.1211 38.136299 1628.1211 48.136719 L 1628.1211 912.03516 C 1628.1211 922.03558 1620.0707 930.08594 1610.0703 930.08594 L 206.17188 930.08594 C 196.17146 930.08594 188.12109 922.03558 188.12109 912.03516 L 188.12109 48.136719 C 188.12109 38.136299 196.17145 30.085937 206.17188 30.085938 z "
158
+ />
159
+ <defs>
160
+ <linearGradient
161
+ id="paint0_linear_7391_203621"
162
+ x1="912.816"
163
+ y1="996.992"
164
+ x2="912.816"
165
+ y2="1022"
166
+ gradientUnits="userSpaceOnUse"
167
+ >
168
+ <stop stopColor="#373A3C" />
169
+ <stop offset="1" stopColor="#090B0C" />
170
+ </linearGradient>
171
+ <linearGradient
172
+ id="paint1_linear_7391_203621"
173
+ x1="0.520043"
174
+ y1="984.268"
175
+ x2="1826.03"
176
+ y2="982.51"
177
+ gradientUnits="userSpaceOnUse"
178
+ >
179
+ <stop stopColor="#121517" />
180
+ <stop offset="0.009" stopColor="#6E7173" />
181
+ <stop offset="0.019" stopColor="#4E5153" />
182
+ <stop offset="0.027" stopColor="#232628" />
183
+ <stop offset="0.041" stopColor="#3F4244" />
184
+ <stop offset="0.113" stopColor="#75787A" />
185
+ <stop offset="0.908" stopColor="#6F7274" />
186
+ <stop offset="0.952" stopColor="#434648" />
187
+ <stop offset="0.976" stopColor="#232628" />
188
+ <stop offset="0.99" stopColor="#6F7274" />
189
+ <stop offset="1" stopColor="#141719" />
190
+ </linearGradient>
191
+ <radialGradient
192
+ id="paint2_radial_7391_203621"
193
+ cx="0"
194
+ cy="0"
195
+ r="1"
196
+ gradientUnits="userSpaceOnUse"
197
+ gradientTransform="translate(914.313 980.99) rotate(90) scale(23.4488 196.688)"
198
+ >
199
+ <stop stopColor="#747779" />
200
+ <stop offset="0.578" stopColor="#56595B" />
201
+ <stop offset="1" />
202
+ </radialGradient>
203
+ <linearGradient
204
+ id="paint3_linear_7391_203621"
205
+ x1="1480.49"
206
+ y1="30.0859"
207
+ x2="1480.1"
208
+ y2="1223.25"
209
+ gradientUnits="userSpaceOnUse"
210
+ >
211
+ <stop stopColor="#464646" />
212
+ <stop offset="1" stopColor="#444444" stopOpacity="0" />
213
+ </linearGradient>
214
+ </defs>
215
+ </svg>
216
+ );
217
+ }
218
+
219
+ return (
220
+ <svg
221
+ width={width}
222
+ height={height}
223
+ fill="none"
224
+ xmlns="http://www.w3.org/2000/svg"
225
+ viewBox="0 0 449 898"
226
+ >
227
+ <path
228
+ d="M446.161 207.422c.615 0 1.844.621 1.844 1.863v98.743c0 1.242-1.229 1.863-1.844 1.863h-16.592c-.287.103-.594.132-.895.086a1.8327 1.8327 0 0 1-.829-.351 1.856 1.856 0 0 1-.566-.706 1.8752 1.8752 0 0 1-.168-.892v-98.743c0-1.242 1.229-1.863 2.458-1.863h16.592Z"
229
+ fill="#000"
230
+ />
231
+ <path
232
+ d="M445.544 209.277c1.229 0 1.844.621 1.844 1.863v95.017c0 1.242-.615 1.863-1.844 1.863h-.614v-99.364l.614.621Z"
233
+ fill="url(#a)"
234
+ />
235
+ <path
236
+ d="M1.8436 122.969c-1.229 0-1.8436 0-1.8436 1.242v27.325c0 1.242.6145 2.484 1.8436 2.484h.6146v-31.051h-.6146Z"
237
+ fill="url(#b)"
238
+ />
239
+ <path
240
+ d="M1.8436 187.539C.6146 187.539 0 188.781 0 189.402v57.755c0 1.242.6145 1.863 1.8436 1.863h.6146v-61.481h-.6146Z"
241
+ fill="url(#c)"
242
+ />
243
+ <path
244
+ d="M1.8436 269.523C.6146 269.523 0 270.766 0 271.387v57.755c0 1.242.6145 1.863 1.8436 1.863h.6146v-61.482h-.6146Z"
245
+ fill="url(#d)"
246
+ />
247
+ <foreignObject x="28.88" y="26.71" width="390" height="844">
248
+ {statusbar && (
249
+ <div className={`${styles.statusbar} ${statusbarTheme}`}>
250
+ <p>{time}</p>
251
+ <div>
252
+ <NetworkConnectivity
253
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
254
+ iconSize={17}
255
+ size={16}
256
+ />
257
+ <Wifi
258
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
259
+ iconSize={17}
260
+ size={16}
261
+ />
262
+ <Battery
263
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
264
+ iconSize={17}
265
+ size={16}
266
+ />
267
+ </div>
268
+ </div>
269
+ )}
270
+ {urlbar && (
271
+ <div className={`${styles.urlbar} ${statusbarTheme}`}>
272
+ <div>
273
+ <AA
274
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
275
+ iconSize={19}
276
+ size={19}
277
+ />
278
+ <div>
279
+ <Lock
280
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
281
+ iconSize={16}
282
+ size={19}
283
+ />
284
+ <p>{shortURL}</p>
285
+ </div>
286
+ <Refresh
287
+ fill={statusbarTheme === "dark" ? "#FFFFFF" : "#000000"}
288
+ iconSize={19}
289
+ size={19}
290
+ />
291
+ </div>
292
+ </div>
293
+ )}
294
+ <iframe
295
+ className={`${styles.frame}`}
296
+ height={`${745 + (statusbar ? 0 : 47) + (urlbar ? 0 : 53)}`}
297
+ src={src}
298
+ title={title}
299
+ width="390"
300
+ {...rest}
301
+ />
302
+ </foreignObject>
303
+ <path
304
+ fill="#000"
305
+ fillRule="evenodd"
306
+ strokeWidth="0.861132"
307
+ strokeLinecap="round"
308
+ paintOrder="stroke fill markers"
309
+ strokeLinejoin="bevel"
310
+ d="m 28.88,26.71 v 844.52735 h 389.78125 v -31.8711 c -4.07794,17.92257 -19.85219,31.25196 -38.88672,31.25196 H 69.743281 c -21.5299,0 -39.984375,-17.99689 -39.984375,-40.33789 V 66.335 C 29.92043,55.7445 34.203617,45.643154 41.684688,38.211954 48.941767,31.00328 58.655611,26.950024 68.813594,26.71 Z m 80.66016,0 c 1.45902,0.127502 2.84718,0.707308 3.8789,1.769531 0.6865,0.51217 1.2599,1.16421 1.6836,1.91211 0.4236,0.7479 0.68649,1.57492 0.77539,2.43164 v 3.103516 c 0,12.4117 9.22815,21.720703 21.53125,21.720703 h 174.69922 c 12.303,0 21.53125,-9.309003 21.53125,-21.720703 v -2.482422 c 0.089,-0.85673 0.35239,-1.685694 0.77539,-2.433594 0.424,-0.7479 0.99854,-1.397986 1.68554,-1.910156 1.135,-1.16928 2.68169,-1.838018 4.30469,-1.861328 h 39.36914 c 18.54129,0 34.72971,12.918741 38.88672,30.765625 V 26.71 Z"
311
+ />
312
+ <path
313
+ fill="#000000"
314
+ fillOpacity="1"
315
+ d="M 67.039062 0.91992188 C 30.166663 0.91992188 1.2832031 30.107647 1.2832031 66.748047 L 1.2832031 833.0918 C 1.2832031 869.7328 30.781263 898.91992 67.039062 898.91992 L 200.39453 898.91992 L 202.85352 895.19336 L 243.41211 895.19336 L 245.87109 898.91992 L 379.83984 898.91992 C 416.71285 898.91992 445.5957 869.7328 445.5957 833.0918 L 445.5957 66.748047 C 445.5957 29.486647 416.09785 0.91992188 379.83984 0.91992188 L 67.039062 0.91992188 z M 219.81055 26.685547 C 222.75156 26.68866 226.17663 26.706274 229.15234 26.710938 L 418.66211 26.710938 L 418.66211 58.005859 C 418.60237 57.749383 418.51585 57.504417 418.45117 57.25 L 418.45117 840.05469 C 418.50899 839.81998 418.60834 839.60352 418.66211 839.36719 L 418.66211 871.23828 L 28.880859 871.23828 L 28.880859 26.710938 L 68.814453 26.710938 C 68.213615 26.725135 67.636376 26.879178 67.039062 26.919922 L 288.07031 26.919922 C 266.67959 26.809992 247.04248 26.738973 229.15234 26.710938 L 109.54102 26.710938 C 153.65575 26.710938 185.87239 26.649621 219.81055 26.685547 z M 288.07031 26.919922 C 304.17936 27.002708 320.39718 27.088946 340.40625 27.240234 L 379.77539 27.240234 C 398.05022 27.240234 414.01504 39.800828 418.45117 57.25 L 418.45117 26.919922 L 288.07031 26.919922 z M 67.039062 26.919922 L 29.089844 26.919922 L 29.089844 870.73438 L 418.45117 870.73438 L 418.45117 840.05469 C 414.67218 855.39491 402.33233 867.25554 386.74414 870.00977 C 384.48318 870.40925 382.15471 870.61914 379.77539 870.61914 L 69.744141 870.61914 C 67.052903 870.61914 64.408844 870.33652 61.84375 869.80078 C 43.888097 866.05062 29.759766 849.82963 29.759766 830.28125 L 29.759766 66.335938 C 29.92129 55.745438 34.204476 45.644091 41.685547 38.212891 C 48.513375 31.430605 57.537976 27.568001 67.039062 26.919922 z "
316
+ />
317
+
318
+ <path d="M3.0723 91.9212H8.603v-6.2103H3.0723v6.2103Z" fill="#7D7E7F" />
319
+ <path d="M3.0723 806.099H8.603V91.9219H3.0723V806.099Z" fill="#707375" />
320
+ <path d="M3.0723 812.288H8.603v-6.21H3.0723v6.21Z" fill="#7D7E7F" />
321
+ <path
322
+ d="M444.312 812.305h-5.531v19.872c0 33.536-26.425 60.24-59.61 60.24H68.2136c-15.8097 0-30.9719-6.347-42.151-17.644-11.1791-11.297-17.4595-26.619-17.4595-42.596v-19.872H3.0723v18.63c0 36.641 30.1124 66.45 66.9849 66.45H377.327c36.873 0 66.985-29.809 66.985-67.071v-18.009Z"
323
+ fill="#707375"
324
+ />
325
+ <path d="M444.314 806.078h-5.531v6.21h5.531v-6.21Z" fill="#7D7E7F" />
326
+ <path d="M444.314 91.9219h-5.531V806.099h5.531V91.9219Z" fill="#707375" />
327
+ <path d="M444.314 85.7109h-5.531v6.2103h5.531v-6.2103Z" fill="#7D7E7F" />
328
+ <path
329
+ d="M70.0572 1.8632c-36.8725 0-66.985 29.8091-66.985 66.4495v18.0097h5.531V66.4497c0-32.9143 26.4252-59.6183 59.6104-59.6183H379.171c33.185 0 59.61 26.704 59.61 59.6183v19.2517h5.531V67.6917c0-37.2614-30.112-66.4495-66.985-66.4495H70.0572v.621Z"
330
+ fill="#707375"
331
+ />
332
+ <path
333
+ d="M404.981 17.3906c-1.843 0-1.229 1.8631 1.844 4.9682 11.062 9.9364 17.822 24.841 17.822 40.9876V835.279c0 16.146-6.146 31.051-17.822 40.987-3.073 3.105-3.687 4.347-2.458 4.347l4.916-2.484c15.978-8.073 25.196-26.704 25.196-45.956V65.8305c0-18.6307-9.218-37.2615-24.581-45.9558l-5.531-1.8631.614-.621Z"
334
+ fill="url(#e)"
335
+ />
336
+ <path
337
+ d="M42.398 17.3906c1.8436 0 1.2291 1.8631-1.8436 4.9682-5.6353 5.1979-10.1321 11.5298-13.2013 18.5887-3.0693 7.0589-4.6431 14.6886-4.6204 22.3989V835.279c0 16.146 6.1454 31.051 17.8217 40.987 3.0727 3.105 3.6872 4.347 2.4582 4.347l-4.9164-2.484c-7.8914-4.673-14.394-11.405-18.8269-19.49-4.4328-8.085-6.6327-17.226-6.3692-26.466V65.8305c0-18.6307 9.2181-37.2615 24.5816-45.9558l5.5309-1.8631-.6146-.621Z"
338
+ fill="url(#f)"
339
+ />
340
+ <path
341
+ d="M247.658 32.9141h-46.705c-1.844 0-3.687 1.863-3.687 3.7261 0 1.8631 1.843 3.1051 3.687 3.1051h46.705c1.844 0 3.073-1.242 3.073-3.1051 0-1.8631-1.229-3.7261-3.073-3.7261Z"
342
+ fill="#1E1E1E"
343
+ />
344
+ <path
345
+ d="M272.245 42.233c3.687 0 6.145-2.4841 6.145-6.2103 0-3.7261-2.458-6.2102-6.145-6.2102-1.63 0-3.193.6543-4.345 1.8189-1.153 1.1647-1.8 2.7443-1.8 4.3913 0 3.7262 2.458 6.2103 6.145 6.2103Z"
346
+ fill="#2B2B2B"
347
+ />
348
+ <path
349
+ d="M272.243 40.9911c2.458 0 4.916-2.4841 4.916-4.9682 0-3.1051-2.458-4.9682-4.916-4.9682-3.073 0-4.917 1.8631-4.917 4.9682 0 2.4841 1.844 4.9682 4.917 4.9682Z"
350
+ fill="#0A0D13"
351
+ />
352
+ <path
353
+ d="M188.661 36.025c0 1.863 0 3.1051-1.229 3.7261a4.9068 4.9068 0 0 1-2.46 1.5275 4.8666 4.8666 0 0 1-2.884-.1313 4.9196 4.9196 0 0 1-2.314-1.7448 5.002 5.002 0 0 1-.946-2.7565l1.844-3.7262a4.89 4.89 0 0 1 2.478-1.055 4.8722 4.8722 0 0 1 2.657.4206c.83.387 1.536 1 2.04 1.7703.504.7702.786 1.6672.814 2.5903h-4.917 4.917v-.621Z"
354
+ fill="#0F0F0F"
355
+ />
356
+ <path
357
+ d="M160.399 36.6288c0 1.8631 0 3.7262-1.843 4.9682a7.384 7.384 0 0 1-2.396 1.6221 7.3036 7.3036 0 0 1-5.656 0 7.3733 7.3733 0 0 1-2.396-1.6221c-1.209-1.3663-1.878-3.1351-1.878-4.9682 0-1.8331.669-3.6019 1.878-4.9682a7.3749 7.3749 0 0 1 2.396-1.6221 7.3053 7.3053 0 0 1 5.656 0c.896.3761 1.71.9274 2.396 1.6221 1.229 1.2421 1.843 3.1051 1.843 4.9682h-7.374 7.374Z"
358
+ fill="#101010"
359
+ />
360
+ <path
361
+ d="M68.2186 11.1785c-10.3878-.1619-20.6107 2.636-29.4979 8.0733v7.4523c8.3149-5.8397 18.1458-9.0792 28.2689-9.3153H381.02c10.447 0 20.28 3.1051 28.269 8.6943v-6.8313c-8.888-5.4373-19.111-8.2352-29.498-8.0733H68.2186Z"
362
+ fill="url(#g)"
363
+ />
364
+ <path
365
+ d="M68.2186 886.83c-10.4479-.024-20.6752-3.039-29.4979-8.694v-6.831c7.989 4.968 18.4362 8.073 28.2689 8.073H381.02c10.447 0 20.28-3.105 28.269-8.073v6.831c-8.823 5.655-19.05 8.67-29.498 8.694H68.2186Z"
366
+ fill="url(#h)"
367
+ />
368
+ <path
369
+ d="M312.189 36.0197c0 2.4841-1.23 4.9682-3.073 6.8313-1.928 1.7893-4.45 2.7822-7.067 2.7822-2.618 0-5.14-.9929-7.068-2.7822-1.728-1.8454-2.692-4.2901-2.692-6.8313s.964-4.9859 2.692-6.8313c1.928-1.7893 4.45-2.7821 7.068-2.7822 2.617.0001 5.139.9929 7.067 2.7822 1.843 1.2421 3.073 3.7262 3.073 6.2103h-9.833 9.833v.621Z"
370
+ fill="#0F0F0F"
371
+ />
372
+ <path
373
+ d="M275.009 40.0834c-2.282 0-4.132-1.8497-4.132-4.1315s1.85-4.1316 4.132-4.1316c2.281 0 4.131 1.8498 4.131 4.1316 0 2.2818-1.85 4.1315-4.131 4.1315Z"
374
+ fill="url(#j)"
375
+ />
376
+ <ellipse
377
+ rx=".8942"
378
+ ry=".682"
379
+ transform="matrix(-1 0 0 1 275.117 34.1117)"
380
+ fill="url(#k)"
381
+ />
382
+ <ellipse
383
+ rx=".8942"
384
+ ry=".682"
385
+ transform="scale(-1 1) rotate(-41.683 -94.0504 380.4576)"
386
+ fill="url(#l)"
387
+ />
388
+ <ellipse
389
+ rx="1.3641"
390
+ ry=".3789"
391
+ transform="matrix(-1 0 0 1 275.07 38.4961)"
392
+ fill="url(#m)"
393
+ />
394
+ <ellipse
395
+ rx="1.1064"
396
+ ry=".3734"
397
+ transform="matrix(-1 0 0 1 275.064 39.2719)"
398
+ fill="url(#n)"
399
+ />
400
+ <ellipse
401
+ rx=".9397"
402
+ ry=".5001"
403
+ transform="matrix(-1 0 0 1 275.168 32.8751)"
404
+ fill="url(#o)"
405
+ />
406
+ <defs>
407
+ <linearGradient
408
+ id="a"
409
+ x1="444.93"
410
+ y1="209.277"
411
+ x2="444.93"
412
+ y2="308.02"
413
+ gradientUnits="userSpaceOnUse"
414
+ >
415
+ <stop stopColor="#CBCBCB" />
416
+ <stop offset="1" stopColor="#CBCBCB" stopOpacity=".3" />
417
+ </linearGradient>
418
+ <linearGradient
419
+ id="b"
420
+ x1="2.4582"
421
+ y1="122.348"
422
+ x2="2.4582"
423
+ y2="154.02"
424
+ gradientUnits="userSpaceOnUse"
425
+ >
426
+ <stop stopColor="#CBCBCB" stopOpacity=".3" />
427
+ <stop offset=".1" stopColor="#CBCBCB" />
428
+ <stop offset=".9" stopColor="#CBCBCB" />
429
+ <stop offset="1" stopColor="#CBCBCB" stopOpacity=".3" />
430
+ </linearGradient>
431
+ <linearGradient
432
+ id="c"
433
+ x1="2.4582"
434
+ y1="187.539"
435
+ x2="2.4582"
436
+ y2="249.02"
437
+ gradientUnits="userSpaceOnUse"
438
+ >
439
+ <stop stopColor="#CBCBCB" stopOpacity=".3" />
440
+ <stop offset=".1" stopColor="#CBCBCB" />
441
+ <stop offset=".9" stopColor="#CBCBCB" />
442
+ <stop offset="1" stopColor="#CBCBCB" stopOpacity=".3" />
443
+ </linearGradient>
444
+ <linearGradient
445
+ id="d"
446
+ x1="2.4582"
447
+ y1="269.523"
448
+ x2="2.4582"
449
+ y2="331.005"
450
+ gradientUnits="userSpaceOnUse"
451
+ >
452
+ <stop stopColor="#CBCBCB" stopOpacity=".3" />
453
+ <stop offset=".1" stopColor="#CBCBCB" />
454
+ <stop offset=".9" stopColor="#CBCBCB" />
455
+ <stop offset="1" stopColor="#CBCBCB" stopOpacity=".3" />
456
+ </linearGradient>
457
+ <linearGradient
458
+ id="e"
459
+ x1="423.418"
460
+ y1="449.002"
461
+ x2="434.479"
462
+ y2="449.002"
463
+ gradientUnits="userSpaceOnUse"
464
+ >
465
+ <stop stopColor="#404040" />
466
+ <stop offset=".6" stopColor="#838383" />
467
+ <stop offset="1" stopColor="#A7A7A7" />
468
+ </linearGradient>
469
+ <linearGradient
470
+ id="f"
471
+ x1="23.9618"
472
+ y1="449.002"
473
+ x2="12.9001"
474
+ y2="449.002"
475
+ gradientUnits="userSpaceOnUse"
476
+ >
477
+ <stop stopColor="#404040" />
478
+ <stop offset=".6" stopColor="#838383" />
479
+ <stop offset="1" stopColor="#A7A7A7" />
480
+ </linearGradient>
481
+ <linearGradient
482
+ id="g"
483
+ x1="38.7207"
484
+ y1="26.7041"
485
+ x2="409.289"
486
+ y2="26.7041"
487
+ gradientUnits="userSpaceOnUse"
488
+ >
489
+ <stop stopColor="#4F4F4F" stopOpacity=".1" />
490
+ <stop offset=".1" stopColor="#4F4F4F" />
491
+ <stop offset=".9" stopColor="#4F4F4F" />
492
+ <stop offset="1" stopColor="#4F4F4F" stopOpacity="0" />
493
+ </linearGradient>
494
+ <linearGradient
495
+ id="h"
496
+ x1="38.7207"
497
+ y1="871.305"
498
+ x2="409.289"
499
+ y2="871.305"
500
+ gradientUnits="userSpaceOnUse"
501
+ >
502
+ <stop stopColor="#4F4F4F" stopOpacity=".1" />
503
+ <stop offset=".1" stopColor="#4F4F4F" />
504
+ <stop offset=".9" stopColor="#4F4F4F" />
505
+ <stop offset="1" stopColor="#4F4F4F" stopOpacity="0" />
506
+ </linearGradient>
507
+ <linearGradient
508
+ id="i"
509
+ x1="378.895"
510
+ y1="26.7109"
511
+ x2="377.642"
512
+ y2="1145.63"
513
+ gradientUnits="userSpaceOnUse"
514
+ >
515
+ <stop stopColor="#464646" />
516
+ <stop offset="1" stopColor="#444" stopOpacity="0" />
517
+ </linearGradient>
518
+ <radialGradient
519
+ id="j"
520
+ cx="0"
521
+ cy="0"
522
+ r="1"
523
+ gradientUnits="userSpaceOnUse"
524
+ gradientTransform="rotate(180 137.5045 17.976) scale(4.13157)"
525
+ >
526
+ <stop stopColor="#131313" />
527
+ <stop offset=".2813" stopColor="#131313" />
528
+ <stop offset=".4271" stopColor="#0A2C3E" />
529
+ <stop offset=".5504" stopColor="#05283C" />
530
+ <stop offset=".6977" stopColor="#03304F" />
531
+ <stop offset=".8372" stopColor="#07172E" />
532
+ <stop offset="1" stopColor="#0B3D7B" />
533
+ </radialGradient>
534
+ <radialGradient
535
+ id="k"
536
+ cx="0"
537
+ cy="0"
538
+ r="1"
539
+ gradientUnits="userSpaceOnUse"
540
+ gradientTransform="matrix(0 .68202 -.89422 0 .8942 .682)"
541
+ >
542
+ <stop stopColor="#A7C1FA" />
543
+ <stop offset="1" stopColor="#A7C1FA" stopOpacity=".33" />
544
+ </radialGradient>
545
+ <radialGradient
546
+ id="l"
547
+ cx="0"
548
+ cy="0"
549
+ r="1"
550
+ gradientUnits="userSpaceOnUse"
551
+ gradientTransform="matrix(0 .68202 -.89422 0 .8942 .682)"
552
+ >
553
+ <stop stopColor="#5931C5" />
554
+ <stop offset="1" stopColor="#40229C" stopOpacity=".57" />
555
+ </radialGradient>
556
+ <radialGradient
557
+ id="m"
558
+ cx="0"
559
+ cy="0"
560
+ r="1"
561
+ gradientUnits="userSpaceOnUse"
562
+ gradientTransform="matrix(0 .3789 -1.36407 0 1.364 .3789)"
563
+ >
564
+ <stop stopColor="#A7C1FA" />
565
+ <stop offset="1" stopColor="#A7C1FA" stopOpacity=".33" />
566
+ </radialGradient>
567
+ <radialGradient
568
+ id="n"
569
+ cx="0"
570
+ cy="0"
571
+ r="1"
572
+ gradientUnits="userSpaceOnUse"
573
+ gradientTransform="matrix(0 .37342 -1.1064 0 1.1064 .3734)"
574
+ >
575
+ <stop stopColor="#A7C1FA" stopOpacity=".58" />
576
+ <stop offset="1" stopColor="#A7C1FA" stopOpacity=".14" />
577
+ </radialGradient>
578
+ <radialGradient
579
+ id="o"
580
+ cx="0"
581
+ cy="0"
582
+ r="1"
583
+ gradientUnits="userSpaceOnUse"
584
+ gradientTransform="matrix(0 .50015 -.93969 0 .9397 .5001)"
585
+ >
586
+ <stop stopColor="#87C7B9" />
587
+ <stop offset="1" stopColor="#90A1BB" stopOpacity=".49" />
588
+ </radialGradient>
589
+ </defs>
590
+ </svg>
591
+ );
592
+ };
@@ -0,0 +1 @@
1
+ export { DevicePreview, type DevicePreviewProps } from "./DevicePreview";
@@ -0,0 +1,42 @@
1
+ .iconHeader {
2
+ display: flex;
3
+ flex-direction: row;
4
+ gap: 16px;
5
+ place-items: center;
6
+ color: var(--icon-header-color);
7
+
8
+ &#{&} {
9
+ h1,
10
+ h2,
11
+ h3,
12
+ h4,
13
+ h5,
14
+ h6 {
15
+ color: var(--icon-header-color);
16
+ line-height: normal;
17
+ }
18
+ }
19
+ span {
20
+ color: var(--color-grey-3);
21
+ }
22
+
23
+ .iconContainer {
24
+ border-radius: var(--border-radius-small);
25
+ height: 48px;
26
+ width: 48px;
27
+ aspect-ratio: 1;
28
+ background-color: var(--icon-header-bg-color);
29
+ place-content: center;
30
+ place-items: center;
31
+ display: flex;
32
+
33
+ svg {
34
+ fill: currentColor;
35
+ color: var(--icon-header-color);
36
+
37
+ path {
38
+ color: var(--icon-header-color);
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { Component } from "@soul-refiner/utils/src";
3
+ import headerStyles from "./IconHeader.module.scss";
4
+
5
+ export interface IconHeaderProps {
6
+ color: "turquoise" | "green" | "blue" | "purple" | "orange" | "red" | "grey";
7
+ className?: string;
8
+ icon: React.ReactNode;
9
+ title?: React.ReactNode;
10
+ subtitle?: React.ReactNode;
11
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
12
+ }
13
+
14
+ export const IconHeader = ({
15
+ color,
16
+ className,
17
+ icon,
18
+ title,
19
+ subtitle,
20
+ as = "h4",
21
+ }: IconHeaderProps) => {
22
+ return (
23
+ <div
24
+ className={`${headerStyles.iconHeader} ${
25
+ className ? className : ""
26
+ } icon-header`}
27
+ style={
28
+ {
29
+ "--icon-header-color": `var(--color-${color}-4)`,
30
+ "--icon-header-bg-color": `var(--color-${color}-8)`,
31
+ } as React.CSSProperties
32
+ }
33
+ >
34
+ <div className={`${headerStyles.iconContainer}`}>{icon}</div>
35
+
36
+ <div className={headerStyles.titles}>
37
+ <Component as={as}>{title}</Component>
38
+ {subtitle && <span>{subtitle}</span>}
39
+ </div>
40
+ </div>
41
+ );
42
+ };
@@ -0,0 +1 @@
1
+ export { IconHeader, type IconHeaderProps } from "./IconHeader";