@next-bricks/form 0.5.0 → 0.7.0

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 (130) hide show
  1. package/dist/bricks.json +15 -4
  2. package/dist/chunks/{1970.0122d8c6.js → 1970.1bf0f5c1.js} +3 -3
  3. package/dist/chunks/{1970.0122d8c6.js.map → 1970.1bf0f5c1.js.map} +1 -1
  4. package/dist/chunks/2179.5d5ada16.js +2 -0
  5. package/dist/chunks/{6205.af7a9022.js.map → 2179.5d5ada16.js.map} +1 -1
  6. package/dist/chunks/2618.4d1b4f8f.js +2 -0
  7. package/dist/chunks/2618.4d1b4f8f.js.map +1 -0
  8. package/dist/chunks/{3494.4a17db19.js → 3494.81238413.js} +2 -2
  9. package/dist/chunks/{3494.4a17db19.js.map → 3494.81238413.js.map} +1 -1
  10. package/dist/chunks/4131.cd33579d.js +2 -0
  11. package/dist/chunks/4131.cd33579d.js.map +1 -0
  12. package/dist/chunks/4356.e66da273.js +2 -0
  13. package/dist/chunks/4356.e66da273.js.map +1 -0
  14. package/dist/chunks/4791.288c8084.js +2 -0
  15. package/dist/chunks/4791.288c8084.js.map +1 -0
  16. package/dist/chunks/5636.676bad66.js +2 -0
  17. package/dist/chunks/5636.676bad66.js.map +1 -0
  18. package/dist/chunks/6205.e5f8de3e.js +2 -0
  19. package/dist/chunks/{7164.dcaf6d0e.js.map → 6205.e5f8de3e.js.map} +1 -1
  20. package/dist/chunks/7164.c5911296.js +2 -0
  21. package/dist/chunks/7164.c5911296.js.map +1 -0
  22. package/dist/chunks/{7822.53604e29.js → 7822.8c36398f.js} +2 -2
  23. package/dist/chunks/{7822.53604e29.js.map → 7822.8c36398f.js.map} +1 -1
  24. package/dist/chunks/{8826.4444fb49.js → 9223.c35f1d9a.js} +2 -2
  25. package/dist/chunks/9223.c35f1d9a.js.map +1 -0
  26. package/dist/chunks/{9431.4eea30bd.js → 9431.cabf049c.js} +2 -2
  27. package/dist/chunks/{9431.4eea30bd.js.map → 9431.cabf049c.js.map} +1 -1
  28. package/dist/chunks/{code-editor.c7e4ccfa.js → code-editor.85b3ad33.js} +2 -2
  29. package/dist/chunks/code-editor.85b3ad33.js.map +1 -0
  30. package/dist/chunks/dynamic-form-item.f3f40a4e.js +2 -0
  31. package/dist/chunks/dynamic-form-item.f3f40a4e.js.map +1 -0
  32. package/dist/chunks/general-checkbox.81d8d8d1.js +3 -0
  33. package/dist/chunks/general-checkbox.81d8d8d1.js.map +1 -0
  34. package/dist/chunks/general-form-item.9a3d11f7.js +3 -0
  35. package/dist/chunks/general-form-item.9a3d11f7.js.map +1 -0
  36. package/dist/chunks/general-form.03de30e1.js +2 -0
  37. package/dist/chunks/general-form.03de30e1.js.map +1 -0
  38. package/dist/chunks/general-input.1e2be165.js +3 -0
  39. package/dist/chunks/general-input.1e2be165.js.map +1 -0
  40. package/dist/chunks/general-radio.f5b2b849.js +3 -0
  41. package/dist/chunks/general-radio.f5b2b849.js.map +1 -0
  42. package/dist/chunks/general-search.a76cac8b.js +3 -0
  43. package/dist/chunks/general-search.a76cac8b.js.map +1 -0
  44. package/dist/chunks/general-select.b806fc3d.js +3 -0
  45. package/dist/chunks/general-select.b806fc3d.js.map +1 -0
  46. package/dist/chunks/general-textarea.ce42122f.js +3 -0
  47. package/dist/chunks/general-textarea.ce42122f.js.map +1 -0
  48. package/dist/chunks/icon-select.c1e34968.js +3 -0
  49. package/dist/chunks/icon-select.c1e34968.js.LICENSE.txt +5 -0
  50. package/dist/chunks/icon-select.c1e34968.js.map +1 -0
  51. package/dist/chunks/main.ba6d4ded.js +2 -0
  52. package/dist/chunks/main.ba6d4ded.js.map +1 -0
  53. package/dist/chunks/submit-buttons.0a2d1413.js +2 -0
  54. package/dist/chunks/submit-buttons.0a2d1413.js.map +1 -0
  55. package/dist/index.a93d21e4.js +2 -0
  56. package/dist/index.a93d21e4.js.map +1 -0
  57. package/dist/manifest.json +294 -212
  58. package/dist-types/bootstrap.d.ts +1 -0
  59. package/dist-types/checkbox/index.d.ts +37 -40
  60. package/dist-types/code-editor/index.d.ts +3 -3
  61. package/dist-types/dynamic-form-item/index.d.ts +14 -9
  62. package/dist-types/form/index.d.ts +19 -16
  63. package/dist-types/form-item/index.d.ts +4 -5
  64. package/dist-types/icon-select/i18n.d.ts +15 -0
  65. package/dist-types/icon-select/index.d.ts +53 -0
  66. package/dist-types/icon-select/index.spec.d.ts +1 -0
  67. package/dist-types/icon-select/utils.d.ts +25 -0
  68. package/dist-types/input/index.d.ts +82 -11
  69. package/dist-types/input/index.spec.d.ts +1 -0
  70. package/dist-types/radio/index.d.ts +44 -82
  71. package/dist-types/search/index.d.ts +5 -5
  72. package/dist-types/select/index.d.ts +19 -79
  73. package/dist-types/submit-buttons/index.d.ts +11 -49
  74. package/dist-types/textarea/calculateAutoSizeStyle.d.ts +1 -0
  75. package/dist-types/textarea/index.d.ts +25 -58
  76. package/docs/dynamic-form-item.md +89 -0
  77. package/docs/general-checkbox.md +221 -0
  78. package/docs/general-form.md +245 -0
  79. package/docs/general-input.md +163 -0
  80. package/docs/general-radio.md +286 -0
  81. package/docs/general-select.md +205 -0
  82. package/docs/general-textarea.md +109 -0
  83. package/docs/icon-select.md +14 -0
  84. package/docs/submit-buttons.md +67 -0
  85. package/package.json +2 -2
  86. package/dist/chunks/2255.91dc8128.js +0 -2
  87. package/dist/chunks/2255.91dc8128.js.map +0 -1
  88. package/dist/chunks/2993.5d245055.js +0 -2
  89. package/dist/chunks/2993.5d245055.js.map +0 -1
  90. package/dist/chunks/6205.af7a9022.js +0 -2
  91. package/dist/chunks/7164.dcaf6d0e.js +0 -2
  92. package/dist/chunks/8826.4444fb49.js.map +0 -1
  93. package/dist/chunks/9396.f9127ea6.js +0 -2
  94. package/dist/chunks/9396.f9127ea6.js.map +0 -1
  95. package/dist/chunks/code-editor.c7e4ccfa.js.map +0 -1
  96. package/dist/chunks/dynamic-form-item.97b25da2.js +0 -2
  97. package/dist/chunks/dynamic-form-item.97b25da2.js.map +0 -1
  98. package/dist/chunks/general-checkbox.0ec43d11.js +0 -3
  99. package/dist/chunks/general-checkbox.0ec43d11.js.map +0 -1
  100. package/dist/chunks/general-form-item.865dc60f.js +0 -3
  101. package/dist/chunks/general-form-item.865dc60f.js.map +0 -1
  102. package/dist/chunks/general-form.c9523ae0.js +0 -2
  103. package/dist/chunks/general-form.c9523ae0.js.map +0 -1
  104. package/dist/chunks/general-input.243352ff.js +0 -3
  105. package/dist/chunks/general-input.243352ff.js.map +0 -1
  106. package/dist/chunks/general-radio.21553834.js +0 -3
  107. package/dist/chunks/general-radio.21553834.js.map +0 -1
  108. package/dist/chunks/general-search.0ba9a7cb.js +0 -3
  109. package/dist/chunks/general-search.0ba9a7cb.js.map +0 -1
  110. package/dist/chunks/general-select.d6404264.js +0 -3
  111. package/dist/chunks/general-select.d6404264.js.map +0 -1
  112. package/dist/chunks/general-textarea.11a84e7c.js +0 -3
  113. package/dist/chunks/general-textarea.11a84e7c.js.map +0 -1
  114. package/dist/chunks/main.c796802d.js +0 -2
  115. package/dist/chunks/main.c796802d.js.map +0 -1
  116. package/dist/chunks/submit-buttons.6fe24040.js +0 -2
  117. package/dist/chunks/submit-buttons.6fe24040.js.map +0 -1
  118. package/dist/index.7af0aa96.js +0 -2
  119. package/dist/index.7af0aa96.js.map +0 -1
  120. package/dist-types/form/formStore.d.ts +0 -53
  121. package/dist-types/form-item/FormItemElement.d.ts +0 -22
  122. package/dist-types/utils/PubSub.d.ts +0 -6
  123. /package/dist/chunks/{1970.0122d8c6.js.LICENSE.txt → 1970.1bf0f5c1.js.LICENSE.txt} +0 -0
  124. /package/dist/chunks/{general-checkbox.0ec43d11.js.LICENSE.txt → general-checkbox.81d8d8d1.js.LICENSE.txt} +0 -0
  125. /package/dist/chunks/{general-form-item.865dc60f.js.LICENSE.txt → general-form-item.9a3d11f7.js.LICENSE.txt} +0 -0
  126. /package/dist/chunks/{general-input.243352ff.js.LICENSE.txt → general-input.1e2be165.js.LICENSE.txt} +0 -0
  127. /package/dist/chunks/{general-radio.21553834.js.LICENSE.txt → general-radio.f5b2b849.js.LICENSE.txt} +0 -0
  128. /package/dist/chunks/{general-search.0ba9a7cb.js.LICENSE.txt → general-search.a76cac8b.js.LICENSE.txt} +0 -0
  129. /package/dist/chunks/{general-select.d6404264.js.LICENSE.txt → general-select.b806fc3d.js.LICENSE.txt} +0 -0
  130. /package/dist/chunks/{general-textarea.11a84e7c.js.LICENSE.txt → general-textarea.ce42122f.js.LICENSE.txt} +0 -0
@@ -1,8 +1,8 @@
1
- /// <reference types="react" resolution-mode="require"/>
1
+ /// <reference types="react" />
2
2
  import { ReactNextElement } from "@next-core/react-element";
3
3
  import "@next-core/theme";
4
4
  export interface SearchProps {
5
- value: string;
5
+ value?: string;
6
6
  placeholder?: string;
7
7
  autoFocus?: boolean;
8
8
  clearable?: boolean;
@@ -10,9 +10,9 @@ export interface SearchProps {
10
10
  debounceTime?: number;
11
11
  }
12
12
  export interface SearchEvents {
13
- blur: Event;
14
- change: Event;
15
- search: Event;
13
+ blur: CustomEvent<string>;
14
+ change: CustomEvent<string>;
15
+ search: CustomEvent<string>;
16
16
  }
17
17
  export interface SearchEventsMap {
18
18
  onBlur: "blur";
@@ -1,133 +1,73 @@
1
1
  import React from "react";
2
+ import { FormItemElementBase } from "@next-shared/form";
2
3
  import type { GeneralComplexOption } from "../interface.js";
3
4
  import "@next-core/theme";
4
- import { FormItemElement } from "../form-item/FormItemElement.js";
5
- import type { Form } from "../form/index.js";
6
- export interface SelectProps {
7
- curElement: HTMLElement;
8
- formElement: Form;
9
- trigger?: string;
5
+ import type { FormItemProps } from "../form-item/index.jsx";
6
+ export interface SelectProps extends FormItemProps {
10
7
  value?: any;
11
- name?: string;
12
- label?: string;
13
8
  options: GeneralComplexOption[];
14
9
  placeholder?: string;
15
10
  multiple?: boolean;
16
11
  clearable?: boolean;
17
12
  disabled?: boolean;
18
- required?: boolean;
19
13
  inputStyle?: React.CSSProperties;
20
- dropdownStyle?: React.CSSProperties;
21
14
  validateState?: string;
22
15
  onChange?: (value: any) => void;
23
16
  optionsChange?: (options: any, name: string) => void;
24
17
  }
25
18
  /**
26
- * @id form.general-select
27
- * @name form.general-select
28
- * @docKind brick
29
- * @description 通用下拉构件
19
+ * 通用下拉选择构件
30
20
  * @author julielai
31
- * @noInheritDoc
32
21
  */
33
- declare class Select extends FormItemElement {
22
+ declare class Select extends FormItemElementBase {
34
23
  #private;
35
24
  /**
36
- * @kind string
37
- * @required true
38
- * @default -
39
- * @description 选择框字段名
40
- * @group basicFormItem
25
+ * 字段名称
41
26
  */
42
27
  accessor name: string | undefined;
43
28
  /**
44
- * @kind string
45
- * @required true
46
- * @default -
47
- * @description 选择框占位说明
48
- * @group basic
29
+ * 占位说明
49
30
  */
50
31
  accessor placeholder: string | undefined;
51
32
  /**
52
- * @kind string
53
- * @required false
54
- * @default -
55
- * @description 选择框字段说明
56
- * @group basic
33
+ * 字段文本
57
34
  */
58
35
  accessor label: string | undefined;
59
36
  /**
60
- * @required true
61
- * @default -
62
- * @description 候选项列表
63
- * @group basic
37
+ * 选项列表
38
+ * @required
64
39
  */
65
40
  accessor options: GeneralComplexOption[] | undefined;
66
41
  /**
67
- * @kind string
68
- * @required true
69
- * @default -
70
- * @description 选择框初始值
71
- * @group basic
42
+ *
72
43
  */
73
44
  accessor value: any | undefined;
74
45
  /**
75
- * @kind boolean
76
- * @required false
77
- * @default -
78
- * @description 是否必填项
79
- * @group basicFormItem
46
+ * 是否必填
80
47
  */
81
48
  accessor required: boolean | undefined;
82
49
  /**
83
- * @kind Record<string,string>
84
- * @required false
85
- * @default -
86
- * @description 校验文本信息
87
- * @group basicFormItem
50
+ * 校验文本信息
88
51
  */
89
52
  accessor message: Record<string, string> | undefined;
90
53
  /**
91
- * @kind boolean
92
- * @required false
93
- * @default false
94
- * @description 是否禁用
95
- * @group basic
54
+ * 是否禁用
96
55
  */
97
56
  accessor disabled: boolean | undefined;
98
57
  /**
99
- * @kind boolean
100
- * @required false
101
- * @default false
102
- * @description 是否支持多选
103
- * @group basic
58
+ * 是否支持多选
104
59
  */
105
60
  accessor multiple: boolean | undefined;
106
61
  /**
107
- * @kind boolean
108
- * @required false
109
- * @default false
110
- * @description 是否支持清除
111
- * @group basic
62
+ * 是否支持清除
63
+ * @default true
112
64
  */
113
65
  accessor clearable: boolean | undefined;
114
66
  /**
115
- * @kind React.CSSProperties
116
- * @required false
117
- * @default -
118
- * @description 输入框样式
119
- * @group ui
67
+ * 输入框样式
120
68
  */
121
69
  accessor inputStyle: React.CSSProperties | undefined;
122
- /**
123
- * @kind React.CSSProperties
124
- * @required false
125
- * @default -
126
- * @description 下拉框样式
127
- * @group ui
128
- */
129
- accessor dropdownStyle: React.CSSProperties | undefined;
130
- private _handleChange;
70
+ handleChange: (value: string | string[]) => void;
131
71
  private _handleOptionsChange;
132
72
  render(): JSX.Element;
133
73
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
+ import { FormItemElementBase } from "@next-shared/form";
2
3
  import type { ButtonType } from "../interface.js";
3
- import { FormItemElement } from "../form-item/FormItemElement.js";
4
4
  interface SubmitButtonsProps {
5
5
  curElement: HTMLElement;
6
6
  submitText?: string;
@@ -10,74 +10,36 @@ interface SubmitButtonsProps {
10
10
  cancelType?: ButtonType;
11
11
  onSubmitClick?: (event: React.MouseEvent) => void;
12
12
  onCancelClick?: (event: React.MouseEvent) => void;
13
- showCancelButton?: boolean;
14
13
  }
15
14
  /**
16
- * @id form.submit-buttons
17
- * @name form.submit-buttons
18
- * @docKind brick
19
- * @description 用于general-forms的通用按钮,可以配置submit按钮和cancel按钮
15
+ * 用于general-forms的通用按钮
20
16
  * @author zhendong
21
- * @noInheritDoc
22
17
  */
23
- declare class SubmitButtons extends FormItemElement {
18
+ declare class SubmitButtons extends FormItemElementBase {
24
19
  #private;
25
20
  /**
26
- * @kind string
27
- * @required false
28
- * @default -
29
- * @description 提交按钮的文字,不设置则不显示提交按钮
30
- * @group basic
21
+ * 提交按钮的文字
22
+ * @default "提交"
31
23
  */
32
- accessor submitText: string | undefined;
24
+ accessor submitText: string;
33
25
  /**
34
- * @kind boolean
35
- * @required false
36
- * @default `false`
37
- * @description 显示取消按钮
38
- * @group basic
39
- */
40
- accessor showCancelButton: boolean | undefined;
41
- /**
42
- * @kind string
43
- * @required false
44
- * @default -
45
- * @description 取消按钮的文字,不设置则不显示取消按钮
46
- * @group basic
26
+ * 取消按钮的文字,不设置则不显示取消按钮
47
27
  */
48
28
  accessor cancelText: string | undefined;
49
29
  /**
50
- * @kind boolean
51
- * @required false
52
- * @default `false`
53
- * @description 点击确定按钮后自动禁用
54
- * @group advanced
30
+ * 点击确定按钮后自动禁用
55
31
  */
56
32
  accessor disableAfterClick: boolean | undefined;
57
33
  /**
58
- * @kind boolean
59
- * @required false
60
- * @default `false`
61
- * @description 禁用提交按钮
62
- * @group advanced
34
+ * 禁用提交按钮
63
35
  */
64
36
  accessor submitDisabled: boolean | undefined;
65
37
  /**
66
- * @kind ButtonType
67
- * @required false
68
- * @default default
69
- * @description 按钮类型
70
- * @enums
71
- * @group basic
38
+ * 提交按钮类型
72
39
  */
73
40
  accessor submitType: ButtonType | undefined;
74
41
  /**
75
- * @kind ButtonType
76
- * @required false
77
- * @default default
78
- * @description 按钮类型
79
- * @enums
80
- * @group basic
42
+ * 取消按钮类型
81
43
  */
82
44
  accessor cancelType: ButtonType | undefined;
83
45
  private _handleSubmitClick;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  /// <reference types="react" resolution-mode="require"/>
2
3
  export default function calculateAutoSizeStyle(uiTextNode: HTMLTextAreaElement, minRows?: number | null, maxRows?: number | null): React.CSSProperties;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FormItemElement } from "../form-item/FormItemElement.js";
2
+ import { FormItemElementBase } from "@next-shared/form";
3
3
  import type { FormItemProps } from "../form-item/index.jsx";
4
4
  import "@next-core/theme";
5
5
  type AutoSize = boolean | {
@@ -19,94 +19,61 @@ interface TextareaProps extends FormItemProps {
19
19
  onInputChange: (value: string) => void;
20
20
  }
21
21
  /**
22
- * @id form.general-textarea
23
- * @name form.general-textarea
24
- * @docKind brick
25
- * @description 通用多行文本输入框构件
22
+ * 通用多行文本输入框构件
26
23
  * @author sailor
27
- * @noInheritDoc
28
24
  */
29
- declare class Textarea extends FormItemElement {
25
+ declare class Textarea extends FormItemElementBase {
30
26
  #private;
31
27
  /**
32
- * @kind string
33
- * @required false
34
- * @default default
35
- * @description 字段名称
36
- * @enums
37
- * @group basic
28
+ * 字段名称
38
29
  */
39
30
  accessor name: string | undefined;
40
31
  /**
41
- * @default
42
- * @required
43
- * @description
32
+ * 标签文字
44
33
  */
45
34
  accessor label: string | undefined;
46
35
  /**
47
- * @kind string
48
- * @required false
49
- * @default default
50
- * @description 初始值
51
- * @enums
52
- * @group basic
36
+ *
53
37
  */
54
38
  accessor value: string | undefined;
55
39
  /**
56
- * @kind string
57
- * @required false
58
- * @default -
59
- * @description 占位说明
60
- * @enums
61
- * @group basic
40
+ * 占位说明
62
41
  */
63
42
  accessor placeholder: string | undefined;
64
43
  /**
65
- * @kind boolean
66
- * @required false
67
- * @default false
68
- * @description 是否禁用
69
- * @group basic
44
+ * 是否禁用
70
45
  */
71
46
  accessor disabled: boolean | undefined;
72
47
  /**
73
- * @kind number
74
- * @required false
75
- * @default -
76
- * @description 最小长度
77
- * @group basicFormItem
48
+ * 最小长度
78
49
  */
79
50
  accessor minLength: number | undefined;
80
51
  /**
81
- * @kind number
82
- * @required false
83
- * @default -
84
- * @description 最大长度
85
- * @group basicFormItem
52
+ * 最大长度
86
53
  */
87
54
  accessor maxLength: number | undefined;
88
55
  /**
89
- * @kind boolean
90
- * @required false
91
- * @default -
92
- * @description 大小子摄影
93
- * @group basicFormItem
56
+ * 大小自适应
94
57
  */
95
58
  accessor autoSize: AutoSize | undefined;
96
59
  /**
97
- * @kind boolean
98
- * @required false
99
- * @default -
100
- * @description 表单项是否必填
101
- * @group basicFormItem
60
+ * 是否必填
102
61
  */
103
62
  accessor required: boolean | undefined;
104
63
  /**
105
- * @kind React.CSSProperties
106
- * @required false
107
- * @default -
108
- * @description 样式
109
- * @group other
64
+ * 表单校验最大长度
65
+ */
66
+ accessor max: number | undefined;
67
+ /**
68
+ * 表单校验最小长度
69
+ */
70
+ accessor min: number | undefined;
71
+ /**
72
+ * 校验信息
73
+ */
74
+ accessor message: Record<string, string> | undefined;
75
+ /**
76
+ * 自定义样式
110
77
  */
111
78
  accessor textareaStyle: React.CSSProperties | undefined;
112
79
  handleInputChange: (value: string) => void;
@@ -0,0 +1,89 @@
1
+ 动态表单构件。
2
+
3
+ ```yaml preview
4
+ - brick: form.dynamic-form-item
5
+ properties:
6
+ useBrick:
7
+ - brick: form.general-input
8
+ properties:
9
+ name: input
10
+ - brick: form.general-select
11
+ properties:
12
+ name: select
13
+ options:
14
+ - Beijing
15
+ - Shanghai
16
+ - Guangzhou
17
+ - Shenzhen
18
+ ```
19
+
20
+ ## Examples
21
+
22
+ ### Label
23
+
24
+ ```yaml preview
25
+ - brick: form.dynamic-form-item
26
+ properties:
27
+ label: Label
28
+ useBrick:
29
+ - brick: form.general-input
30
+ properties:
31
+ name: input
32
+ - brick: form.general-select
33
+ properties:
34
+ name: select
35
+ options:
36
+ - Beijing
37
+ - Shanghai
38
+ - Guangzhou
39
+ - Shenzhen
40
+ ```
41
+
42
+ ### Value
43
+
44
+ ```yaml preview
45
+ - brick: form.dynamic-form-item
46
+ properties:
47
+ value:
48
+ - input: 北京
49
+ select: Beijing
50
+ - input: 上海
51
+ select: Shanghai
52
+ useBrick:
53
+ - brick: form.general-input
54
+ properties:
55
+ name: input
56
+ - brick: form.general-select
57
+ properties:
58
+ name: select
59
+ options:
60
+ - Beijing
61
+ - Shanghai
62
+ - Guangzhou
63
+ - Shenzhen
64
+ ```
65
+
66
+ ### Event
67
+
68
+ ```yaml preview
69
+ - brick: form.dynamic-form-item
70
+ properties:
71
+ name: dynamicForm
72
+ useBrick:
73
+ - brick: form.general-input
74
+ properties:
75
+ name: input
76
+ - brick: form.general-select
77
+ properties:
78
+ name: select
79
+ options:
80
+ - Beijing
81
+ - Shanghai
82
+ - Guangzhou
83
+ - Shenzhen
84
+ events:
85
+ change:
86
+ - action: message.success
87
+ args:
88
+ - <% JSON.stringify(EVENT.detail) %>
89
+ ```
@@ -0,0 +1,221 @@
1
+ 表单复选框构件。
2
+
3
+ ```yaml preview
4
+ - brick: form.general-checkbox
5
+ properties:
6
+ options:
7
+ - Beijing
8
+ - Shanghai
9
+ - Guangzhou
10
+ - Shenzhen
11
+ ```
12
+
13
+ ## Examples
14
+
15
+ ### Label
16
+
17
+ ```yaml preview
18
+ - brick: form.general-checkbox
19
+ properties:
20
+ label: city
21
+ options:
22
+ - Beijing
23
+ - Shanghai
24
+ - Guangzhou
25
+ - Shenzhen
26
+ ```
27
+
28
+ ### Value
29
+
30
+ ```yaml preview
31
+ - brick: form.general-checkbox
32
+ properties:
33
+ value:
34
+ - Beijing
35
+ - Guangzhou
36
+ options:
37
+ - Beijing
38
+ - Shanghai
39
+ - Guangzhou
40
+ - Shenzhen
41
+ ```
42
+
43
+ ### Options
44
+
45
+ ```yaml preview
46
+ - brick: form.general-checkbox
47
+ properties:
48
+ options:
49
+ - Beijing
50
+ - Shanghai
51
+ - Guangzhou
52
+ - Shenzhen
53
+ value:
54
+ - Guangzhou
55
+ - brick: form.general-checkbox
56
+ properties:
57
+ options:
58
+ - label: Beijing
59
+ value: 0
60
+ - label: Shanghai
61
+ value: 1
62
+ icon:
63
+ icon: "bar-chart"
64
+ lib: "antd"
65
+ - label: Guangzhou
66
+ value: 2
67
+ - label: Shenzhen
68
+ value: 3
69
+ value:
70
+ - 2
71
+ - 3
72
+ - brick: form.general-checkbox
73
+ properties:
74
+ options:
75
+ - true
76
+ - false
77
+ value:
78
+ - true
79
+ ```
80
+
81
+ ### Disabled
82
+
83
+ ```yaml preview
84
+ - brick: form.general-checkbox
85
+ properties:
86
+ options:
87
+ - label: Beijing
88
+ value: 0
89
+ disabled: true
90
+ - label: Shanghai
91
+ value: 1
92
+ - label: Guangzhou
93
+ value: 2
94
+ - label: Shenzhen
95
+ value: 3
96
+ - brick: div
97
+ properties:
98
+ style:
99
+ height: 20px
100
+ - brick: form.general-checkbox
101
+ properties:
102
+ disabled: true
103
+ options:
104
+ - label: Beijing
105
+ value: 0
106
+ - label: Shanghai
107
+ value: 1
108
+ - label: Guangzhou
109
+ value: 2
110
+ - label: Shenzhen
111
+ value: 3
112
+ ```
113
+
114
+ ### Type
115
+
116
+ ```yaml preview
117
+ - brick: form.general-checkbox
118
+ properties:
119
+ label: Default
120
+ type: default
121
+ options:
122
+ - label: Beijing
123
+ value: 0
124
+ icon:
125
+ icon: "search"
126
+ lib: "antd"
127
+ - label: Shanghai
128
+ value: 1
129
+ icon:
130
+ icon: "plus"
131
+ lib: "antd"
132
+ - label: Guangzhou
133
+ value: 2
134
+ icon:
135
+ icon: "edit"
136
+ lib: "antd"
137
+ - label: Shenzhen
138
+ value: 3
139
+ icon:
140
+ icon: "delete"
141
+ lib: "antd"
142
+ - brick: div
143
+ properties:
144
+ style:
145
+ height: 20px
146
+ - brick: form.general-checkbox
147
+ properties:
148
+ label: Icon
149
+ type: icon
150
+ options:
151
+ - label: Beijing
152
+ value: 0
153
+ icon:
154
+ icon: "search"
155
+ lib: "antd"
156
+ - label: Shanghai
157
+ value: 1
158
+ icon:
159
+ icon: "plus"
160
+ lib: "antd"
161
+ - label: Guangzhou
162
+ value: 2
163
+ icon:
164
+ icon: "edit"
165
+ lib: "antd"
166
+ - label: Shenzhen
167
+ value: 3
168
+ icon:
169
+ icon: "delete"
170
+ lib: "antd"
171
+ ```
172
+
173
+ ### Event
174
+
175
+ ```yaml preview
176
+ - brick: form.general-checkbox
177
+ properties:
178
+ id: option-checkbox
179
+ options:
180
+ - label: Beijing
181
+ value: 0
182
+ - label: Shanghai
183
+ value: 1
184
+ icon:
185
+ icon: "bar-chart"
186
+ lib: "antd"
187
+ - label: Guangzhou
188
+ value: 2
189
+ - label: Shenzhen
190
+ value: 3
191
+ events:
192
+ change:
193
+ - action: message.success
194
+ args:
195
+ - <% JSON.stringify(EVENT.detail) %>
196
+ options.change:
197
+ - action: message.success
198
+ args:
199
+ - <% JSON.stringify(EVENT.detail) %>
200
+ - brick: basic.general-button
201
+ properties:
202
+ textContent: Click to Change Radio Option
203
+ events:
204
+ click:
205
+ - target: "#option-checkbox"
206
+ properties:
207
+ options:
208
+ - label: Beijing
209
+ value: 0
210
+ - label: Shanghai
211
+ value: 1
212
+ icon:
213
+ icon: "bar-chart"
214
+ lib: "antd"
215
+ - label: Guangzhou
216
+ value: 2
217
+ - label: Shenzhen
218
+ value: 3
219
+ - label: Hangzhou
220
+ value: 4
221
+ ```