@clickhouse/click-ui 0.0.1 → 0.0.2

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 (236) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/.prettierrc +14 -0
  3. package/.storybook/main.ts +1 -0
  4. package/.storybook/manager.ts +11 -0
  5. package/.storybook/preview-head.html +2 -4
  6. package/.storybook/preview.tsx +13 -4
  7. package/.storybook/theme.ts +16 -0
  8. package/build-tokens.js +6 -6
  9. package/package.json +23 -5
  10. package/public/favicon.ico +0 -0
  11. package/public/logo.svg +17 -0
  12. package/src/App.tsx +102 -39
  13. package/src/components/Accordion/Accordion.stories.tsx +4 -54
  14. package/src/components/Accordion/Accordion.tsx +1 -0
  15. package/src/components/Alert/Alert.stories.tsx +14 -0
  16. package/src/components/Alert/Alert.test.tsx +27 -0
  17. package/src/components/Alert/Alert.tsx +130 -0
  18. package/src/components/Avatar/Avatar.stories.tsx +13 -0
  19. package/src/components/Avatar/Avatar.tsx +64 -0
  20. package/src/components/Badge/Badge.stories.ts +19 -3
  21. package/src/components/Badge/Badge.test.tsx +6 -1
  22. package/src/components/Badge/Badge.tsx +67 -13
  23. package/src/components/BigStat/BigStat.stories.ts +10 -5
  24. package/src/components/BigStat/BigStat.tsx +36 -24
  25. package/src/components/Button/Button.stories.ts +12 -68
  26. package/src/components/Button/Button.test.tsx +2 -2
  27. package/src/components/Button/Button.tsx +59 -41
  28. package/src/components/ButtonGroup/ButtonGroup.stories.ts +3 -3
  29. package/src/components/Card/Card.stories.ts +3 -3
  30. package/src/components/Checkbox/Checkbox.stories.tsx +35 -0
  31. package/src/components/Checkbox/Checkbox.test.tsx +41 -0
  32. package/src/components/Checkbox/Checkbox.tsx +89 -0
  33. package/src/components/ContextMenu/ContextMenu.stories.tsx +73 -0
  34. package/src/components/ContextMenu/ContextMenu.test.tsx +152 -0
  35. package/src/components/ContextMenu/ContextMenu.tsx +155 -0
  36. package/src/components/Dropdown/Dropdown.stories.tsx +64 -0
  37. package/src/components/Dropdown/Dropdown.test.tsx +141 -0
  38. package/src/components/Dropdown/Dropdown.tsx +149 -0
  39. package/src/components/FormField/Label.stories.tsx +39 -0
  40. package/src/components/FormField/Label.tsx +47 -0
  41. package/src/components/FormField/Select.stories.tsx +48 -0
  42. package/src/components/FormField/Select.test.tsx +216 -0
  43. package/src/components/FormField/Select.tsx +574 -0
  44. package/src/components/FormField/SelectContext.tsx +101 -0
  45. package/src/components/FormField/commonElement.tsx +42 -0
  46. package/src/components/GenericMenu.tsx +114 -0
  47. package/src/components/HoverCard/HoverCard.stories.tsx +64 -0
  48. package/src/components/HoverCard/HoverCard.test.tsx +85 -0
  49. package/src/components/HoverCard/HoverCard.tsx +65 -0
  50. package/src/components/Icon/Icon.stories.ts +4 -35
  51. package/src/components/Icon/Icon.tsx +166 -18
  52. package/src/components/Icon/types.ts +78 -1
  53. package/src/components/IconButton/IconButton.stories.ts +25 -7
  54. package/src/components/IconButton/IconButton.test.tsx +32 -0
  55. package/src/components/IconButton/IconButton.tsx +60 -71
  56. package/src/components/Panel/Panel.stories.tsx +25 -0
  57. package/src/components/Panel/Panel.tsx +33 -0
  58. package/src/components/Popover/Popover.stories.tsx +67 -0
  59. package/src/components/Popover/Popover.test.tsx +46 -0
  60. package/src/components/Popover/Popover.tsx +115 -0
  61. package/src/components/RadioGroup/RadioGroup.stories.tsx +43 -0
  62. package/src/components/RadioGroup/RadioGroup.test.tsx +59 -0
  63. package/src/components/RadioGroup/RadioGroup.tsx +149 -0
  64. package/src/components/Separator/Separator.stories.tsx +24 -0
  65. package/src/components/Separator/Separator.tsx +29 -0
  66. package/src/components/SidebarNavigationItem/SidebarNavigationItem.stories.tsx +2 -2
  67. package/src/components/Spacer/Spacer.stories.tsx +20 -0
  68. package/src/components/Spacer/Spacer.tsx +15 -0
  69. package/src/components/Switch/Switch.stories.ts +3 -3
  70. package/src/components/Switch/Switch.tsx +3 -2
  71. package/src/components/Table/Table.stories.tsx +29 -0
  72. package/src/components/Table/Table.tsx +109 -0
  73. package/src/components/Tabs/Tabs.stories.tsx +2 -37
  74. package/src/components/Tooltip/Tooltip.stories.tsx +68 -0
  75. package/src/components/Tooltip/Tooltip.test.tsx +44 -0
  76. package/src/components/Tooltip/Tooltip.tsx +67 -0
  77. package/src/components/Typography/Text/Text.stories.tsx +22 -0
  78. package/src/components/Typography/Text/Text.test.tsx +16 -0
  79. package/src/components/Typography/Text/Text.tsx +30 -0
  80. package/src/components/Typography/Title/Title.stories.tsx +31 -0
  81. package/src/components/Typography/Title/Title.test.tsx +16 -0
  82. package/src/components/Typography/Title/Title.tsx +36 -0
  83. package/src/components/icons/Activity.tsx +30 -0
  84. package/src/components/icons/ArrowDown.tsx +22 -0
  85. package/src/components/icons/ArrowRight.tsx +22 -0
  86. package/src/components/icons/ArrowTriangle.tsx +36 -0
  87. package/src/components/icons/ArrowUp.tsx +22 -0
  88. package/src/components/icons/Backups.tsx +29 -0
  89. package/src/components/icons/Blog.tsx +38 -0
  90. package/src/components/icons/Book.tsx +30 -0
  91. package/src/components/icons/Brackets.tsx +22 -0
  92. package/src/components/icons/Briefcase.tsx +30 -0
  93. package/src/components/icons/Building.tsx +30 -0
  94. package/src/components/icons/BurgerMenu.tsx +22 -0
  95. package/src/components/icons/Cards.tsx +30 -0
  96. package/src/components/icons/CellTower.tsx +21 -0
  97. package/src/components/icons/CheckIcon.tsx +21 -0
  98. package/src/components/icons/CheckInCircle.tsx +39 -0
  99. package/src/components/icons/ChevronDown.tsx +19 -5
  100. package/src/components/icons/ChevronLeft.tsx +22 -0
  101. package/src/components/icons/ChevronRight.tsx +3 -3
  102. package/src/components/icons/ChevronUp.tsx +22 -0
  103. package/src/components/icons/Clock.tsx +37 -0
  104. package/src/components/icons/Cloud.tsx +23 -0
  105. package/src/components/icons/Code.tsx +22 -0
  106. package/src/components/icons/CodeInSquare.tsx +30 -0
  107. package/src/components/icons/Connect.tsx +22 -0
  108. package/src/components/icons/ConnectAlt.tsx +30 -0
  109. package/src/components/icons/Console.tsx +30 -0
  110. package/src/components/icons/Copy.tsx +33 -0
  111. package/src/components/icons/CrossIcon.tsx +29 -0
  112. package/src/components/icons/Data.tsx +36 -0
  113. package/src/components/icons/DatabaseIcon.tsx +27 -29
  114. package/src/components/icons/Disk.tsx +30 -0
  115. package/src/components/icons/Display.tsx +30 -0
  116. package/src/components/icons/Document.tsx +30 -0
  117. package/src/components/icons/DotsHorizontal.tsx +36 -0
  118. package/src/components/icons/DotsVertical.tsx +33 -0
  119. package/src/components/icons/Email.tsx +33 -0
  120. package/src/components/icons/Empty.tsx +14 -0
  121. package/src/components/icons/FilterIcon.tsx +29 -16
  122. package/src/components/icons/Fire.tsx +23 -0
  123. package/src/components/icons/Folder.tsx +20 -0
  124. package/src/components/icons/Gift.tsx +21 -0
  125. package/src/components/icons/HistoryIcon.tsx +13 -13
  126. package/src/components/icons/Home.tsx +29 -0
  127. package/src/components/icons/Http.tsx +22 -0
  128. package/src/components/icons/Icons.mdx +31 -28
  129. package/src/components/icons/InfoInCircleIcon.tsx +37 -0
  130. package/src/components/icons/InformationIcon.tsx +34 -0
  131. package/src/components/icons/InsertRowIcon.tsx +30 -32
  132. package/src/components/icons/Integrations.tsx +29 -0
  133. package/src/components/icons/LightBulb.tsx +40 -0
  134. package/src/components/icons/Lightening.tsx +30 -0
  135. package/src/components/icons/Loading.tsx +57 -0
  136. package/src/components/icons/Metrics.tsx +38 -0
  137. package/src/components/icons/MetricsAlt.tsx +30 -0
  138. package/src/components/icons/Payment.tsx +23 -0
  139. package/src/components/icons/Payments/Amex.tsx +44 -0
  140. package/src/components/icons/Payments/MasterCard.tsx +48 -0
  141. package/src/components/icons/Payments/Paypal.tsx +41 -0
  142. package/src/components/icons/Payments/Visa.tsx +36 -0
  143. package/src/components/icons/Payments/index.tsx +30 -0
  144. package/src/components/icons/Pencil.tsx +30 -0
  145. package/src/components/icons/PieChart.tsx +30 -0
  146. package/src/components/icons/Play.tsx +30 -0
  147. package/src/components/icons/Plus.tsx +22 -0
  148. package/src/components/icons/Popout.tsx +22 -0
  149. package/src/components/icons/PopoverArrow.tsx +22 -0
  150. package/src/components/icons/Question.tsx +30 -0
  151. package/src/components/icons/Refresh.tsx +29 -0
  152. package/src/components/icons/Search.tsx +22 -0
  153. package/src/components/icons/Secure.tsx +30 -0
  154. package/src/components/icons/Services.tsx +23 -0
  155. package/src/components/icons/Settings.tsx +22 -0
  156. package/src/components/icons/Share.tsx +29 -0
  157. package/src/components/icons/SlideIn.tsx +28 -0
  158. package/src/components/icons/SlideOut.tsx +28 -0
  159. package/src/components/icons/SortAltIcon.tsx +18 -20
  160. package/src/components/icons/SortIcon.tsx +24 -0
  161. package/src/components/icons/Sparkle.tsx +23 -0
  162. package/src/components/icons/Speaker.tsx +30 -0
  163. package/src/components/icons/Speed.tsx +29 -0
  164. package/src/components/icons/Star.tsx +23 -0
  165. package/src/components/icons/Support.tsx +37 -0
  166. package/src/components/icons/Table.tsx +30 -0
  167. package/src/components/icons/Taxi.tsx +120 -0
  168. package/src/components/icons/Trash.tsx +22 -0
  169. package/src/components/icons/Upload.tsx +29 -0
  170. package/src/components/icons/Url.tsx +22 -0
  171. package/src/components/icons/UsersIcon.tsx +27 -27
  172. package/src/components/icons/WarningIcon.tsx +30 -0
  173. package/src/components/index.ts +31 -10
  174. package/src/index.ts +2 -2
  175. package/src/styles/types.ts +715 -295
  176. package/src/styles/variables.classic.json +171 -0
  177. package/src/styles/variables.dark.json +447 -129
  178. package/src/styles/variables.json +830 -410
  179. package/src/styles/variables.light.json +339 -179
  180. package/tokens/themes/$themes.json +3657 -1
  181. package/tokens/themes/classic.json +492 -0
  182. package/tokens/themes/component.json +1126 -441
  183. package/tokens/themes/dark.json +1871 -758
  184. package/tokens/themes/light.json +852 -266
  185. package/tokens/themes/primitives.json +294 -210
  186. package/vite.config.ts +6 -4
  187. package/app/.babelrc +0 -27
  188. package/app/.eslintrc.json +0 -6
  189. package/app/.storybook/main.ts +0 -17
  190. package/app/.storybook/preview.tsx +0 -26
  191. package/app/README.md +0 -38
  192. package/app/next.config.js +0 -6
  193. package/app/package-lock.json +0 -28711
  194. package/app/package.json +0 -44
  195. package/app/public/favicon.ico +0 -0
  196. package/app/public/next.svg +0 -1
  197. package/app/public/vercel.svg +0 -1
  198. package/app/src/assets/RightArrow/right-arrow.tsx +0 -17
  199. package/app/src/assets/S3Logo/s3-logo.tsx +0 -31
  200. package/app/src/assets/amazon_s3.svg +0 -9
  201. package/app/src/assets/arrow.svg +0 -3
  202. package/app/src/globals.d.ts +0 -4
  203. package/app/src/pages/_app.tsx +0 -8
  204. package/app/src/pages/_document.tsx +0 -17
  205. package/app/src/pages/api/hello.ts +0 -13
  206. package/app/src/pages/index.tsx +0 -141
  207. package/app/src/pages/label.tsx +0 -27
  208. package/app/src/stories/assets/code-brackets.svg +0 -1
  209. package/app/src/stories/assets/colors.svg +0 -1
  210. package/app/src/stories/assets/comments.svg +0 -1
  211. package/app/src/stories/assets/direction.svg +0 -1
  212. package/app/src/stories/assets/flow.svg +0 -1
  213. package/app/src/stories/assets/plugin.svg +0 -1
  214. package/app/src/stories/assets/repo.svg +0 -1
  215. package/app/src/stories/assets/stackalt.svg +0 -1
  216. package/app/src/styles/Home.module.css +0 -235
  217. package/app/src/styles/globals.css +0 -111
  218. package/app/src/styles/types.ts +0 -1031
  219. package/app/src/styles/variables.classic.css +0 -16
  220. package/app/src/styles/variables.classic.json +0 -31
  221. package/app/src/styles/variables.css +0 -763
  222. package/app/src/styles/variables.dark.css +0 -135
  223. package/app/src/styles/variables.dark.json +0 -339
  224. package/app/src/styles/variables.json +0 -1029
  225. package/app/src/styles/variables.light.css +0 -203
  226. package/app/src/styles/variables.light.json +0 -478
  227. package/app/tokens/themes/$metadata.json +0 -9
  228. package/app/tokens/themes/$themes.json +0 -1
  229. package/app/tokens/themes/classic.json +0 -58
  230. package/app/tokens/themes/component.json +0 -868
  231. package/app/tokens/themes/dark.json +0 -937
  232. package/app/tokens/themes/light.json +0 -1380
  233. package/app/tokens/themes/primitives.json +0 -859
  234. package/app/tsconfig.json +0 -23
  235. package/src/components/FormField/FormField.stories.ts +0 -14
  236. package/src/components/FormField/FormField.tsx +0 -22
@@ -0,0 +1,67 @@
1
+ import * as RadixTooltip from "@radix-ui/react-tooltip";
2
+ import styled from "styled-components";
3
+
4
+ export const TooltipProvider = ({
5
+ children,
6
+ ...props
7
+ }: RadixTooltip.TooltipProviderProps) => {
8
+ return <RadixTooltip.Provider {...props}>{children}</RadixTooltip.Provider>;
9
+ };
10
+
11
+ export const Tooltip = ({ children, ...props }: RadixTooltip.TooltipProps) => {
12
+ return <RadixTooltip.Root {...props}>{children}</RadixTooltip.Root>;
13
+ };
14
+
15
+ const Trigger = styled(RadixTooltip.Trigger)`
16
+ width: fit-content;
17
+ `;
18
+ const TooltipTrigger = (props: RadixTooltip.TooltipTriggerProps) => {
19
+ return (
20
+ <Trigger
21
+ asChild
22
+ {...props}
23
+ />
24
+ );
25
+ };
26
+ TooltipTrigger.displayName = "TooltipTrigger";
27
+ Tooltip.Trigger = TooltipTrigger;
28
+ interface TooltipContentProps extends RadixTooltip.TooltipContentProps {
29
+ showArrow?: boolean;
30
+ }
31
+
32
+ const RadixTooltipContent = styled(RadixTooltip.Content)`
33
+ display: flex;
34
+ align-items: flex-start;
35
+ ${({ theme }) => `
36
+ padding: ${theme.click.tooltip.space.y} ${theme.click.tooltip.space.x};
37
+ color: ${theme.click.tooltip.color.label.default};
38
+ background: ${theme.click.tooltip.color.background.default};
39
+ border-radius: ${theme.click.tooltip.radii.all};
40
+ font: ${theme.click.tooltip.typography.label.default};
41
+ `}
42
+ `;
43
+
44
+ const Arrow = styled.svg`
45
+ ${({ theme }) => `
46
+ fill: ${theme.click.tooltip.color.background.default};
47
+ `};
48
+ `;
49
+
50
+ const TooltipContent = ({ showArrow, children, ...props }: TooltipContentProps) => {
51
+ return (
52
+ <RadixTooltip.Portal>
53
+ <RadixTooltipContent {...props}>
54
+ {showArrow && (
55
+ <Arrow
56
+ as={RadixTooltip.Arrow}
57
+ width={20}
58
+ height={8}
59
+ />
60
+ )}
61
+ {children}
62
+ </RadixTooltipContent>
63
+ </RadixTooltip.Portal>
64
+ );
65
+ };
66
+ TooltipContent.displayName = "TooltipContent";
67
+ Tooltip.Content = TooltipContent;
@@ -0,0 +1,22 @@
1
+ import { Text } from "./Text";
2
+
3
+ export default {
4
+ component: Text,
5
+ title: "Typography/Text",
6
+ tags: ["text", "autodocs"],
7
+ argTypes: {
8
+ size: {
9
+ options: ["lg", "md", "sm", "xs"],
10
+ control: { type: "radio" },
11
+ },
12
+ },
13
+ };
14
+
15
+ export const Playground = {
16
+ args: {
17
+ size: "md",
18
+ weight: "normal",
19
+ color: "default",
20
+ children: "Query billions of rows in milliseconds",
21
+ },
22
+ };
@@ -0,0 +1,16 @@
1
+ import { render } from "@testing-library/react";
2
+ import { Text } from "./Text";
3
+ import { ThemeProvider } from "@/theme";
4
+
5
+ describe("Text", () => {
6
+ test("given a text, should render it", () => {
7
+ const text = "text to render";
8
+ const rendered = render(
9
+ <ThemeProvider theme="light">
10
+ <Text color="default">{text}</Text>
11
+ </ThemeProvider>
12
+ );
13
+
14
+ expect(rendered.getByText(text).textContent).toEqual(text);
15
+ });
16
+ });
@@ -0,0 +1,30 @@
1
+ import styled from "styled-components";
2
+
3
+ export type TextColor = "default" | "muted";
4
+ export type TextSize = "xs" | "sm" | "md" | "lg";
5
+ export type TextWeight = "normal" | "medium" | "semibold" | "bold";
6
+
7
+ export interface TextProps {
8
+ color?: TextColor;
9
+ size?: TextSize;
10
+ weight?: TextWeight;
11
+ children?: React.ReactNode;
12
+ }
13
+
14
+ /** Component for writing blocks of body copy */
15
+ export const Text = ({ color, size, weight, children }: TextProps) => (
16
+ <CuiText
17
+ color={color}
18
+ size={size}
19
+ weight={weight}
20
+ >
21
+ {children}
22
+ </CuiText>
23
+ );
24
+
25
+ const CuiText = styled.p<Pick<TextProps, "color" | "size" | "weight">>`
26
+ font: ${({ size = "md", weight = "normal", theme }) =>
27
+ theme.typography.styles.product.text[weight][size]};
28
+ color: ${({ color = "default", theme }) => theme.click.global.color.text[color]};
29
+ margin: 0;
30
+ `;
@@ -0,0 +1,31 @@
1
+ import { Title } from "./Title";
2
+
3
+ export default {
4
+ component: Title,
5
+ title: "Typography/Title",
6
+ tags: ["title", "autodocs"],
7
+ argTypes: {
8
+ size: {
9
+ options: ["2xl", "xl", "lg", "md", "sm", "xs"],
10
+ control: { type: "radio" },
11
+ },
12
+ type: {
13
+ options: ["h1", "h2", "h3", "h4", "h5", "h6"],
14
+ control: { type: "select" },
15
+ },
16
+ family: {
17
+ options: ["product", "brand"],
18
+ control: { type: "radio" },
19
+ },
20
+ },
21
+ };
22
+
23
+ export const Playground = {
24
+ args: {
25
+ size: "md",
26
+ type: "h1",
27
+ family: "product",
28
+ color: "default",
29
+ children: "Query billions of rows in milliseconds",
30
+ },
31
+ };
@@ -0,0 +1,16 @@
1
+ import { render } from "@testing-library/react";
2
+ import { Title } from "./Title";
3
+ import { ThemeProvider } from "@/theme";
4
+
5
+ describe("Title", () => {
6
+ test("given a text, should render it", () => {
7
+ const text = "text to render";
8
+ const rendered = render(
9
+ <ThemeProvider theme="light">
10
+ <Title type="h1">{text}</Title>
11
+ </ThemeProvider>
12
+ );
13
+
14
+ expect(rendered.getByRole("heading", { level: 1 }).textContent).toEqual(text);
15
+ });
16
+ });
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ export type TitleColor = "default" | "muted";
4
+ export type TitleSize = "xs" | "sm" | "md" | "lg" | "xl";
5
+ export type TitleFamily = "product" | "brand";
6
+ export type TitleType = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
7
+
8
+ export interface TitleProps {
9
+ color?: TitleColor;
10
+ size?: TitleSize;
11
+ family?: TitleFamily;
12
+ type: TitleType;
13
+ children?: React.ReactNode;
14
+ }
15
+
16
+ /** The `title` component allows you to easily add headings to your pages. They do not include built in margins. */
17
+ export const Title = ({ size, family, type, color, children }: TitleProps) => (
18
+ <CuiTitle
19
+ color={color}
20
+ size={size}
21
+ family={family}
22
+ as={type}
23
+ >
24
+ {children}
25
+ </CuiTitle>
26
+ );
27
+
28
+ const CuiTitle = styled.div<Omit<TitleProps, "type">>`
29
+ font: ${({ size = "md", family = "product", theme }) =>
30
+ theme.typography.styles[family].titles[size]};
31
+ color: ${({ color = "default", theme }) => theme.click.global.color.text[color]};
32
+ margin: 0;
33
+ padding: 0;
34
+ font-style: inherit;
35
+ line-height: 1;
36
+ `;
@@ -0,0 +1,30 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Activity = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M6 12h1.85l2.168 5 3.964-10 2.168 5H18"
18
+ />
19
+ <path
20
+ stroke="#161517"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ strokeWidth={1.5}
24
+ d="M17.5 21.5h-11a4 4 0 0 1-4-4v-11a4 4 0 0 1 4-4h11a4 4 0 0 1 4 4v11a4 4 0 0 1-4 4Z"
25
+ clipRule="evenodd"
26
+ />
27
+ </svg>
28
+ );
29
+
30
+ export default Activity;
@@ -0,0 +1,22 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const ArrowDown = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ width="24"
6
+ height="24"
7
+ viewBox="0 0 24 24"
8
+ fill="none"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M12.02 4.48v14.99M18.012 13.483 12 19.52l-6.012-6.037"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default ArrowDown;
@@ -0,0 +1,22 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const ArrowRight = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M4.48 11.98h14.99M13.483 5.988 19.52 12l-6.037 6.012"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default ArrowRight;
@@ -0,0 +1,36 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const ArrowTriangle = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="m15.612 21-2.064-2.05 2.064-2.048"
18
+ />
19
+ <path
20
+ stroke="#161517"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ strokeWidth={1.5}
24
+ d="m18.45 12.297 2.306 3.965c.695 1.195-.174 2.689-1.564 2.689h-5.644M13.565 7.998l2.82.75.755-2.798M6.066 11.41l-2.822 4.852c-.695 1.195.174 2.689 1.564 2.689H9.42"
25
+ />
26
+ <path
27
+ stroke="#161517"
28
+ strokeLinecap="round"
29
+ strokeLinejoin="round"
30
+ strokeWidth={1.5}
31
+ d="m8.13 7.86 2.306-3.964c.695-1.195 2.433-1.195 3.128 0l2.822 4.852M3.247 12.16l2.82-.75.755 2.799"
32
+ />
33
+ </svg>
34
+ );
35
+
36
+ export default ArrowTriangle;
@@ -0,0 +1,22 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const ArrowUp = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M11.98 19.52V4.53M5.988 10.517 12 4.48l6.012 6.037"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default ArrowUp;
@@ -0,0 +1,29 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const BackUps = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M3.997 13A8.003 8.003 0 1 0 12 4.997H4.997M7.998 1.996l-3 3.001M7.998 7.998l-3-3"
18
+ />
19
+ <path
20
+ stroke="#161517"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ strokeWidth={1.5}
24
+ d="m14.235 11.851-2.792 2.791-1.678-1.672"
25
+ />
26
+ </svg>
27
+ );
28
+
29
+ export default BackUps;
@@ -0,0 +1,38 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Blog = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="m9.332 10.318 2.142-2.157a3.084 3.084 0 0 1 4.377 0v0a3.097 3.097 0 0 1 0 4.364l-2.12 2.135c-.375.378-.885.59-1.416.59H8.75v-3.52c0-.53.209-1.037.582-1.412v0Z"
18
+ clipRule="evenodd"
19
+ />
20
+ <path
21
+ stroke="#161517"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.5}
25
+ d="M21 7v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4Z"
26
+ clipRule="evenodd"
27
+ />
28
+ <path
29
+ stroke="#161517"
30
+ strokeLinecap="round"
31
+ strokeLinejoin="round"
32
+ strokeWidth={1.5}
33
+ d="m13.75 10.25-6 6"
34
+ />
35
+ </svg>
36
+ );
37
+
38
+ export default Blog;
@@ -0,0 +1,30 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Book = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M12 16.37a6.368 6.368 0 0 0-7.495-1.12c-.684.364-1.509-.085-1.509-.86V5.295c0-.637.294-1.249.812-1.618A6.367 6.367 0 0 1 12 4.364a6.367 6.367 0 0 1 8.191-.687c.518.37.813.981.813 1.618v9.095c0 .775-.826 1.225-1.509.86A6.368 6.368 0 0 0 12 16.37Z"
18
+ clipRule="evenodd"
19
+ />
20
+ <path
21
+ stroke="#161517"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.5}
25
+ d="M4.505 19.387A6.368 6.368 0 0 1 12 20.507a6.368 6.368 0 0 1 7.495-1.12M12 16.37V4.363"
26
+ />
27
+ </svg>
28
+ );
29
+
30
+ export default Book;
@@ -0,0 +1,22 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Brackets = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M18.574 20.003a2.287 2.287 0 0 0 2.287-2.287v-4.573L22.005 12l-1.144-1.144V6.284a2.286 2.286 0 0 0-2.287-2.287M5.427 3.997A2.286 2.286 0 0 0 3.14 6.284v4.572L1.996 12l1.144 1.143v4.573a2.286 2.286 0 0 0 2.287 2.287M9.285 12.533l1.833 1.833 4-4.002"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default Brackets;
@@ -0,0 +1,30 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Briefcase = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M19 20.5H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2Z"
18
+ clipRule="evenodd"
19
+ />
20
+ <path
21
+ stroke="#161517"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.5}
25
+ d="M16.174 7.5v-2a2 2 0 0 0-2-2H9.826a2 2 0 0 0-2 2v2M3 9.5l6.351 4.191c.327.216.71.331 1.102.331h3.094c.392 0 .775-.115 1.102-.331L21 9.5"
26
+ />
27
+ </svg>
28
+ );
29
+
30
+ export default Briefcase;
@@ -0,0 +1,30 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Building = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M3.997 3.997H14a1 1 0 0 1 1 1v15.006H3.997a1 1 0 0 1-1-1V4.997a1 1 0 0 1 1-1ZM15.001 7.999h5.002a1 1 0 0 1 1 1v10.004a1 1 0 0 1-1 1h-5.002V8Z"
18
+ clipRule="evenodd"
19
+ />
20
+ <path
21
+ stroke="#161517"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.5}
25
+ d="M6.998 7.873a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M11 7.873a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M6.998 11.875a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M11 11.875a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M6.998 15.877a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M11 15.877a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M18.002 11.875a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25M18.002 15.877a.125.125 0 1 0 0 .25.125.125 0 0 0 0-.25"
26
+ />
27
+ </svg>
28
+ );
29
+
30
+ export default Building;
@@ -0,0 +1,22 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const BurgerMenu = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M3.75 7.25h16.5M3.75 12.5h16.5m-16.5 5.25H12"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default BurgerMenu;
@@ -0,0 +1,30 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const Cards = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ stroke="#161517"
14
+ strokeLinecap="round"
15
+ strokeLinejoin="round"
16
+ strokeWidth={1.5}
17
+ d="M17.882 21.004H6.117a2.401 2.401 0 0 1-2.389-2.162l-.72-7.203A2.4 2.4 0 0 1 5.397 9h13.205a2.401 2.401 0 0 1 2.39 2.64l-.72 7.203a2.4 2.4 0 0 1-2.39 2.162v0Z"
18
+ clipRule="evenodd"
19
+ />
20
+ <path
21
+ stroke="#161517"
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ strokeWidth={1.5}
25
+ d="M5.998 5.998h12.005M7.998 2.996h8.003M9.499 12.75h5.002"
26
+ />
27
+ </svg>
28
+ );
29
+
30
+ export default Cards;
@@ -0,0 +1,21 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const CellTower = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={24}
7
+ height={24}
8
+ viewBox="0 0 24 24"
9
+ fill="none"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="#161517"
14
+ stroke="#161517"
15
+ strokeWidth={0.312}
16
+ d="M9.046 6.657a1.623 1.623 0 0 1 0-2.293.24.24 0 1 1 .34.34 1.142 1.142 0 0 0 0 1.613.24.24 0 1 1-.34.34Zm-1.304.995a.32.32 0 0 0 .453 0 .32.32 0 0 0 0-.454 2.39 2.39 0 0 1 0-3.375.32.32 0 0 0-.453-.453 3.031 3.031 0 0 0 0 4.282Zm-1.053 1.37a.4.4 0 0 0 .283-.685 4.002 4.002 0 0 1 0-5.653.4.4 0 1 0-.566-.567A4.768 4.768 0 0 0 5 5.511c0 1.282.5 2.487 1.406 3.393a.4.4 0 0 0 .283.117Zm7.79-2.365a.24.24 0 0 0 .34 0 1.623 1.623 0 0 0 0-2.293.24.24 0 0 0-.34.34 1.142 1.142 0 0 1 0 1.613.24.24 0 0 0 0 .34Zm1.19.995a.32.32 0 0 0 .454 0 3.031 3.031 0 0 0 0-4.282.32.32 0 0 0-.453.453c.93.93.93 2.445 0 3.375a.32.32 0 0 0 0 .454Zm1.223.685a.4.4 0 1 0 .567.567 4.767 4.767 0 0 0 1.406-3.393c0-1.282-.5-2.487-1.406-3.394a.4.4 0 1 0-.567.567 4.002 4.002 0 0 1 0 5.653Zm.749 13.24a.32.32 0 0 1-.608.205l-1.092-3.233-3.874 1.792a.32.32 0 0 1-.27 0l-3.873-1.792-1.092 3.233a.32.32 0 1 1-.608-.205l4.938-14.614a1.658 1.658 0 0 1-.538-.457 1.646 1.646 0 0 1 .69-2.519l.514-.89c.058-.099.151-.099.208 0l.514.89a1.646 1.646 0 0 1 .69 2.52c-.143.188-.329.344-.537.456l4.938 14.614Zm-3.02-6.934-.247-.73-2.442-1.13-2.441 1.13-.247.73 2.688 1.244 2.689-1.244Zm-4.264-3.295 1.575.73 1.576-.73-.66-1.95-.916-.424-.916.424-.659 1.95Zm1.44-3.018a.32.32 0 0 1 .27 0l.498.23-.633-1.873L11.3 8.56l.499-.23Zm.9 4.1 1.394.646-.377-1.116-1.018.47Zm-2.546-.47-.377 1.116 1.395-.646-1.018-.47Zm1.221-5.618.257-.76a.32.32 0 0 1 .607 0l.257.76a1.004 1.004 0 1 0-1.563-.83c0 .336.172.646.442.83Zm-3.124 11.25 2.92-1.352-2.13-.986-.79 2.337Zm7.039.553-3.355-1.552-3.354 1.552 3.354 1.552 3.355-1.552Zm.33-.554-.79-2.337-2.13.986 2.92 1.351Z"
17
+ />
18
+ </svg>
19
+ );
20
+
21
+ export default CellTower;
@@ -0,0 +1,21 @@
1
+ import { SVGAttributes } from "react";
2
+
3
+ const CheckIcon = (props: SVGAttributes<SVGElement>) => (
4
+ <svg
5
+ width="24"
6
+ height="24"
7
+ viewBox="0 0 24 24"
8
+ fill="none"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ {...props}
11
+ >
12
+ <path
13
+ d="M20 6.5L9 17.5L4 12.5"
14
+ stroke="#161517"
15
+ strokeWidth="2"
16
+ strokeLinecap="round"
17
+ strokeLinejoin="round"
18
+ />
19
+ </svg>
20
+ );
21
+ export default CheckIcon;