amis 1.9.1-beta.1 → 1.9.1-beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. package/lib/RootRenderer.js +10 -2
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/Schema.d.ts +3 -2
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/components/Alert2.d.ts +10 -10
  6. package/lib/components/Button.d.ts +11 -10
  7. package/lib/components/Button.js +2 -2
  8. package/lib/components/Button.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +40 -40
  10. package/lib/components/Checkbox.js +1 -1
  11. package/lib/components/Checkbox.js.map +2 -2
  12. package/lib/components/ContextMenu.d.ts +4 -0
  13. package/lib/components/ContextMenu.js +23 -7
  14. package/lib/components/ContextMenu.js.map +2 -2
  15. package/lib/components/DatePicker.d.ts +40 -40
  16. package/lib/components/DateRangePicker.d.ts +40 -40
  17. package/lib/components/Form.d.ts +22 -0
  18. package/lib/components/Form.js +44 -0
  19. package/lib/components/Form.js.map +13 -0
  20. package/lib/components/FormField.d.ts +65 -0
  21. package/lib/components/FormField.js +48 -0
  22. package/lib/components/FormField.js.map +13 -0
  23. package/lib/components/InputBox.d.ts +10 -10
  24. package/lib/components/InputBox.js +4 -3
  25. package/lib/components/InputBox.js.map +2 -2
  26. package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
  27. package/lib/components/InputBoxWithSuggestion.js +65 -0
  28. package/lib/components/InputBoxWithSuggestion.js.map +13 -0
  29. package/lib/components/ListGroup.d.ts +10 -10
  30. package/lib/components/PickerContainer.d.ts +4 -2
  31. package/lib/components/PickerContainer.js +28 -5
  32. package/lib/components/PickerContainer.js.map +2 -2
  33. package/lib/components/Radios.d.ts +10 -10
  34. package/lib/components/ResultBox.d.ts +40 -40
  35. package/lib/components/SearchBox.d.ts +40 -40
  36. package/lib/components/Select.d.ts +195 -202
  37. package/lib/components/Select.js +7 -3
  38. package/lib/components/Select.js.map +2 -2
  39. package/lib/components/Textarea.d.ts +568 -2
  40. package/lib/components/Textarea.js +129 -1
  41. package/lib/components/Textarea.js.map +2 -2
  42. package/lib/components/Toast.js +11 -9
  43. package/lib/components/Toast.js.map +2 -2
  44. package/lib/components/UserSelect.d.ts +500 -0
  45. package/lib/components/UserSelect.js +559 -0
  46. package/lib/components/UserSelect.js.map +13 -0
  47. package/lib/components/UserTabSelect.d.ts +320 -0
  48. package/lib/components/UserTabSelect.js +163 -0
  49. package/lib/components/UserTabSelect.js.map +13 -0
  50. package/lib/components/WithRemoteConfig.d.ts +7 -0
  51. package/lib/components/WithRemoteConfig.js +17 -11
  52. package/lib/components/WithRemoteConfig.js.map +2 -2
  53. package/lib/components/calendar/DaysView.d.ts +26 -1
  54. package/lib/components/calendar/DaysView.js +48 -14
  55. package/lib/components/calendar/DaysView.js.map +2 -2
  56. package/lib/components/calendar/TimeView.d.ts +1 -1
  57. package/lib/components/calendar/TimeView.js +8 -2
  58. package/lib/components/calendar/TimeView.js.map +2 -2
  59. package/lib/components/icons.d.ts +7 -1
  60. package/lib/components/icons.js +17 -1
  61. package/lib/components/icons.js.map +2 -2
  62. package/lib/components/index.d.ts +2 -1
  63. package/lib/components/index.js +3 -1
  64. package/lib/components/index.js.map +2 -2
  65. package/lib/components/json-schema/Array.d.ts +3 -0
  66. package/lib/components/json-schema/Array.js +125 -0
  67. package/lib/components/json-schema/Array.js.map +13 -0
  68. package/lib/components/json-schema/Item.d.ts +3 -0
  69. package/lib/components/json-schema/Item.js +34 -0
  70. package/lib/components/json-schema/Item.js.map +13 -0
  71. package/lib/components/json-schema/Object.d.ts +3 -0
  72. package/lib/components/json-schema/Object.js +178 -0
  73. package/lib/components/json-schema/Object.js.map +13 -0
  74. package/lib/components/json-schema/index.d.ts +279 -0
  75. package/lib/components/json-schema/index.js +16 -0
  76. package/lib/components/json-schema/index.js.map +13 -0
  77. package/lib/components/schema-editor/Array.js +2 -2
  78. package/lib/components/schema-editor/Array.js.map +2 -2
  79. package/lib/components/schema-editor/Common.d.ts +2 -0
  80. package/lib/components/schema-editor/Common.js +39 -3
  81. package/lib/components/schema-editor/Common.js.map +2 -2
  82. package/lib/components/schema-editor/Object.js +2 -2
  83. package/lib/components/schema-editor/Object.js.map +2 -2
  84. package/lib/components/schema-editor/index.d.ts +45 -41
  85. package/lib/components/schema-editor/index.js +5 -5
  86. package/lib/components/schema-editor/index.js.map +2 -2
  87. package/lib/hooks/use-validation-resolver.d.ts +1 -0
  88. package/lib/hooks/use-validation-resolver.js +49 -0
  89. package/lib/hooks/use-validation-resolver.js.map +13 -0
  90. package/lib/icons/department.js +17 -0
  91. package/lib/icons/menu.js +9 -0
  92. package/lib/icons/post.js +15 -0
  93. package/lib/icons/role.js +14 -0
  94. package/lib/icons/user-remove.js +12 -0
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.js +3 -1
  97. package/lib/index.js.map +2 -2
  98. package/lib/locale/de-DE.js +11 -1
  99. package/lib/locale/de-DE.js.map +2 -2
  100. package/lib/locale/en-US.js +12 -1
  101. package/lib/locale/en-US.js.map +2 -2
  102. package/lib/locale/zh-CN.js +14 -3
  103. package/lib/locale/zh-CN.js.map +2 -2
  104. package/lib/renderers/Action.js +25 -11
  105. package/lib/renderers/Action.js.map +2 -2
  106. package/lib/renderers/CRUD.js +5 -1
  107. package/lib/renderers/CRUD.js.map +2 -2
  108. package/lib/renderers/Dialog.js +9 -3
  109. package/lib/renderers/Dialog.js.map +2 -2
  110. package/lib/renderers/Drawer.js +5 -1
  111. package/lib/renderers/Drawer.js.map +2 -2
  112. package/lib/renderers/Form/InputDate.d.ts +2 -2
  113. package/lib/renderers/Form/InputDate.js.map +2 -2
  114. package/lib/renderers/Form/JSONSchema.d.ts +23 -0
  115. package/lib/renderers/Form/JSONSchema.js +44 -0
  116. package/lib/renderers/Form/JSONSchema.js.map +13 -0
  117. package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
  118. package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
  119. package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
  120. package/lib/renderers/Form/Textarea.d.ts +1 -8
  121. package/lib/renderers/Form/Textarea.js +11 -75
  122. package/lib/renderers/Form/Textarea.js.map +2 -2
  123. package/lib/renderers/Form/UserSelect.d.ts +54 -0
  124. package/lib/renderers/Form/UserSelect.js +197 -0
  125. package/lib/renderers/Form/UserSelect.js.map +13 -0
  126. package/lib/renderers/Form/index.d.ts +1 -1
  127. package/lib/renderers/Form/index.js +88 -42
  128. package/lib/renderers/Form/index.js.map +2 -2
  129. package/lib/renderers/Log.d.ts +13 -1
  130. package/lib/renderers/Log.js +82 -16
  131. package/lib/renderers/Log.js.map +2 -2
  132. package/lib/renderers/Page.js +5 -1
  133. package/lib/renderers/Page.js.map +2 -2
  134. package/lib/renderers/Service.js +5 -1
  135. package/lib/renderers/Service.js.map +2 -2
  136. package/lib/renderers/Wizard.js +37 -14
  137. package/lib/renderers/Wizard.js.map +2 -2
  138. package/lib/store/form.js +65 -45
  139. package/lib/store/form.js.map +2 -2
  140. package/lib/themes/ang-ie11.css +561 -21
  141. package/lib/themes/ang.css +538 -9
  142. package/lib/themes/ang.css.map +1 -1
  143. package/lib/themes/antd-ie11.css +561 -21
  144. package/lib/themes/antd.css +538 -9
  145. package/lib/themes/antd.css.map +1 -1
  146. package/lib/themes/cxd-ie11.css +561 -21
  147. package/lib/themes/cxd.css +538 -9
  148. package/lib/themes/cxd.css.map +1 -1
  149. package/lib/themes/dark-ie11.css +561 -21
  150. package/lib/themes/dark.css +538 -9
  151. package/lib/themes/dark.css.map +1 -1
  152. package/lib/themes/default-ie11.css +561 -21
  153. package/lib/themes/default.css +538 -9
  154. package/lib/themes/default.css.map +1 -1
  155. package/lib/utils/api.js +1 -1
  156. package/lib/utils/api.js.map +2 -2
  157. package/lib/utils/renderer-event.js.map +2 -2
  158. package/package.json +2 -1
  159. package/schema.json +539 -3
  160. package/scss/_properties.scss +20 -8
  161. package/scss/components/_input-box.scss +22 -1
  162. package/scss/components/_json-schema.scss +124 -0
  163. package/scss/components/_log.scss +37 -5
  164. package/scss/components/form/_date-range.scss +1 -0
  165. package/scss/components/form/_select.scss +9 -0
  166. package/scss/components/form/_user-select.scss +422 -0
  167. package/scss/themes/_common.scss +2 -0
  168. package/sdk/ang-ie11.css +651 -21
  169. package/sdk/ang.css +628 -9
  170. package/sdk/antd-ie11.css +651 -21
  171. package/sdk/antd.css +628 -9
  172. package/sdk/barcode.js +51 -51
  173. package/sdk/charts.js +14 -14
  174. package/sdk/codemirror.js +7 -7
  175. package/sdk/color-picker.js +65 -65
  176. package/sdk/cropperjs.js +2 -2
  177. package/sdk/cxd-ie11.css +651 -21
  178. package/sdk/cxd.css +628 -9
  179. package/sdk/dark-ie11.css +651 -21
  180. package/sdk/dark.css +628 -9
  181. package/sdk/exceljs.js +1 -1
  182. package/sdk/locale/de-DE.js +11 -1
  183. package/sdk/markdown.js +69 -69
  184. package/sdk/papaparse.js +1 -1
  185. package/sdk/renderers/Form/CityDB.js +1 -1
  186. package/sdk/rest.js +16 -16
  187. package/sdk/rich-text.js +62 -62
  188. package/sdk/sdk-ie11.css +651 -21
  189. package/sdk/sdk.css +628 -9
  190. package/sdk/sdk.js +1655 -1643
  191. package/sdk/thirds/hls.js/hls.js +1 -1
  192. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  193. package/sdk/tinymce.js +57 -57
  194. package/src/RootRenderer.tsx +27 -15
  195. package/src/Schema.ts +5 -1
  196. package/src/components/Button.tsx +3 -0
  197. package/src/components/Checkbox.tsx +2 -1
  198. package/src/components/ContextMenu.tsx +25 -7
  199. package/src/components/Form.tsx +70 -0
  200. package/src/components/FormField.tsx +127 -0
  201. package/src/components/InputBox.tsx +4 -1
  202. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  203. package/src/components/PickerContainer.tsx +20 -5
  204. package/src/components/Select.tsx +18 -10
  205. package/src/components/Textarea.tsx +234 -2
  206. package/src/components/Toast.tsx +19 -18
  207. package/src/components/UserSelect.tsx +850 -0
  208. package/src/components/UserTabSelect.tsx +261 -0
  209. package/src/components/WithRemoteConfig.tsx +22 -7
  210. package/src/components/calendar/DaysView.tsx +53 -16
  211. package/src/components/calendar/TimeView.tsx +10 -5
  212. package/src/components/icons.tsx +17 -1
  213. package/src/components/index.tsx +3 -1
  214. package/src/components/json-schema/Array.tsx +216 -0
  215. package/src/components/json-schema/Item.tsx +47 -0
  216. package/src/components/json-schema/Object.tsx +339 -0
  217. package/src/components/json-schema/index.tsx +44 -0
  218. package/src/components/schema-editor/Array.tsx +3 -1
  219. package/src/components/schema-editor/Common.tsx +61 -4
  220. package/src/components/schema-editor/Object.tsx +3 -1
  221. package/src/components/schema-editor/index.tsx +12 -5
  222. package/src/hooks/use-validation-resolver.ts +45 -0
  223. package/src/icons/department.svg +17 -0
  224. package/src/icons/menu.svg +2 -0
  225. package/src/icons/post.svg +15 -0
  226. package/src/icons/role.svg +14 -0
  227. package/src/icons/user-remove.svg +12 -0
  228. package/src/index.tsx +2 -0
  229. package/src/locale/de-DE.ts +11 -1
  230. package/src/locale/en-US.ts +12 -1
  231. package/src/locale/zh-CN.ts +14 -3
  232. package/src/renderers/Action.tsx +10 -9
  233. package/src/renderers/CRUD.tsx +5 -1
  234. package/src/renderers/Dialog.tsx +9 -3
  235. package/src/renderers/Drawer.tsx +5 -1
  236. package/src/renderers/Form/InputDate.tsx +9 -4
  237. package/src/renderers/Form/JSONSchema.tsx +56 -0
  238. package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
  239. package/src/renderers/Form/Textarea.tsx +7 -117
  240. package/src/renderers/Form/UserSelect.tsx +263 -0
  241. package/src/renderers/Form/index.tsx +28 -18
  242. package/src/renderers/Log.tsx +148 -13
  243. package/src/renderers/Page.tsx +6 -1
  244. package/src/renderers/Service.tsx +5 -1
  245. package/src/renderers/Wizard.tsx +24 -10
  246. package/src/store/form.ts +24 -17
  247. package/src/utils/api.ts +1 -1
  248. package/src/utils/renderer-event.ts +0 -2
@@ -0,0 +1,280 @@
1
+ /// <reference types="hoist-non-react-statics" />
2
+ import React from 'react';
3
+ import { LocaleProps } from '../locale';
4
+ import { ThemeProps } from '../theme';
5
+ export interface InputBoxWithSuggestionProps extends ThemeProps, LocaleProps {
6
+ options: Array<any>;
7
+ value: any;
8
+ onChange: (value: any) => void;
9
+ disabled?: boolean;
10
+ searchable?: boolean;
11
+ popOverContainer?: any;
12
+ hasError?: boolean;
13
+ placeholder?: string;
14
+ clearable?: boolean;
15
+ }
16
+ export declare class InputBoxWithSuggestion extends React.Component<InputBoxWithSuggestionProps> {
17
+ constructor(props: InputBoxWithSuggestionProps);
18
+ onSearch(text: string): void;
19
+ filterOptions(options: any[]): any[];
20
+ onPopClose(e: React.MouseEvent, onClose: () => void): void;
21
+ render(): JSX.Element;
22
+ }
23
+ declare const _default: {
24
+ new (props: Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
25
+ locale?: string | undefined;
26
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
27
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps): {
28
+ ref: any;
29
+ childRef(ref: any): void;
30
+ getWrappedInstance(): any;
31
+ render(): JSX.Element;
32
+ context: any;
33
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
34
+ locale?: string | undefined;
35
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
36
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
37
+ forceUpdate(callback?: (() => void) | undefined): void;
38
+ readonly props: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
39
+ locale?: string | undefined;
40
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
41
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
42
+ children?: React.ReactNode;
43
+ }>;
44
+ state: Readonly<{}>;
45
+ refs: {
46
+ [key: string]: React.ReactInstance;
47
+ };
48
+ componentDidMount?(): void;
49
+ shouldComponentUpdate?(nextProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
50
+ locale?: string | undefined;
51
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
52
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
53
+ componentWillUnmount?(): void;
54
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
55
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
56
+ locale?: string | undefined;
57
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
58
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
59
+ componentDidUpdate?(prevProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
60
+ locale?: string | undefined;
61
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
62
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
63
+ componentWillMount?(): void;
64
+ UNSAFE_componentWillMount?(): void;
65
+ componentWillReceiveProps?(nextProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
66
+ locale?: string | undefined;
67
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
68
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
69
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
70
+ locale?: string | undefined;
71
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
72
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
73
+ componentWillUpdate?(nextProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
74
+ locale?: string | undefined;
75
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
76
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
77
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
78
+ locale?: string | undefined;
79
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
80
+ }, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
81
+ };
82
+ displayName: string;
83
+ contextType: React.Context<string>;
84
+ ComposedComponent: React.ComponentType<{
85
+ new (props: Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
86
+ locale?: string | undefined;
87
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
88
+ }): {
89
+ ref: any;
90
+ childRef(ref: any): void;
91
+ getWrappedInstance(): any;
92
+ render(): JSX.Element;
93
+ context: any;
94
+ setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
95
+ locale?: string | undefined;
96
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
97
+ }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
98
+ forceUpdate(callback?: (() => void) | undefined): void;
99
+ readonly props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
100
+ locale?: string | undefined;
101
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
102
+ }> & Readonly<{
103
+ children?: React.ReactNode;
104
+ }>;
105
+ state: Readonly<{}>;
106
+ refs: {
107
+ [key: string]: React.ReactInstance;
108
+ };
109
+ componentDidMount?(): void;
110
+ shouldComponentUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
111
+ locale?: string | undefined;
112
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
113
+ }>, nextState: Readonly<{}>, nextContext: any): boolean;
114
+ componentWillUnmount?(): void;
115
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
116
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
117
+ locale?: string | undefined;
118
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
119
+ }>, prevState: Readonly<{}>): any;
120
+ componentDidUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
121
+ locale?: string | undefined;
122
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
123
+ }>, prevState: Readonly<{}>, snapshot?: any): void;
124
+ componentWillMount?(): void;
125
+ UNSAFE_componentWillMount?(): void;
126
+ componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
127
+ locale?: string | undefined;
128
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
129
+ }>, nextContext: any): void;
130
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
131
+ locale?: string | undefined;
132
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
133
+ }>, nextContext: any): void;
134
+ componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
135
+ locale?: string | undefined;
136
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
137
+ }>, nextState: Readonly<{}>, nextContext: any): void;
138
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
139
+ locale?: string | undefined;
140
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
141
+ }>, nextState: Readonly<{}>, nextContext: any): void;
142
+ };
143
+ displayName: string;
144
+ contextType: React.Context<string>;
145
+ ComposedComponent: React.ComponentType<typeof InputBoxWithSuggestion>;
146
+ } & import("hoist-non-react-statics").NonReactStatics<typeof InputBoxWithSuggestion, {}> & {
147
+ ComposedComponent: typeof InputBoxWithSuggestion;
148
+ }>;
149
+ } & import("hoist-non-react-statics").NonReactStatics<{
150
+ new (props: Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
151
+ locale?: string | undefined;
152
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
153
+ }): {
154
+ ref: any;
155
+ childRef(ref: any): void;
156
+ getWrappedInstance(): any;
157
+ render(): JSX.Element;
158
+ context: any;
159
+ setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
160
+ locale?: string | undefined;
161
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
162
+ }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
163
+ forceUpdate(callback?: (() => void) | undefined): void;
164
+ readonly props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
165
+ locale?: string | undefined;
166
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
167
+ }> & Readonly<{
168
+ children?: React.ReactNode;
169
+ }>;
170
+ state: Readonly<{}>;
171
+ refs: {
172
+ [key: string]: React.ReactInstance;
173
+ };
174
+ componentDidMount?(): void;
175
+ shouldComponentUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
176
+ locale?: string | undefined;
177
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
178
+ }>, nextState: Readonly<{}>, nextContext: any): boolean;
179
+ componentWillUnmount?(): void;
180
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
181
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
182
+ locale?: string | undefined;
183
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
184
+ }>, prevState: Readonly<{}>): any;
185
+ componentDidUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
186
+ locale?: string | undefined;
187
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
188
+ }>, prevState: Readonly<{}>, snapshot?: any): void;
189
+ componentWillMount?(): void;
190
+ UNSAFE_componentWillMount?(): void;
191
+ componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
192
+ locale?: string | undefined;
193
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
194
+ }>, nextContext: any): void;
195
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
196
+ locale?: string | undefined;
197
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
198
+ }>, nextContext: any): void;
199
+ componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
200
+ locale?: string | undefined;
201
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
202
+ }>, nextState: Readonly<{}>, nextContext: any): void;
203
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
204
+ locale?: string | undefined;
205
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
206
+ }>, nextState: Readonly<{}>, nextContext: any): void;
207
+ };
208
+ displayName: string;
209
+ contextType: React.Context<string>;
210
+ ComposedComponent: React.ComponentType<typeof InputBoxWithSuggestion>;
211
+ } & import("hoist-non-react-statics").NonReactStatics<typeof InputBoxWithSuggestion, {}> & {
212
+ ComposedComponent: typeof InputBoxWithSuggestion;
213
+ }, {}> & {
214
+ ComposedComponent: {
215
+ new (props: Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
216
+ locale?: string | undefined;
217
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
218
+ }): {
219
+ ref: any;
220
+ childRef(ref: any): void;
221
+ getWrappedInstance(): any;
222
+ render(): JSX.Element;
223
+ context: any;
224
+ setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
225
+ locale?: string | undefined;
226
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
227
+ }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
228
+ forceUpdate(callback?: (() => void) | undefined): void;
229
+ readonly props: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
230
+ locale?: string | undefined;
231
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
232
+ }> & Readonly<{
233
+ children?: React.ReactNode;
234
+ }>;
235
+ state: Readonly<{}>;
236
+ refs: {
237
+ [key: string]: React.ReactInstance;
238
+ };
239
+ componentDidMount?(): void;
240
+ shouldComponentUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
241
+ locale?: string | undefined;
242
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
243
+ }>, nextState: Readonly<{}>, nextContext: any): boolean;
244
+ componentWillUnmount?(): void;
245
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
246
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
247
+ locale?: string | undefined;
248
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
249
+ }>, prevState: Readonly<{}>): any;
250
+ componentDidUpdate?(prevProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
251
+ locale?: string | undefined;
252
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
253
+ }>, prevState: Readonly<{}>, snapshot?: any): void;
254
+ componentWillMount?(): void;
255
+ UNSAFE_componentWillMount?(): void;
256
+ componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
257
+ locale?: string | undefined;
258
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
259
+ }>, nextContext: any): void;
260
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
261
+ locale?: string | undefined;
262
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
263
+ }>, nextContext: any): void;
264
+ componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
265
+ locale?: string | undefined;
266
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
267
+ }>, nextState: Readonly<{}>, nextContext: any): void;
268
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<InputBoxWithSuggestionProps, keyof LocaleProps> & {
269
+ locale?: string | undefined;
270
+ translate?: ((str: string, ...args: any[]) => string) | undefined;
271
+ }>, nextState: Readonly<{}>, nextContext: any): void;
272
+ };
273
+ displayName: string;
274
+ contextType: React.Context<string>;
275
+ ComposedComponent: React.ComponentType<typeof InputBoxWithSuggestion>;
276
+ } & import("hoist-non-react-statics").NonReactStatics<typeof InputBoxWithSuggestion, {}> & {
277
+ ComposedComponent: typeof InputBoxWithSuggestion;
278
+ };
279
+ };
280
+ export default _default;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InputBoxWithSuggestion = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var react_dom_1 = require("react-dom");
7
+ var locale_1 = require("../locale");
8
+ var theme_1 = require("../theme");
9
+ // @ts-ignore
10
+ var match_sorter_1 = require("match-sorter");
11
+ var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("./PopOverContainer"));
12
+ var SearchBox_1 = (0, tslib_1.__importDefault)(require("./SearchBox"));
13
+ var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("./GroupedSelection"));
14
+ var InputBox_1 = (0, tslib_1.__importDefault)(require("./InputBox"));
15
+ var icons_1 = require("./icons");
16
+ var option2value = function (item) { return item.value; };
17
+ var InputBoxWithSuggestion = /** @class */ (function (_super) {
18
+ (0, tslib_1.__extends)(InputBoxWithSuggestion, _super);
19
+ function InputBoxWithSuggestion(props) {
20
+ var _this = _super.call(this, props) || this;
21
+ _this.state = {
22
+ searchText: ''
23
+ };
24
+ _this.onSearch = _this.onSearch.bind(_this);
25
+ _this.filterOptions = _this.filterOptions.bind(_this);
26
+ return _this;
27
+ }
28
+ InputBoxWithSuggestion.prototype.onSearch = function (text) {
29
+ var txt = text.toLowerCase();
30
+ this.setState({ searchText: txt });
31
+ };
32
+ InputBoxWithSuggestion.prototype.filterOptions = function (options) {
33
+ return (0, match_sorter_1.matchSorter)(options, this.props.value, {
34
+ keys: ['label', 'value']
35
+ });
36
+ };
37
+ // 选了值,还原options
38
+ InputBoxWithSuggestion.prototype.onPopClose = function (e, onClose) {
39
+ this.setState({ searchText: '' });
40
+ onClose();
41
+ };
42
+ InputBoxWithSuggestion.prototype.render = function () {
43
+ var _this = this;
44
+ var _a = this.props, placeholder = _a.placeholder, onChange = _a.onChange, value = _a.value, cx = _a.classnames, disabled = _a.disabled, __ = _a.translate, searchable = _a.searchable, popOverContainer = _a.popOverContainer, clearable = _a.clearable, hasError = _a.hasError;
45
+ var options = this.filterOptions(this.props.options);
46
+ return (react_1.default.createElement(PopOverContainer_1.default, { popOverContainer: popOverContainer || (function () { return (0, react_dom_1.findDOMNode)(_this); }), popOverRender: function (_a) {
47
+ var onClose = _a.onClose;
48
+ return (react_1.default.createElement(react_1.default.Fragment, null,
49
+ searchable ? (react_1.default.createElement(SearchBox_1.default, { mini: false, onSearch: _this.onSearch })) : null,
50
+ react_1.default.createElement(GroupedSelection_1.default, { multiple: false, onClick: function (e) { return _this.onPopClose(e, onClose); }, options: options, value: [value], option2value: option2value, onChange: function (value) {
51
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
52
+ } })));
53
+ } }, function (_a) {
54
+ var _b, _c;
55
+ var onClick = _a.onClick, ref = _a.ref, isOpened = _a.isOpened;
56
+ return (react_1.default.createElement(InputBox_1.default, { className: cx('InputBox--sug', isOpened ? 'is-active' : ''), ref: ref, placeholder: placeholder, disabled: disabled, value: (_c = (_b = options.find(function (o) { return o.value === value; })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : value, onChange: onChange, clearable: clearable, onClick: onClick, hasError: hasError },
57
+ react_1.default.createElement("span", { className: cx('InputBox-caret') },
58
+ react_1.default.createElement(icons_1.Icon, { icon: "caret", className: "icon" }))));
59
+ }));
60
+ };
61
+ return InputBoxWithSuggestion;
62
+ }(react_1.default.Component));
63
+ exports.InputBoxWithSuggestion = InputBoxWithSuggestion;
64
+ exports.default = (0, theme_1.themeable)((0, locale_1.localeable)(InputBoxWithSuggestion));
65
+ //# sourceMappingURL=./components/InputBoxWithSuggestion.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "InputBoxWithSuggestion.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/InputBoxWithSuggestion.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\n// @ts-ignore\nimport {matchSorter} from 'match-sorter';\nimport PopOverContainer from './PopOverContainer';\nimport SearchBox from './SearchBox';\nimport ListSelection from './GroupedSelection';\nimport InputBox from './InputBox';\nimport {Icon} from './icons';\n\nexport interface InputBoxWithSuggestionProps extends ThemeProps, LocaleProps {\n options: Array<any>;\n value: any;\n onChange: (value: any) => void;\n disabled?: boolean;\n searchable?: boolean;\n popOverContainer?: any;\n hasError?: boolean;\n placeholder?: string;\n clearable?: boolean;\n}\n\nconst option2value = (item: any) => item.value;\n\nexport class InputBoxWithSuggestion extends React.Component<InputBoxWithSuggestionProps> {\n constructor(props: InputBoxWithSuggestionProps) {\n super(props);\n this.state = {\n searchText: ''\n };\n this.onSearch = this.onSearch.bind(this);\n this.filterOptions = this.filterOptions.bind(this);\n }\n\n onSearch(text: string) {\n let txt = text.toLowerCase();\n\n this.setState({searchText: txt});\n }\n\n filterOptions(options: any[]) {\n return matchSorter(options, this.props.value, {\n keys: ['label', 'value']\n });\n }\n\n // 选了值,还原options\n onPopClose(e: React.MouseEvent, onClose: () => void) {\n this.setState({searchText: ''});\n onClose();\n }\n\n render() {\n const {\n placeholder,\n onChange,\n value,\n classnames: cx,\n disabled,\n translate: __,\n searchable,\n popOverContainer,\n clearable,\n hasError\n } = this.props;\n const options = this.filterOptions(this.props.options);\n\n return (\n <PopOverContainer\n popOverContainer={popOverContainer || (() => findDOMNode(this))}\n popOverRender={({onClose}) => (\n <>\n {searchable ? (\n <SearchBox mini={false} onSearch={this.onSearch} />\n ) : null}\n <ListSelection\n multiple={false}\n onClick={e => this.onPopClose(e, onClose)}\n options={options}\n value={[value]}\n option2value={option2value}\n onChange={(value: any) => {\n onChange?.(value);\n }}\n />\n </>\n )}\n >\n {({onClick, ref, isOpened}) => (\n <InputBox\n className={cx('InputBox--sug', isOpened ? 'is-active' : '')}\n ref={ref}\n placeholder={placeholder}\n disabled={disabled}\n value={options.find(o => o.value === value)?.label ?? value}\n onChange={onChange}\n clearable={clearable}\n onClick={onClick}\n hasError={hasError}\n >\n <span className={cx('InputBox-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </InputBox>\n )}\n </PopOverContainer>\n );\n }\n}\n\nexport default themeable(localeable(InputBoxWithSuggestion));\n"
12
+ ]
13
+ }