@tidbcloud/uikit 2.0.0-beta.95 → 2.0.0-beta.97

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @tidbcloud/uikit
2
2
 
3
+ ## 2.0.0-beta.97
4
+
5
+ ### Patch Changes
6
+
7
+ - feat: make default key exported and add some desc, this is still a PR for the release
8
+ - Feat/search area bug fix ([#364](https://github.com/tidbcloud/tidbcloud-uikit/pull/364))
9
+ - feat: Commit the generated changeset file
10
+ - Feat/search area fix ([#363](https://github.com/tidbcloud/tidbcloud-uikit/pull/363))
11
+ - fix(theme): enhance ActionIcon styles with size and hover effects ([#362](https://github.com/tidbcloud/tidbcloud-uikit/pull/362))
12
+ - fix(theme): add border bottom to Modal header for improved styling consistency ([#361](https://github.com/tidbcloud/tidbcloud-uikit/pull/361))
13
+
14
+ ## 2.0.0-beta.96
15
+
16
+ ### Patch Changes
17
+
18
+ - fix(Select): update Select component styles to include check icon and… ([#358](https://github.com/tidbcloud/tidbcloud-uikit/pull/358))
19
+ - fix(Tree): update background color from blue to carbon for indeterminate checkbox for improved theme consistency ([#357](https://github.com/tidbcloud/tidbcloud-uikit/pull/357))
20
+ - fix(PageShell): update PageHeader styles to set height instead of margin ([#356](https://github.com/tidbcloud/tidbcloud-uikit/pull/356))
21
+ - fix(ProTable): resizing cursor missing ([#355](https://github.com/tidbcloud/tidbcloud-uikit/pull/355))
22
+
3
23
  ## 2.0.0-beta.95
4
24
 
5
25
  ### Patch Changes
@@ -28,7 +28,7 @@ const PageHeader = ({ sticky, leftSection, rightSection, children, ...restProps
28
28
  {
29
29
  paddingLeft: 24,
30
30
  paddingRight: 24,
31
- marginBottom: 12
31
+ height: 56
32
32
  },
33
33
  sticky ? (theme) => ({
34
34
  position: "sticky",
@@ -116,4 +116,5 @@ const PageShell = ({
116
116
  }
117
117
  return page;
118
118
  };
119
+ PageShell.Header = PageHeader;
119
120
  exports.PageShell = PageShell;
@@ -79,4 +79,7 @@ export interface PageShellProps {
79
79
  };
80
80
  children?: ReactNode;
81
81
  }
82
- export declare const PageShell: ({ className, headerClassName, bodyClassName, headerSticky, headerRightSection, headerBack, title, wrapped, wrapperProps, headerProps: { withBack, onBackClick, ...headerProps }, bodyProps, children }: PageShellProps) => import("react/jsx-runtime.js").JSX.Element;
82
+ export declare const PageShell: {
83
+ ({ className, headerClassName, bodyClassName, headerSticky, headerRightSection, headerBack, title, wrapped, wrapperProps, headerProps: { withBack, onBackClick, ...headerProps }, bodyProps, children }: PageShellProps): import("react/jsx-runtime.js").JSX.Element;
84
+ Header: ({ sticky, leftSection, rightSection, children, ...restProps }: PageHeaderProps) => import("react/jsx-runtime.js").JSX.Element;
85
+ };
@@ -79,4 +79,7 @@ export interface PageShellProps {
79
79
  };
80
80
  children?: ReactNode;
81
81
  }
82
- export declare const PageShell: ({ className, headerClassName, bodyClassName, headerSticky, headerRightSection, headerBack, title, wrapped, wrapperProps, headerProps: { withBack, onBackClick, ...headerProps }, bodyProps, children }: PageShellProps) => import("react/jsx-runtime.js").JSX.Element;
82
+ export declare const PageShell: {
83
+ ({ className, headerClassName, bodyClassName, headerSticky, headerRightSection, headerBack, title, wrapped, wrapperProps, headerProps: { withBack, onBackClick, ...headerProps }, bodyProps, children }: PageShellProps): import("react/jsx-runtime.js").JSX.Element;
84
+ Header: ({ sticky, leftSection, rightSection, children, ...restProps }: PageHeaderProps) => import("react/jsx-runtime.js").JSX.Element;
85
+ };
@@ -26,7 +26,7 @@ const PageHeader = ({ sticky, leftSection, rightSection, children, ...restProps
26
26
  {
27
27
  paddingLeft: 24,
28
28
  paddingRight: 24,
29
- marginBottom: 12
29
+ height: 56
30
30
  },
31
31
  sticky ? (theme) => ({
32
32
  position: "sticky",
@@ -114,6 +114,7 @@ const PageShell = ({
114
114
  }
115
115
  return page;
116
116
  };
117
+ PageShell.Header = PageHeader;
117
118
  export {
118
119
  PageShell
119
120
  };
@@ -132,11 +132,11 @@ function FormItemRender(props) {
132
132
  return null;
133
133
  }
134
134
  }
135
- const FORM_STATE_KEY = "__fs__";
135
+ const DEFAULT_FORM_STATE_KEY = "__fs__";
136
136
  function SearchArea(props) {
137
137
  const { data, onSubmit, recoverFromURLEnabled, defaultValues, formStateQueryKey, ...rest } = props;
138
138
  const [resetSeed, setResetSeed] = React.useState(0);
139
- const [formState, setFormState] = useURLQueryState.useURLQueryState(formStateQueryKey ?? FORM_STATE_KEY, defaultValues);
139
+ const [formState, setFormState] = useURLQueryState.useURLQueryState(formStateQueryKey ?? DEFAULT_FORM_STATE_KEY, defaultValues);
140
140
  const state = recoverFromURLEnabled ? formState : defaultValues;
141
141
  const form = reactHookForm.useForm({ defaultValues: state });
142
142
  const handleSubmit = () => {
@@ -149,6 +149,11 @@ function SearchArea(props) {
149
149
  form.reset(defaultValues);
150
150
  recoverFromURLEnabled && setFormState(defaultValues);
151
151
  };
152
+ React.useEffect(() => {
153
+ if (recoverFromURLEnabled) {
154
+ handleSubmit();
155
+ }
156
+ }, []);
152
157
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(Form.Form, { onSubmit, ...rest, form, errorMessageProps: { mx: 16 }, withActions: false, children: [
153
158
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(Box.Box, { sx: { display: "flex", gap: 16, flexWrap: "wrap" }, children: [
154
159
  data.map((x) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
@@ -162,11 +167,11 @@ function SearchArea(props) {
162
167
  x.name
163
168
  )),
164
169
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(Box.Box, { sx: SX_Y_MID, children: [
165
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(index.Button, { variant: "subtle", color: "carbon.8", onClick: handleReset, children: [
170
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(index.Button, { variant: "subtle", onClick: handleReset, children: [
166
171
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index$1.IconEraser, { size: 16, style: { marginRight: 4 } }),
167
172
  "Clear Filters"
168
173
  ] }) }),
169
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { ml: 16, sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index.Button, { variant: "subtle", color: "carbon.8", onClick: handleSubmit, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index$1.IconRefreshCw01, { size: 16 }) }) })
174
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Box.Box, { ml: 16, sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index.Button, { variant: "subtle", onClick: handleSubmit, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index$1.IconRefreshCw01, { size: 16 }) }) })
170
175
  ] })
171
176
  ] }) }),
172
177
  props.debugEnabled && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(Box.Box, { sx: { height: 320 }, children: [
@@ -174,8 +179,9 @@ function SearchArea(props) {
174
179
  "result = ",
175
180
  JSON.stringify(form.getValues(), null, 4)
176
181
  ] }),
177
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index.Button, { onClick: () => window.location.reload(), children: "Refresh Page" })
182
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(index.Button, { variant: "light", onClick: () => window.location.reload(), children: "Refresh Page" })
178
183
  ] })
179
184
  ] }) });
180
185
  }
186
+ exports.DEFAULT_FORM_STATE_KEY = DEFAULT_FORM_STATE_KEY;
181
187
  exports.SearchArea = SearchArea;
@@ -43,5 +43,9 @@ export interface SearchAreaProps<T extends FieldValues> extends FormProps<T> {
43
43
  */
44
44
  formStateQueryKey?: string;
45
45
  }
46
+ /**
47
+ * Please use `formStateQueryKey` instead if you have multiple <SearchArea /> components in the same page
48
+ */
49
+ export declare const DEFAULT_FORM_STATE_KEY = "__fs__";
46
50
  export declare function SearchArea<T extends object>(props: SearchAreaProps<T>): import("react/jsx-runtime.js").JSX.Element;
47
51
  export {};
@@ -43,5 +43,9 @@ export interface SearchAreaProps<T extends FieldValues> extends FormProps<T> {
43
43
  */
44
44
  formStateQueryKey?: string;
45
45
  }
46
+ /**
47
+ * Please use `formStateQueryKey` instead if you have multiple <SearchArea /> components in the same page
48
+ */
49
+ export declare const DEFAULT_FORM_STATE_KEY = "__fs__";
46
50
  export declare function SearchArea<T extends object>(props: SearchAreaProps<T>): import("react/jsx-runtime.js").JSX.Element;
47
51
  export {};
@@ -130,11 +130,11 @@ function FormItemRender(props) {
130
130
  return null;
131
131
  }
132
132
  }
133
- const FORM_STATE_KEY = "__fs__";
133
+ const DEFAULT_FORM_STATE_KEY = "__fs__";
134
134
  function SearchArea(props) {
135
135
  const { data, onSubmit, recoverFromURLEnabled, defaultValues, formStateQueryKey, ...rest } = props;
136
136
  const [resetSeed, setResetSeed] = useState(0);
137
- const [formState, setFormState] = useURLQueryState(formStateQueryKey ?? FORM_STATE_KEY, defaultValues);
137
+ const [formState, setFormState] = useURLQueryState(formStateQueryKey ?? DEFAULT_FORM_STATE_KEY, defaultValues);
138
138
  const state = recoverFromURLEnabled ? formState : defaultValues;
139
139
  const form = useForm({ defaultValues: state });
140
140
  const handleSubmit = () => {
@@ -147,6 +147,11 @@ function SearchArea(props) {
147
147
  form.reset(defaultValues);
148
148
  recoverFromURLEnabled && setFormState(defaultValues);
149
149
  };
150
+ useEffect(() => {
151
+ if (recoverFromURLEnabled) {
152
+ handleSubmit();
153
+ }
154
+ }, []);
150
155
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Form, { onSubmit, ...rest, form, errorMessageProps: { mx: 16 }, withActions: false, children: [
151
156
  /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { display: "flex", gap: 16, flexWrap: "wrap" }, children: [
152
157
  data.map((x) => /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -160,11 +165,11 @@ function SearchArea(props) {
160
165
  x.name
161
166
  )),
162
167
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: SX_Y_MID, children: [
163
- /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { variant: "subtle", color: "carbon.8", onClick: handleReset, children: [
168
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { variant: "subtle", onClick: handleReset, children: [
164
169
  /* @__PURE__ */ jsxRuntimeExports.jsx(IconEraser, { size: 16, style: { marginRight: 4 } }),
165
170
  "Clear Filters"
166
171
  ] }) }),
167
- /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { ml: 16, sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "subtle", color: "carbon.8", onClick: handleSubmit, children: /* @__PURE__ */ jsxRuntimeExports.jsx(IconRefreshCw01, { size: 16 }) }) })
172
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { ml: 16, sx: SX_Y_MID, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "subtle", onClick: handleSubmit, children: /* @__PURE__ */ jsxRuntimeExports.jsx(IconRefreshCw01, { size: 16 }) }) })
168
173
  ] })
169
174
  ] }) }),
170
175
  props.debugEnabled && /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { height: 320 }, children: [
@@ -172,10 +177,11 @@ function SearchArea(props) {
172
177
  "result = ",
173
178
  JSON.stringify(form.getValues(), null, 4)
174
179
  ] }),
175
- /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => window.location.reload(), children: "Refresh Page" })
180
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "light", onClick: () => window.location.reload(), children: "Refresh Page" })
176
181
  ] })
177
182
  ] }) });
178
183
  }
179
184
  export {
185
+ DEFAULT_FORM_STATE_KEY,
180
186
  SearchArea
181
187
  };
@@ -153,6 +153,9 @@ function mergeProTableProps(props) {
153
153
  borderColor: "transparent",
154
154
  minWidth: 20,
155
155
  minHeight: 20
156
+ },
157
+ ".mrt-table-head-cell-resize-handle": {
158
+ marginRight: -7
156
159
  }
157
160
  }
158
161
  };
@@ -151,6 +151,9 @@ function mergeProTableProps(props) {
151
151
  borderColor: "transparent",
152
152
  minWidth: 20,
153
153
  minHeight: 20
154
+ },
155
+ ".mrt-table-head-cell-resize-handle": {
156
+ marginRight: -7
154
157
  }
155
158
  }
156
159
  };
@@ -174,7 +174,7 @@ const Tree = React.forwardRef((props, ref) => {
174
174
  left: "50%",
175
175
  width: 8,
176
176
  height: 8,
177
- backgroundColor: theme.colors.blue[7],
177
+ backgroundColor: theme.colors.carbon[8],
178
178
  border: 0,
179
179
  transform: "translate(-50%, -50%) scale(1)",
180
180
  opacity: 1,
@@ -172,7 +172,7 @@ const Tree = React__default.forwardRef((props, ref) => {
172
172
  left: "50%",
173
173
  width: 8,
174
174
  height: 8,
175
- backgroundColor: theme.colors.blue[7],
175
+ backgroundColor: theme.colors.carbon[8],
176
176
  border: 0,
177
177
  transform: "translate(-50%, -50%) scale(1)",
178
178
  opacity: 1,
@@ -41,6 +41,7 @@ exports.CodeBlock = index$1.CodeBlock;
41
41
  exports.CopyText = index$1.CopyText;
42
42
  exports.PhoneInput = index$2.PhoneInput;
43
43
  exports.DotBadge = index$3.DotBadge;
44
+ exports.DEFAULT_FORM_STATE_KEY = index$4.DEFAULT_FORM_STATE_KEY;
44
45
  exports.SearchArea = index$4.SearchArea;
45
46
  exports.LabelTooltip = index$5.LabelTooltip;
46
47
  exports.Tree = index$7.Tree;
package/dist/biz/index.js CHANGED
@@ -2,7 +2,7 @@ import { Dot } from "./Dot/index.js";
2
2
  import { CodeBlock, CopyText } from "./CodeBlock/index.js";
3
3
  import { PhoneInput } from "./PhoneInput/index.js";
4
4
  import { DotBadge } from "./DotBadge/index.js";
5
- import { SearchArea } from "./SearchArea/index.js";
5
+ import { DEFAULT_FORM_STATE_KEY, SearchArea } from "./SearchArea/index.js";
6
6
  import { LabelTooltip } from "./LabelTooltip/index.js";
7
7
  import { Tree } from "./Tree/index.js";
8
8
  import { TransferTree } from "./TransferTree/index.js";
@@ -37,6 +37,7 @@ import { DEFAULT_QUICK_RANGES, DEFAULT_TIME_FORMAT, DEFAULT_TIME_FORMAT_WITH_TIM
37
37
  export {
38
38
  CodeBlock,
39
39
  CopyText,
40
+ DEFAULT_FORM_STATE_KEY,
40
41
  DEFAULT_QUICK_RANGES,
41
42
  DEFAULT_TIME_FORMAT,
42
43
  DEFAULT_TIME_FORMAT_WITH_TIMEZONE,
@@ -2,15 +2,25 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const carbon = [
4
4
  "#FFFFFF",
5
+ // 0
5
6
  "#FDFEFF",
7
+ // 1
6
8
  "#F9FAFB",
9
+ // 2
7
10
  "#EDF1F2",
11
+ // 3
8
12
  "#DCE3E5",
13
+ // 4
9
14
  "#C4CDD0",
15
+ // 5
10
16
  "#9FA9AD",
17
+ // 6
11
18
  "#6F787B",
19
+ // 7
12
20
  "#383E40",
21
+ // 8
13
22
  "#1E2426"
23
+ // 9
14
24
  ];
15
25
  const peacock = [
16
26
  "#FBFDFE",
@@ -2,15 +2,25 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const carbon = [
4
4
  "#14181A",
5
+ // 0
5
6
  "#111517",
7
+ // 1
6
8
  "#1F2426",
9
+ // 2
7
10
  "#25292B",
11
+ // 3
8
12
  "#313638",
13
+ // 4
9
14
  "#43494D",
15
+ // 5
10
16
  "#50585C",
17
+ // 6
11
18
  "#79848A",
19
+ // 7
12
20
  "#ACB9BF",
21
+ // 8
13
22
  "#DAE2E5"
23
+ // 9
14
24
  ];
15
25
  const peacock = [
16
26
  "#11171A",
@@ -1,14 +1,24 @@
1
1
  const carbon = [
2
2
  "#14181A",
3
+ // 0
3
4
  "#111517",
5
+ // 1
4
6
  "#1F2426",
7
+ // 2
5
8
  "#25292B",
9
+ // 3
6
10
  "#313638",
11
+ // 4
7
12
  "#43494D",
13
+ // 5
8
14
  "#50585C",
15
+ // 6
9
16
  "#79848A",
17
+ // 7
10
18
  "#ACB9BF",
19
+ // 8
11
20
  "#DAE2E5"
21
+ // 9
12
22
  ];
13
23
  const peacock = [
14
24
  "#11171A",
@@ -1,14 +1,24 @@
1
1
  const carbon = [
2
2
  "#FFFFFF",
3
+ // 0
3
4
  "#FDFEFF",
5
+ // 1
4
6
  "#F9FAFB",
7
+ // 2
5
8
  "#EDF1F2",
9
+ // 3
6
10
  "#DCE3E5",
11
+ // 4
7
12
  "#C4CDD0",
13
+ // 5
8
14
  "#9FA9AD",
15
+ // 6
9
16
  "#6F787B",
17
+ // 7
10
18
  "#383E40",
19
+ // 8
11
20
  "#1E2426"
21
+ // 9
12
22
  ];
13
23
  const peacock = [
14
24
  "#FBFDFE",
@@ -548,7 +548,8 @@ const theme = createTheme.createTheme({
548
548
  Select: {
549
549
  defaultProps: {
550
550
  size: "md",
551
- withCheckIcon: false
551
+ withCheckIcon: true,
552
+ checkIconPosition: "right"
552
553
  },
553
554
  styles: (theme2, props) => {
554
555
  return {
@@ -589,6 +590,11 @@ const theme = createTheme.createTheme({
589
590
  backgroundColor: "transparent",
590
591
  "&:hover": {
591
592
  backgroundColor: themeColor(theme2, "carbon", 3)
593
+ },
594
+ // check icon color
595
+ "& > svg": {
596
+ color: themeColor(theme2, "carbon", 9),
597
+ opacity: 1
592
598
  }
593
599
  }
594
600
  },
@@ -596,6 +602,10 @@ const theme = createTheme.createTheme({
596
602
  "& > svg": {
597
603
  color: `${themeColor(theme2, "carbon", 7)} !important`
598
604
  }
605
+ },
606
+ dropdown: {
607
+ "--popover-border-color": themeColor(theme2, "carbon", 3),
608
+ "--popover-shadow": "0px 8px 32px 0px #00000014"
599
609
  }
600
610
  };
601
611
  }
@@ -803,7 +813,8 @@ const theme = createTheme.createTheme({
803
813
  borderTopRightRadius: theme2.defaultRadius,
804
814
  padding: "16px 16px 16px 24px",
805
815
  margin: 0,
806
- backgroundColor: themeColor(theme2, "carbon", 1)
816
+ backgroundColor: themeColor(theme2, "carbon", 1),
817
+ borderBottom: `1px solid ${themeColor(theme2, "carbon", 4)}`
807
818
  },
808
819
  title: {
809
820
  fontWeight: 700,
@@ -979,7 +990,8 @@ const theme = createTheme.createTheme({
979
990
  ActionIcon: {
980
991
  defaultProps: {
981
992
  variant: "subtle",
982
- color: "carbon"
993
+ color: "carbon",
994
+ size: "md"
983
995
  },
984
996
  styles(theme2, props) {
985
997
  const color = props.color ?? theme2.primaryColor;
@@ -1007,14 +1019,18 @@ const theme = createTheme.createTheme({
1007
1019
  },
1008
1020
  transparent: {
1009
1021
  backgroundColor: "transparent",
1010
- color: themeColor(theme2, color, shade)
1022
+ color: themeColor(theme2, color, shade),
1023
+ "&:hover": {
1024
+ color: themeColor(theme2, color, shade)
1025
+ }
1011
1026
  },
1012
1027
  subtle: {
1013
1028
  backgroundColor: "transparent",
1014
1029
  color: themeColor(theme2, color, 8),
1015
1030
  borderColor: "transparent",
1016
1031
  "&:hover": {
1017
- backgroundColor: themeColor(theme2, color, 3)
1032
+ backgroundColor: themeColor(theme2, color, 3),
1033
+ color: themeColor(theme2, color, 8)
1018
1034
  },
1019
1035
  "&:active": {
1020
1036
  backgroundColor: themeColor(theme2, color, 4)
@@ -1031,18 +1047,23 @@ const theme = createTheme.createTheme({
1031
1047
  color: themeColor(theme2, color, shade),
1032
1048
  border: `1px solid ${themeColor(theme2, color, 4)}`,
1033
1049
  "&:hover": {
1034
- backgroundColor: themeColor(theme2, color, 2)
1050
+ backgroundColor: themeColor(theme2, color, 2),
1051
+ color: themeColor(theme2, color, shade)
1035
1052
  }
1036
1053
  },
1037
1054
  filled: {
1038
1055
  backgroundColor: themeColor(theme2, color, color.includes("carbon") ? 9 : 7),
1039
- color: theme2.white
1056
+ color: theme2.white,
1057
+ "&:hover": {
1058
+ color: theme2.white
1059
+ }
1040
1060
  },
1041
1061
  light: {
1042
1062
  backgroundColor: themeColor(theme2, color, 3),
1043
1063
  color: themeColor(theme2, color, 8),
1044
1064
  "&:hover": {
1045
- backgroundColor: themeColor(theme2, color, 4)
1065
+ backgroundColor: themeColor(theme2, color, 4),
1066
+ color: themeColor(theme2, color, 8)
1046
1067
  },
1047
1068
  "&:active": {
1048
1069
  backgroundColor: themeColor(theme2, color, 5)
@@ -1061,10 +1082,7 @@ const theme = createTheme.createTheme({
1061
1082
  return {
1062
1083
  root: {
1063
1084
  ...variantStyle,
1064
- width: size,
1065
- height: size,
1066
- minWidth: size,
1067
- minHeight: size
1085
+ "--ai-size": size
1068
1086
  }
1069
1087
  };
1070
1088
  }
@@ -546,7 +546,8 @@ const theme = createTheme({
546
546
  Select: {
547
547
  defaultProps: {
548
548
  size: "md",
549
- withCheckIcon: false
549
+ withCheckIcon: true,
550
+ checkIconPosition: "right"
550
551
  },
551
552
  styles: (theme2, props) => {
552
553
  return {
@@ -587,6 +588,11 @@ const theme = createTheme({
587
588
  backgroundColor: "transparent",
588
589
  "&:hover": {
589
590
  backgroundColor: themeColor(theme2, "carbon", 3)
591
+ },
592
+ // check icon color
593
+ "& > svg": {
594
+ color: themeColor(theme2, "carbon", 9),
595
+ opacity: 1
590
596
  }
591
597
  }
592
598
  },
@@ -594,6 +600,10 @@ const theme = createTheme({
594
600
  "& > svg": {
595
601
  color: `${themeColor(theme2, "carbon", 7)} !important`
596
602
  }
603
+ },
604
+ dropdown: {
605
+ "--popover-border-color": themeColor(theme2, "carbon", 3),
606
+ "--popover-shadow": "0px 8px 32px 0px #00000014"
597
607
  }
598
608
  };
599
609
  }
@@ -801,7 +811,8 @@ const theme = createTheme({
801
811
  borderTopRightRadius: theme2.defaultRadius,
802
812
  padding: "16px 16px 16px 24px",
803
813
  margin: 0,
804
- backgroundColor: themeColor(theme2, "carbon", 1)
814
+ backgroundColor: themeColor(theme2, "carbon", 1),
815
+ borderBottom: `1px solid ${themeColor(theme2, "carbon", 4)}`
805
816
  },
806
817
  title: {
807
818
  fontWeight: 700,
@@ -977,7 +988,8 @@ const theme = createTheme({
977
988
  ActionIcon: {
978
989
  defaultProps: {
979
990
  variant: "subtle",
980
- color: "carbon"
991
+ color: "carbon",
992
+ size: "md"
981
993
  },
982
994
  styles(theme2, props) {
983
995
  const color = props.color ?? theme2.primaryColor;
@@ -1005,14 +1017,18 @@ const theme = createTheme({
1005
1017
  },
1006
1018
  transparent: {
1007
1019
  backgroundColor: "transparent",
1008
- color: themeColor(theme2, color, shade)
1020
+ color: themeColor(theme2, color, shade),
1021
+ "&:hover": {
1022
+ color: themeColor(theme2, color, shade)
1023
+ }
1009
1024
  },
1010
1025
  subtle: {
1011
1026
  backgroundColor: "transparent",
1012
1027
  color: themeColor(theme2, color, 8),
1013
1028
  borderColor: "transparent",
1014
1029
  "&:hover": {
1015
- backgroundColor: themeColor(theme2, color, 3)
1030
+ backgroundColor: themeColor(theme2, color, 3),
1031
+ color: themeColor(theme2, color, 8)
1016
1032
  },
1017
1033
  "&:active": {
1018
1034
  backgroundColor: themeColor(theme2, color, 4)
@@ -1029,18 +1045,23 @@ const theme = createTheme({
1029
1045
  color: themeColor(theme2, color, shade),
1030
1046
  border: `1px solid ${themeColor(theme2, color, 4)}`,
1031
1047
  "&:hover": {
1032
- backgroundColor: themeColor(theme2, color, 2)
1048
+ backgroundColor: themeColor(theme2, color, 2),
1049
+ color: themeColor(theme2, color, shade)
1033
1050
  }
1034
1051
  },
1035
1052
  filled: {
1036
1053
  backgroundColor: themeColor(theme2, color, color.includes("carbon") ? 9 : 7),
1037
- color: theme2.white
1054
+ color: theme2.white,
1055
+ "&:hover": {
1056
+ color: theme2.white
1057
+ }
1038
1058
  },
1039
1059
  light: {
1040
1060
  backgroundColor: themeColor(theme2, color, 3),
1041
1061
  color: themeColor(theme2, color, 8),
1042
1062
  "&:hover": {
1043
- backgroundColor: themeColor(theme2, color, 4)
1063
+ backgroundColor: themeColor(theme2, color, 4),
1064
+ color: themeColor(theme2, color, 8)
1044
1065
  },
1045
1066
  "&:active": {
1046
1067
  backgroundColor: themeColor(theme2, color, 5)
@@ -1059,10 +1080,7 @@ const theme = createTheme({
1059
1080
  return {
1060
1081
  root: {
1061
1082
  ...variantStyle,
1062
- width: size,
1063
- height: size,
1064
- minWidth: size,
1065
- minHeight: size
1083
+ "--ai-size": size
1066
1084
  }
1067
1085
  };
1068
1086
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tidbcloud/uikit",
3
- "version": "2.0.0-beta.95",
3
+ "version": "2.0.0-beta.97",
4
4
  "description": "tidbcloud uikit",
5
5
  "type": "module",
6
6
  "main": "dist/primitive/index.cjs",