@next-bricks/form 1.21.11 → 1.21.13

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 (92) hide show
  1. package/dist/bricks.json +35 -35
  2. package/dist/chunks/2537.be4cf82c.js.map +1 -1
  3. package/dist/chunks/845.2f598dd9.js +3 -0
  4. package/dist/chunks/845.2f598dd9.js.map +1 -0
  5. package/dist/chunks/{9949.753e2720.js → 9949.3d28a915.js} +3 -3
  6. package/dist/chunks/9949.3d28a915.js.map +1 -0
  7. package/dist/chunks/eo-auto-complete.0ed854e4.js.map +1 -1
  8. package/dist/chunks/eo-checkbox.2d0a8dbc.js.map +1 -1
  9. package/dist/chunks/eo-color-picker.ecf0c4c0.js.map +1 -1
  10. package/dist/chunks/eo-date-picker.faa60507.js.map +1 -1
  11. package/dist/chunks/eo-dynamic-form-item.aa5f7d9e.js.map +1 -1
  12. package/dist/chunks/eo-form.9db78cdb.js.map +1 -1
  13. package/dist/chunks/eo-icon-select.6a7f7e12.js +3 -0
  14. package/dist/chunks/eo-icon-select.6a7f7e12.js.map +1 -0
  15. package/dist/chunks/eo-radio.b2ed57db.js.map +1 -1
  16. package/dist/chunks/eo-search.206dd65e.js.map +1 -1
  17. package/dist/chunks/eo-select.cd00c791.js.map +1 -1
  18. package/dist/chunks/eo-switch.f0a27c08.js.map +1 -1
  19. package/dist/chunks/eo-textarea.405851dd.js.map +1 -1
  20. package/dist/chunks/eo-time-picker.46e7a667.js.map +1 -1
  21. package/dist/chunks/eo-time-range-picker.5afbad69.js.map +1 -1
  22. package/dist/chunks/eo-upload-file.27a4288d.js.map +1 -1
  23. package/dist/chunks/eo-upload-image.b43c2329.js.map +1 -1
  24. package/dist/chunks/{main.8c394d3e.js → main.59f7a796.js} +2 -2
  25. package/dist/chunks/{main.8c394d3e.js.map → main.59f7a796.js.map} +1 -1
  26. package/dist/examples.json +27 -24
  27. package/dist/index.2c92cf90.js +2 -0
  28. package/dist/{index.7917bac6.js.map → index.2c92cf90.js.map} +1 -1
  29. package/dist/manifest.json +451 -385
  30. package/dist/types.json +2699 -2649
  31. package/dist-types/auto-complete/index.d.ts +4 -0
  32. package/dist-types/checkbox/index.d.ts +2 -2
  33. package/dist-types/color-picker/index.d.ts +2 -1
  34. package/dist-types/date-picker/index.d.ts +1 -1
  35. package/dist-types/form/index.d.ts +16 -1
  36. package/dist-types/form-item/index.d.ts +31 -2
  37. package/dist-types/general-switch/index.d.ts +1 -1
  38. package/dist-types/icon-select/index.d.ts +1 -1
  39. package/dist-types/input/index.d.ts +2 -2
  40. package/dist-types/radio/index.d.ts +4 -4
  41. package/dist-types/select/index.d.ts +1 -0
  42. package/dist-types/textarea/index.d.ts +1 -1
  43. package/dist-types/time-range-picker/index.d.ts +7 -4
  44. package/dist-types/upload/upload-file/index.d.ts +1 -1
  45. package/docs/eo-auto-complete.md +158 -8
  46. package/docs/eo-auto-complete.react.md +229 -0
  47. package/docs/eo-checkbox.md +107 -4
  48. package/docs/eo-checkbox.react.md +369 -0
  49. package/docs/eo-color-picker.md +102 -22
  50. package/docs/eo-color-picker.react.md +160 -0
  51. package/docs/eo-date-picker.md +82 -50
  52. package/docs/eo-date-picker.react.md +146 -0
  53. package/docs/eo-dynamic-form-item.md +60 -15
  54. package/docs/eo-dynamic-form-item.react.md +186 -0
  55. package/docs/eo-form-item.md +194 -0
  56. package/docs/eo-form-item.react.md +163 -0
  57. package/docs/eo-form.md +144 -3
  58. package/docs/eo-form.react.md +330 -0
  59. package/docs/eo-icon-select.md +80 -1
  60. package/docs/eo-icon-select.react.md +97 -0
  61. package/docs/eo-input.md +147 -22
  62. package/docs/eo-input.react.md +275 -0
  63. package/docs/eo-radio.md +145 -8
  64. package/docs/eo-radio.react.md +492 -0
  65. package/docs/eo-search.md +94 -1
  66. package/docs/eo-search.react.md +122 -0
  67. package/docs/eo-select.md +157 -9
  68. package/docs/eo-select.react.md +411 -0
  69. package/docs/eo-submit-buttons.md +120 -7
  70. package/docs/eo-submit-buttons.react.md +129 -0
  71. package/docs/eo-switch.md +57 -3
  72. package/docs/eo-switch.react.md +136 -0
  73. package/docs/eo-textarea.md +101 -22
  74. package/docs/eo-textarea.react.md +193 -0
  75. package/docs/eo-time-picker.md +70 -42
  76. package/docs/eo-time-picker.react.md +106 -0
  77. package/docs/eo-time-range-picker.md +89 -35
  78. package/docs/eo-time-range-picker.react.md +163 -0
  79. package/docs/eo-upload-file.md +101 -9
  80. package/docs/eo-upload-file.react.md +126 -0
  81. package/docs/eo-upload-image.md +70 -6
  82. package/docs/eo-upload-image.react.md +92 -0
  83. package/package.json +2 -2
  84. package/dist/chunks/845.c8b5b1e8.js +0 -3
  85. package/dist/chunks/845.c8b5b1e8.js.map +0 -1
  86. package/dist/chunks/9949.753e2720.js.map +0 -1
  87. package/dist/chunks/eo-icon-select.6ea15888.js +0 -3
  88. package/dist/chunks/eo-icon-select.6ea15888.js.map +0 -1
  89. package/dist/index.7917bac6.js +0 -2
  90. /package/dist/chunks/{845.c8b5b1e8.js.LICENSE.txt → 845.2f598dd9.js.LICENSE.txt} +0 -0
  91. /package/dist/chunks/{9949.753e2720.js.LICENSE.txt → 9949.3d28a915.js.LICENSE.txt} +0 -0
  92. /package/dist/chunks/{eo-icon-select.6ea15888.js.LICENSE.txt → eo-icon-select.6a7f7e12.js.LICENSE.txt} +0 -0
@@ -0,0 +1,229 @@
1
+ ---
2
+ tagName: eo-auto-complete
3
+ displayName: WrappedEoAutoComplete
4
+ description: 带候选项的输入框
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # WrappedEoAutoComplete
10
+
11
+ > 带候选项的输入框
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedEoAutoComplete } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | --------------- | ----------------------------- | ---- | ------ | -------------------------------- |
23
+ | name | `string` | 否 | - | 字段名称 |
24
+ | placeholder | `string` | 否 | - | 占位说明 |
25
+ | label | `string` | 否 | - | 字段文本 |
26
+ | inputStyle | `React.CSSProperties` | 否 | - | 输入框样式 |
27
+ | disabled | `boolean` | 否 | - | 是否禁用 |
28
+ | required | `boolean` | 否 | - | 是否必填 |
29
+ | value | `string` | 否 | - | 输入框当前值 |
30
+ | options | `string[] \| OptionType[]` | 否 | - | 选项列表 |
31
+ | filterByCaption | `boolean` | 否 | - | 搜索时是否根据caption过滤options |
32
+ | validator | `(value: any) => MessageBody` | 否 | - | 表单项校验方法 |
33
+ | pattern | `string` | 否 | - | 正则校验规则 |
34
+ | message | `Record<string, string>` | 否 | - | 校验文本信息 |
35
+
36
+ ## Events
37
+
38
+ | 事件 | detail | 说明 |
39
+ | -------- | ------------------------- | ---------- |
40
+ | onChange | `string` — 当前输入框的值 | 值改变事件 |
41
+
42
+ ## Slots
43
+
44
+ | 名称 | 说明 |
45
+ | --------------- | ------------------ |
46
+ | options-toolbar | 下拉列表底部工具栏 |
47
+
48
+ ## Examples
49
+
50
+ ### Basic
51
+
52
+ 展示带候选项输入框的最基本用法,通过字符串数组提供候选选项。
53
+
54
+ ```tsx
55
+ <WrappedEoAutoComplete
56
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
57
+ />
58
+ ```
59
+
60
+ ### Caption
61
+
62
+ 通过 `OptionType` 对象格式为每个选项添加 `caption` 附加说明文字。
63
+
64
+ ```tsx
65
+ <WrappedEoAutoComplete
66
+ options={[
67
+ { label: "选项1", value: "1", caption: "说明1" },
68
+ { label: "选项2", value: "2", caption: "说明2" },
69
+ { label: "选项3", value: "3", caption: "说明3" },
70
+ ]}
71
+ />
72
+ ```
73
+
74
+ ### 分组
75
+
76
+ 通过 `OptionGroup` 格式对选项进行分组展示,组内每个选项可包含 `label`、`value` 和 `caption`。
77
+
78
+ ```tsx
79
+ <WrappedEoAutoComplete
80
+ options={[
81
+ { label: "选项1", value: "1", caption: "说明1" },
82
+ { label: "选项2", value: "2", caption: "说明2" },
83
+ {
84
+ label: "分组1",
85
+ options: [
86
+ { label: "选项3-1", value: "3-1", caption: "说明3-1" },
87
+ { label: "选项3-2", value: "3-2", caption: "说明3-2" },
88
+ ],
89
+ },
90
+ ]}
91
+ />
92
+ ```
93
+
94
+ ### filterByCaption
95
+
96
+ 设置 `filterByCaption` 为 `true`,搜索时同时匹配选项的 `caption` 字段。
97
+
98
+ ```tsx
99
+ <WrappedEoAutoComplete
100
+ filterByCaption
101
+ options={[
102
+ { label: "选项1", value: "1", caption: "说明1" },
103
+ { label: "选项2", value: "2", caption: "说明2" },
104
+ {
105
+ label: "分组1",
106
+ options: [
107
+ { label: "选项3-1", value: "3-1", caption: "说明3-1" },
108
+ { label: "选项3-2", value: "3-2", caption: "说明3-2" },
109
+ ],
110
+ },
111
+ ]}
112
+ />
113
+ ```
114
+
115
+ ### Value
116
+
117
+ 通过 `value` 属性设置输入框的默认值。
118
+
119
+ ```tsx
120
+ <WrappedEoAutoComplete
121
+ value="Beijing"
122
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
123
+ />
124
+ ```
125
+
126
+ ### Placeholder
127
+
128
+ 通过 `placeholder` 属性设置输入框的占位提示文字。
129
+
130
+ ```tsx
131
+ <WrappedEoAutoComplete
132
+ placeholder="请输入城市名称"
133
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
134
+ />
135
+ ```
136
+
137
+ ### Input Style
138
+
139
+ 通过 `inputStyle` 属性自定义输入框的内联样式。
140
+
141
+ ```tsx
142
+ <WrappedEoAutoComplete
143
+ inputStyle={{ width: "300px" }}
144
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
145
+ />
146
+ ```
147
+
148
+ ### Disabled
149
+
150
+ 设置 `disabled` 属性禁用输入框。
151
+
152
+ ```tsx
153
+ <WrappedEoAutoComplete
154
+ disabled
155
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
156
+ />
157
+ ```
158
+
159
+ ### Events
160
+
161
+ 监听 `onChange` 事件获取用户输入或选中的实时值。
162
+
163
+ ```tsx
164
+ <WrappedEoAutoComplete
165
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
166
+ onChange={(e) => console.log(e.detail)}
167
+ />
168
+ ```
169
+
170
+ ### With Form
171
+
172
+ 在 `WrappedEoForm` 中使用,通过 `name`、`label` 属性集成表单功能,并可配合 `required`、`pattern`、`message` 属性实现表单校验。
173
+
174
+ ```tsx
175
+ <WrappedEoForm
176
+ onValidateSuccess={(e) => console.log(e.detail)}
177
+ onValuesChange={(e) => console.log(e.detail)}
178
+ >
179
+ <WrappedEoAutoComplete
180
+ name="city"
181
+ label="城市"
182
+ required
183
+ pattern="^[A-Za-z]+"
184
+ message={{
185
+ required: "请选择城市",
186
+ pattern: "城市名称只能包含字母",
187
+ }}
188
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
189
+ />
190
+ <WrappedEoSubmitButtons />
191
+ </WrappedEoForm>
192
+ ```
193
+
194
+ ### Validator
195
+
196
+ 通过 `validator` 属性自定义表单项的校验逻辑,返回 `null` 表示校验通过,返回包含 `message` 的对象表示校验失败。
197
+
198
+ ```tsx
199
+ <WrappedEoForm onValidateSuccess={(e) => console.log(e.detail)}>
200
+ <WrappedEoAutoComplete
201
+ name="city"
202
+ label="城市"
203
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
204
+ validator={(value) =>
205
+ value && value.length > 10
206
+ ? { message: "城市名称不能超过10个字符" }
207
+ : null
208
+ }
209
+ />
210
+ <WrappedEoSubmitButtons />
211
+ </WrappedEoForm>
212
+ ```
213
+
214
+ ### Options Toolbar Slot
215
+
216
+ 通过 `options-toolbar` 插槽在下拉列表底部添加自定义工具栏内容。
217
+
218
+ ```tsx
219
+ <WrappedEoAutoComplete
220
+ options={["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]}
221
+ >
222
+ <span
223
+ slot="options-toolbar"
224
+ style={{ padding: "4px 8px", color: "#999", fontSize: "12px" }}
225
+ >
226
+ 自定义工具栏
227
+ </span>
228
+ </WrappedEoAutoComplete>
229
+ ```
@@ -1,4 +1,44 @@
1
- 表单复选框构件。
1
+ ---
2
+ tagName: eo-checkbox
3
+ displayName: WrappedEoCheckbox
4
+ description: 表单复选框构件
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # eo-checkbox
10
+
11
+ > 表单复选框构件
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------------ | ------------------------ | ---- | ----------- | --------------------------------------------------------------------- |
17
+ | name | `string` | - | - | 字段名称 |
18
+ | label | `string` | - | - | 字段说明 |
19
+ | value | `CheckboxValueType[]` | - | - | 值 |
20
+ | options | `CheckboxOptionType[]` | - | `[]` | 多选框选项表 |
21
+ | type | `CheckboxType` | - | `"default"` | 类型 |
22
+ | disabled | `boolean` | - | - | 是否禁用 |
23
+ | isCustom | `boolean` | - | `false` | 是否为自定义样式,仅在 type="icon" 时生效,启用后图标尺寸更大(52px) |
24
+ | required | `boolean` | - | - | 是否必填 |
25
+ | message | `Record<string, string>` | - | - | 校验文本 |
26
+ | isGroup | `boolean` | - | - | 是否启用分组模式,为 true 时,则可设置分组数据 optionGroups |
27
+ | optionGroups | `OptionGroup[]` | - | - | 多选框选项分组数据,需要设置 isGroup 为 true 才生效 |
28
+ | themeVariant | `"default" \| "elevo"` | - | - | 主题变体 |
29
+
30
+ ## Events
31
+
32
+ | 事件 | detail | 说明 |
33
+ | -------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------- |
34
+ | change | `CheckboxOptionType[]` — { value: 选中项的值, label: 选中项的标签, disabled: 是否禁用, checkboxColor: 复选框颜色 }[] | 复选框选中项发生变化时触发 |
35
+ | options.change | `OptionsChangeEventDetail` — { options: 最新的选项列表, name: 字段名称 } | 复选框选项数据变化时触发 |
36
+
37
+ ## Examples
38
+
39
+ ### Basic
40
+
41
+ 基本用法,展示简单的多选框列表。
2
42
 
3
43
  ```yaml preview
4
44
  - brick: eo-checkbox
@@ -10,10 +50,10 @@
10
50
  - Shenzhen
11
51
  ```
12
52
 
13
- ## Examples
14
-
15
53
  ### Label
16
54
 
55
+ 设置 label 属性为复选框添加字段说明。
56
+
17
57
  ```yaml preview
18
58
  - brick: eo-checkbox
19
59
  properties:
@@ -37,6 +77,8 @@
37
77
 
38
78
  ### Value
39
79
 
80
+ 设置 value 属性指定默认选中项。
81
+
40
82
  ```yaml preview
41
83
  - brick: eo-checkbox
42
84
  properties:
@@ -52,6 +94,8 @@
52
94
 
53
95
  ### Options
54
96
 
97
+ 多种选项格式:字符串数组、对象数组和布尔值数组。
98
+
55
99
  ```yaml preview
56
100
  - brick: eo-checkbox
57
101
  properties:
@@ -87,6 +131,8 @@
87
131
 
88
132
  ### Disabled
89
133
 
134
+ 禁用单个选项或整体禁用复选框。
135
+
90
136
  ```yaml preview
91
137
  - brick: eo-checkbox
92
138
  properties:
@@ -125,6 +171,8 @@
125
171
 
126
172
  ### Type
127
173
 
174
+ 展示 default 和 icon 两种类型的复选框样式。
175
+
128
176
  ```yaml preview
129
177
  - brick: eo-checkbox
130
178
  properties:
@@ -190,8 +238,35 @@
190
238
  icon: shell
191
239
  ```
192
240
 
241
+ ### isCustom
242
+
243
+ 启用自定义样式(仅在 type="icon" 时生效),图标尺寸更大。
244
+
245
+ ```yaml preview
246
+ - brick: eo-checkbox
247
+ properties:
248
+ label: 自定义图标样式
249
+ type: icon
250
+ isCustom: true
251
+ options:
252
+ - label: Python
253
+ value: 0
254
+ icon:
255
+ lib: easyops
256
+ category: colored-common
257
+ icon: python
258
+ - label: Javascript
259
+ value: 1
260
+ icon:
261
+ lib: easyops
262
+ category: program-language
263
+ icon: javascript
264
+ ```
265
+
193
266
  ### checkboxColor
194
267
 
268
+ 为不同选项设置自定义颜色。
269
+
195
270
  ```yaml preview
196
271
  - brick: eo-checkbox
197
272
  properties:
@@ -215,6 +290,8 @@
215
290
 
216
291
  ### optionGroups
217
292
 
293
+ 启用分组模式,将选项按组展示,支持全选/取消全选操作。
294
+
218
295
  ```yaml preview
219
296
  - brick: eo-checkbox
220
297
  events:
@@ -242,8 +319,30 @@
242
319
  - potato
243
320
  ```
244
321
 
322
+ ### themeVariant
323
+
324
+ 设置主题变体为 elevo 风格。
325
+
326
+ ```yaml preview
327
+ - brick: eo-checkbox
328
+ properties:
329
+ themeVariant: elevo
330
+ label: Elevo 风格
331
+ options:
332
+ - label: Beijing
333
+ value: 0
334
+ - label: Shanghai
335
+ value: 1
336
+ - label: Guangzhou
337
+ value: 2
338
+ value:
339
+ - 0
340
+ ```
341
+
245
342
  ### Event
246
343
 
344
+ 监听 change 和 options.change 事件,通过按钮动态修改选项触发 options.change 事件。
345
+
247
346
  ```yaml preview
248
347
  - brick: eo-checkbox
249
348
  properties:
@@ -268,7 +367,7 @@
268
367
  - <% JSON.stringify(EVENT.detail) %>
269
368
  - brick: eo-button
270
369
  properties:
271
- textContent: Click to Change Radio Option
370
+ textContent: Click to Change Checkbox Option
272
371
  events:
273
372
  click:
274
373
  - target: "#option-checkbox"
@@ -291,6 +390,8 @@
291
390
 
292
391
  ### With Form
293
392
 
393
+ 在表单中使用复选框,支持 required 校验和 message 自定义校验文本。
394
+
294
395
  ```yaml preview
295
396
  - brick: eo-form
296
397
  events:
@@ -304,6 +405,8 @@
304
405
  name: city
305
406
  label: 城市
306
407
  required: true
408
+ message:
409
+ required: 请选择至少一个城市
307
410
  options:
308
411
  - Beijing
309
412
  - Shanghai