@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.
- package/dist/cjs/bundle.css +155 -495
- package/dist/cjs/bundle.js +3 -3
- package/dist/cjs/bundle.js.map +1 -1
- package/dist/cjs/types/components/ActionButton/ActionButton.stories.d.ts +7 -7
- package/dist/cjs/types/components/Button/Button.d.ts +1 -1
- package/dist/cjs/types/components/Button/Button.styles.d.ts +1 -1
- package/dist/cjs/types/components/Button/Buttons.stories.d.ts +13 -13
- package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +60 -60
- package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +64 -64
- package/dist/cjs/types/components/Icon/Icon.d.ts +11 -0
- package/dist/cjs/types/components/Icon/Icon.stories.d.ts +508 -0
- package/dist/cjs/types/components/Icon/Icon.styles.d.ts +4 -0
- package/dist/cjs/types/components/Input/Input.stories.d.ts +115 -115
- package/dist/cjs/types/components/Label/Label.stories.d.ts +51 -51
- package/dist/cjs/types/components/RadioGroup/RadioGroup.stories.d.ts +54 -54
- package/dist/cjs/types/components/Search/Search.stories.d.ts +64 -64
- package/dist/cjs/types/components/Slider/Slider.d.ts +5 -0
- package/dist/cjs/types/components/Slider/Slider.stories.d.ts +303 -0
- package/dist/cjs/types/components/Switch/Switch.d.ts +4 -0
- package/dist/cjs/types/components/Switch/Switch.stories.d.ts +305 -0
- package/dist/cjs/types/components/Table/Table.stories.d.ts +7 -7
- package/dist/cjs/types/components/Tabs/Tabs.d.ts +12 -3
- package/dist/cjs/types/components/Tabs/Tabs.stories.d.ts +18 -0
- package/dist/cjs/types/components/TextInput/TextInput.stories.d.ts +62 -62
- package/dist/cjs/types/components/TextInput/TextInput.styles.d.ts +1 -1
- package/dist/cjs/types/icons/heroIconConfig.d.ts +1 -0
- package/dist/cjs/types/icons/iconConfig.d.ts +2 -0
- package/dist/cjs/types/icons/iconRegistry.d.ts +19 -0
- package/dist/cjs/types/icons/index.d.ts +1 -0
- package/dist/cjs/types/icons/material-icon/outline/ChevronDownIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/CollapseContentIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ContentCopyIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ContentPasteIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/DataTableIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ExpandCircleDownIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ExpandCircleRightIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ExpandCircleUpIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/ExpandContentIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/InterestsIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/SaveIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/TableChartIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/outline/index.d.ts +12 -0
- package/dist/cjs/types/icons/material-icon/solid/ChevronDownIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/CollapseContentIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ContentCopyIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ContentPasteIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/DataTableIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ExpandCircleDownIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ExpandCircleRightIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ExpandCircleUpIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/ExpandContentIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/InterestsIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/SaveIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/TableChartIcon.d.ts +3 -0
- package/dist/cjs/types/icons/material-icon/solid/index.d.ts +12 -0
- package/dist/cjs/types/icons/materialIconConfig.d.ts +1 -0
- package/dist/cjs/types/icons/type.d.ts +8 -0
- package/dist/cjs/types/icons/utils.d.ts +1 -0
- package/dist/cjs/types/index.d.ts +4 -0
- package/dist/components/ActionButton/ActionButton.js +8 -19
- package/dist/components/ActionButton/ActionButton.stories.js +12 -22
- package/dist/components/ActionButton/ActionButton.styles.js +33 -8
- package/dist/components/AlertDialog/Alert.stories.js +5 -16
- package/dist/components/AlertDialog/AlertDialog.js +27 -38
- package/dist/components/Avatar/Avatar.js +7 -8
- package/dist/components/Avatar/Avatar.stories.js +11 -22
- package/dist/components/Avatar/Avatar.styles.js +1 -1
- package/dist/components/Avatar/AvatarBase.js +9 -20
- package/dist/components/Avatar/AvatarGroup.js +9 -10
- package/dist/components/Avatar/AvatarGroup.stories.js +9 -20
- package/dist/components/Button/Button.js +4 -15
- package/dist/components/Button/Button.styles.js +1 -1
- package/dist/components/Button/Buttons.stories.js +18 -29
- package/dist/components/Calendar/Calendar.js +3 -14
- package/dist/components/Calendar/Calendar.stories.js +6 -17
- package/dist/components/Checkbox/Checkbox.js +3 -14
- package/dist/components/Checkbox/Checkbox.stories.js +12 -23
- package/dist/components/Collapsible/Collapsible.js +14 -17
- package/dist/components/Collapsible/Collapsible.stories.js +9 -20
- package/dist/components/Collapsible/Collapsible.styles.js +4 -4
- package/dist/components/Collapsible/CollapsibleContext.js +9 -10
- package/dist/components/DataTable/DataTable.js +25 -26
- package/dist/components/DataTable/DataTable.stories.js +10 -21
- package/dist/components/DatePicker/DatePicker.js +4 -20
- package/dist/components/DatePicker/DatePicker.stories.js +6 -17
- package/dist/components/Dialog/Dialog.js +22 -33
- package/dist/components/Dialog/Dialog.stories.js +8 -19
- package/dist/components/Dropdown/Dropdown.js +26 -37
- package/dist/components/Dropdown/Dropdown.stories.js +36 -55
- package/dist/components/Dropdown/Dropdown.styles.js +3 -3
- package/dist/components/Form/Form.js +26 -87
- package/dist/components/Form/Text.js +2 -3
- package/dist/components/Form/TextInput.js +2 -3
- package/dist/components/Icon/Icon.js +37 -0
- package/dist/components/Icon/Icon.stories.js +356 -0
- package/dist/components/Icon/Icon.styles.js +25 -0
- package/dist/components/Input/Input.js +9 -20
- package/dist/components/Input/Input.stories.js +6 -17
- package/dist/components/Input/Input.styles.js +1 -1
- package/dist/components/Label/Label.js +3 -14
- package/dist/components/Label/Label.stories.js +5 -16
- package/dist/components/Label/Label.styles.js +1 -1
- package/dist/components/Loading/Loading.js +5 -17
- package/dist/components/Loading/Loading.stories.js +6 -17
- package/dist/components/Navbar/Navbar.js +3 -4
- package/dist/components/Navbar/Navbar.stories.js +8 -19
- package/dist/components/Popover/Popover.js +5 -16
- package/dist/components/Popover/Popover.stories.js +5 -16
- package/dist/components/ProgressBar/ProgressBar.js +8 -9
- package/dist/components/ProgressBar/ProgressBar.stories.js +14 -27
- package/dist/components/RadioGroup/RadioGroup.js +6 -17
- package/dist/components/RadioGroup/RadioGroup.stories.js +9 -20
- package/dist/components/Search/Search.js +2 -13
- package/dist/components/Search/Search.stories.js +10 -21
- package/dist/components/Slider/Slider.js +22 -0
- package/dist/components/Slider/Slider.stories.js +33 -0
- package/dist/components/Switch/Switch.js +22 -0
- package/dist/components/Switch/Switch.stories.js +32 -0
- package/dist/components/Table/Datagrid.js +2 -3
- package/dist/components/Table/Table.js +24 -35
- package/dist/components/Table/Table.stories.js +5 -16
- package/dist/components/Tabs/Tabs.js +56 -9
- package/dist/components/Tabs/Tabs.stories.js +13 -24
- package/dist/components/Text/Text.js +3 -4
- package/dist/components/Text/Text.stories.js +12 -23
- package/dist/components/TextInput/TextInput.js +30 -41
- package/dist/components/TextInput/TextInput.stories.js +17 -28
- package/dist/components/TextInput/TextInput.styles.js +7 -7
- package/dist/components/ThemeToggle.js +3 -3
- package/dist/esm/bundle.css +155 -495
- package/dist/esm/bundle.js +3 -3
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/types/components/ActionButton/ActionButton.stories.d.ts +7 -7
- package/dist/esm/types/components/Button/Button.d.ts +1 -1
- package/dist/esm/types/components/Button/Button.styles.d.ts +1 -1
- package/dist/esm/types/components/Button/Buttons.stories.d.ts +13 -13
- package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +60 -60
- package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +64 -64
- package/dist/esm/types/components/Icon/Icon.d.ts +11 -0
- package/dist/esm/types/components/Icon/Icon.stories.d.ts +508 -0
- package/dist/esm/types/components/Icon/Icon.styles.d.ts +4 -0
- package/dist/esm/types/components/Input/Input.stories.d.ts +115 -115
- package/dist/esm/types/components/Label/Label.stories.d.ts +51 -51
- package/dist/esm/types/components/RadioGroup/RadioGroup.stories.d.ts +54 -54
- package/dist/esm/types/components/Search/Search.stories.d.ts +64 -64
- package/dist/esm/types/components/Slider/Slider.d.ts +5 -0
- package/dist/esm/types/components/Slider/Slider.stories.d.ts +303 -0
- package/dist/esm/types/components/Switch/Switch.d.ts +4 -0
- package/dist/esm/types/components/Switch/Switch.stories.d.ts +305 -0
- package/dist/esm/types/components/Table/Table.stories.d.ts +7 -7
- package/dist/esm/types/components/Tabs/Tabs.d.ts +12 -3
- package/dist/esm/types/components/Tabs/Tabs.stories.d.ts +18 -0
- package/dist/esm/types/components/TextInput/TextInput.stories.d.ts +62 -62
- package/dist/esm/types/components/TextInput/TextInput.styles.d.ts +1 -1
- package/dist/esm/types/icons/heroIconConfig.d.ts +1 -0
- package/dist/esm/types/icons/iconConfig.d.ts +2 -0
- package/dist/esm/types/icons/iconRegistry.d.ts +19 -0
- package/dist/esm/types/icons/index.d.ts +1 -0
- package/dist/esm/types/icons/material-icon/outline/ChevronDownIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/CollapseContentIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ContentCopyIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ContentPasteIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/DataTableIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ExpandCircleDownIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ExpandCircleRightIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ExpandCircleUpIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/ExpandContentIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/InterestsIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/SaveIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/TableChartIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/outline/index.d.ts +12 -0
- package/dist/esm/types/icons/material-icon/solid/ChevronDownIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/CollapseContentIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ContentCopyIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ContentPasteIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/DataTableIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ExpandCircleDownIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ExpandCircleRightIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ExpandCircleUpIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/ExpandContentIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/InterestsIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/SaveIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/TableChartIcon.d.ts +3 -0
- package/dist/esm/types/icons/material-icon/solid/index.d.ts +12 -0
- package/dist/esm/types/icons/materialIconConfig.d.ts +1 -0
- package/dist/esm/types/icons/type.d.ts +8 -0
- package/dist/esm/types/icons/utils.d.ts +1 -0
- package/dist/esm/types/index.d.ts +4 -0
- package/dist/icons/heroIconConfig.js +13 -0
- package/dist/icons/iconConfig.js +2 -0
- package/dist/icons/iconRegistry.js +47 -0
- package/dist/icons/index.js +1 -0
- package/dist/icons/material-icon/outline/ChevronDownIcon.js +3 -0
- package/dist/icons/material-icon/outline/CollapseContentIcon.js +3 -0
- package/dist/icons/material-icon/outline/ContentCopyIcon.js +3 -0
- package/dist/icons/material-icon/outline/ContentPasteIcon.js +3 -0
- package/dist/icons/material-icon/outline/DataTableIcon.js +3 -0
- package/dist/icons/material-icon/outline/ExpandCircleDownIcon.js +3 -0
- package/dist/icons/material-icon/outline/ExpandCircleRightIcon.js +3 -0
- package/dist/icons/material-icon/outline/ExpandCircleUpIcon.js +3 -0
- package/dist/icons/material-icon/outline/ExpandContentIcon.js +3 -0
- package/dist/icons/material-icon/outline/InterestsIcon.js +3 -0
- package/dist/icons/material-icon/outline/SaveIcon.js +3 -0
- package/dist/icons/material-icon/outline/TableChartIcon.js +3 -0
- package/dist/icons/material-icon/outline/index.js +12 -0
- package/dist/icons/material-icon/solid/ChevronDownIcon.js +3 -0
- package/dist/icons/material-icon/solid/CollapseContentIcon.js +3 -0
- package/dist/icons/material-icon/solid/ContentCopyIcon.js +3 -0
- package/dist/icons/material-icon/solid/ContentPasteIcon.js +3 -0
- package/dist/icons/material-icon/solid/DataTableIcon.js +3 -0
- package/dist/icons/material-icon/solid/ExpandCircleDownIcon.js +3 -0
- package/dist/icons/material-icon/solid/ExpandCircleRightIcon.js +3 -0
- package/dist/icons/material-icon/solid/ExpandCircleUpIcon.js +3 -0
- package/dist/icons/material-icon/solid/ExpandContentIcon.js +3 -0
- package/dist/icons/material-icon/solid/InterestsIcon.js +3 -0
- package/dist/icons/material-icon/solid/SaveIcon.js +3 -0
- package/dist/icons/material-icon/solid/TableChartIcon.js +3 -0
- package/dist/icons/material-icon/solid/index.js +12 -0
- package/dist/icons/materialIconConfig.js +13 -0
- package/dist/icons/type.js +1 -0
- package/dist/icons/utils.js +6 -0
- package/dist/index.d.ts +30 -4
- package/dist/index.js +4 -0
- package/dist/src/theme/global.css +187 -619
- package/dist/stories/ColorGroupPreview.js +6 -9
- package/dist/stories/ColorPreview.js +1 -2
- package/dist/theme/presets/colors.js +2 -1
- package/dist/utils/cn.js +1 -5
- package/dist/utils/datetime.js +12 -12
- package/package.json +3 -1
- package/src/components/ActionButton/ActionButton.stories.tsx +32 -13
- package/src/components/ActionButton/ActionButton.styles.ts +33 -8
- package/src/components/DataTable/DataTable.tsx +2 -2
- package/src/components/Icon/Icon.stories.tsx +450 -0
- package/src/components/Icon/Icon.styles.ts +26 -0
- package/src/components/Icon/Icon.tsx +67 -0
- package/src/components/Slider/Slider.stories.tsx +47 -0
- package/src/components/Slider/Slider.tsx +32 -0
- package/src/components/Switch/Switch.stories.tsx +46 -0
- package/src/components/Switch/Switch.tsx +32 -0
- package/src/components/Table/Table.tsx +2 -2
- package/src/components/Tabs/Tabs.tsx +99 -12
- package/src/icons/heroIconConfig.ts +23 -0
- package/src/icons/iconConfig.ts +2 -0
- package/src/icons/iconRegistry.ts +76 -0
- package/src/icons/index.ts +1 -0
- package/src/icons/material-icon/outline/ChevronDownIcon.tsx +22 -0
- package/src/icons/material-icon/outline/CollapseContentIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ContentCopyIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ContentPasteIcon.tsx +20 -0
- package/src/icons/material-icon/outline/DataTableIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ExpandCircleDownIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ExpandCircleRightIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ExpandCircleUpIcon.tsx +20 -0
- package/src/icons/material-icon/outline/ExpandContentIcon.tsx +20 -0
- package/src/icons/material-icon/outline/InterestsIcon.tsx +20 -0
- package/src/icons/material-icon/outline/SaveIcon.tsx +20 -0
- package/src/icons/material-icon/outline/TableChartIcon.tsx +20 -0
- package/src/icons/material-icon/outline/index.ts +12 -0
- package/src/icons/material-icon/solid/ChevronDownIcon.tsx +22 -0
- package/src/icons/material-icon/solid/CollapseContentIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ContentCopyIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ContentPasteIcon.tsx +20 -0
- package/src/icons/material-icon/solid/DataTableIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ExpandCircleDownIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ExpandCircleRightIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ExpandCircleUpIcon.tsx +20 -0
- package/src/icons/material-icon/solid/ExpandContentIcon.tsx +20 -0
- package/src/icons/material-icon/solid/InterestsIcon.tsx +20 -0
- package/src/icons/material-icon/solid/SaveIcon.tsx +20 -0
- package/src/icons/material-icon/solid/TableChartIcon.tsx +20 -0
- package/src/icons/material-icon/solid/index.ts +12 -0
- package/src/icons/materialIconConfig.tsx +23 -0
- package/src/icons/type.ts +11 -0
- package/src/icons/utils.ts +6 -0
- package/src/index.ts +5 -0
- package/src/theme/presets/colors.js +2 -1
- package/dist/cjs/types/components/ActionButton/ActionButton.styles copy.d.ts +0 -6
- package/dist/cjs/types/components/Button/Button.styles copy.d.ts +0 -7
- package/dist/components/ActionButton/ActionButton.styles copy.js +0 -90
- package/dist/components/Button/Button.styles copy.js +0 -210
- package/dist/esm/types/components/ActionButton/ActionButton.styles copy.d.ts +0 -6
- package/dist/esm/types/components/Button/Button.styles copy.d.ts +0 -7
- package/src/_theme/global copy.css +0 -761
- package/src/_theme/global.css +0 -39
- package/src/_theme/main-preset.js +0 -239
- package/src/_theme/plugins/utilities/typography.js +0 -81
- package/src/_theme/presets/colors copy 2.js +0 -319
- package/src/_theme/presets/colors copy.js +0 -229
- package/src/_theme/presets/colors.js +0 -94
- package/src/_theme/theme.d.ts +0 -69
- package/src/_theme/variables/base/button.css +0 -334
- package/src/_theme/variables/base/components copy.css +0 -19
- package/src/_theme/variables/default/colors.css +0 -292
- package/src/_theme/variables/default/typography.css +0 -178
- package/src/_theme/variables/xspector/colors.css +0 -468
- package/src/_theme/variables/xspector/typography.css +0 -178
- package/src/components/ActionButton/ActionButton.styles copy.ts +0 -95
- 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-
|
|
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-
|
|
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> = ({
|
|
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
|
|
89
|
+
<div className={cn("w-full", className)}>
|
|
23
90
|
<div
|
|
24
|
-
className=
|
|
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-
|
|
38
|
-
|
|
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,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;
|