@rainbow-oh/yee-c 0.4.1 → 0.4.3

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 (110) hide show
  1. package/dist/cjs/Button/demo/basic.js +1 -1
  2. package/dist/cjs/Button/demo/variant.d.ts +3 -0
  3. package/dist/cjs/Button/demo/variant.js +59 -0
  4. package/dist/cjs/Button/style/index.less +49 -11
  5. package/dist/cjs/DatePicker/date-picker-mobile.js +1 -1
  6. package/dist/cjs/Ellipsis/ellipsis.js +4 -2
  7. package/dist/cjs/Form/Form.js +1 -1
  8. package/dist/cjs/Form/form-store.js +5 -2
  9. package/dist/cjs/Form/{useForm.d.ts → hooks/useForm.d.ts} +1 -1
  10. package/dist/cjs/Form/{useForm.js → hooks/useForm.js} +4 -7
  11. package/dist/cjs/Form/hooks/useFormInstance.d.ts +1 -0
  12. package/dist/cjs/Form/hooks/useFormInstance.js +43 -0
  13. package/dist/{esm/Form → cjs/Form/hooks}/useWatch.d.ts +1 -1
  14. package/dist/cjs/Form/{useWatch.js → hooks/useWatch.js} +6 -4
  15. package/dist/cjs/Form/index.d.ts +4 -2
  16. package/dist/cjs/Form/index.js +4 -2
  17. package/dist/cjs/Input/password.js +5 -2
  18. package/dist/cjs/Pagination/pagination.js +4 -1
  19. package/dist/cjs/RangePicker/range-picker-mobile.js +3 -3
  20. package/dist/cjs/Space/compact.js +1 -1
  21. package/dist/cjs/Space/demo/compact.js +1 -13
  22. package/dist/cjs/Space/space.js +3 -1
  23. package/dist/cjs/Space/style/index.less +29 -9
  24. package/dist/cjs/Table/tbody/index.js +4 -1
  25. package/dist/cjs/Table/theader/filter.js +10 -5
  26. package/dist/cjs/TextArea/textarea.js +1 -1
  27. package/dist/cjs/Transfer/transfer-list.js +4 -1
  28. package/dist/cjs/locale/interface.d.ts +15 -0
  29. package/dist/cjs/locale/lang/en_US.js +12 -0
  30. package/dist/cjs/locale/lang/ja_JP.js +12 -0
  31. package/dist/cjs/locale/lang/zh_CN.js +12 -0
  32. package/dist/cjs/locale/lang/zh_TW.js +12 -0
  33. package/dist/cjs/style/size.css +1 -1
  34. package/dist/cjs/style/themes.css +1 -1
  35. package/dist/cjs/style/variables.css +2 -2
  36. package/dist/cjs/version.d.ts +1 -1
  37. package/dist/cjs/version.js +1 -1
  38. package/dist/esm/Button/demo/basic.js +1 -0
  39. package/dist/esm/Button/demo/variant.d.ts +3 -0
  40. package/dist/esm/Button/demo/variant.js +49 -0
  41. package/dist/esm/Button/style/index.less +49 -11
  42. package/dist/esm/DatePicker/date-picker-mobile.js +1 -1
  43. package/dist/esm/Ellipsis/ellipsis.js +5 -2
  44. package/dist/esm/Form/Form.js +1 -1
  45. package/dist/esm/Form/form-store.js +6 -2
  46. package/dist/esm/Form/{useForm.d.ts → hooks/useForm.d.ts} +1 -1
  47. package/dist/esm/Form/{useForm.js → hooks/useForm.js} +3 -4
  48. package/dist/esm/Form/hooks/useFormInstance.d.ts +1 -0
  49. package/dist/esm/Form/hooks/useFormInstance.js +9 -0
  50. package/dist/{cjs/Form → esm/Form/hooks}/useWatch.d.ts +1 -1
  51. package/dist/esm/Form/{useWatch.js → hooks/useWatch.js} +8 -3
  52. package/dist/esm/Form/index.d.ts +4 -2
  53. package/dist/esm/Form/index.js +4 -2
  54. package/dist/esm/Input/password.js +6 -2
  55. package/dist/esm/Pagination/pagination.js +5 -1
  56. package/dist/esm/RangePicker/range-picker-mobile.js +3 -3
  57. package/dist/esm/Space/compact.js +1 -1
  58. package/dist/esm/Space/demo/compact.js +5 -14
  59. package/dist/esm/Space/space.js +3 -1
  60. package/dist/esm/Space/style/index.less +29 -9
  61. package/dist/esm/Table/tbody/index.js +5 -1
  62. package/dist/esm/Table/theader/filter.js +18 -13
  63. package/dist/esm/TextArea/textarea.js +1 -1
  64. package/dist/esm/Transfer/transfer-list.js +5 -1
  65. package/dist/esm/locale/interface.d.ts +15 -0
  66. package/dist/esm/locale/lang/en_US.js +12 -0
  67. package/dist/esm/locale/lang/ja_JP.js +12 -0
  68. package/dist/esm/locale/lang/zh_CN.js +12 -0
  69. package/dist/esm/locale/lang/zh_TW.js +12 -0
  70. package/dist/esm/style/size.css +1 -1
  71. package/dist/esm/style/themes.css +1 -1
  72. package/dist/esm/style/variables.css +2 -2
  73. package/dist/esm/version.d.ts +1 -1
  74. package/dist/esm/version.js +1 -1
  75. package/dist/umd/yee-c.min.css +2 -2
  76. package/dist/umd/yee-c.min.js +1 -1
  77. package/package.json +1 -1
  78. package/src/Button/demo/basic.tsx +3 -1
  79. package/src/Button/demo/variant.tsx +55 -0
  80. package/src/Button/index.en-US.md +1 -0
  81. package/src/Button/index.zh-CN.md +1 -0
  82. package/src/Button/style/index.less +49 -11
  83. package/src/DatePicker/date-picker-mobile.tsx +1 -1
  84. package/src/Ellipsis/ellipsis.tsx +6 -6
  85. package/src/Form/Form.tsx +1 -1
  86. package/src/Form/form-store.ts +6 -2
  87. package/src/Form/{useForm.ts → hooks/useForm.ts} +4 -6
  88. package/src/Form/hooks/useFormInstance.ts +12 -0
  89. package/src/Form/{useWatch.ts → hooks/useWatch.ts} +11 -4
  90. package/src/Form/index.en-US.md +2 -0
  91. package/src/Form/index.ts +5 -2
  92. package/src/Form/index.zh-CN.md +2 -0
  93. package/src/Input/password.tsx +5 -2
  94. package/src/Pagination/pagination.tsx +4 -1
  95. package/src/RangePicker/range-picker-mobile.tsx +4 -4
  96. package/src/Space/compact.tsx +1 -1
  97. package/src/Space/demo/compact.tsx +3 -13
  98. package/src/Space/space.tsx +4 -1
  99. package/src/Space/style/index.less +29 -9
  100. package/src/Table/tbody/index.tsx +4 -1
  101. package/src/Table/theader/filter.tsx +14 -11
  102. package/src/TextArea/textarea.tsx +1 -1
  103. package/src/Transfer/transfer-list.tsx +4 -1
  104. package/src/locale/interface.ts +21 -0
  105. package/src/locale/lang/en_US.ts +15 -0
  106. package/src/locale/lang/ja_JP.ts +15 -0
  107. package/src/locale/lang/zh_CN.ts +15 -0
  108. package/src/locale/lang/zh_TW.ts +15 -0
  109. package/src/style/size.css +1 -1
  110. package/src/version.ts +1 -1
@@ -35,5 +35,5 @@ module.exports = __toCommonJS(basic_exports);
35
35
  var import_yee_c = require("../..");
36
36
  var import_react = __toESM(require("react"));
37
37
  var basic_default = () => {
38
- return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { wrap: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary" }, "Primary Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, null, "Children Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, null, "Default Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "dashed" }, "Dashed Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "text" }, "Text Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "link" }, "Link Button"));
38
+ return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { wrap: true }, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary" }, "Primary Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, null, "Children Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, null, "Default Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "dashed" }, "Dashed Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { variant: "filled", type: "text" }, "Text Button"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "link" }, "Link Button"));
39
39
  };
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: () => React.JSX.Element;
3
+ export default _default;
@@ -0,0 +1,59 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/Button/demo/variant.tsx
30
+ var variant_exports = {};
31
+ __export(variant_exports, {
32
+ default: () => variant_default
33
+ });
34
+ module.exports = __toCommonJS(variant_exports);
35
+ var import_yee_c = require("../..");
36
+ var import_react = __toESM(require("react"));
37
+ var types = ["primary", "default", "dashed", "text", "link"];
38
+ var colors = ["default", "primary", "success", "danger", "warning"];
39
+ var variants = [
40
+ "solid",
41
+ "outlined",
42
+ "dashed",
43
+ "filled",
44
+ "text",
45
+ "link"
46
+ ];
47
+ var labelStyle = {
48
+ flex: "0 0 80px",
49
+ color: "#969696",
50
+ fontSize: 14
51
+ };
52
+ var rowStyle = {
53
+ display: "flex",
54
+ alignItems: "center",
55
+ gap: 12
56
+ };
57
+ var variant_default = () => {
58
+ return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { direction: "horizontal", block: true, gap: 12, wrap: true }, /* @__PURE__ */ import_react.default.createElement("div", { style: rowStyle }, /* @__PURE__ */ import_react.default.createElement("span", { style: labelStyle }, "type"), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { wrap: true }, types.map((t) => /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { key: t, type: t }, t)))), variants.map((variant) => /* @__PURE__ */ import_react.default.createElement("div", { key: variant, style: rowStyle }, /* @__PURE__ */ import_react.default.createElement("span", { style: labelStyle }, variant), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space, { wrap: true }, colors.map((color) => /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { key: color, color, variant }, color))))));
59
+ };
@@ -66,19 +66,28 @@
66
66
  background-color: var(--m-btn-color);
67
67
 
68
68
  &:not(@{pls}-disabled):hover {
69
- background-color: var(--m-btn-hover-color);
69
+ background-color: color-mix(in srgb, var(--m-btn-color), black 12%);
70
70
  }
71
71
 
72
72
  &:not(@{pls}-disabled):active {
73
- background-color: var(--m-btn-active-color);
74
- box-shadow: var(--yee-btn-solid-active-box-shadow);
73
+ background-color: color-mix(in srgb, var(--m-btn-color), black 20%);
74
+ box-shadow: var(--yee-btn-solid-active-box-shadow)
75
+ var(--m-btn-active-shadow-color);
75
76
  }
76
77
  }
77
78
 
78
79
  // 字体颜色,背景是字体颜色的浅色
79
80
  &-filled {
80
- color: var(--yee-btn-primary-color);
81
- background-color: var(--m-btn-color);
81
+ color: var(--m-btn-color);
82
+ background-color: color-mix(in srgb, var(--m-btn-color) 10%, transparent);
83
+
84
+ &:not(@{pls}-disabled):hover {
85
+ background-color: color-mix(in srgb, var(--m-btn-color) 16%, transparent);
86
+ }
87
+
88
+ &:not(@{pls}-disabled):active {
89
+ background-color: color-mix(in srgb, var(--m-btn-color) 22%, transparent);
90
+ }
82
91
  }
83
92
 
84
93
  &-outlined {
@@ -154,27 +163,56 @@
154
163
  --m-btn-border-active-color: var(--yee-primary-color-active);
155
164
  --m-btn-active-color: var(--yee-primary-color-active);
156
165
  --m-btn-active-bg-color: var(--yee-text-color-auxiliary);
166
+ --m-btn-active-shadow-color: var(--yee-primary-color-active);
157
167
  }
158
168
 
159
169
  &-primary {
160
170
  --m-btn-color: var(--yee-primary-color);
161
171
  --m-btn-hover-color: var(--yee-primary-color-hover);
162
172
  --m-btn-active-color: var(--yee-primary-color-active);
163
- --m-btn-bg-color: var(--yee-btn-success-bg-color);
164
- --m-btn-hover-bg-color: var(--yee-btn-success-bg-color);
165
- --m-btn-active-bg-color: var(--yee-btn-success-bg-color);
173
+ --m-btn-bg-color: var(--yee-btn-primary-bg-color);
174
+ --m-btn-hover-bg-color: var(--yee-primary-color-hover);
175
+ --m-btn-active-bg-color: var(--yee-primary-color-active);
176
+ --m-btn-border-color: var(--yee-primary-color);
177
+ --m-btn-border-hover-color: var(--yee-primary-color-hover);
178
+ --m-btn-border-active-color: var(--yee-primary-color-active);
179
+ --m-btn-active-shadow-color: var(--yee-primary-color-active);
166
180
  }
167
181
 
168
182
  &-success {
169
- --m-btn-color: var(--yee-btn-success-color);
183
+ --m-btn-color: var(--yee-success-color);
184
+ --m-btn-hover-color: var(--yee-success-color-hover);
185
+ --m-btn-active-color: var(--yee-success-color-active);
186
+ --m-btn-border-color: var(--yee-success-color);
187
+ --m-btn-border-hover-color: var(--yee-success-color-hover);
188
+ --m-btn-border-active-color: var(--yee-success-color-active);
189
+ --m-btn-hover-bg-color: var(--yee-success-color-hover);
190
+ --m-btn-active-bg-color: var(--yee-success-color-active);
191
+ --m-btn-active-shadow-color: var(--yee-success-color-active);
170
192
  }
171
193
 
172
194
  &-danger {
173
- --m-btn-color: var(--yee-btn-danger-color);
195
+ --m-btn-color: var(--yee-error-color);
196
+ --m-btn-hover-color: var(--yee-error-color-hover);
197
+ --m-btn-active-color: var(--yee-error-color-active);
198
+ --m-btn-border-color: var(--yee-error-color);
199
+ --m-btn-border-hover-color: var(--yee-error-color-hover);
200
+ --m-btn-border-active-color: var(--yee-error-color-active);
201
+ --m-btn-hover-bg-color: var(--yee-error-color-hover);
202
+ --m-btn-active-bg-color: var(--yee-error-color-active);
203
+ --m-btn-active-shadow-color: var(--yee-error-color-active);
174
204
  }
175
205
 
176
206
  &-warning {
177
- --m-btn-color: var(--yee-btn-warning-color);
207
+ --m-btn-color: var(--yee-warning-color);
208
+ --m-btn-hover-color: var(--yee-warning-color-hover);
209
+ --m-btn-active-color: var(--yee-warning-color-active);
210
+ --m-btn-border-color: var(--yee-warning-color);
211
+ --m-btn-border-hover-color: var(--yee-warning-color-hover);
212
+ --m-btn-border-active-color: var(--yee-warning-color-active);
213
+ --m-btn-hover-bg-color: var(--yee-warning-color-hover);
214
+ --m-btn-active-bg-color: var(--yee-warning-color-active);
215
+ --m-btn-active-shadow-color: var(--yee-warning-color-active);
178
216
  }
179
217
 
180
218
  &-disabled {
@@ -151,7 +151,7 @@ var DatePickerMobile = (props) => {
151
151
  closable: false,
152
152
  title: null,
153
153
  height: "auto",
154
- footer: /* @__PURE__ */ import_react.default.createElement(import_Button.default, { block: true, type: "primary", onClick: handleConfirm }, (datepicker == null ? void 0 : datepicker.confirm) || "Confirm")
154
+ footer: /* @__PURE__ */ import_react.default.createElement(import_Button.default, { block: true, type: "primary", onClick: handleConfirm }, datepicker.confirm)
155
155
  },
156
156
  /* @__PURE__ */ import_react.default.createElement(
157
157
  import_WheelPicker.default,
@@ -66,6 +66,7 @@ var import_react = require("motion/react");
66
66
  var import_react2 = __toESM(require("react"));
67
67
  var import_Button = __toESM(require("../Button"));
68
68
  var import_useMergedState = __toESM(require("../hooks/useMergedState"));
69
+ var import_locale = require("../locale");
69
70
  var import_style = require("./style/index.less");
70
71
  var DEFAULT_LINE_HEIGHT = 22;
71
72
  var DEFAULT_ANIMATION_DURATION = 300;
@@ -102,6 +103,8 @@ var Ellipsis = (props) => {
102
103
  const textRef = (0, import_react2.useRef)(null);
103
104
  const [needEllipsis, setNeedEllipsis] = (0, import_react2.useState)(false);
104
105
  const [maxHeight, setMaxHeight] = (0, import_react2.useState)(0);
106
+ const { locale } = (0, import_locale.useLocale)();
107
+ const { ellipsis: ellipsisLocale } = locale;
105
108
  const [mergedExpanded, setMergedExpanded] = (0, import_useMergedState.default)(defaultExpanded, {
106
109
  value: controlledExpanded
107
110
  });
@@ -129,8 +132,7 @@ var Ellipsis = (props) => {
129
132
  onExpand == null ? void 0 : onExpand(next);
130
133
  };
131
134
  const isCollapsed = !mergedExpanded && needEllipsis;
132
- const isZhCN = typeof document !== "undefined" ? (document.documentElement.lang || "zh-CN").startsWith("zh") : true;
133
- const buttonText = mergedExpanded ? collapseText != null ? collapseText : isZhCN ? "收起" : "Collapse" : expandText != null ? expandText : isZhCN ? "展开" : "Expand";
135
+ const buttonText = mergedExpanded ? collapseText != null ? collapseText : ellipsisLocale.collapse : expandText != null ? expandText : ellipsisLocale.expand;
134
136
  const renderButton = () => {
135
137
  if (!showExpandButton || !needEllipsis)
136
138
  return null;
@@ -68,7 +68,7 @@ var import_useEvent = __toESM(require("../hooks/useEvent"));
68
68
  var import_mergeContextToProps = __toESM(require("../utils/mergeContextToProps"));
69
69
  var import_FieldContext = __toESM(require("./FieldContext"));
70
70
  var import_FormContext = __toESM(require("./FormContext"));
71
- var import_useForm = __toESM(require("./useForm"));
71
+ var import_useForm = __toESM(require("./hooks/useForm"));
72
72
  var import_style = require("./style/index.less");
73
73
  var Form = (baseprops) => {
74
74
  const { form: _form } = (0, import_react.useContext)(import_Config_Provider.GlobalContext);
@@ -71,8 +71,8 @@ var FormStore = class {
71
71
  this.initialValues = {};
72
72
  // List key manager
73
73
  this.listKeyManagers = /* @__PURE__ */ new Map();
74
- // Default validation message
75
- this.defaultValidateMessage = "This is required field.";
74
+ // Default validation message (overridden by useForm via locale)
75
+ this.defaultValidateMessage = "";
76
76
  // useWatch subscription management
77
77
  this.watchers = /* @__PURE__ */ new Map();
78
78
  // Field.Group group validators
@@ -420,6 +420,9 @@ var FormStore = class {
420
420
  } else {
421
421
  this.store = __spreadProps(__spreadValues({}, this.store), { [normalizedName]: value });
422
422
  }
423
+ if (value !== void 0) {
424
+ this.notifyWatchers(normalizedName);
425
+ }
423
426
  }
424
427
  }
425
428
  (_b = entity.onStoreChange) == null ? void 0 : _b.call(entity);
@@ -1,2 +1,2 @@
1
- import { FormInstance } from './interface';
1
+ import { FormInstance } from '../interface';
2
2
  export default function useForm<Values = any>(form?: FormInstance<Values>): [FormInstance<Values>];
@@ -16,17 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // src/Form/useForm.ts
19
+ // src/Form/hooks/useForm.ts
20
20
  var useForm_exports = {};
21
21
  __export(useForm_exports, {
22
22
  default: () => useForm
23
23
  });
24
24
  module.exports = __toCommonJS(useForm_exports);
25
25
  var import_react = require("react");
26
- var import_locale = require("../locale");
27
- var import_form_store = require("./form-store");
26
+ var import_locale = require("../../locale");
27
+ var import_form_store = require("../form-store");
28
28
  function useForm(form) {
29
- var _a;
30
29
  const { locale } = (0, import_locale.useLocale)();
31
30
  const formRef = (0, import_react.useRef)(void 0);
32
31
  if (!formRef.current) {
@@ -34,9 +33,7 @@ function useForm(form) {
34
33
  formRef.current = form;
35
34
  } else {
36
35
  const formStore = new import_form_store.FormStore();
37
- formStore.setDefaultValidateMessage(
38
- ((_a = locale.form) == null ? void 0 : _a.defaultRequiredMessage) || "该项为必填项"
39
- );
36
+ formStore.setDefaultValidateMessage(locale.form.defaultRequiredMessage);
40
37
  formRef.current = formStore.getForm();
41
38
  }
42
39
  }
@@ -0,0 +1 @@
1
+ export default function useFormInstance(): import("..").FormInstance<any>;
@@ -0,0 +1,43 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/Form/hooks/useFormInstance.ts
30
+ var useFormInstance_exports = {};
31
+ __export(useFormInstance_exports, {
32
+ default: () => useFormInstance
33
+ });
34
+ module.exports = __toCommonJS(useFormInstance_exports);
35
+ var import_react = require("react");
36
+ var import_FieldContext = __toESM(require("../FieldContext"));
37
+ function useFormInstance() {
38
+ const form = (0, import_react.useContext)(import_FieldContext.default);
39
+ if (typeof form.getFieldsValue !== "function") {
40
+ throw new Error("useFormInstance must be used inside a <Form>");
41
+ }
42
+ return form;
43
+ }
@@ -1,3 +1,3 @@
1
- import type { FormInstance, NamePath } from './interface';
1
+ import type { FormInstance, NamePath } from '../interface';
2
2
  declare function useWatch<T = any>(namePath?: NamePath, form?: FormInstance): T | undefined;
3
3
  export default useWatch;
@@ -26,14 +26,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
28
 
29
- // src/Form/useWatch.ts
29
+ // src/Form/hooks/useWatch.ts
30
30
  var useWatch_exports = {};
31
31
  __export(useWatch_exports, {
32
32
  default: () => useWatch_default
33
33
  });
34
34
  module.exports = __toCommonJS(useWatch_exports);
35
35
  var import_react = require("react");
36
- var import_FieldContext = __toESM(require("./FieldContext"));
36
+ var import_FieldContext = __toESM(require("../FieldContext"));
37
37
  function useWatch(namePath, form) {
38
38
  const formInstance = form != null ? form : (0, import_react.useContext)(import_FieldContext.default);
39
39
  const isWatchAll = namePath === void 0;
@@ -46,10 +46,12 @@ function useWatch(namePath, form) {
46
46
  const getWatchedValue = () => isWatchAll ? formInstance.getFieldsValue() : formInstance.getFieldValue(
47
47
  Array.isArray(namePath) ? namePath.join(".") : namePath
48
48
  );
49
- const unsubscribe = formInstance.subscribe(namePath, () => {
49
+ const update = () => {
50
50
  const newValue = getWatchedValue();
51
51
  setValue((prev) => prev === newValue ? prev : newValue);
52
- });
52
+ };
53
+ const unsubscribe = formInstance.subscribe(namePath, update);
54
+ update();
53
55
  return unsubscribe;
54
56
  }, [formInstance, namePath]);
55
57
  return value;
@@ -2,14 +2,16 @@ import Field from './Field';
2
2
  import InternalForm from './Form';
3
3
  import Group from './Group';
4
4
  import List from './List';
5
- import useForm from './useForm';
6
- import useWatch from './useWatch';
5
+ import useForm from './hooks/useForm';
6
+ import useFormInstance from './hooks/useFormInstance';
7
+ import useWatch from './hooks/useWatch';
7
8
  type FieldInterface = typeof Field & {
8
9
  Group: typeof Group;
9
10
  };
10
11
  type FormInterface = typeof InternalForm & {
11
12
  useForm: typeof useForm;
12
13
  useWatch: typeof useWatch;
14
+ useFormInstance: typeof useFormInstance;
13
15
  Field: FieldInterface;
14
16
  List: typeof List;
15
17
  };
@@ -36,11 +36,13 @@ var import_Field = __toESM(require("./Field"));
36
36
  var import_Form = __toESM(require("./Form"));
37
37
  var import_Group = __toESM(require("./Group"));
38
38
  var import_List = __toESM(require("./List"));
39
- var import_useForm = __toESM(require("./useForm"));
40
- var import_useWatch = __toESM(require("./useWatch"));
39
+ var import_useForm = __toESM(require("./hooks/useForm"));
40
+ var import_useFormInstance = __toESM(require("./hooks/useFormInstance"));
41
+ var import_useWatch = __toESM(require("./hooks/useWatch"));
41
42
  var Form = import_Form.default;
42
43
  Form.useForm = import_useForm.default;
43
44
  Form.useWatch = import_useWatch.default;
45
+ Form.useFormInstance = import_useFormInstance.default;
44
46
  var FormField = import_Field.default;
45
47
  FormField.Group = import_Group.default;
46
48
  Form.Field = FormField;
@@ -64,6 +64,7 @@ module.exports = __toCommonJS(password_exports);
64
64
  var import_lucide_react = require("lucide-react");
65
65
  var import_react = __toESM(require("react"));
66
66
  var import_Config_Provider = require("../Config-Provider");
67
+ var import_locale = require("../locale");
67
68
  var import_mergeContextToProps = __toESM(require("../utils/mergeContextToProps"));
68
69
  var import_input = __toESM(require("./input"));
69
70
  var import_style = require("./style/index.less");
@@ -71,6 +72,8 @@ var Password = (0, import_react.forwardRef)(
71
72
  (baseProps, ref) => {
72
73
  const { password } = (0, import_react.useContext)(import_Config_Provider.GlobalContext);
73
74
  const props = (0, import_mergeContextToProps.default)(baseProps, password);
75
+ const { locale } = (0, import_locale.useLocale)();
76
+ const { input: inputLocale } = locale;
74
77
  const _a = props, {
75
78
  visibilityToggle = true,
76
79
  prefixCls = "yee-input-password",
@@ -103,7 +106,7 @@ var Password = (0, import_react.forwardRef)(
103
106
  onKeyDown: handleKeyDown,
104
107
  tabIndex: 0,
105
108
  role: "button",
106
- "aria-label": "隐藏密码"
109
+ "aria-label": inputLocale.hidePassword
107
110
  }
108
111
  ) : /* @__PURE__ */ import_react.default.createElement(
109
112
  import_lucide_react.Eye,
@@ -114,7 +117,7 @@ var Password = (0, import_react.forwardRef)(
114
117
  onKeyDown: handleKeyDown,
115
118
  tabIndex: 0,
116
119
  role: "button",
117
- "aria-label": "显示密码"
120
+ "aria-label": inputLocale.showPassword
118
121
  }
119
122
  );
120
123
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, icon, suffix);
@@ -68,6 +68,7 @@ var import_Config_Provider = require("../Config-Provider");
68
68
  var import_Input = __toESM(require("../Input"));
69
69
  var import_Select = __toESM(require("../Select"));
70
70
  var import_useMergedState = __toESM(require("../hooks/useMergedState"));
71
+ var import_locale = require("../locale");
71
72
  var import_mergeContextToProps = __toESM(require("../utils/mergeContextToProps"));
72
73
  var import_items = __toESM(require("./items"));
73
74
  var import_style = require("./style/index.less");
@@ -75,6 +76,8 @@ var Pagination = import_react.default.forwardRef(
75
76
  (baseprops, ref) => {
76
77
  const { pagination } = (0, import_react.useContext)(import_Config_Provider.GlobalContext);
77
78
  const props = (0, import_mergeContextToProps.default)(baseprops, pagination);
79
+ const { locale } = (0, import_locale.useLocale)();
80
+ const { pagination: paginationLocale } = locale;
78
81
  const _a = props, {
79
82
  prefixCls = "yee-pagination",
80
83
  disabled,
@@ -281,7 +284,7 @@ var Pagination = import_react.default.forwardRef(
281
284
  if (!showQuickJumper || simple) {
282
285
  return null;
283
286
  }
284
- return /* @__PURE__ */ import_react.default.createElement("li", { className: `${prefixCls}-quick-jumper`, key: "quick-jumper" }, /* @__PURE__ */ import_react.default.createElement("span", null, "Go to"), renderNumber(clear));
287
+ return /* @__PURE__ */ import_react.default.createElement("li", { className: `${prefixCls}-quick-jumper`, key: "quick-jumper" }, /* @__PURE__ */ import_react.default.createElement("span", null, paginationLocale.jumpTo), renderNumber(clear));
285
288
  };
286
289
  if (hideOnSinglePage && pageCount <= 1 || pageCount === 0) {
287
290
  return null;
@@ -295,7 +295,7 @@ var RangePickerMobile = (props) => {
295
295
  onClick: () => handleRangeClick(rangeValue)
296
296
  },
297
297
  label
298
- ))), /* @__PURE__ */ import_react.default.createElement(import_Button.default, { block: true, type: "primary", onClick: handleTabConfirm }, activeTab === "start" ? (rangepicker == null ? void 0 : rangepicker.next) || "Next" : (rangepicker == null ? void 0 : rangepicker.confirm) || "Confirm"))
298
+ ))), /* @__PURE__ */ import_react.default.createElement(import_Button.default, { block: true, type: "primary", onClick: handleTabConfirm }, activeTab === "start" ? rangepicker.next : rangepicker.confirm))
299
299
  },
300
300
  /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-mobile-tabs` }, /* @__PURE__ */ import_react.default.createElement(
301
301
  "button",
@@ -307,7 +307,7 @@ var RangePickerMobile = (props) => {
307
307
  onClick: () => setActiveTab("start"),
308
308
  type: "button"
309
309
  },
310
- (rangepicker == null ? void 0 : rangepicker.startPlaceholder) || "开始日期"
310
+ rangepicker.startPlaceholder
311
311
  ), /* @__PURE__ */ import_react.default.createElement(
312
312
  "button",
313
313
  {
@@ -318,7 +318,7 @@ var RangePickerMobile = (props) => {
318
318
  onClick: () => setActiveTab("end"),
319
319
  type: "button"
320
320
  },
321
- (rangepicker == null ? void 0 : rangepicker.endPlaceholder) || "结束日期"
321
+ rangepicker.endPlaceholder
322
322
  )),
323
323
  currentColumns.hasColumns && /* @__PURE__ */ import_react.default.createElement(
324
324
  import_WheelPicker.default,
@@ -82,7 +82,7 @@ var Compact = (0, import_react.forwardRef)((props, ref) => {
82
82
  (child, index) => {
83
83
  if (import_react.default.isValidElement(child)) {
84
84
  const first = index === 0;
85
- const middle = index > 0 && index < total;
85
+ const middle = index > 0 && index < total - 1;
86
86
  const last = index > 0 && index === total - 1;
87
87
  const props2 = child.props;
88
88
  return import_react.default.cloneElement(child, {
@@ -35,17 +35,5 @@ module.exports = __toCommonJS(compact_exports);
35
35
  var import_yee_c = require("../..");
36
36
  var import_react = __toESM(require("react"));
37
37
  var compact_default = () => {
38
- return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space.Compact, null, /* @__PURE__ */ import_react.default.createElement("input", { placeholder: "Enter name", style: { padding: "4px 11px" } }), /* @__PURE__ */ import_react.default.createElement(
39
- "button",
40
- {
41
- type: "button",
42
- style: {
43
- background: "#1890ff",
44
- color: "white",
45
- border: "none",
46
- padding: "4px 11px"
47
- }
48
- },
49
- "Submit"
50
- ));
38
+ return /* @__PURE__ */ import_react.default.createElement(import_yee_c.Space.Compact, null, /* @__PURE__ */ import_react.default.createElement(import_yee_c.Input, { placeholder: "Enter name" }), /* @__PURE__ */ import_react.default.createElement(import_yee_c.Button, { type: "primary" }, "Submit"));
51
39
  };
@@ -115,6 +115,7 @@ var Space = (0, import_react.forwardRef)((baseprops, ref) => {
115
115
  if (!children) {
116
116
  return null;
117
117
  }
118
+ let loopCount = 1;
118
119
  const loop = (childs2) => {
119
120
  let res = [];
120
121
  childs2.forEach((child, index) => {
@@ -123,6 +124,7 @@ var Space = (0, import_react.forwardRef)((baseprops, ref) => {
123
124
  const itemStyle = isItem ? child.props.style : void 0;
124
125
  const itemChildren = isItem ? child.props.children : child;
125
126
  if (import_react.default.isValidElement(child) && child.type === import_react.default.Fragment) {
127
+ loopCount++;
126
128
  res = res.concat(
127
129
  loop(import_react.default.Children.toArray(child.props.children))
128
130
  );
@@ -137,7 +139,7 @@ var Space = (0, import_react.forwardRef)((baseprops, ref) => {
137
139
  itemClassName
138
140
  ),
139
141
  style: __spreadValues(__spreadValues({}, styles == null ? void 0 : styles.item), itemStyle),
140
- key: index
142
+ key: `${loopCount}-${index}`
141
143
  },
142
144
  itemChildren
143
145
  )
@@ -18,12 +18,22 @@
18
18
  }
19
19
 
20
20
  &-compact {
21
+ display: inline-flex;
21
22
  align-items: flex-end;
22
23
 
23
24
  &-first-item {
24
25
  margin-inline-end: -1px;
26
+ border-top-right-radius: 0;
27
+ border-bottom-right-radius: 0;
28
+
29
+ &:hover,
30
+ &:active {
31
+ position: relative;
32
+ z-index: 1;
33
+ }
25
34
 
26
35
  .yee-input-wrapper,
36
+ .yee-input,
27
37
  .yee-tags,
28
38
  &.yee-btn {
29
39
  border-top-right-radius: 0;
@@ -39,6 +49,13 @@
39
49
 
40
50
  &-middle-item {
41
51
  margin-inline-end: -1px;
52
+ border-radius: 0;
53
+
54
+ &:hover,
55
+ &:active {
56
+ position: relative;
57
+ z-index: 1;
58
+ }
42
59
 
43
60
  .yee-input-wrapper,
44
61
  .yee-tags,
@@ -52,19 +69,22 @@
52
69
  z-index: 1;
53
70
  }
54
71
  }
72
+
73
+ &-last-item {
74
+ border-top-left-radius: 0;
75
+ border-bottom-left-radius: 0;
76
+
77
+ .yee-input-wrapper,
78
+ .yee-tags,
79
+ &.yee-btn {
80
+ border-top-left-radius: 0;
81
+ border-bottom-left-radius: 0;
82
+ }
83
+ }
55
84
  }
56
85
 
57
86
  &-item {
58
87
  // flex: 1 1 auto;
59
88
  display: inline-flex;
60
89
  }
61
-
62
- &-last-item {
63
- .yee-input-wrapper,
64
- .yee-tags,
65
- &.yee-btn {
66
- border-top-left-radius: 0;
67
- border-bottom-left-radius: 0;
68
- }
69
- }
70
90
  }
@@ -62,13 +62,16 @@ __export(tbody_exports, {
62
62
  });
63
63
  module.exports = __toCommonJS(tbody_exports);
64
64
  var import_react = __toESM(require("react"));
65
+ var import_locale = require("../../locale");
65
66
  var import_table = require("../table");
66
67
  var import_lazy_row = __toESM(require("./lazy-row"));
67
68
  var import_row = __toESM(require("./row"));
68
69
  var TableBody = (props) => {
69
70
  const _a = props, { columns, pageData, lazyLoad } = _a, rest = __objRest(_a, ["columns", "pageData", "lazyLoad"]);
70
71
  const { prefixCls } = import_react.default.useContext(import_table.TableCtx);
71
- const empty = /* @__PURE__ */ import_react.default.createElement("tbody", { className: `${prefixCls}-tbody` }, /* @__PURE__ */ import_react.default.createElement("tr", { className: `${prefixCls}-no-record` }, /* @__PURE__ */ import_react.default.createElement("td", { colSpan: 999 }, "There is no record.")));
72
+ const { locale } = (0, import_locale.useLocale)();
73
+ const { table: tableLocale } = locale;
74
+ const empty = /* @__PURE__ */ import_react.default.createElement("tbody", { className: `${prefixCls}-tbody` }, /* @__PURE__ */ import_react.default.createElement("tr", { className: `${prefixCls}-no-record` }, /* @__PURE__ */ import_react.default.createElement("td", { colSpan: 999 }, tableLocale.emptyText)));
72
75
  const dataLength = pageData.length;
73
76
  if (dataLength === 0)
74
77
  return empty;