@dust-tt/sparkle 0.2.207 → 0.2.210-rc

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 (140) hide show
  1. package/dist/cjs/_index.d.ts +4 -4
  2. package/dist/cjs/components/Checkbox.d.ts +3 -3
  3. package/dist/cjs/components/DataTable.d.ts +6 -2
  4. package/dist/cjs/components/Tree.d.ts +9 -6
  5. package/dist/cjs/components/WindowUtility.d.ts +15 -0
  6. package/dist/cjs/icons/solid/ArrowDownS.d.ts +4 -0
  7. package/dist/cjs/icons/solid/ArrowLeftS.d.ts +4 -0
  8. package/dist/cjs/icons/solid/ArrowRightS.d.ts +4 -0
  9. package/dist/cjs/icons/solid/ArrowUpS.d.ts +4 -0
  10. package/dist/cjs/icons/solid/ChevronDoubleLeft.d.ts +4 -0
  11. package/dist/cjs/icons/solid/ChevronDoubleRight.d.ts +4 -0
  12. package/dist/cjs/icons/solid/Company.d.ts +4 -0
  13. package/dist/cjs/icons/solid/Filter.d.ts +4 -0
  14. package/dist/cjs/icons/solid/Heart.d.ts +4 -0
  15. package/dist/cjs/icons/solid/History.d.ts +4 -0
  16. package/dist/cjs/icons/solid/Home.d.ts +4 -0
  17. package/dist/cjs/icons/solid/MarkPen.d.ts +4 -0
  18. package/dist/cjs/icons/solid/Translate.d.ts +4 -0
  19. package/dist/cjs/icons/solid/index.d.ts +13 -0
  20. package/dist/cjs/icons/stroke/ArrowDownS.d.ts +4 -0
  21. package/dist/cjs/icons/stroke/ArrowLeftS.d.ts +4 -0
  22. package/dist/cjs/icons/stroke/ArrowRightS.d.ts +4 -0
  23. package/dist/cjs/icons/stroke/ArrowUpS.d.ts +4 -0
  24. package/dist/cjs/icons/stroke/ChevronDoubleLeft.d.ts +4 -0
  25. package/dist/cjs/icons/stroke/ChevronDoubleRight.d.ts +4 -0
  26. package/dist/cjs/icons/stroke/Company.d.ts +4 -0
  27. package/dist/cjs/icons/stroke/Filter.d.ts +4 -0
  28. package/dist/cjs/icons/stroke/Heart.d.ts +4 -0
  29. package/dist/cjs/icons/stroke/History.d.ts +4 -0
  30. package/dist/cjs/icons/stroke/Home.d.ts +4 -0
  31. package/dist/cjs/icons/stroke/MarkPen.d.ts +4 -0
  32. package/dist/cjs/icons/stroke/Translate.d.ts +4 -0
  33. package/dist/cjs/icons/stroke/index.d.ts +13 -0
  34. package/dist/cjs/index.js +283 -65
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/stories/Checkbox.stories.d.ts +2 -0
  37. package/dist/cjs/stories/Tree.stories.d.ts +0 -1
  38. package/dist/esm/_index.d.ts +4 -4
  39. package/dist/esm/components/Checkbox.d.ts +3 -3
  40. package/dist/esm/components/DataTable.d.ts +6 -2
  41. package/dist/esm/components/Tree.d.ts +9 -6
  42. package/dist/esm/components/WindowUtility.d.ts +15 -0
  43. package/dist/esm/icons/solid/ArrowDownS.d.ts +4 -0
  44. package/dist/esm/icons/solid/ArrowLeftS.d.ts +4 -0
  45. package/dist/esm/icons/solid/ArrowRightS.d.ts +4 -0
  46. package/dist/esm/icons/solid/ArrowUpS.d.ts +4 -0
  47. package/dist/esm/icons/solid/ChevronDoubleLeft.d.ts +4 -0
  48. package/dist/esm/icons/solid/ChevronDoubleRight.d.ts +4 -0
  49. package/dist/esm/icons/solid/Company.d.ts +4 -0
  50. package/dist/esm/icons/solid/Filter.d.ts +4 -0
  51. package/dist/esm/icons/solid/Heart.d.ts +4 -0
  52. package/dist/esm/icons/solid/History.d.ts +4 -0
  53. package/dist/esm/icons/solid/Home.d.ts +4 -0
  54. package/dist/esm/icons/solid/MarkPen.d.ts +4 -0
  55. package/dist/esm/icons/solid/Translate.d.ts +4 -0
  56. package/dist/esm/icons/solid/index.d.ts +13 -0
  57. package/dist/esm/icons/stroke/ArrowDownS.d.ts +4 -0
  58. package/dist/esm/icons/stroke/ArrowLeftS.d.ts +4 -0
  59. package/dist/esm/icons/stroke/ArrowRightS.d.ts +4 -0
  60. package/dist/esm/icons/stroke/ArrowUpS.d.ts +4 -0
  61. package/dist/esm/icons/stroke/ChevronDoubleLeft.d.ts +4 -0
  62. package/dist/esm/icons/stroke/ChevronDoubleRight.d.ts +4 -0
  63. package/dist/esm/icons/stroke/Company.d.ts +4 -0
  64. package/dist/esm/icons/stroke/Filter.d.ts +4 -0
  65. package/dist/esm/icons/stroke/Heart.d.ts +4 -0
  66. package/dist/esm/icons/stroke/History.d.ts +4 -0
  67. package/dist/esm/icons/stroke/Home.d.ts +4 -0
  68. package/dist/esm/icons/stroke/MarkPen.d.ts +4 -0
  69. package/dist/esm/icons/stroke/Translate.d.ts +4 -0
  70. package/dist/esm/icons/stroke/index.d.ts +13 -0
  71. package/dist/esm/index.js +258 -66
  72. package/dist/esm/index.js.map +1 -1
  73. package/dist/esm/stories/Checkbox.stories.d.ts +2 -0
  74. package/dist/esm/stories/Tree.stories.d.ts +0 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +1 -1
  77. package/src/_index.ts +52 -0
  78. package/src/components/Checkbox.tsx +42 -12
  79. package/src/components/DataTable.tsx +125 -91
  80. package/src/components/Tree.tsx +71 -66
  81. package/src/components/WindowUtility.tsx +67 -0
  82. package/src/icons/solid/ArrowDownS.tsx +15 -0
  83. package/src/icons/solid/ArrowLeftS.tsx +15 -0
  84. package/src/icons/solid/ArrowRightS.tsx +15 -0
  85. package/src/icons/solid/ArrowUpS.tsx +15 -0
  86. package/src/icons/solid/ChevronDoubleLeft.tsx +22 -0
  87. package/src/icons/solid/ChevronDoubleRight.tsx +22 -0
  88. package/src/icons/solid/Company.tsx +20 -0
  89. package/src/icons/solid/Filter.tsx +18 -0
  90. package/src/icons/solid/Heart.tsx +18 -0
  91. package/src/icons/solid/History.tsx +18 -0
  92. package/src/icons/solid/Home.tsx +20 -0
  93. package/src/icons/solid/MarkPen.tsx +18 -0
  94. package/src/icons/solid/Translate.tsx +18 -0
  95. package/src/icons/solid/index.ts +14 -0
  96. package/src/icons/src/solid/arrow-down-s.svg +3 -0
  97. package/src/icons/src/solid/arrow-left-s.svg +3 -0
  98. package/src/icons/src/solid/arrow-right-s.svg +3 -0
  99. package/src/icons/src/solid/arrow-up-s.svg +3 -0
  100. package/src/icons/src/solid/chevron-double-left.svg +4 -0
  101. package/src/icons/src/solid/chevron-double-right.svg +4 -0
  102. package/src/icons/src/solid/company.svg +3 -0
  103. package/src/icons/src/solid/filter.svg +3 -0
  104. package/src/icons/src/solid/heart.svg +3 -0
  105. package/src/icons/src/solid/history.svg +3 -0
  106. package/src/icons/src/solid/home.svg +3 -0
  107. package/src/icons/src/solid/mark-pen.svg +3 -0
  108. package/src/icons/src/solid/translate.svg +3 -0
  109. package/src/icons/src/stroke/arrow-down-s.svg +3 -0
  110. package/src/icons/src/stroke/arrow-left-s.svg +3 -0
  111. package/src/icons/src/stroke/arrow-right-s.svg +3 -0
  112. package/src/icons/src/stroke/arrow-up-s.svg +3 -0
  113. package/src/icons/src/stroke/chevron-double-left.svg +4 -0
  114. package/src/icons/src/stroke/chevron-double-right.svg +4 -0
  115. package/src/icons/src/stroke/company.svg +9 -0
  116. package/src/icons/src/stroke/filter.svg +3 -0
  117. package/src/icons/src/stroke/heart.svg +3 -0
  118. package/src/icons/src/stroke/history.svg +3 -0
  119. package/src/icons/src/stroke/home.svg +3 -0
  120. package/src/icons/src/stroke/mark-pen.svg +3 -0
  121. package/src/icons/src/stroke/translate.svg +3 -0
  122. package/src/icons/stroke/ArrowDownS.tsx +15 -0
  123. package/src/icons/stroke/ArrowLeftS.tsx +15 -0
  124. package/src/icons/stroke/ArrowRightS.tsx +15 -0
  125. package/src/icons/stroke/ArrowUpS.tsx +15 -0
  126. package/src/icons/stroke/ChevronDoubleLeft.tsx +16 -0
  127. package/src/icons/stroke/ChevronDoubleRight.tsx +16 -0
  128. package/src/icons/stroke/Company.tsx +24 -0
  129. package/src/icons/stroke/Filter.tsx +15 -0
  130. package/src/icons/stroke/Heart.tsx +20 -0
  131. package/src/icons/stroke/History.tsx +18 -0
  132. package/src/icons/stroke/Home.tsx +20 -0
  133. package/src/icons/stroke/MarkPen.tsx +18 -0
  134. package/src/icons/stroke/Translate.tsx +18 -0
  135. package/src/icons/stroke/index.ts +13 -0
  136. package/src/logo/src/platforms/Zendesk.svg +6 -0
  137. package/src/stories/Checkbox.stories.tsx +63 -2
  138. package/src/stories/Citation.stories.tsx +1 -0
  139. package/src/stories/DataTable.stories.tsx +14 -6
  140. package/src/stories/Tree.stories.tsx +152 -189
@@ -1,12 +1,6 @@
1
- import React, { useState } from "react";
2
-
3
- import {
4
- ChatBubbleBottomCenterText,
5
- DocumentText,
6
- Folder,
7
- Square3Stack3D,
8
- } from "@sparkle/icons/stroke";
9
- import { ChevronDownIcon, ChevronRightIcon, Spinner } from "@sparkle/index";
1
+ import React, { ComponentType, ReactNode, useState } from "react";
2
+
3
+ import { ArrowDownSIcon, ArrowRightSIcon, Spinner } from "@sparkle/index";
10
4
  import { classNames } from "@sparkle/lib/utils";
11
5
 
12
6
  import { Checkbox, CheckboxProps } from "./Checkbox";
@@ -14,12 +8,25 @@ import { Icon } from "./Icon";
14
8
  import { IconButton } from "./IconButton";
15
9
 
16
10
  export interface TreeProps {
17
- children?: React.ReactNode;
11
+ children?: ReactNode;
18
12
  isBoxed?: boolean;
19
13
  isLoading?: boolean;
14
+ variant?: "navigator" | "finder";
20
15
  }
21
16
 
22
- export function Tree({ children, isLoading, isBoxed = false }: TreeProps) {
17
+ export function Tree({
18
+ children,
19
+ isLoading,
20
+ isBoxed = false,
21
+ variant = "finder",
22
+ }: TreeProps) {
23
+ const modifiedChildren = React.Children.map(children, (child) => {
24
+ if (React.isValidElement<TreeItemProps>(child) && variant === "navigator") {
25
+ return React.cloneElement(child, { isNavigatable: true });
26
+ }
27
+ return child;
28
+ });
29
+
23
30
  return isLoading ? (
24
31
  <div className="s-py-2 s-pl-4">
25
32
  <Spinner size="xs" variant="dark" />
@@ -33,24 +40,16 @@ export function Tree({ children, isLoading, isBoxed = false }: TreeProps) {
33
40
  : ""
34
41
  )}
35
42
  >
36
- {children}
43
+ {modifiedChildren}
37
44
  </div>
38
45
  );
39
46
  }
40
47
 
41
- const visualTable = {
42
- file: DocumentText,
43
- folder: Folder,
44
- database: Square3Stack3D,
45
- channel: ChatBubbleBottomCenterText,
46
- };
47
-
48
48
  interface TreeItemProps {
49
49
  label?: string;
50
50
  type?: "node" | "item" | "leaf";
51
- variant?: "file" | "folder" | "database" | "channel";
52
51
  size?: "sm" | "md";
53
- visual?: React.ReactNode;
52
+ visual?: ComponentType<{ className?: string }>;
54
53
  checkbox?: CheckboxProps;
55
54
  onChevronClick?: () => void;
56
55
  collapsed?: boolean;
@@ -58,6 +57,7 @@ interface TreeItemProps {
58
57
  className?: string;
59
58
  actions?: React.ReactNode;
60
59
  areActionsFading?: boolean;
60
+ isNavigatable?: boolean;
61
61
  isSelected?: boolean;
62
62
  onItemClick?: () => void;
63
63
  }
@@ -76,7 +76,6 @@ Tree.Item = function ({
76
76
  label,
77
77
  type = "node",
78
78
  className = "",
79
- variant = "file",
80
79
  size = "sm",
81
80
  visual,
82
81
  checkbox,
@@ -87,6 +86,7 @@ Tree.Item = function ({
87
86
  areActionsFading = true,
88
87
  renderTreeItems,
89
88
  children,
89
+ isNavigatable = false,
90
90
  isSelected = false,
91
91
  onItemClick,
92
92
  }: TreeItemPropsWithChildren | TreeItemPropsWithRender) {
@@ -111,16 +111,34 @@ Tree.Item = function ({
111
111
 
112
112
  const childrenToRender = getChildren();
113
113
 
114
+ const treeItemStyleClasses = {
115
+ base: "s-group s-flex s-cursor-default s-flex-row s-items-center",
116
+ isNavigatableBase:
117
+ "s-border s-transition-colors s-duration-300 s-ease-out s-cursor-pointer",
118
+ isNavigatableUnselected:
119
+ "s-border-structure-200/0 s-bg-white/0 hover:s-border-structure-200 hover:s-bg-white",
120
+ isNavigatableSelected: "s-border-structure-200 s-bg-white",
121
+ };
122
+
114
123
  return (
115
124
  <>
116
125
  <div
117
126
  className={classNames(
118
127
  className ? className : "",
119
- "s-group s-flex s-cursor-default s-flex-row s-items-center s-gap-4",
120
- size === "sm" ? "s-py-1" : "s-py-2",
128
+ treeItemStyleClasses.base,
121
129
  onItemClick ? "s-cursor-pointer" : "",
122
- isSelected
123
- ? "s-rounded-md s-border s-border-neutral-200 s-bg-white"
130
+ isNavigatable ? treeItemStyleClasses.isNavigatableBase : "",
131
+ isNavigatable
132
+ ? size === "sm"
133
+ ? "s-gap-1 s-rounded-lg s-py-1 s-pl-1.5 s-pr-3"
134
+ : "s-gap-2 s-rounded-lg s-py-2 s-pl-2.5 s-pr-4"
135
+ : size === "sm"
136
+ ? "s-gap-1 s-py-1"
137
+ : "s-gap-2 s-py-2",
138
+ isNavigatable
139
+ ? isSelected
140
+ ? treeItemStyleClasses.isNavigatableSelected
141
+ : treeItemStyleClasses.isNavigatableUnselected
124
142
  : ""
125
143
  )}
126
144
  onClick={onItemClick ? onItemClick : undefined}
@@ -129,10 +147,10 @@ Tree.Item = function ({
129
147
  <IconButton
130
148
  icon={
131
149
  childrenToRender && !effectiveCollapsed
132
- ? ChevronDownIcon
133
- : ChevronRightIcon
150
+ ? ArrowDownSIcon
151
+ : ArrowRightSIcon
134
152
  }
135
- size="sm"
153
+ size="xs"
136
154
  variant="secondary"
137
155
  onClick={(e) => {
138
156
  e.stopPropagation();
@@ -143,50 +161,37 @@ Tree.Item = function ({
143
161
  />
144
162
  )}
145
163
  {type === "leaf" && <div className="s-w-5"></div>}
146
- {checkbox && <Checkbox {...checkbox} />}
147
-
148
- <div className="s-flex s-w-full s-items-center">
164
+ {checkbox && <Checkbox {...checkbox} size="xs" />}
165
+ <Icon
166
+ visual={visual}
167
+ size={size === "sm" ? "sm" : "md"}
168
+ className="s-flex-shrink-0 s-text-element-600"
169
+ />
170
+
171
+ <div
172
+ className={classNames(
173
+ "s-truncate s-font-medium s-text-element-900",
174
+ size === "sm" ? "s-ml-1 s-text-sm" : "s-ml-1 s-text-base"
175
+ )}
176
+ >
177
+ {label}
178
+ </div>
179
+ <div className="s-grow" />
180
+ {actions && (
149
181
  <div
150
182
  className={classNames(
151
- "s-grid s-w-full s-grid-cols-[auto,1fr,auto] s-items-center",
152
- size === "sm" ? "s-gap-1.5" : "s-gap-2"
183
+ "s-flex s-gap-2 s-pl-4",
184
+ areActionsFading
185
+ ? "s-transform s-opacity-0 s-duration-300 group-hover:s-opacity-100"
186
+ : ""
153
187
  )}
154
188
  >
155
- {visual ? (
156
- visual
157
- ) : (
158
- <Icon
159
- visual={visualTable[variant]}
160
- size="sm"
161
- className="s-flex-shrink-0 s-text-element-700"
162
- />
163
- )}
164
-
165
- <div
166
- className={classNames(
167
- "s-truncate s-font-medium s-text-element-900",
168
- size === "sm" ? "s-text-sm" : "s-text-base"
169
- )}
170
- >
171
- {label}
172
- </div>
173
- {actions && (
174
- <div
175
- className={classNames(
176
- "s-inline-block s-pl-5",
177
- areActionsFading
178
- ? "s-transform s-opacity-0 s-duration-300 group-hover:s-opacity-100"
179
- : ""
180
- )}
181
- >
182
- {actions}
183
- </div>
184
- )}
189
+ {actions}
185
190
  </div>
186
- </div>
191
+ )}
187
192
  </div>
188
193
  {React.Children.count(childrenToRender) > 0 && (
189
- <div className="s-pl-5">{childrenToRender}</div>
194
+ <div className="s-pl-2.5">{childrenToRender}</div>
190
195
  )}
191
196
  </>
192
197
  );
@@ -0,0 +1,67 @@
1
+ import { useEffect, useState } from "react";
2
+
3
+ // Define breakpoints
4
+ export const breakpoints = {
5
+ xs: 0,
6
+ sm: 640,
7
+ md: 768,
8
+ lg: 1024,
9
+ xl: 1280,
10
+ xxl: 1536,
11
+ };
12
+
13
+ // Helper function to determine active breakpoint
14
+ function getActiveBreakpoint(width: number): keyof typeof breakpoints {
15
+ if (width >= breakpoints.xxl) {
16
+ return "xxl";
17
+ }
18
+ if (width >= breakpoints.xl) {
19
+ return "xl";
20
+ }
21
+ if (width >= breakpoints.lg) {
22
+ return "lg";
23
+ }
24
+ if (width >= breakpoints.md) {
25
+ return "md";
26
+ }
27
+ if (width >= breakpoints.sm) {
28
+ return "sm";
29
+ }
30
+ return "xs";
31
+ }
32
+
33
+
34
+ interface WindowSizeState {
35
+ width: number | undefined;
36
+ height: number | undefined;
37
+ activeBreakpoint: keyof typeof breakpoints;
38
+ }
39
+
40
+ // Custom hook to get window size and active breakpoint
41
+ export function useWindowSize() {
42
+ const [windowSize, setWindowSize] = useState<WindowSizeState>({
43
+ width: undefined,
44
+ height: undefined,
45
+ activeBreakpoint: "xs"
46
+ });
47
+
48
+ useEffect(() => {
49
+ function handleResize() {
50
+ const width = window.innerWidth;
51
+ setWindowSize({
52
+ width,
53
+ height: window.innerHeight,
54
+ activeBreakpoint: getActiveBreakpoint(width),
55
+ });
56
+ }
57
+
58
+ window.addEventListener("resize", handleResize);
59
+ handleResize();
60
+
61
+ return () => window.removeEventListener("resize", handleResize);
62
+ }, []);
63
+
64
+ return windowSize;
65
+ }
66
+
67
+ export default useWindowSize;
@@ -0,0 +1,15 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgArrowDownS = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path fill="currentColor" d="m12 16-6-6h12l-6 6Z" />
13
+ </svg>
14
+ );
15
+ export default SvgArrowDownS;
@@ -0,0 +1,15 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgArrowLeftS = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path fill="currentColor" d="m8 12 6-6v12l-6-6Z" />
13
+ </svg>
14
+ );
15
+ export default SvgArrowLeftS;
@@ -0,0 +1,15 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgArrowRightS = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path fill="currentColor" d="m16 12-6 6V6l6 6Z" />
13
+ </svg>
14
+ );
15
+ export default SvgArrowRightS;
@@ -0,0 +1,15 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgArrowUpS = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path fill="currentColor" d="m12 8 6 6H6l6-6Z" />
13
+ </svg>
14
+ );
15
+ export default SvgArrowUpS;
@@ -0,0 +1,22 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgChevronDoubleLeft = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="M12 16.5 7.5 12 12 7.5l-2-2L3.5 12l6.5 6.5 2-2Z"
15
+ />
16
+ <path
17
+ fill="currentColor"
18
+ d="M19.5 16.5 15 12l4.5-4.5-2-2L11 12l6.5 6.5 2-2Z"
19
+ />
20
+ </svg>
21
+ );
22
+ export default SvgChevronDoubleLeft;
@@ -0,0 +1,22 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgChevronDoubleRight = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="m12 7.5 4.5 4.5-4.5 4.5 2 2 6.5-6.5L14 5.5l-2 2Z"
15
+ />
16
+ <path
17
+ fill="currentColor"
18
+ d="M4.5 7.5 9 12l-4.5 4.5 2 2L13 12 6.5 5.5l-2 2Z"
19
+ />
20
+ </svg>
21
+ );
22
+ export default SvgChevronDoubleRight;
@@ -0,0 +1,20 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgCompany = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ fillRule="evenodd"
15
+ d="M23 21h-3V2H4v19H1v2h22v-2ZM8 6h3v2H8V6Zm0 4h3v2H8v-2Zm0 4h3v2H8v-2Zm5 0h3v2h-3v-2Zm0-4h3v2h-3v-2Zm0-4h3v2h-3V6Zm-1 12h4v3h-4v-3Zm-4 0h2v3H8v-3Z"
16
+ clipRule="evenodd"
17
+ />
18
+ </svg>
19
+ );
20
+ export default SvgCompany;
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgFilter = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="M3 4h18v3H3V4Zm3 6.5h12v3H6v-3ZM9 17h6v3H9v-3Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgFilter;
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgHeart = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="M20.243 4.757a6 6 0 0 1 .236 8.236l-8.48 8.492-8.478-8.492a6 6 0 0 1 8.48-8.464 5.998 5.998 0 0 1 8.242.228Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgHeart;
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgHistory = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12h2a8 8 0 1 0 1.865-5.135L8 9H2V3l2.447 2.446A9.977 9.977 0 0 1 12 2Zm1 5v4.585l3.243 3.243-1.415 1.415L11 12.413V7h2Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgHistory;
@@ -0,0 +1,20 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgHome = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ fillRule="evenodd"
15
+ d="M4 12v9h16v-9h3L12 2 1 12h3Zm14 7v-7H6v7h12Z"
16
+ clipRule="evenodd"
17
+ />
18
+ </svg>
19
+ );
20
+ export default SvgHome;
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgMarkPen = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="m15.95 2.39 5.657 5.657a1 1 0 0 1 0 1.414l-7.778 7.778-2.122.707-1.414 1.415a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414L6.05 12.29l.707-2.122 7.779-7.778a1 1 0 0 1 1.414 0Zm.707 3.536-6.364 6.364 1.414 1.414 6.364-6.364-1.414-1.414ZM4.283 16.886l2.828 2.828-1.414 1.415-4.243-1.415 2.829-2.828Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgMarkPen;
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgTranslate = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="m18.5 10 4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2ZM10 2v2h6v2h-1.968a18.221 18.221 0 0 1-3.62 6.301 14.865 14.865 0 0 0 2.335 1.707l-.75 1.878A17.016 17.016 0 0 1 9 13.725a16.677 16.677 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.031 16.031 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2Zm7.5 10.885L16.253 16h2.492L17.5 12.885Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgTranslate;
@@ -1,11 +1,15 @@
1
1
  export { default as ArrowDown } from "./ArrowDown";
2
2
  export { default as ArrowDownCircle } from "./ArrowDownCircle";
3
3
  export { default as ArrowDownOnSquare } from "./ArrowDownOnSquare";
4
+ export { default as ArrowDownS } from "./ArrowDownS";
4
5
  export { default as ArrowLeft } from "./ArrowLeft";
6
+ export { default as ArrowLeftS } from "./ArrowLeftS";
5
7
  export { default as ArrowPath } from "./ArrowPath";
6
8
  export { default as ArrowRight } from "./ArrowRight";
9
+ export { default as ArrowRightS } from "./ArrowRightS";
7
10
  export { default as ArrowUp } from "./ArrowUp";
8
11
  export { default as ArrowUpOnSquare } from "./ArrowUpOnSquare";
12
+ export { default as ArrowUpS } from "./ArrowUpS";
9
13
  export { default as Attachment } from "./Attachment";
10
14
  export { default as Backspace } from "./Backspace";
11
15
  export { default as Bookmark } from "./Bookmark";
@@ -18,6 +22,8 @@ export { default as ChatBubbleLeftRight } from "./ChatBubbleLeftRight";
18
22
  export { default as ChatBubbleThought } from "./ChatBubbleThought";
19
23
  export { default as Check } from "./Check";
20
24
  export { default as CheckCircle } from "./CheckCircle";
25
+ export { default as ChevronDoubleLeft } from "./ChevronDoubleLeft";
26
+ export { default as ChevronDoubleRight } from "./ChevronDoubleRight";
21
27
  export { default as ChevronDown } from "./ChevronDown";
22
28
  export { default as ChevronLeft } from "./ChevronLeft";
23
29
  export { default as ChevronRight } from "./ChevronRight";
@@ -34,6 +40,7 @@ export { default as CloudX } from "./CloudX";
34
40
  export { default as Cog6Tooth } from "./Cog6Tooth";
35
41
  export { default as Command } from "./Command";
36
42
  export { default as CommandLine } from "./CommandLine";
43
+ export { default as Company } from "./Company";
37
44
  export { default as Cube } from "./Cube";
38
45
  export { default as Dash } from "./Dash";
39
46
  export { default as Document } from "./Document";
@@ -48,6 +55,7 @@ export { default as ExclamationCircle } from "./ExclamationCircle";
48
55
  export { default as ExternalLink } from "./ExternalLink";
49
56
  export { default as Eye } from "./Eye";
50
57
  export { default as EyeSlash } from "./EyeSlash";
58
+ export { default as Filter } from "./Filter";
51
59
  export { default as Fire } from "./Fire";
52
60
  export { default as Flag } from "./Flag";
53
61
  export { default as Folder } from "./Folder";
@@ -58,8 +66,11 @@ export { default as GlobeAlt } from "./GlobeAlt";
58
66
  export { default as Grab } from "./Grab";
59
67
  export { default as HandThumbDown } from "./HandThumbDown";
60
68
  export { default as HandThumbUp } from "./HandThumbUp";
69
+ export { default as Heart } from "./Heart";
61
70
  export { default as HeartAlt } from "./HeartAlt";
62
71
  export { default as Hexagon } from "./Hexagon";
72
+ export { default as History } from "./History";
73
+ export { default as Home } from "./Home";
63
74
  export { default as Image } from "./Image";
64
75
  export { default as InformationCircle } from "./InformationCircle";
65
76
  export { default as Key } from "./Key";
@@ -74,6 +85,7 @@ export { default as Login } from "./Login";
74
85
  export { default as Logout } from "./Logout";
75
86
  export { default as Magic } from "./Magic";
76
87
  export { default as MagnifyingGlass } from "./MagnifyingGlass";
88
+ export { default as MarkPen } from "./MarkPen";
77
89
  export { default as Menu } from "./Menu";
78
90
  export { default as More } from "./More";
79
91
  export { default as MovingMail } from "./MovingMail";
@@ -106,6 +118,7 @@ export { default as Tag } from "./Tag";
106
118
  export { default as Template } from "./Template";
107
119
  export { default as TestTube } from "./TestTube";
108
120
  export { default as Time } from "./Time";
121
+ export { default as Translate } from "./Translate";
109
122
  export { default as Trash } from "./Trash";
110
123
  export { default as Triangle } from "./Triangle";
111
124
  export { default as User } from "./User";
@@ -115,3 +128,4 @@ export { default as UserPlus } from "./UserPlus";
115
128
  export { default as Wrench } from "./Wrench";
116
129
  export { default as XCircle } from "./XCircle";
117
130
  export { default as XMark } from "./XMark";
131
+
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 16L6 10H18L12 16Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M8 12L14 6V18L8 12Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M16 12L10 18V6L16 12Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 8L18 14H6L12 8Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.9999 16.5L7.4999 12L11.9999 7.5L9.9999 5.5L3.5 11.9997L9.9999 18.5L11.9999 16.5Z" fill="#020617"/>
3
+ <path d="M19.4999 16.5L14.9999 12L19.4999 7.5L17.4999 5.5L11 11.9997L17.4999 18.5L19.4999 16.5Z" fill="#020617"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 7.5L16.5 12L12 16.5L14 18.5L20.4999 12.0003L14 5.5L12 7.5Z" fill="#020617"/>
3
+ <path d="M4.49998 7.5L8.99998 12L4.49998 16.5L6.49998 18.5L12.9999 12.0003L6.49998 5.5L4.49998 7.5Z" fill="#020617"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M23 21H20V2H4V21H1V23H23V21ZM8 6H11V8H8V6ZM8 10H11V12H8V10ZM8 14H11V16H8V14ZM13 14H16V16H13V14ZM13 10H16V12H13V10ZM13 6H16V8H13V6ZM12 18H16V21H12V18ZM8 18H10V21H8V18Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3 4H21V7H3V4ZM6 10.5H18V13.5H6V10.5ZM9 17H15V20H9V17Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M20.2426 4.75736C22.5053 7.02472 22.583 10.637 20.4786 12.993L11.9999 21.485L3.52138 12.993C1.41705 10.637 1.49571 7.01901 3.75736 4.75736C6.02157 2.49315 9.64519 2.41687 12.001 4.52853C14.35 2.42 17.98 2.49 20.2426 4.75736Z" fill="#020617"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12H4C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C9.53614 4 7.33243 5.11383 5.86492 6.86543L8 9H2V3L4.44656 5.44648C6.28002 3.33509 8.9841 2 12 2ZM13 7L12.9998 11.585L16.2426 14.8284L14.8284 16.2426L10.9998 12.413L11 7H13Z" fill="#020617"/>
3
+ </svg>