@rovula/ui 0.0.21 → 0.0.22

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 (299) hide show
  1. package/dist/cjs/bundle.css +155 -495
  2. package/dist/cjs/bundle.js +3 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/ActionButton/ActionButton.stories.d.ts +7 -7
  5. package/dist/cjs/types/components/Button/Button.d.ts +1 -1
  6. package/dist/cjs/types/components/Button/Button.styles.d.ts +1 -1
  7. package/dist/cjs/types/components/Button/Buttons.stories.d.ts +13 -13
  8. package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +60 -60
  9. package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +64 -64
  10. package/dist/cjs/types/components/Icon/Icon.d.ts +11 -0
  11. package/dist/cjs/types/components/Icon/Icon.stories.d.ts +508 -0
  12. package/dist/cjs/types/components/Icon/Icon.styles.d.ts +4 -0
  13. package/dist/cjs/types/components/Input/Input.stories.d.ts +115 -115
  14. package/dist/cjs/types/components/Label/Label.stories.d.ts +51 -51
  15. package/dist/cjs/types/components/RadioGroup/RadioGroup.stories.d.ts +54 -54
  16. package/dist/cjs/types/components/Search/Search.stories.d.ts +64 -64
  17. package/dist/cjs/types/components/Slider/Slider.d.ts +5 -0
  18. package/dist/cjs/types/components/Slider/Slider.stories.d.ts +303 -0
  19. package/dist/cjs/types/components/Switch/Switch.d.ts +4 -0
  20. package/dist/cjs/types/components/Switch/Switch.stories.d.ts +305 -0
  21. package/dist/cjs/types/components/Table/Table.stories.d.ts +7 -7
  22. package/dist/cjs/types/components/Tabs/Tabs.d.ts +12 -3
  23. package/dist/cjs/types/components/Tabs/Tabs.stories.d.ts +18 -0
  24. package/dist/cjs/types/components/TextInput/TextInput.stories.d.ts +62 -62
  25. package/dist/cjs/types/components/TextInput/TextInput.styles.d.ts +1 -1
  26. package/dist/cjs/types/icons/heroIconConfig.d.ts +1 -0
  27. package/dist/cjs/types/icons/iconConfig.d.ts +2 -0
  28. package/dist/cjs/types/icons/iconRegistry.d.ts +19 -0
  29. package/dist/cjs/types/icons/index.d.ts +1 -0
  30. package/dist/cjs/types/icons/material-icon/outline/ChevronDownIcon.d.ts +3 -0
  31. package/dist/cjs/types/icons/material-icon/outline/CollapseContentIcon.d.ts +3 -0
  32. package/dist/cjs/types/icons/material-icon/outline/ContentCopyIcon.d.ts +3 -0
  33. package/dist/cjs/types/icons/material-icon/outline/ContentPasteIcon.d.ts +3 -0
  34. package/dist/cjs/types/icons/material-icon/outline/DataTableIcon.d.ts +3 -0
  35. package/dist/cjs/types/icons/material-icon/outline/ExpandCircleDownIcon.d.ts +3 -0
  36. package/dist/cjs/types/icons/material-icon/outline/ExpandCircleRightIcon.d.ts +3 -0
  37. package/dist/cjs/types/icons/material-icon/outline/ExpandCircleUpIcon.d.ts +3 -0
  38. package/dist/cjs/types/icons/material-icon/outline/ExpandContentIcon.d.ts +3 -0
  39. package/dist/cjs/types/icons/material-icon/outline/InterestsIcon.d.ts +3 -0
  40. package/dist/cjs/types/icons/material-icon/outline/SaveIcon.d.ts +3 -0
  41. package/dist/cjs/types/icons/material-icon/outline/TableChartIcon.d.ts +3 -0
  42. package/dist/cjs/types/icons/material-icon/outline/index.d.ts +12 -0
  43. package/dist/cjs/types/icons/material-icon/solid/ChevronDownIcon.d.ts +3 -0
  44. package/dist/cjs/types/icons/material-icon/solid/CollapseContentIcon.d.ts +3 -0
  45. package/dist/cjs/types/icons/material-icon/solid/ContentCopyIcon.d.ts +3 -0
  46. package/dist/cjs/types/icons/material-icon/solid/ContentPasteIcon.d.ts +3 -0
  47. package/dist/cjs/types/icons/material-icon/solid/DataTableIcon.d.ts +3 -0
  48. package/dist/cjs/types/icons/material-icon/solid/ExpandCircleDownIcon.d.ts +3 -0
  49. package/dist/cjs/types/icons/material-icon/solid/ExpandCircleRightIcon.d.ts +3 -0
  50. package/dist/cjs/types/icons/material-icon/solid/ExpandCircleUpIcon.d.ts +3 -0
  51. package/dist/cjs/types/icons/material-icon/solid/ExpandContentIcon.d.ts +3 -0
  52. package/dist/cjs/types/icons/material-icon/solid/InterestsIcon.d.ts +3 -0
  53. package/dist/cjs/types/icons/material-icon/solid/SaveIcon.d.ts +3 -0
  54. package/dist/cjs/types/icons/material-icon/solid/TableChartIcon.d.ts +3 -0
  55. package/dist/cjs/types/icons/material-icon/solid/index.d.ts +12 -0
  56. package/dist/cjs/types/icons/materialIconConfig.d.ts +1 -0
  57. package/dist/cjs/types/icons/type.d.ts +8 -0
  58. package/dist/cjs/types/icons/utils.d.ts +1 -0
  59. package/dist/cjs/types/index.d.ts +4 -0
  60. package/dist/components/ActionButton/ActionButton.js +8 -19
  61. package/dist/components/ActionButton/ActionButton.stories.js +12 -22
  62. package/dist/components/ActionButton/ActionButton.styles.js +33 -8
  63. package/dist/components/AlertDialog/Alert.stories.js +5 -16
  64. package/dist/components/AlertDialog/AlertDialog.js +27 -38
  65. package/dist/components/Avatar/Avatar.js +7 -8
  66. package/dist/components/Avatar/Avatar.stories.js +11 -22
  67. package/dist/components/Avatar/Avatar.styles.js +1 -1
  68. package/dist/components/Avatar/AvatarBase.js +9 -20
  69. package/dist/components/Avatar/AvatarGroup.js +9 -10
  70. package/dist/components/Avatar/AvatarGroup.stories.js +9 -20
  71. package/dist/components/Button/Button.js +4 -15
  72. package/dist/components/Button/Button.styles.js +1 -1
  73. package/dist/components/Button/Buttons.stories.js +18 -29
  74. package/dist/components/Calendar/Calendar.js +3 -14
  75. package/dist/components/Calendar/Calendar.stories.js +6 -17
  76. package/dist/components/Checkbox/Checkbox.js +3 -14
  77. package/dist/components/Checkbox/Checkbox.stories.js +12 -23
  78. package/dist/components/Collapsible/Collapsible.js +14 -17
  79. package/dist/components/Collapsible/Collapsible.stories.js +9 -20
  80. package/dist/components/Collapsible/Collapsible.styles.js +4 -4
  81. package/dist/components/Collapsible/CollapsibleContext.js +9 -10
  82. package/dist/components/DataTable/DataTable.js +25 -26
  83. package/dist/components/DataTable/DataTable.stories.js +10 -21
  84. package/dist/components/DatePicker/DatePicker.js +4 -20
  85. package/dist/components/DatePicker/DatePicker.stories.js +6 -17
  86. package/dist/components/Dialog/Dialog.js +22 -33
  87. package/dist/components/Dialog/Dialog.stories.js +8 -19
  88. package/dist/components/Dropdown/Dropdown.js +26 -37
  89. package/dist/components/Dropdown/Dropdown.stories.js +36 -55
  90. package/dist/components/Dropdown/Dropdown.styles.js +3 -3
  91. package/dist/components/Form/Form.js +26 -87
  92. package/dist/components/Form/Text.js +2 -3
  93. package/dist/components/Form/TextInput.js +2 -3
  94. package/dist/components/Icon/Icon.js +37 -0
  95. package/dist/components/Icon/Icon.stories.js +356 -0
  96. package/dist/components/Icon/Icon.styles.js +25 -0
  97. package/dist/components/Input/Input.js +9 -20
  98. package/dist/components/Input/Input.stories.js +6 -17
  99. package/dist/components/Input/Input.styles.js +1 -1
  100. package/dist/components/Label/Label.js +3 -14
  101. package/dist/components/Label/Label.stories.js +5 -16
  102. package/dist/components/Label/Label.styles.js +1 -1
  103. package/dist/components/Loading/Loading.js +5 -17
  104. package/dist/components/Loading/Loading.stories.js +6 -17
  105. package/dist/components/Navbar/Navbar.js +3 -4
  106. package/dist/components/Navbar/Navbar.stories.js +8 -19
  107. package/dist/components/Popover/Popover.js +5 -16
  108. package/dist/components/Popover/Popover.stories.js +5 -16
  109. package/dist/components/ProgressBar/ProgressBar.js +8 -9
  110. package/dist/components/ProgressBar/ProgressBar.stories.js +14 -27
  111. package/dist/components/RadioGroup/RadioGroup.js +6 -17
  112. package/dist/components/RadioGroup/RadioGroup.stories.js +9 -20
  113. package/dist/components/Search/Search.js +2 -13
  114. package/dist/components/Search/Search.stories.js +10 -21
  115. package/dist/components/Slider/Slider.js +22 -0
  116. package/dist/components/Slider/Slider.stories.js +33 -0
  117. package/dist/components/Switch/Switch.js +22 -0
  118. package/dist/components/Switch/Switch.stories.js +32 -0
  119. package/dist/components/Table/Datagrid.js +2 -3
  120. package/dist/components/Table/Table.js +24 -35
  121. package/dist/components/Table/Table.stories.js +5 -16
  122. package/dist/components/Tabs/Tabs.js +56 -9
  123. package/dist/components/Tabs/Tabs.stories.js +13 -24
  124. package/dist/components/Text/Text.js +3 -4
  125. package/dist/components/Text/Text.stories.js +12 -23
  126. package/dist/components/TextInput/TextInput.js +30 -41
  127. package/dist/components/TextInput/TextInput.stories.js +17 -28
  128. package/dist/components/TextInput/TextInput.styles.js +7 -7
  129. package/dist/components/ThemeToggle.js +3 -3
  130. package/dist/esm/bundle.css +155 -495
  131. package/dist/esm/bundle.js +3 -3
  132. package/dist/esm/bundle.js.map +1 -1
  133. package/dist/esm/types/components/ActionButton/ActionButton.stories.d.ts +7 -7
  134. package/dist/esm/types/components/Button/Button.d.ts +1 -1
  135. package/dist/esm/types/components/Button/Button.styles.d.ts +1 -1
  136. package/dist/esm/types/components/Button/Buttons.stories.d.ts +13 -13
  137. package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +60 -60
  138. package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +64 -64
  139. package/dist/esm/types/components/Icon/Icon.d.ts +11 -0
  140. package/dist/esm/types/components/Icon/Icon.stories.d.ts +508 -0
  141. package/dist/esm/types/components/Icon/Icon.styles.d.ts +4 -0
  142. package/dist/esm/types/components/Input/Input.stories.d.ts +115 -115
  143. package/dist/esm/types/components/Label/Label.stories.d.ts +51 -51
  144. package/dist/esm/types/components/RadioGroup/RadioGroup.stories.d.ts +54 -54
  145. package/dist/esm/types/components/Search/Search.stories.d.ts +64 -64
  146. package/dist/esm/types/components/Slider/Slider.d.ts +5 -0
  147. package/dist/esm/types/components/Slider/Slider.stories.d.ts +303 -0
  148. package/dist/esm/types/components/Switch/Switch.d.ts +4 -0
  149. package/dist/esm/types/components/Switch/Switch.stories.d.ts +305 -0
  150. package/dist/esm/types/components/Table/Table.stories.d.ts +7 -7
  151. package/dist/esm/types/components/Tabs/Tabs.d.ts +12 -3
  152. package/dist/esm/types/components/Tabs/Tabs.stories.d.ts +18 -0
  153. package/dist/esm/types/components/TextInput/TextInput.stories.d.ts +62 -62
  154. package/dist/esm/types/components/TextInput/TextInput.styles.d.ts +1 -1
  155. package/dist/esm/types/icons/heroIconConfig.d.ts +1 -0
  156. package/dist/esm/types/icons/iconConfig.d.ts +2 -0
  157. package/dist/esm/types/icons/iconRegistry.d.ts +19 -0
  158. package/dist/esm/types/icons/index.d.ts +1 -0
  159. package/dist/esm/types/icons/material-icon/outline/ChevronDownIcon.d.ts +3 -0
  160. package/dist/esm/types/icons/material-icon/outline/CollapseContentIcon.d.ts +3 -0
  161. package/dist/esm/types/icons/material-icon/outline/ContentCopyIcon.d.ts +3 -0
  162. package/dist/esm/types/icons/material-icon/outline/ContentPasteIcon.d.ts +3 -0
  163. package/dist/esm/types/icons/material-icon/outline/DataTableIcon.d.ts +3 -0
  164. package/dist/esm/types/icons/material-icon/outline/ExpandCircleDownIcon.d.ts +3 -0
  165. package/dist/esm/types/icons/material-icon/outline/ExpandCircleRightIcon.d.ts +3 -0
  166. package/dist/esm/types/icons/material-icon/outline/ExpandCircleUpIcon.d.ts +3 -0
  167. package/dist/esm/types/icons/material-icon/outline/ExpandContentIcon.d.ts +3 -0
  168. package/dist/esm/types/icons/material-icon/outline/InterestsIcon.d.ts +3 -0
  169. package/dist/esm/types/icons/material-icon/outline/SaveIcon.d.ts +3 -0
  170. package/dist/esm/types/icons/material-icon/outline/TableChartIcon.d.ts +3 -0
  171. package/dist/esm/types/icons/material-icon/outline/index.d.ts +12 -0
  172. package/dist/esm/types/icons/material-icon/solid/ChevronDownIcon.d.ts +3 -0
  173. package/dist/esm/types/icons/material-icon/solid/CollapseContentIcon.d.ts +3 -0
  174. package/dist/esm/types/icons/material-icon/solid/ContentCopyIcon.d.ts +3 -0
  175. package/dist/esm/types/icons/material-icon/solid/ContentPasteIcon.d.ts +3 -0
  176. package/dist/esm/types/icons/material-icon/solid/DataTableIcon.d.ts +3 -0
  177. package/dist/esm/types/icons/material-icon/solid/ExpandCircleDownIcon.d.ts +3 -0
  178. package/dist/esm/types/icons/material-icon/solid/ExpandCircleRightIcon.d.ts +3 -0
  179. package/dist/esm/types/icons/material-icon/solid/ExpandCircleUpIcon.d.ts +3 -0
  180. package/dist/esm/types/icons/material-icon/solid/ExpandContentIcon.d.ts +3 -0
  181. package/dist/esm/types/icons/material-icon/solid/InterestsIcon.d.ts +3 -0
  182. package/dist/esm/types/icons/material-icon/solid/SaveIcon.d.ts +3 -0
  183. package/dist/esm/types/icons/material-icon/solid/TableChartIcon.d.ts +3 -0
  184. package/dist/esm/types/icons/material-icon/solid/index.d.ts +12 -0
  185. package/dist/esm/types/icons/materialIconConfig.d.ts +1 -0
  186. package/dist/esm/types/icons/type.d.ts +8 -0
  187. package/dist/esm/types/icons/utils.d.ts +1 -0
  188. package/dist/esm/types/index.d.ts +4 -0
  189. package/dist/icons/heroIconConfig.js +13 -0
  190. package/dist/icons/iconConfig.js +2 -0
  191. package/dist/icons/iconRegistry.js +47 -0
  192. package/dist/icons/index.js +1 -0
  193. package/dist/icons/material-icon/outline/ChevronDownIcon.js +3 -0
  194. package/dist/icons/material-icon/outline/CollapseContentIcon.js +3 -0
  195. package/dist/icons/material-icon/outline/ContentCopyIcon.js +3 -0
  196. package/dist/icons/material-icon/outline/ContentPasteIcon.js +3 -0
  197. package/dist/icons/material-icon/outline/DataTableIcon.js +3 -0
  198. package/dist/icons/material-icon/outline/ExpandCircleDownIcon.js +3 -0
  199. package/dist/icons/material-icon/outline/ExpandCircleRightIcon.js +3 -0
  200. package/dist/icons/material-icon/outline/ExpandCircleUpIcon.js +3 -0
  201. package/dist/icons/material-icon/outline/ExpandContentIcon.js +3 -0
  202. package/dist/icons/material-icon/outline/InterestsIcon.js +3 -0
  203. package/dist/icons/material-icon/outline/SaveIcon.js +3 -0
  204. package/dist/icons/material-icon/outline/TableChartIcon.js +3 -0
  205. package/dist/icons/material-icon/outline/index.js +12 -0
  206. package/dist/icons/material-icon/solid/ChevronDownIcon.js +3 -0
  207. package/dist/icons/material-icon/solid/CollapseContentIcon.js +3 -0
  208. package/dist/icons/material-icon/solid/ContentCopyIcon.js +3 -0
  209. package/dist/icons/material-icon/solid/ContentPasteIcon.js +3 -0
  210. package/dist/icons/material-icon/solid/DataTableIcon.js +3 -0
  211. package/dist/icons/material-icon/solid/ExpandCircleDownIcon.js +3 -0
  212. package/dist/icons/material-icon/solid/ExpandCircleRightIcon.js +3 -0
  213. package/dist/icons/material-icon/solid/ExpandCircleUpIcon.js +3 -0
  214. package/dist/icons/material-icon/solid/ExpandContentIcon.js +3 -0
  215. package/dist/icons/material-icon/solid/InterestsIcon.js +3 -0
  216. package/dist/icons/material-icon/solid/SaveIcon.js +3 -0
  217. package/dist/icons/material-icon/solid/TableChartIcon.js +3 -0
  218. package/dist/icons/material-icon/solid/index.js +12 -0
  219. package/dist/icons/materialIconConfig.js +13 -0
  220. package/dist/icons/type.js +1 -0
  221. package/dist/icons/utils.js +6 -0
  222. package/dist/index.d.ts +30 -4
  223. package/dist/index.js +4 -0
  224. package/dist/src/theme/global.css +187 -619
  225. package/dist/stories/ColorGroupPreview.js +6 -9
  226. package/dist/stories/ColorPreview.js +1 -2
  227. package/dist/theme/presets/colors.js +2 -1
  228. package/dist/utils/cn.js +1 -5
  229. package/dist/utils/datetime.js +12 -12
  230. package/package.json +3 -1
  231. package/src/components/ActionButton/ActionButton.stories.tsx +32 -13
  232. package/src/components/ActionButton/ActionButton.styles.ts +33 -8
  233. package/src/components/DataTable/DataTable.tsx +2 -2
  234. package/src/components/Icon/Icon.stories.tsx +450 -0
  235. package/src/components/Icon/Icon.styles.ts +26 -0
  236. package/src/components/Icon/Icon.tsx +67 -0
  237. package/src/components/Slider/Slider.stories.tsx +47 -0
  238. package/src/components/Slider/Slider.tsx +32 -0
  239. package/src/components/Switch/Switch.stories.tsx +46 -0
  240. package/src/components/Switch/Switch.tsx +32 -0
  241. package/src/components/Table/Table.tsx +2 -2
  242. package/src/components/Tabs/Tabs.tsx +99 -12
  243. package/src/icons/heroIconConfig.ts +23 -0
  244. package/src/icons/iconConfig.ts +2 -0
  245. package/src/icons/iconRegistry.ts +76 -0
  246. package/src/icons/index.ts +1 -0
  247. package/src/icons/material-icon/outline/ChevronDownIcon.tsx +22 -0
  248. package/src/icons/material-icon/outline/CollapseContentIcon.tsx +20 -0
  249. package/src/icons/material-icon/outline/ContentCopyIcon.tsx +20 -0
  250. package/src/icons/material-icon/outline/ContentPasteIcon.tsx +20 -0
  251. package/src/icons/material-icon/outline/DataTableIcon.tsx +20 -0
  252. package/src/icons/material-icon/outline/ExpandCircleDownIcon.tsx +20 -0
  253. package/src/icons/material-icon/outline/ExpandCircleRightIcon.tsx +20 -0
  254. package/src/icons/material-icon/outline/ExpandCircleUpIcon.tsx +20 -0
  255. package/src/icons/material-icon/outline/ExpandContentIcon.tsx +20 -0
  256. package/src/icons/material-icon/outline/InterestsIcon.tsx +20 -0
  257. package/src/icons/material-icon/outline/SaveIcon.tsx +20 -0
  258. package/src/icons/material-icon/outline/TableChartIcon.tsx +20 -0
  259. package/src/icons/material-icon/outline/index.ts +12 -0
  260. package/src/icons/material-icon/solid/ChevronDownIcon.tsx +22 -0
  261. package/src/icons/material-icon/solid/CollapseContentIcon.tsx +20 -0
  262. package/src/icons/material-icon/solid/ContentCopyIcon.tsx +20 -0
  263. package/src/icons/material-icon/solid/ContentPasteIcon.tsx +20 -0
  264. package/src/icons/material-icon/solid/DataTableIcon.tsx +20 -0
  265. package/src/icons/material-icon/solid/ExpandCircleDownIcon.tsx +20 -0
  266. package/src/icons/material-icon/solid/ExpandCircleRightIcon.tsx +20 -0
  267. package/src/icons/material-icon/solid/ExpandCircleUpIcon.tsx +20 -0
  268. package/src/icons/material-icon/solid/ExpandContentIcon.tsx +20 -0
  269. package/src/icons/material-icon/solid/InterestsIcon.tsx +20 -0
  270. package/src/icons/material-icon/solid/SaveIcon.tsx +20 -0
  271. package/src/icons/material-icon/solid/TableChartIcon.tsx +20 -0
  272. package/src/icons/material-icon/solid/index.ts +12 -0
  273. package/src/icons/materialIconConfig.tsx +23 -0
  274. package/src/icons/type.ts +11 -0
  275. package/src/icons/utils.ts +6 -0
  276. package/src/index.ts +5 -0
  277. package/src/theme/presets/colors.js +2 -1
  278. package/dist/cjs/types/components/ActionButton/ActionButton.styles copy.d.ts +0 -6
  279. package/dist/cjs/types/components/Button/Button.styles copy.d.ts +0 -7
  280. package/dist/components/ActionButton/ActionButton.styles copy.js +0 -90
  281. package/dist/components/Button/Button.styles copy.js +0 -210
  282. package/dist/esm/types/components/ActionButton/ActionButton.styles copy.d.ts +0 -6
  283. package/dist/esm/types/components/Button/Button.styles copy.d.ts +0 -7
  284. package/src/_theme/global copy.css +0 -761
  285. package/src/_theme/global.css +0 -39
  286. package/src/_theme/main-preset.js +0 -239
  287. package/src/_theme/plugins/utilities/typography.js +0 -81
  288. package/src/_theme/presets/colors copy 2.js +0 -319
  289. package/src/_theme/presets/colors copy.js +0 -229
  290. package/src/_theme/presets/colors.js +0 -94
  291. package/src/_theme/theme.d.ts +0 -69
  292. package/src/_theme/variables/base/button.css +0 -334
  293. package/src/_theme/variables/base/components copy.css +0 -19
  294. package/src/_theme/variables/default/colors.css +0 -292
  295. package/src/_theme/variables/default/typography.css +0 -178
  296. package/src/_theme/variables/xspector/colors.css +0 -468
  297. package/src/_theme/variables/xspector/typography.css +0 -178
  298. package/src/components/ActionButton/ActionButton.styles copy.ts +0 -95
  299. package/src/components/Button/Button.styles copy.ts +0 -214
@@ -79,7 +79,7 @@ const TableHead = React.forwardRef<
79
79
  <th
80
80
  ref={ref}
81
81
  className={cn(
82
- " h-12 py-3 px-6 text-left align-middle typography-body2 text-textcolor-grey-dark [&:has([role=checkbox])]:pr-4 [&:has([role=checkbox])]:w-4",
82
+ " h-12 py-3 px-6 text-left align-middle typography-body2 text-text-grey-dark [&:has([role=checkbox])]:pr-4 [&:has([role=checkbox])]:w-4",
83
83
  className
84
84
  )}
85
85
  {...props}
@@ -94,7 +94,7 @@ const TableCell = React.forwardRef<
94
94
  <td
95
95
  ref={ref}
96
96
  className={cn(
97
- " py-3 px-6 text-left align-middle typography-body3 text-textcolor-grey-dark [&:has([role=checkbox])]:pr-4 [&:has([role=checkbox])]:w-4",
97
+ " py-3 px-6 text-left align-middle typography-body3 text-text-grey-dark [&:has([role=checkbox])]:pr-4 [&:has([role=checkbox])]:w-4",
98
98
  className
99
99
  )}
100
100
  {...props}
@@ -1,43 +1,123 @@
1
1
  "use client";
2
-
2
+ import React, { useState, useRef, useEffect } from "react";
3
3
  import { cn } from "@/utils/cn";
4
- import React, { ReactElement, useState } from "react";
5
4
 
6
5
  type Tab = {
7
6
  label: string;
8
- startTabContent?: ReactElement;
9
- endTabContent?: ReactElement;
7
+ startTabContent?: React.ReactElement;
8
+ endTabContent?: React.ReactElement;
10
9
  content: React.ReactNode;
11
10
  };
12
11
 
13
12
  type TabsProps = {
14
13
  tabs: Tab[];
15
14
  initialTab?: number;
15
+ tabBarSize?: number;
16
+ tabMode?: "start" | "justify";
17
+ enableBorderLine?: boolean;
18
+ className?: string;
19
+ tabBarClassName?: string;
20
+ tabButtonClassName?: string;
21
+ tabButtonActiveClassName?: string;
22
+ tabContentClassName?: string;
23
+ borderSliderClassname?: string;
16
24
  };
17
25
 
18
- const Tabs: React.FC<TabsProps> = ({ tabs = [], initialTab = 0 }) => {
26
+ const Tabs: React.FC<TabsProps> = ({
27
+ tabs = [],
28
+ initialTab = 0,
29
+ tabBarSize = 38,
30
+ enableBorderLine = true,
31
+ tabMode = "start",
32
+ className,
33
+ tabBarClassName,
34
+ tabButtonClassName,
35
+ tabButtonActiveClassName,
36
+ tabContentClassName,
37
+ borderSliderClassname,
38
+ }) => {
19
39
  const [activeTab, setActiveTab] = useState(initialTab);
40
+ const [sliderStyle, setSliderStyle] = useState({
41
+ width: "0px",
42
+ transform: "translateX(0px)",
43
+ });
44
+ const tabRefs = useRef<(HTMLButtonElement | null)[]>([]);
45
+ const isInitialMount = useRef(true);
46
+
47
+ const updateSliderStyle = () => {
48
+ const activeTabElement = tabRefs.current[activeTab];
49
+ if (activeTabElement) {
50
+ setSliderStyle({
51
+ width: `${activeTabElement.offsetWidth}px`,
52
+ transform: `translateX(${activeTabElement.offsetLeft}px)`,
53
+ });
54
+ }
55
+ };
56
+
57
+ useEffect(() => {
58
+ if (isInitialMount.current) {
59
+ isInitialMount.current = false;
60
+
61
+ // Set initial position without animation
62
+ const activeTabElement = tabRefs.current[activeTab];
63
+ if (activeTabElement) {
64
+ setSliderStyle({
65
+ width: "0px",
66
+ transform: `translateX(${
67
+ activeTabElement.offsetLeft + activeTabElement.offsetWidth / 2
68
+ }px)`,
69
+ });
70
+
71
+ // Trigger reflow
72
+ setTimeout(() => {
73
+ updateSliderStyle();
74
+ }, 50);
75
+ }
76
+ } else {
77
+ updateSliderStyle();
78
+ }
79
+
80
+ // const handleResize = () => {
81
+ // updateSliderStyle();
82
+ // };
83
+
84
+ // window.addEventListener("resize", handleResize);
85
+ // return () => window.removeEventListener("resize", handleResize);
86
+ }, [activeTab, tabs, tabMode]);
20
87
 
21
88
  return (
22
- <div className="w-full space-y-4">
89
+ <div className={cn("w-full", className)}>
23
90
  <div
24
- className="flex border-b border-primary-10 gap-6 h-[54px] box-border"
91
+ className={cn(
92
+ `relative flex gap-6 h-[${tabBarSize}px] box-border`,
93
+ {
94
+ [`border-b-[1px] border-base-stroke`]: enableBorderLine,
95
+ "gap-0": tabMode === "justify",
96
+ },
97
+ tabBarClassName
98
+ )}
99
+ style={{
100
+ justifyContent: tabMode === "justify" ? "stretch" : tabMode,
101
+ }}
25
102
  role="tablist"
26
103
  >
27
104
  {tabs.map((tab, index) => (
28
105
  <button
29
106
  key={index}
107
+ ref={(el) => (tabRefs.current[index] = el)}
30
108
  role="tab"
31
109
  aria-selected={index === activeTab}
32
110
  aria-controls={`tab-content-${index}`}
33
111
  id={`tab-${index}`}
34
112
  className={cn(
35
- "flex flex-row items-center py-4 px-1 cursor-pointer transition-colors duration-300 box-border gap-3",
113
+ "flex justify-center flex-row items-center py-4 px-1 cursor-pointer transition-colors duration-300 box-border gap-3",
36
114
  {
37
- "typography-body2 text-textcolor-dark border-b-[3px] border-textcolor-dark":
38
- index === activeTab,
39
- "typography-body1 text-textcolor-grey-light border-b-[3px] border-transparent hover:text-textcolor-dark ":
115
+ "typography-small3 text-text-dark": index === activeTab,
116
+ "typography-small1 text-text-grey-light hover:text-text-grey-dark active:text-text-dark":
40
117
  index !== activeTab,
118
+ [tabButtonClassName ?? ""]: true,
119
+ [tabButtonActiveClassName ?? ""]: index === activeTab,
120
+ "flex-1": tabMode === "justify",
41
121
  }
42
122
  )}
43
123
  onClick={() => setActiveTab(index)}
@@ -47,9 +127,16 @@ const Tabs: React.FC<TabsProps> = ({ tabs = [], initialTab = 0 }) => {
47
127
  {tab.endTabContent}
48
128
  </button>
49
129
  ))}
130
+ <div
131
+ className={cn(
132
+ `absolute -bottom-[1px] h-[1px] bg-primary transition-all duration-300 ease-in-out`,
133
+ borderSliderClassname
134
+ )}
135
+ style={sliderStyle}
136
+ />
50
137
  </div>
51
138
  <div
52
- className=""
139
+ className={cn("mt-4", tabContentClassName)}
53
140
  role="tabpanel"
54
141
  id={`tab-content-${activeTab}`}
55
142
  aria-labelledby={`tab-${activeTab}`}
@@ -0,0 +1,23 @@
1
+ import * as HeroIconSolid from "@heroicons/react/16/solid";
2
+ import * as HeroIconOutline from "@heroicons/react/24/outline";
3
+
4
+ import { registerIconSet } from "./iconRegistry";
5
+ import { getIconKeyByNaming } from "./utils";
6
+ import { IconRegistryMap, IconSet } from "./type";
7
+
8
+ const heroiconIcons: IconRegistryMap = Object.keys(HeroIconSolid).reduce(
9
+ (prev, key) => {
10
+ const iconKey = getIconKeyByNaming(key);
11
+
12
+ return {
13
+ ...prev,
14
+ [iconKey]: {
15
+ solid: (HeroIconSolid as IconSet)[key] ?? null,
16
+ outline: (HeroIconOutline as IconSet)[key] ?? null,
17
+ },
18
+ };
19
+ },
20
+ {} as IconRegistryMap
21
+ );
22
+
23
+ registerIconSet("heroicons", heroiconIcons);
@@ -0,0 +1,2 @@
1
+ import "./heroIconConfig";
2
+ import "./materialIconConfig";
@@ -0,0 +1,76 @@
1
+ import React from "react";
2
+ import {
3
+ IconRegistryMap,
4
+ IconVariantsMap,
5
+ IconVariant,
6
+ IconComponent,
7
+ } from "./type";
8
+
9
+ // Interface for the icon registry
10
+ export interface IconRegistry {
11
+ [setName: string]: IconRegistryMap;
12
+ }
13
+
14
+ // The global icon registry object
15
+ export const iconRegistry: IconRegistry = {};
16
+
17
+ /**
18
+ * Register an icon set with dynamic or direct imports.
19
+ * @param setName - The name of the icon set.
20
+ * @param icons - A record of icon names to their respective import paths with variants.
21
+ */
22
+ export const registerIconSet = async (
23
+ setName: string,
24
+ icons: IconRegistryMap
25
+ ) => {
26
+ const loadedIcons: IconRegistryMap = {};
27
+
28
+ for (const [iconName, variants] of Object.entries(icons)) {
29
+ const loadedVariants: IconVariantsMap = {};
30
+
31
+ for (const [variant, importFn] of Object.entries(variants)) {
32
+ if (importFn) {
33
+ try {
34
+ let IconComponent: IconComponent;
35
+
36
+ // TODO: support dynamic import.
37
+ // if (typeof importFn === "function") {
38
+ // const module = await (
39
+ // importFn as () => Promise<{ default: IconComponent }>
40
+ // )();
41
+ // IconComponent = module.default;
42
+ // } else {
43
+ // IconComponent = importFn as IconComponent;
44
+ // }
45
+ IconComponent = importFn as IconComponent;
46
+
47
+ loadedVariants[variant as IconVariant] = IconComponent;
48
+ } catch (error) {
49
+ console.warn(
50
+ `Failed to load ${variant} icon "${iconName}" in set "${setName}":`,
51
+ error
52
+ );
53
+ }
54
+ }
55
+ }
56
+
57
+ loadedIcons[iconName] = loadedVariants;
58
+ }
59
+
60
+ iconRegistry[setName] = { ...iconRegistry[setName], ...loadedIcons };
61
+ };
62
+
63
+ /**
64
+ * Retrieve an icon component by set name, icon name, and variant.
65
+ * @param setName - The name of the icon set.
66
+ * @param iconName - The name of the icon.
67
+ * @param variant - The variant of the icon (solid or outline).
68
+ * @returns The icon component if found, otherwise undefined.
69
+ */
70
+ export const getIcon = (
71
+ setName: string,
72
+ iconName: string,
73
+ variant: IconVariant
74
+ ): IconComponent | undefined => {
75
+ return iconRegistry[setName]?.[iconName]?.[variant];
76
+ };
@@ -0,0 +1 @@
1
+ export * from "./iconRegistry";
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ChevronDownIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 18 18"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ fillRule="evenodd"
16
+ d="M4.747 6.997a.844.844 0 0 1 1.193 0L9 10.057l3.06-3.06a.844.844 0 0 1 1.193 1.193l-3.656 3.657a.844.844 0 0 1-1.194 0L4.747 8.19a.844.844 0 0 1 0-1.193Z"
17
+ clipRule="evenodd"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default ChevronDownIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const CollapseContentIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M8.923 15.077h-4a.892.892 0 0 1-.657-.266.893.893 0 0 1-.266-.658c0-.261.089-.48.266-.657a.893.893 0 0 1 .657-.265h4.734c.315 0 .58.106.793.32.213.213.32.477.32.792v4.734c0 .261-.09.48-.266.657a.893.893 0 0 1-.658.266.892.892 0 0 1-.658-.265.893.893 0 0 1-.265-.658v-4Zm6.154-6.154h4c.261 0 .48.089.657.266a.893.893 0 0 1 .266.657c0 .262-.088.481-.265.658a.893.893 0 0 1-.658.265h-4.734c-.315 0-.58-.106-.793-.32a1.077 1.077 0 0 1-.32-.792V4.923c0-.261.09-.48.266-.657A.893.893 0 0 1 14.154 4c.262 0 .481.089.658.266a.893.893 0 0 1 .265.657v4Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default CollapseContentIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ContentCopyIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M9.308 18c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V4.808c0-.505.175-.933.525-1.283.35-.35.778-.525 1.283-.525h8.384c.505 0 .933.175 1.283.525.35.35.525.778.525 1.283v11.384c0 .505-.175.933-.525 1.283-.35.35-.778.525-1.283.525H9.308Zm0-1.5h8.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212V4.808a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H9.308a.294.294 0 0 0-.212.096.294.294 0 0 0-.096.212v11.384c0 .077.032.148.096.212a.294.294 0 0 0 .212.096Zm-3.5 5c-.505 0-.933-.175-1.283-.525A1.745 1.745 0 0 1 4 19.692V7.558c0-.213.072-.391.215-.535a.726.726 0 0 1 .535-.215c.213 0 .391.072.535.215a.727.727 0 0 1 .215.535v12.134c0 .077.032.148.096.212a.294.294 0 0 0 .212.096h9.134c.213 0 .391.072.535.215a.726.726 0 0 1 .215.535.726.726 0 0 1-.215.535.726.726 0 0 1-.535.215H5.808Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ContentCopyIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ContentPasteIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M5.308 21.492a1.74 1.74 0 0 1-1.277-.53 1.74 1.74 0 0 1-.531-1.277V6.3c0-.497.177-.923.531-1.277a1.74 1.74 0 0 1 1.277-.53h4.405c.139-.488.422-.892.85-1.212.427-.32.906-.481 1.437-.481.551 0 1.038.16 1.46.48.423.321.704.725.842 1.212h4.39c.497 0 .923.177 1.277.531.354.354.531.78.531 1.277v13.384c0 .498-.177.923-.531 1.277a1.74 1.74 0 0 1-1.277.531H5.308Zm0-1.5h13.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212V6.3a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H16.5v1.712c0 .256-.086.47-.259.644a.87.87 0 0 1-.641.26H8.4a.868.868 0 0 1-.641-.26.876.876 0 0 1-.259-.644V5.992H5.308a.294.294 0 0 0-.212.096A.294.294 0 0 0 5 6.3v13.384c0 .078.032.148.096.212a.293.293 0 0 0 .212.096Zm6.694-13.884a.87.87 0 0 0 .643-.26.88.88 0 0 0 .259-.646.871.871 0 0 0-.26-.644.88.88 0 0 0-.646-.258.87.87 0 0 0-.643.26.88.88 0 0 0-.259.645.87.87 0 0 0 .26.644.879.879 0 0 0 .646.259Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ContentPasteIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const DataTableICon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M5.308 20.5c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V5.308c0-.505.175-.933.525-1.283.35-.35.778-.525 1.283-.525h13.384c.505 0 .933.175 1.283.525.35.35.525.778.525 1.283v13.384c0 .505-.175.933-.525 1.283-.35.35-.778.525-1.283.525H5.308ZM5 8.662h14V5.308a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H5.308a.294.294 0 0 0-.212.096.294.294 0 0 0-.096.212v3.354Zm0 5.176h14v-3.676H5v3.676ZM5.308 19h13.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212v-3.354H5v3.354c0 .077.032.148.096.212a.294.294 0 0 0 .212.096ZM7.287 7.727a.87.87 0 0 1-.644-.26.879.879 0 0 1-.258-.645.87.87 0 0 1 .26-.644.879.879 0 0 1 .645-.259.87.87 0 0 1 .644.26.88.88 0 0 1 .258.646.87.87 0 0 1-.26.643.879.879 0 0 1-.645.259Zm0 5.177a.871.871 0 0 1-.644-.26.88.88 0 0 1-.258-.646.87.87 0 0 1 .26-.643.88.88 0 0 1 .645-.259c.257 0 .471.087.644.26a.88.88 0 0 1 .258.646.871.871 0 0 1-.26.643.88.88 0 0 1-.645.259Zm0 5.177a.87.87 0 0 1-.644-.26.88.88 0 0 1-.258-.646.87.87 0 0 1 .26-.643.879.879 0 0 1 .645-.259.87.87 0 0 1 .644.26.879.879 0 0 1 .258.645.87.87 0 0 1-.26.644.879.879 0 0 1-.645.259Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default DataTableICon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ExpandCircleDownIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="m12 13.03-2.558-2.557a.693.693 0 0 0-.513-.208.754.754 0 0 0-.531.208.7.7 0 0 0-.228.535c.003.207.08.386.228.534l2.97 2.97c.18.18.391.27.632.27s.452-.09.633-.27l2.984-2.985a.712.712 0 0 0 .22-.527.717.717 0 0 0-.235-.527.76.76 0 0 0-.527-.21.712.712 0 0 0-.527.22L12 13.03Zm.002 8.47a9.254 9.254 0 0 1-3.706-.748 9.596 9.596 0 0 1-3.016-2.03 9.595 9.595 0 0 1-2.032-3.016 9.246 9.246 0 0 1-.748-3.704c0-1.314.25-2.55.748-3.706a9.596 9.596 0 0 1 2.03-3.016 9.594 9.594 0 0 1 3.016-2.032 9.246 9.246 0 0 1 3.704-.748c1.314 0 2.55.25 3.706.748a9.596 9.596 0 0 1 3.017 2.03 9.594 9.594 0 0 1 2.03 3.016 9.247 9.247 0 0 1 .749 3.704c0 1.314-.25 2.55-.748 3.706a9.596 9.596 0 0 1-2.03 3.017 9.595 9.595 0 0 1-3.016 2.03 9.247 9.247 0 0 1-3.704.749Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ExpandCircleDownIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ExpandCircleRightIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="m13.03 12-2.557 2.558a.693.693 0 0 0-.208.513c0 .205.07.382.208.531a.7.7 0 0 0 .535.228.746.746 0 0 0 .534-.228l2.97-2.97a.868.868 0 0 0 .27-.632.867.867 0 0 0-.27-.633l-2.985-2.984a.711.711 0 0 0-.527-.22.717.717 0 0 0-.527.235.76.76 0 0 0-.21.527.712.712 0 0 0 .22.527L13.03 12Zm-1.028 9.5a9.254 9.254 0 0 1-3.706-.748 9.596 9.596 0 0 1-3.016-2.03 9.595 9.595 0 0 1-2.032-3.016 9.246 9.246 0 0 1-.748-3.704c0-1.314.25-2.55.748-3.706a9.596 9.596 0 0 1 2.03-3.016 9.594 9.594 0 0 1 3.016-2.032 9.246 9.246 0 0 1 3.704-.748c1.314 0 2.55.25 3.706.748a9.596 9.596 0 0 1 3.017 2.03 9.594 9.594 0 0 1 2.03 3.016 9.247 9.247 0 0 1 .749 3.704c0 1.314-.25 2.55-.748 3.706a9.596 9.596 0 0 1-2.03 3.017 9.595 9.595 0 0 1-3.016 2.03 9.247 9.247 0 0 1-3.704.749Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ExpandCircleRightIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ExpandCircleUpIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="m12 10.97 2.558 2.557a.693.693 0 0 0 .513.208c.205 0 .382-.07.531-.208a.7.7 0 0 0 .228-.535.746.746 0 0 0-.228-.534l-2.97-2.97a.867.867 0 0 0-.632-.27.867.867 0 0 0-.633.27l-2.984 2.985a.711.711 0 0 0-.22.527c.002.203.08.378.235.527a.76.76 0 0 0 .527.21.712.712 0 0 0 .527-.22L12 10.97Zm.002 10.53a9.254 9.254 0 0 1-3.706-.748 9.596 9.596 0 0 1-3.016-2.03 9.595 9.595 0 0 1-2.032-3.016 9.246 9.246 0 0 1-.748-3.704c0-1.314.25-2.55.748-3.706a9.596 9.596 0 0 1 2.03-3.016 9.594 9.594 0 0 1 3.016-2.032 9.246 9.246 0 0 1 3.704-.748c1.314 0 2.55.25 3.706.748a9.596 9.596 0 0 1 3.017 2.03 9.594 9.594 0 0 1 2.03 3.016 9.247 9.247 0 0 1 .749 3.704c0 1.314-.25 2.55-.748 3.706a9.596 9.596 0 0 1-2.03 3.017 9.595 9.595 0 0 1-3.016 2.03 9.247 9.247 0 0 1-3.704.749Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ExpandCircleUpIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ExpandContentIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M5.846 18.154h4c.262 0 .481.088.658.265a.894.894 0 0 1 .265.658.892.892 0 0 1-.265.658.894.894 0 0 1-.658.265H5.113c-.316 0-.58-.107-.793-.32a1.076 1.076 0 0 1-.32-.793v-4.733c0-.262.089-.481.266-.658a.894.894 0 0 1 .657-.265c.262 0 .481.088.658.265a.894.894 0 0 1 .265.658v4ZM18.154 5.846h-4a.893.893 0 0 1-.658-.265.894.894 0 0 1-.265-.658c0-.262.088-.481.265-.658A.894.894 0 0 1 14.154 4h4.733c.316 0 .58.107.793.32.213.213.32.477.32.793v4.733c0 .262-.088.481-.265.658a.894.894 0 0 1-.658.265.892.892 0 0 1-.658-.265.894.894 0 0 1-.265-.658v-4Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ExpandContentIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const InterestsIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="m3.142 9.371 3.089-5.479a.903.903 0 0 1 .341-.357.914.914 0 0 1 .448-.11.91.91 0 0 1 .446.11.903.903 0 0 1 .342.357l3.088 5.48a.84.84 0 0 1 .113.455.98.98 0 0 1-.128.432.878.878 0 0 1-.775.452H3.932a.862.862 0 0 1-.774-.452.981.981 0 0 1-.128-.432.84.84 0 0 1 .112-.456ZM7.03 20.76c-1.042 0-1.93-.366-2.662-1.098-.732-.732-1.098-1.617-1.098-2.657 0-1.055.366-1.946 1.098-2.673.733-.727 1.62-1.09 2.662-1.09 1.042 0 1.93.366 2.661 1.098.733.731 1.099 1.619 1.099 2.661s-.366 1.93-1.099 2.662c-.732.732-1.619 1.098-2.661 1.098Zm0-1.5c.627 0 1.16-.22 1.6-.659.44-.44.66-.973.66-1.6 0-.627-.22-1.16-.66-1.6-.44-.44-.973-.66-1.6-.66-.627 0-1.16.22-1.6.66-.44.44-.66.973-.66 1.6 0 .627.22 1.16.66 1.6.44.44.973.66 1.6.66ZM4.949 9.213H9.1L7.02 5.567 4.947 9.212Zm8.31 10.644v-5.712c0-.256.088-.47.26-.644a.874.874 0 0 1 .645-.26h5.711c.256 0 .47.087.644.26.173.173.26.388.26.644v5.712c0 .256-.087.47-.26.644a.875.875 0 0 1-.644.26h-5.711a.875.875 0 0 1-.644-.26.875.875 0 0 1-.26-.644Zm1.5-.596h4.52v-4.52h-4.52v4.52Zm1.678-9.031-1.095-.913c-1.008-.833-1.747-1.54-2.216-2.12-.468-.58-.703-1.216-.703-1.905 0-.674.23-1.237.687-1.689.458-.453 1.033-.679 1.727-.679.424 0 .82.101 1.19.303.37.202.7.493.992.872a3.26 3.26 0 0 1 1.002-.867 2.447 2.447 0 0 1 1.19-.308c.685 0 1.257.231 1.716.694.459.463.688 1.03.688 1.702 0 .684-.234 1.312-.702 1.887-.469.574-1.208 1.277-2.217 2.11l-1.094.913a.845.845 0 0 1-.583.221.843.843 0 0 1-.582-.221Zm.582-1.479c1.181-.949 1.993-1.667 2.434-2.154.442-.487.663-.905.663-1.256a.918.918 0 0 0-.246-.66.84.84 0 0 0-.637-.257c-.191 0-.377.056-.559.167-.181.11-.42.315-.718.612l-.937.906-.936-.906c-.304-.304-.545-.51-.722-.617a1.055 1.055 0 0 0-.555-.162c-.268 0-.482.081-.642.243-.16.162-.24.38-.24.655 0 .363.22.788.662 1.275.441.487 1.253 1.205 2.433 2.154Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default InterestsIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const SaveIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M5.308 20.5c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V5.308c0-.505.175-.933.525-1.283.35-.35.778-.525 1.283-.525H16.04c.241 0 .473.047.695.14.223.094.416.223.58.387l2.658 2.658c.164.164.293.357.387.58.093.222.14.454.14.695v10.732c0 .505-.175.933-.525 1.283-.35.35-.778.525-1.283.525H5.308ZM19 7.85 16.15 5H5.308a.3.3 0 0 0-.221.087.3.3 0 0 0-.087.22v13.385a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087h13.385a.3.3 0 0 0 .221-.087.3.3 0 0 0 .087-.22V7.85Zm-7 9.42a2.41 2.41 0 0 0 1.77-.732 2.41 2.41 0 0 0 .73-1.769A2.41 2.41 0 0 0 13.77 13a2.41 2.41 0 0 0-1.77-.73 2.41 2.41 0 0 0-1.77.73 2.41 2.41 0 0 0-.73 1.77c0 .692.244 1.281.73 1.768a2.41 2.41 0 0 0 1.77.731ZM7.288 9.883h6.404a.876.876 0 0 0 .646-.258.876.876 0 0 0 .258-.645V7.289a.876.876 0 0 0-.258-.646.876.876 0 0 0-.646-.258H7.288a.876.876 0 0 0-.645.258.876.876 0 0 0-.258.646V8.98c0 .257.086.473.258.645a.876.876 0 0 0 .646.258Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default SaveIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const TableChartIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M18.692 20.5H5.308c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V5.308c0-.505.175-.933.525-1.283.35-.35.778-.525 1.283-.525h13.384c.505 0 .933.175 1.283.525.35.35.525.778.525 1.283v13.384c0 .505-.175.933-.525 1.283-.35.35-.778.525-1.283.525ZM5 8.25h14V5.308a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H5.308a.294.294 0 0 0-.212.096.294.294 0 0 0-.096.212V8.25Zm2.692 1.5H5v8.942c0 .077.032.148.096.212a.294.294 0 0 0 .212.096h2.384V9.75Zm8.616 0V19h2.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212V9.75h-2.692Zm-1.5 0H9.192V19h5.616V9.75Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default TableChartIcon;
@@ -0,0 +1,12 @@
1
+ export { default as SaveIcon } from "./SaveIcon";
2
+ export { default as DataTableIcon } from "./DataTableIcon";
3
+ export { default as TableChartIcon } from "./TableChartIcon";
4
+ export { default as InterestsIcon } from "./InterestsIcon";
5
+ export { default as CollapseContentIcon } from "./CollapseContentIcon";
6
+ export { default as ExpandContentIcon } from "./ExpandContentIcon";
7
+ export { default as ExpandCircleRightIcon } from "./ExpandCircleRightIcon";
8
+ export { default as ExpandCircleDownIcon } from "./ExpandCircleDownIcon";
9
+ export { default as ExpandCircleUpIcon } from "./ExpandCircleUpIcon";
10
+ export { default as ContentCopyIcon } from "./ContentCopyIcon";
11
+ export { default as ContentPasteIcon } from "./ContentPasteIcon";
12
+ export { default as ChevronDownIcon } from "./ChevronDownIcon";
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ChevronDownIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 18 18"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ fillRule="evenodd"
16
+ d="M4.747 6.997a.844.844 0 0 1 1.193 0L9 10.057l3.06-3.06a.844.844 0 0 1 1.193 1.193l-3.656 3.657a.844.844 0 0 1-1.194 0L4.747 8.19a.844.844 0 0 1 0-1.193Z"
17
+ clipRule="evenodd"
18
+ />
19
+ </svg>
20
+ );
21
+
22
+ export default ChevronDownIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const CollapseContentIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M8.923 15.077h-4a.892.892 0 0 1-.657-.266.893.893 0 0 1-.266-.658c0-.261.089-.48.266-.657a.893.893 0 0 1 .657-.265h4.734c.315 0 .58.106.793.32.213.213.32.477.32.792v4.734c0 .261-.09.48-.266.657a.893.893 0 0 1-.658.266.892.892 0 0 1-.658-.265.893.893 0 0 1-.265-.658v-4Zm6.154-6.154h4c.261 0 .48.089.657.266a.893.893 0 0 1 .266.657c0 .262-.088.481-.265.658a.893.893 0 0 1-.658.265h-4.734c-.315 0-.58-.106-.793-.32a1.077 1.077 0 0 1-.32-.792V4.923c0-.261.09-.48.266-.657A.893.893 0 0 1 14.154 4c.262 0 .481.089.658.266a.893.893 0 0 1 .265.657v4Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default CollapseContentIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ContentCopyIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M9.308 18c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V4.808c0-.505.175-.933.525-1.283.35-.35.778-.525 1.283-.525h8.384c.505 0 .933.175 1.283.525.35.35.525.778.525 1.283v11.384c0 .505-.175.933-.525 1.283-.35.35-.778.525-1.283.525H9.308Zm0-1.5h8.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212V4.808a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H9.308a.294.294 0 0 0-.212.096.294.294 0 0 0-.096.212v11.384c0 .077.032.148.096.212a.294.294 0 0 0 .212.096Zm-3.5 5c-.505 0-.933-.175-1.283-.525A1.745 1.745 0 0 1 4 19.692V7.558c0-.213.072-.391.215-.535a.726.726 0 0 1 .535-.215c.213 0 .391.072.535.215a.727.727 0 0 1 .215.535v12.134c0 .077.032.148.096.212a.294.294 0 0 0 .212.096h9.134c.213 0 .391.072.535.215a.726.726 0 0 1 .215.535.726.726 0 0 1-.215.535.726.726 0 0 1-.535.215H5.808Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ContentCopyIcon;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { SVGProps } from "react";
3
+
4
+ const ContentPasteIcon = (props: SVGProps<SVGSVGElement>) => (
5
+ <svg
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 24 24"
10
+ fill="none"
11
+ {...props}
12
+ >
13
+ <path
14
+ fill="currentColor"
15
+ d="M5.308 21.492a1.74 1.74 0 0 1-1.277-.53 1.74 1.74 0 0 1-.531-1.277V6.3c0-.497.177-.923.531-1.277a1.74 1.74 0 0 1 1.277-.53h4.405c.139-.488.422-.892.85-1.212.427-.32.906-.481 1.437-.481.551 0 1.038.16 1.46.48.423.321.704.725.842 1.212h4.39c.497 0 .923.177 1.277.531.354.354.531.78.531 1.277v13.384c0 .498-.177.923-.531 1.277a1.74 1.74 0 0 1-1.277.531H5.308Zm0-1.5h13.384a.294.294 0 0 0 .212-.096.294.294 0 0 0 .096-.212V6.3a.294.294 0 0 0-.096-.212.294.294 0 0 0-.212-.096H16.5v1.712c0 .256-.086.47-.259.644a.87.87 0 0 1-.641.26H8.4a.868.868 0 0 1-.641-.26.876.876 0 0 1-.259-.644V5.992H5.308a.294.294 0 0 0-.212.096A.294.294 0 0 0 5 6.3v13.384c0 .078.032.148.096.212a.293.293 0 0 0 .212.096Zm6.694-13.884a.87.87 0 0 0 .643-.26.88.88 0 0 0 .259-.646.871.871 0 0 0-.26-.644.88.88 0 0 0-.646-.258.87.87 0 0 0-.643.26.88.88 0 0 0-.259.645.87.87 0 0 0 .26.644.879.879 0 0 0 .646.259Z"
16
+ />
17
+ </svg>
18
+ );
19
+
20
+ export default ContentPasteIcon;