amis 2.0.0-rc.14 → 2.0.0-rc.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (521) hide show
  1. package/esm/Schema.d.ts +442 -0
  2. package/esm/compat.d.ts +1 -0
  3. package/esm/compat.js +459 -0
  4. package/esm/index.d.ts +146 -0
  5. package/esm/index.js +144 -0
  6. package/esm/preset.d.ts +1 -0
  7. package/esm/preset.js +40 -0
  8. package/esm/renderers/Action.d.ts +393 -0
  9. package/esm/renderers/Action.js +443 -0
  10. package/esm/renderers/Alert.d.ts +49 -0
  11. package/esm/renderers/Alert.js +35 -0
  12. package/esm/renderers/AnchorNav.d.ts +69 -0
  13. package/esm/renderers/AnchorNav.js +97 -0
  14. package/esm/renderers/App.d.ts +121 -0
  15. package/esm/renderers/App.js +198 -0
  16. package/esm/renderers/Audio.d.ts +88 -0
  17. package/esm/renderers/Audio.js +382 -0
  18. package/esm/renderers/Avatar.d.ts +75 -0
  19. package/esm/renderers/Avatar.js +54 -0
  20. package/esm/renderers/BarCode.d.ts +35 -0
  21. package/esm/renderers/BarCode.js +38 -0
  22. package/esm/renderers/Breadcrumb.d.ts +89 -0
  23. package/esm/renderers/Breadcrumb.js +58 -0
  24. package/esm/renderers/ButtonGroup.d.ts +64 -0
  25. package/esm/renderers/ButtonGroup.js +22 -0
  26. package/esm/renderers/CRUD.d.ts +302 -0
  27. package/esm/renderers/CRUD.js +1245 -0
  28. package/esm/renderers/CRUD2.d.ts +215 -0
  29. package/esm/renderers/CRUD2.js +742 -0
  30. package/esm/renderers/Calendar.d.ts +45 -0
  31. package/esm/renderers/Calendar.js +22 -0
  32. package/esm/renderers/Card.d.ts +231 -0
  33. package/esm/renderers/Card.js +372 -0
  34. package/esm/renderers/Card2.d.ts +77 -0
  35. package/esm/renderers/Card2.js +83 -0
  36. package/esm/renderers/Cards.d.ts +170 -0
  37. package/esm/renderers/Cards.js +556 -0
  38. package/esm/renderers/Carousel.d.ts +103 -0
  39. package/esm/renderers/Carousel.js +329 -0
  40. package/esm/renderers/Chart.d.ts +116 -0
  41. package/esm/renderers/Chart.js +352 -0
  42. package/esm/renderers/Code.d.ts +84 -0
  43. package/esm/renderers/Code.js +130 -0
  44. package/esm/renderers/Collapse.d.ts +83 -0
  45. package/esm/renderers/Collapse.js +47 -0
  46. package/esm/renderers/CollapseGroup.d.ts +42 -0
  47. package/esm/renderers/CollapseGroup.js +35 -0
  48. package/esm/renderers/Color.d.ts +36 -0
  49. package/esm/renderers/Color.js +42 -0
  50. package/esm/renderers/Container.d.ts +44 -0
  51. package/esm/renderers/Container.js +49 -0
  52. package/esm/renderers/Copyable.d.ts +25 -0
  53. package/esm/renderers/Copyable.js +49 -0
  54. package/esm/renderers/Custom.d.ts +51 -0
  55. package/esm/renderers/Custom.js +163 -0
  56. package/esm/renderers/Date.d.ts +58 -0
  57. package/esm/renderers/Date.js +121 -0
  58. package/esm/renderers/Dialog.d.ts +1357 -0
  59. package/esm/renderers/Dialog.js +633 -0
  60. package/esm/renderers/Divider.d.ts +20 -0
  61. package/esm/renderers/Divider.js +38 -0
  62. package/esm/renderers/Drawer.d.ts +153 -0
  63. package/esm/renderers/Drawer.js +608 -0
  64. package/esm/renderers/DropDownButton.d.ts +114 -0
  65. package/esm/renderers/DropDownButton.js +151 -0
  66. package/esm/renderers/Each.d.ts +38 -0
  67. package/esm/renderers/Each.js +59 -0
  68. package/esm/renderers/Flex.d.ts +77 -0
  69. package/esm/renderers/Flex.js +83 -0
  70. package/esm/renderers/Form/ButtonGroupSelect.d.ts +26 -0
  71. package/esm/renderers/Form/ButtonGroupSelect.js +114 -0
  72. package/esm/renderers/Form/ButtonToolbar.d.ts +28 -0
  73. package/esm/renderers/Form/ButtonToolbar.js +50 -0
  74. package/esm/renderers/Form/ChainedSelect.d.ts +36 -0
  75. package/esm/renderers/Form/ChainedSelect.js +213 -0
  76. package/esm/renderers/Form/ChartRadios.d.ts +34 -0
  77. package/esm/renderers/Form/ChartRadios.js +121 -0
  78. package/esm/renderers/Form/Checkbox.d.ts +47 -0
  79. package/esm/renderers/Form/Checkbox.js +83 -0
  80. package/esm/renderers/Form/Checkboxes.d.ts +65 -0
  81. package/esm/renderers/Form/Checkboxes.js +226 -0
  82. package/esm/renderers/Form/Combo.d.ts +251 -0
  83. package/esm/renderers/Form/Combo.js +822 -0
  84. package/esm/renderers/Form/ConditionBuilder.d.ts +56 -0
  85. package/esm/renderers/Form/ConditionBuilder.js +69 -0
  86. package/esm/renderers/Form/Control.d.ts +18 -0
  87. package/esm/renderers/Form/Control.js +38 -0
  88. package/esm/renderers/Form/DiffEditor.d.ts +3925 -0
  89. package/esm/renderers/Form/DiffEditor.js +199 -0
  90. package/esm/renderers/Form/Editor.d.ts +3856 -0
  91. package/esm/renderers/Form/Editor.js +247 -0
  92. package/esm/renderers/Form/FieldSet.d.ts +70 -0
  93. package/esm/renderers/Form/FieldSet.js +59 -0
  94. package/esm/renderers/Form/Formula.d.ts +53 -0
  95. package/esm/renderers/Form/Formula.js +128 -0
  96. package/esm/renderers/Form/Group.d.ts +57 -0
  97. package/esm/renderers/Form/Group.js +99 -0
  98. package/esm/renderers/Form/Hidden.d.ts +15 -0
  99. package/esm/renderers/Form/Hidden.js +35 -0
  100. package/esm/renderers/Form/IconPicker.d.ts +49 -0
  101. package/esm/renderers/Form/IconPicker.js +305 -0
  102. package/esm/renderers/Form/IconPickerIcons.d.ts +8 -0
  103. package/esm/renderers/Form/IconPickerIcons.js +26 -0
  104. package/esm/renderers/Form/InputArray.d.ts +31 -0
  105. package/esm/renderers/Form/InputArray.js +45 -0
  106. package/esm/renderers/Form/InputCity.d.ts +654 -0
  107. package/esm/renderers/Form/InputCity.js +347 -0
  108. package/esm/renderers/Form/InputColor.d.ts +504 -0
  109. package/esm/renderers/Form/InputColor.js +52 -0
  110. package/esm/renderers/Form/InputDate.d.ts +359 -0
  111. package/esm/renderers/Form/InputDate.js +258 -0
  112. package/esm/renderers/Form/InputDateRange.d.ts +121 -0
  113. package/esm/renderers/Form/InputDateRange.js +166 -0
  114. package/esm/renderers/Form/InputExcel.d.ts +51 -0
  115. package/esm/renderers/Form/InputExcel.js +195 -0
  116. package/esm/renderers/Form/InputFile.d.ts +252 -0
  117. package/esm/renderers/Form/InputFile.js +922 -0
  118. package/esm/renderers/Form/InputFormula.d.ts +91 -0
  119. package/esm/renderers/Form/InputFormula.js +67 -0
  120. package/esm/renderers/Form/InputGroup.d.ts +33 -0
  121. package/esm/renderers/Form/InputGroup.js +111 -0
  122. package/esm/renderers/Form/InputImage.d.ts +315 -0
  123. package/esm/renderers/Form/InputImage.js +896 -0
  124. package/esm/renderers/Form/InputMonthRange.d.ts +22 -0
  125. package/esm/renderers/Form/InputMonthRange.js +46 -0
  126. package/esm/renderers/Form/InputNumber.d.ts +128 -0
  127. package/esm/renderers/Form/InputNumber.js +210 -0
  128. package/esm/renderers/Form/InputQuarterRange.d.ts +22 -0
  129. package/esm/renderers/Form/InputQuarterRange.js +46 -0
  130. package/esm/renderers/Form/InputRange.d.ts +271 -0
  131. package/esm/renderers/Form/InputRange.js +388 -0
  132. package/esm/renderers/Form/InputRating.d.ts +74 -0
  133. package/esm/renderers/Form/InputRating.js +82 -0
  134. package/esm/renderers/Form/InputRepeat.d.ts +35 -0
  135. package/esm/renderers/Form/InputRepeat.js +115 -0
  136. package/esm/renderers/Form/InputRichText.d.ts +56 -0
  137. package/esm/renderers/Form/InputRichText.js +177 -0
  138. package/esm/renderers/Form/InputSubForm.d.ts +123 -0
  139. package/esm/renderers/Form/InputSubForm.js +269 -0
  140. package/esm/renderers/Form/InputTable.d.ts +180 -0
  141. package/esm/renderers/Form/InputTable.js +677 -0
  142. package/esm/renderers/Form/InputTag.d.ts +108 -0
  143. package/esm/renderers/Form/InputTag.js +439 -0
  144. package/esm/renderers/Form/InputText.d.ts +133 -0
  145. package/esm/renderers/Form/InputText.js +632 -0
  146. package/esm/renderers/Form/InputTree.d.ts +83 -0
  147. package/esm/renderers/Form/InputTree.js +104 -0
  148. package/esm/renderers/Form/InputYearRange.d.ts +22 -0
  149. package/esm/renderers/Form/InputYearRange.js +46 -0
  150. package/esm/renderers/Form/JSONSchema.d.ts +24 -0
  151. package/esm/renderers/Form/JSONSchema.js +45 -0
  152. package/esm/renderers/Form/JSONSchemaEditor.d.ts +64 -0
  153. package/esm/renderers/Form/JSONSchemaEditor.js +57 -0
  154. package/esm/renderers/Form/ListSelect.d.ts +45 -0
  155. package/esm/renderers/Form/ListSelect.js +89 -0
  156. package/esm/renderers/Form/LocationPicker.d.ts +35 -0
  157. package/esm/renderers/Form/LocationPicker.js +39 -0
  158. package/esm/renderers/Form/MatrixCheckboxes.d.ts +79 -0
  159. package/esm/renderers/Form/MatrixCheckboxes.js +266 -0
  160. package/esm/renderers/Form/NestedSelect.d.ts +91 -0
  161. package/esm/renderers/Form/NestedSelect.js +703 -0
  162. package/esm/renderers/Form/Picker.d.ts +86 -0
  163. package/esm/renderers/Form/Picker.js +361 -0
  164. package/esm/renderers/Form/Radios.d.ts +39 -0
  165. package/esm/renderers/Form/Radios.js +91 -0
  166. package/esm/renderers/Form/Select.d.ts +140 -0
  167. package/esm/renderers/Form/Select.js +309 -0
  168. package/esm/renderers/Form/Static.d.ts +59 -0
  169. package/esm/renderers/Form/Static.js +109 -0
  170. package/esm/renderers/Form/Switch.d.ts +51 -0
  171. package/esm/renderers/Form/Switch.js +77 -0
  172. package/esm/renderers/Form/TabsTransfer.d.ts +30 -0
  173. package/esm/renderers/Form/TabsTransfer.js +241 -0
  174. package/esm/renderers/Form/TabsTransferPicker.d.ts +26 -0
  175. package/esm/renderers/Form/TabsTransferPicker.js +72 -0
  176. package/esm/renderers/Form/Textarea.d.ts +69 -0
  177. package/esm/renderers/Form/Textarea.js +103 -0
  178. package/esm/renderers/Form/Transfer.d.ts +115 -0
  179. package/esm/renderers/Form/Transfer.js +276 -0
  180. package/esm/renderers/Form/TransferPicker.d.ts +26 -0
  181. package/esm/renderers/Form/TransferPicker.js +66 -0
  182. package/esm/renderers/Form/TreeSelect.d.ts +132 -0
  183. package/esm/renderers/Form/TreeSelect.js +376 -0
  184. package/esm/renderers/Form/UUID.d.ts +22 -0
  185. package/esm/renderers/Form/UUID.js +52 -0
  186. package/esm/renderers/Form/UserSelect.d.ts +55 -0
  187. package/esm/renderers/Form/UserSelect.js +194 -0
  188. package/esm/renderers/Grid.d.ts +82 -0
  189. package/esm/renderers/Grid.js +88 -0
  190. package/esm/renderers/Grid2D.d.ts +91 -0
  191. package/esm/renderers/Grid2D.js +113 -0
  192. package/esm/renderers/GridNav.d.ts +99 -0
  193. package/esm/renderers/GridNav.js +80 -0
  194. package/esm/renderers/HBox.d.ts +95 -0
  195. package/esm/renderers/HBox.js +75 -0
  196. package/esm/renderers/IFrame.d.ts +49 -0
  197. package/esm/renderers/IFrame.js +169 -0
  198. package/esm/renderers/Icon.d.ts +28 -0
  199. package/esm/renderers/Icon.js +60 -0
  200. package/esm/renderers/Image.d.ts +415 -0
  201. package/esm/renderers/Image.js +120 -0
  202. package/esm/renderers/Images.d.ts +80 -0
  203. package/esm/renderers/Images.js +89 -0
  204. package/esm/renderers/Json.d.ts +68 -0
  205. package/esm/renderers/Json.js +98 -0
  206. package/esm/renderers/Link.d.ts +56 -0
  207. package/esm/renderers/Link.js +61 -0
  208. package/esm/renderers/List.d.ts +260 -0
  209. package/esm/renderers/List.js +680 -0
  210. package/esm/renderers/Log.d.ts +91 -0
  211. package/esm/renderers/Log.js +247 -0
  212. package/esm/renderers/Mapping.d.ts +354 -0
  213. package/esm/renderers/Mapping.js +160 -0
  214. package/esm/renderers/Markdown.d.ts +42 -0
  215. package/esm/renderers/Markdown.js +97 -0
  216. package/esm/renderers/Nav.d.ts +258 -0
  217. package/esm/renderers/Nav.js +544 -0
  218. package/esm/renderers/Operation.d.ts +28 -0
  219. package/esm/renderers/Operation.js +43 -0
  220. package/esm/renderers/Page.d.ts +228 -0
  221. package/esm/renderers/Page.js +593 -0
  222. package/esm/renderers/Pagination.d.ts +68 -0
  223. package/esm/renderers/Pagination.js +35 -0
  224. package/esm/renderers/PaginationWrapper.d.ts +67 -0
  225. package/esm/renderers/PaginationWrapper.js +73 -0
  226. package/esm/renderers/Panel.d.ts +86 -0
  227. package/esm/renderers/Panel.js +144 -0
  228. package/esm/renderers/Plain.d.ts +35 -0
  229. package/esm/renderers/Plain.js +42 -0
  230. package/esm/renderers/PopOver.d.ts +69 -0
  231. package/esm/renderers/PopOver.js +166 -0
  232. package/esm/renderers/Portlet.d.ts +125 -0
  233. package/esm/renderers/Portlet.js +152 -0
  234. package/esm/renderers/Progress.d.ts +81 -0
  235. package/esm/renderers/Progress.js +61 -0
  236. package/esm/renderers/Property.d.ts +99 -0
  237. package/esm/renderers/Property.js +95 -0
  238. package/esm/renderers/QRCode.d.ts +63 -0
  239. package/esm/renderers/QRCode.js +75 -0
  240. package/esm/renderers/QuickEdit.d.ts +65 -0
  241. package/esm/renderers/QuickEdit.js +337 -0
  242. package/esm/renderers/Remark.d.ts +105 -0
  243. package/esm/renderers/Remark.js +100 -0
  244. package/esm/renderers/SearchBox.d.ts +69 -0
  245. package/esm/renderers/SearchBox.js +77 -0
  246. package/esm/renderers/Service.d.ts +120 -0
  247. package/esm/renderers/Service.js +437 -0
  248. package/esm/renderers/SparkLine.d.ts +44 -0
  249. package/esm/renderers/SparkLine.js +40 -0
  250. package/esm/renderers/Spinner.d.ts +64 -0
  251. package/esm/renderers/Spinner.js +32 -0
  252. package/esm/renderers/Status.d.ts +55 -0
  253. package/esm/renderers/Status.js +84 -0
  254. package/esm/renderers/Steps.d.ts +66 -0
  255. package/esm/renderers/Steps.js +77 -0
  256. package/esm/renderers/Table/ColumnToggler.d.ts +120 -0
  257. package/esm/renderers/Table/ColumnToggler.js +255 -0
  258. package/esm/renderers/Table/HeadCellFilterDropdown.d.ts +32 -0
  259. package/esm/renderers/Table/HeadCellFilterDropdown.js +211 -0
  260. package/esm/renderers/Table/HeadCellSearchDropdown.d.ts +32 -0
  261. package/esm/renderers/Table/HeadCellSearchDropdown.js +193 -0
  262. package/esm/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  263. package/esm/renderers/Table/ItemActionsWrapper.js +35 -0
  264. package/esm/renderers/Table/TableBody.d.ts +90 -0
  265. package/esm/renderers/Table/TableBody.js +105 -0
  266. package/esm/renderers/Table/TableCell.d.ts +21 -0
  267. package/esm/renderers/Table/TableCell.js +139 -0
  268. package/esm/renderers/Table/TableContent.d.ts +54 -0
  269. package/esm/renderers/Table/TableContent.js +69 -0
  270. package/esm/renderers/Table/TableRow.d.ts +27 -0
  271. package/esm/renderers/Table/TableRow.js +129 -0
  272. package/esm/renderers/Table/exportExcel.d.ts +6 -0
  273. package/esm/renderers/Table/exportExcel.js +301 -0
  274. package/esm/renderers/Table/index.d.ts +371 -0
  275. package/esm/renderers/Table/index.js +1533 -0
  276. package/esm/renderers/Table-v2/ColumnToggler.d.ts +19 -0
  277. package/esm/renderers/Table-v2/ColumnToggler.js +88 -0
  278. package/esm/renderers/Table-v2/HeadCellSearchDropdown.d.ts +29 -0
  279. package/esm/renderers/Table-v2/HeadCellSearchDropdown.js +206 -0
  280. package/esm/renderers/Table-v2/TableCell.d.ts +6 -0
  281. package/esm/renderers/Table-v2/TableCell.js +30 -0
  282. package/esm/renderers/Table-v2/index.d.ts +285 -0
  283. package/esm/renderers/Table-v2/index.js +832 -0
  284. package/esm/renderers/TableView.d.ts +136 -0
  285. package/esm/renderers/TableView.js +95 -0
  286. package/esm/renderers/Tabs.d.ts +204 -0
  287. package/esm/renderers/Tabs.js +501 -0
  288. package/esm/renderers/Tag.d.ts +66 -0
  289. package/esm/renderers/Tag.js +50 -0
  290. package/esm/renderers/Tasks.d.ts +140 -0
  291. package/esm/renderers/Tasks.js +209 -0
  292. package/esm/renderers/Timeline.d.ts +65 -0
  293. package/esm/renderers/Timeline.js +54 -0
  294. package/esm/renderers/TooltipWrapper.d.ts +133 -0
  295. package/esm/renderers/TooltipWrapper.js +70 -0
  296. package/esm/renderers/Tpl.d.ts +51 -0
  297. package/esm/renderers/Tpl.js +88 -0
  298. package/esm/renderers/VBox.d.ts +30 -0
  299. package/esm/renderers/VBox.js +48 -0
  300. package/esm/renderers/Video.d.ts +171 -0
  301. package/esm/renderers/Video.js +457 -0
  302. package/esm/renderers/WebComponent.d.ts +33 -0
  303. package/esm/renderers/WebComponent.js +48 -0
  304. package/esm/renderers/Wizard.d.ts +179 -0
  305. package/esm/renderers/Wizard.js +926 -0
  306. package/esm/renderers/Wrapper.d.ts +36 -0
  307. package/esm/renderers/Wrapper.js +53 -0
  308. package/esm/schemaExtend.d.ts +1 -0
  309. package/esm/schemaExtend.js +72 -0
  310. package/esm/types.d.ts +160 -0
  311. package/lib/Schema.d.ts +1 -1
  312. package/lib/compat.js +1 -1
  313. package/lib/helper.css +0 -1
  314. package/lib/index.js +1 -1
  315. package/lib/preset.js +1 -1
  316. package/lib/renderers/Action.js +1 -1
  317. package/lib/renderers/Alert.js +1 -1
  318. package/lib/renderers/AnchorNav.js +1 -1
  319. package/lib/renderers/App.js +1 -1
  320. package/lib/renderers/Audio.js +1 -1
  321. package/lib/renderers/Avatar.js +1 -1
  322. package/lib/renderers/BarCode.js +1 -1
  323. package/lib/renderers/Breadcrumb.js +1 -1
  324. package/lib/renderers/ButtonGroup.js +1 -1
  325. package/lib/renderers/CRUD.js +3 -3
  326. package/lib/renderers/CRUD2.d.ts +3 -1
  327. package/lib/renderers/CRUD2.js +33 -3
  328. package/lib/renderers/Calendar.js +1 -1
  329. package/lib/renderers/Card.js +1 -1
  330. package/lib/renderers/Card2.js +1 -1
  331. package/lib/renderers/Cards.js +1 -1
  332. package/lib/renderers/Carousel.js +1 -1
  333. package/lib/renderers/Chart.js +1 -1
  334. package/lib/renderers/Code.js +1 -1
  335. package/lib/renderers/Collapse.js +1 -1
  336. package/lib/renderers/CollapseGroup.js +1 -1
  337. package/lib/renderers/Color.js +1 -1
  338. package/lib/renderers/Container.js +1 -1
  339. package/lib/renderers/Copyable.js +1 -1
  340. package/lib/renderers/Custom.js +1 -1
  341. package/lib/renderers/Date.js +1 -1
  342. package/lib/renderers/Dialog.d.ts +40 -40
  343. package/lib/renderers/Dialog.js +1 -1
  344. package/lib/renderers/Divider.js +1 -1
  345. package/lib/renderers/Drawer.js +1 -1
  346. package/lib/renderers/DropDownButton.js +3 -3
  347. package/lib/renderers/Each.js +1 -1
  348. package/lib/renderers/Flex.js +1 -1
  349. package/lib/renderers/Form/ButtonGroupSelect.js +2 -2
  350. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  351. package/lib/renderers/Form/ChainedSelect.js +1 -1
  352. package/lib/renderers/Form/ChartRadios.js +1 -1
  353. package/lib/renderers/Form/Checkbox.js +1 -1
  354. package/lib/renderers/Form/Checkboxes.d.ts +5 -0
  355. package/lib/renderers/Form/Checkboxes.js +8 -3
  356. package/lib/renderers/Form/Combo.js +3 -2
  357. package/lib/renderers/Form/ConditionBuilder.js +1 -1
  358. package/lib/renderers/Form/Control.js +1 -1
  359. package/lib/renderers/Form/DiffEditor.d.ts +656 -138
  360. package/lib/renderers/Form/DiffEditor.js +1 -1
  361. package/lib/renderers/Form/Editor.d.ts +649 -131
  362. package/lib/renderers/Form/Editor.js +1 -1
  363. package/lib/renderers/Form/FieldSet.js +1 -1
  364. package/lib/renderers/Form/Formula.js +1 -1
  365. package/lib/renderers/Form/Group.js +2 -2
  366. package/lib/renderers/Form/Hidden.js +1 -1
  367. package/lib/renderers/Form/IconPicker.js +1 -1
  368. package/lib/renderers/Form/IconPickerIcons.js +1 -1
  369. package/lib/renderers/Form/InputArray.js +1 -1
  370. package/lib/renderers/Form/InputCity.d.ts +40 -40
  371. package/lib/renderers/Form/InputCity.js +1 -1
  372. package/lib/renderers/Form/InputColor.d.ts +40 -40
  373. package/lib/renderers/Form/InputColor.js +1 -1
  374. package/lib/renderers/Form/InputDate.js +1 -1
  375. package/lib/renderers/Form/InputDateRange.js +1 -1
  376. package/lib/renderers/Form/InputExcel.js +1 -1
  377. package/lib/renderers/Form/InputFile.js +5 -1
  378. package/lib/renderers/Form/InputFormula.js +1 -1
  379. package/lib/renderers/Form/InputGroup.js +1 -1
  380. package/lib/renderers/Form/InputImage.js +5 -1
  381. package/lib/renderers/Form/InputMonthRange.js +1 -1
  382. package/lib/renderers/Form/InputNumber.js +1 -1
  383. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  384. package/lib/renderers/Form/InputRange.d.ts +12 -5
  385. package/lib/renderers/Form/InputRange.js +1 -1
  386. package/lib/renderers/Form/InputRating.js +1 -1
  387. package/lib/renderers/Form/InputRepeat.js +1 -1
  388. package/lib/renderers/Form/InputRichText.js +1 -1
  389. package/lib/renderers/Form/InputSubForm.js +1 -1
  390. package/lib/renderers/Form/InputTable.js +1 -1
  391. package/lib/renderers/Form/InputTag.d.ts +34 -0
  392. package/lib/renderers/Form/InputTag.js +78 -40
  393. package/lib/renderers/Form/InputText.js +1 -1
  394. package/lib/renderers/Form/InputTree.js +1 -1
  395. package/lib/renderers/Form/InputYearRange.js +1 -1
  396. package/lib/renderers/Form/JSONSchema.js +1 -1
  397. package/lib/renderers/Form/JSONSchemaEditor.js +1 -1
  398. package/lib/renderers/Form/ListSelect.js +1 -1
  399. package/lib/renderers/Form/LocationPicker.js +1 -1
  400. package/lib/renderers/Form/MatrixCheckboxes.js +1 -1
  401. package/lib/renderers/Form/NestedSelect.js +4 -4
  402. package/lib/renderers/Form/Picker.js +1 -1
  403. package/lib/renderers/Form/Radios.d.ts +6 -1
  404. package/lib/renderers/Form/Radios.js +5 -3
  405. package/lib/renderers/Form/Select.js +1 -1
  406. package/lib/renderers/Form/Static.js +1 -1
  407. package/lib/renderers/Form/Switch.js +1 -1
  408. package/lib/renderers/Form/TabsTransfer.js +1 -1
  409. package/lib/renderers/Form/TabsTransferPicker.js +1 -1
  410. package/lib/renderers/Form/Textarea.js +1 -1
  411. package/lib/renderers/Form/Transfer.js +1 -1
  412. package/lib/renderers/Form/TransferPicker.js +1 -1
  413. package/lib/renderers/Form/TreeSelect.js +4 -4
  414. package/lib/renderers/Form/UUID.js +1 -1
  415. package/lib/renderers/Form/UserSelect.js +1 -1
  416. package/lib/renderers/Grid.js +1 -1
  417. package/lib/renderers/Grid2D.js +1 -1
  418. package/lib/renderers/GridNav.js +1 -1
  419. package/lib/renderers/HBox.js +1 -1
  420. package/lib/renderers/IFrame.js +1 -1
  421. package/lib/renderers/Icon.js +1 -1
  422. package/lib/renderers/Image.js +1 -1
  423. package/lib/renderers/Images.js +1 -1
  424. package/lib/renderers/Json.d.ts +4 -0
  425. package/lib/renderers/Json.js +5 -4
  426. package/lib/renderers/Link.js +1 -1
  427. package/lib/renderers/List.d.ts +1 -0
  428. package/lib/renderers/List.js +30 -25
  429. package/lib/renderers/Log.js +1 -1
  430. package/lib/renderers/Mapping.js +1 -1
  431. package/lib/renderers/Markdown.js +1 -1
  432. package/lib/renderers/Nav.d.ts +10 -10
  433. package/lib/renderers/Nav.js +1 -1
  434. package/lib/renderers/Operation.js +1 -1
  435. package/lib/renderers/Page.js +1 -1
  436. package/lib/renderers/Pagination.js +1 -1
  437. package/lib/renderers/PaginationWrapper.js +1 -1
  438. package/lib/renderers/Panel.js +1 -1
  439. package/lib/renderers/Plain.js +1 -1
  440. package/lib/renderers/PopOver.js +4 -4
  441. package/lib/renderers/Portlet.js +1 -1
  442. package/lib/renderers/Progress.js +1 -1
  443. package/lib/renderers/Property.js +1 -1
  444. package/lib/renderers/QRCode.js +1 -1
  445. package/lib/renderers/QuickEdit.js +4 -3
  446. package/lib/renderers/Remark.d.ts +1 -1
  447. package/lib/renderers/Remark.js +1 -1
  448. package/lib/renderers/SearchBox.js +1 -1
  449. package/lib/renderers/Service.js +1 -1
  450. package/lib/renderers/SparkLine.js +1 -1
  451. package/lib/renderers/Spinner.js +1 -1
  452. package/lib/renderers/Status.js +1 -1
  453. package/lib/renderers/Steps.js +1 -1
  454. package/lib/renderers/Table/ColumnToggler.d.ts +4 -3
  455. package/lib/renderers/Table/ColumnToggler.js +4 -4
  456. package/lib/renderers/Table/HeadCellFilterDropdown.js +3 -3
  457. package/lib/renderers/Table/HeadCellSearchDropdown.js +4 -4
  458. package/lib/renderers/Table/ItemActionsWrapper.js +1 -1
  459. package/lib/renderers/Table/TableBody.js +1 -1
  460. package/lib/renderers/Table/TableCell.js +1 -1
  461. package/lib/renderers/Table/TableContent.js +1 -1
  462. package/lib/renderers/Table/TableRow.js +1 -1
  463. package/lib/renderers/Table/exportExcel.js +5 -5
  464. package/lib/renderers/Table/index.js +1 -1
  465. package/lib/renderers/Table-v2/ColumnToggler.d.ts +18 -2
  466. package/lib/renderers/Table-v2/ColumnToggler.js +72 -2
  467. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +1 -1
  468. package/lib/renderers/Table-v2/TableCell.js +1 -1
  469. package/lib/renderers/Table-v2/index.d.ts +4 -5
  470. package/lib/renderers/Table-v2/index.js +47 -50
  471. package/lib/renderers/TableView.js +1 -1
  472. package/lib/renderers/Tabs.js +1 -1
  473. package/lib/renderers/Tag.js +1 -1
  474. package/lib/renderers/Tasks.js +1 -1
  475. package/lib/renderers/Timeline.js +1 -1
  476. package/lib/renderers/TooltipWrapper.js +1 -1
  477. package/lib/renderers/Tpl.js +1 -1
  478. package/lib/renderers/VBox.js +1 -1
  479. package/lib/renderers/Video.js +1 -1
  480. package/lib/renderers/WebComponent.js +1 -1
  481. package/lib/renderers/Wizard.js +1 -1
  482. package/lib/renderers/Wrapper.js +1 -1
  483. package/lib/schemaExtend.js +1 -1
  484. package/lib/themes/ang-ie11.css +31 -194
  485. package/lib/themes/ang.css +31 -194
  486. package/lib/themes/antd-ie11.css +31 -194
  487. package/lib/themes/antd.css +31 -194
  488. package/lib/themes/cxd-ie11.css +31 -194
  489. package/lib/themes/cxd.css +31 -194
  490. package/lib/themes/dark-ie11.css +31 -194
  491. package/lib/themes/dark.css +31 -194
  492. package/lib/themes/default-ie11.css +31 -194
  493. package/lib/themes/default.css +31 -194
  494. package/package.json +13 -2
  495. package/schema.json +924 -436
  496. package/sdk/ang-ie11.css +8 -3
  497. package/sdk/ang.css +8 -3
  498. package/sdk/antd-ie11.css +8 -3
  499. package/sdk/antd.css +8 -3
  500. package/sdk/barcode.js +50 -50
  501. package/sdk/charts.js +14 -14
  502. package/sdk/codemirror.js +7 -7
  503. package/sdk/color-picker.js +65 -65
  504. package/sdk/cropperjs.js +2 -2
  505. package/sdk/cxd-ie11.css +8 -3
  506. package/sdk/cxd.css +8 -3
  507. package/sdk/dark-ie11.css +8 -3
  508. package/sdk/dark.css +8 -3
  509. package/sdk/exceljs.js +1 -1
  510. package/sdk/helper.css +0 -1
  511. package/sdk/locale/de-DE.js +2 -1
  512. package/sdk/markdown.js +68 -68
  513. package/sdk/papaparse.js +1 -1
  514. package/sdk/rest.js +24 -24
  515. package/sdk/rich-text.js +62 -62
  516. package/sdk/sdk-ie11.css +8 -3
  517. package/sdk/sdk.css +8 -3
  518. package/sdk/sdk.js +1781 -1673
  519. package/sdk/thirds/hls.js/hls.js +1 -1
  520. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  521. package/sdk/tinymce.js +57 -57
@@ -0,0 +1,703 @@
1
+ /**
2
+ * amis v2.0.0-rc.15
3
+ * Copyright 2018-2022 baidu
4
+ */
5
+
6
+ import { __extends, __awaiter, __generator, __assign, __decorate, __metadata } from 'tslib';
7
+ import React from 'react';
8
+ import { createObject, string2regExp, getTreeAncestors, flattenTree, getTreeParent, filterTree, RootClose, Overlay, PopOver, isMobile, ucFirst, autobind, OptionsControl } from 'amis-core';
9
+ import { Checkbox, Icon, ResultBox, Spinner, PopUp, Cascader } from 'amis-ui';
10
+ import { findDOMNode } from 'react-dom';
11
+ import xor from 'lodash/xor';
12
+ import union from 'lodash/union';
13
+ import compact from 'lodash/compact';
14
+
15
+ var NestedSelectControl = /** @class */ (function (_super) {
16
+ __extends(NestedSelectControl, _super);
17
+ function NestedSelectControl() {
18
+ var _this = _super !== null && _super.apply(this, arguments) || this;
19
+ _this.state = {
20
+ isOpened: false,
21
+ isFocused: false,
22
+ inputValue: '',
23
+ stack: [_this.props.options]
24
+ };
25
+ return _this;
26
+ }
27
+ NestedSelectControl.prototype.domRef = function (ref) {
28
+ this.target = ref;
29
+ };
30
+ NestedSelectControl.prototype.componentDidUpdate = function (prevProps) {
31
+ if (prevProps.options !== this.props.options) {
32
+ this.setState({
33
+ stack: [this.props.options]
34
+ });
35
+ }
36
+ };
37
+ NestedSelectControl.prototype.doAction = function (action, data, throwErrors) {
38
+ var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
39
+ var actionType = action === null || action === void 0 ? void 0 : action.actionType;
40
+ if (actionType === 'clear') {
41
+ onChange === null || onChange === void 0 ? void 0 : onChange('');
42
+ }
43
+ else if (actionType === 'reset') {
44
+ onChange === null || onChange === void 0 ? void 0 : onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
45
+ }
46
+ };
47
+ NestedSelectControl.prototype.dispatchEvent = function (eventName, eventData) {
48
+ if (eventData === void 0) { eventData = {}; }
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ var _a, dispatchEvent, data, rendererEvent;
51
+ return __generator(this, function (_b) {
52
+ switch (_b.label) {
53
+ case 0:
54
+ _a = this.props, dispatchEvent = _a.dispatchEvent, data = _a.data;
55
+ return [4 /*yield*/, dispatchEvent(eventName, createObject(data, __assign({}, eventData)))];
56
+ case 1:
57
+ rendererEvent = _b.sent();
58
+ // 返回阻塞标识
59
+ return [2 /*return*/, !!(rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented)];
60
+ }
61
+ });
62
+ });
63
+ };
64
+ NestedSelectControl.prototype.handleOutClick = function (e) {
65
+ this.props.options;
66
+ e.defaultPrevented ||
67
+ this.setState({
68
+ isOpened: true
69
+ });
70
+ };
71
+ NestedSelectControl.prototype.handleResultClear = function () {
72
+ this.setState({
73
+ inputValue: undefined
74
+ });
75
+ };
76
+ NestedSelectControl.prototype.close = function () {
77
+ this.setState({
78
+ isOpened: false
79
+ });
80
+ };
81
+ NestedSelectControl.prototype.removeItem = function (index, e) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var _a, onChange, selectedOptions, joinValues, valueField, extractValue, delimiter, value, isPrevented;
84
+ return __generator(this, function (_b) {
85
+ switch (_b.label) {
86
+ case 0:
87
+ _a = this.props, onChange = _a.onChange, selectedOptions = _a.selectedOptions, joinValues = _a.joinValues, valueField = _a.valueField, extractValue = _a.extractValue, delimiter = _a.delimiter, value = _a.value;
88
+ e && e.stopPropagation();
89
+ selectedOptions.splice(index, 1);
90
+ if (joinValues) {
91
+ value = selectedOptions
92
+ .map(function (item) { return item[valueField || 'value']; })
93
+ .join(delimiter || ',');
94
+ }
95
+ else if (extractValue) {
96
+ value = selectedOptions.map(function (item) { return item[valueField || 'value']; });
97
+ }
98
+ return [4 /*yield*/, this.dispatchEvent('change', {
99
+ value: value
100
+ })];
101
+ case 1:
102
+ isPrevented = _b.sent();
103
+ isPrevented || onChange(value);
104
+ return [2 /*return*/];
105
+ }
106
+ });
107
+ });
108
+ };
109
+ NestedSelectControl.prototype.renderValue = function (option, key) {
110
+ var _a = this.props, cx = _a.classnames, labelField = _a.labelField, valueField = _a.valueField, options = _a.options, hideNodePathLabel = _a.hideNodePathLabel;
111
+ var inputValue = this.state.inputValue;
112
+ var regexp = string2regExp(inputValue || '');
113
+ if (hideNodePathLabel) {
114
+ return option[labelField || 'label'];
115
+ }
116
+ var ancestors = getTreeAncestors(options, option, true);
117
+ return (React.createElement("span", { className: cx('Select-valueLabel'), key: key || option[valueField || 'value'] }, ancestors
118
+ ? ancestors.map(function (item, index) {
119
+ var label = item[labelField || 'label'];
120
+ var isEnd = index === ancestors.length - 1;
121
+ var unmatchText = label.split(regexp || '');
122
+ var pointer = 0;
123
+ return (React.createElement("span", { key: index },
124
+ regexp.test(label)
125
+ ? unmatchText.map(function (text, textIndex) {
126
+ var current = pointer;
127
+ pointer += text.length || (inputValue === null || inputValue === void 0 ? void 0 : inputValue.length) || 0;
128
+ return (React.createElement("span", { key: textIndex, className: cx({
129
+ 'NestedSelect-optionLabel-highlight': !text
130
+ }) }, text || label.slice(current, pointer)));
131
+ })
132
+ : label,
133
+ !isEnd && '>'));
134
+ })
135
+ : option[labelField || 'label']));
136
+ };
137
+ NestedSelectControl.prototype.handleOptionClick = function (option) {
138
+ return __awaiter(this, void 0, void 0, function () {
139
+ var _a, multiple, onChange, joinValues, extractValue, valueField, onlyLeaf, value, isPrevented;
140
+ return __generator(this, function (_b) {
141
+ switch (_b.label) {
142
+ case 0:
143
+ _a = this.props, multiple = _a.multiple, onChange = _a.onChange, joinValues = _a.joinValues, extractValue = _a.extractValue, valueField = _a.valueField, onlyLeaf = _a.onlyLeaf;
144
+ if (multiple) {
145
+ return [2 /*return*/];
146
+ }
147
+ value = joinValues
148
+ ? option[valueField || 'value']
149
+ : extractValue
150
+ ? option[valueField || 'value']
151
+ : option;
152
+ if (value === undefined) {
153
+ return [2 /*return*/];
154
+ }
155
+ if (onlyLeaf && option.children) {
156
+ return [2 /*return*/];
157
+ }
158
+ return [4 /*yield*/, this.dispatchEvent('change', {
159
+ value: value
160
+ })];
161
+ case 1:
162
+ isPrevented = _b.sent();
163
+ isPrevented || onChange(value);
164
+ isPrevented || this.handleResultClear();
165
+ !multiple && this.close();
166
+ return [2 /*return*/];
167
+ }
168
+ });
169
+ });
170
+ };
171
+ NestedSelectControl.prototype.handleCheck = function (option, index) {
172
+ return __awaiter(this, void 0, void 0, function () {
173
+ var _a, onChange, selectedOptions, joinValues, delimiter, extractValue, withChildren, onlyChildren, cascade, options, onlyLeaf, stack, valueField, items, value, flattenTreeWithLeafNodes, isEvery, isEvery, toCheck, parent_1, newValue, isPrevented;
174
+ return __generator(this, function (_b) {
175
+ switch (_b.label) {
176
+ case 0:
177
+ _a = this.props, onChange = _a.onChange, selectedOptions = _a.selectedOptions, joinValues = _a.joinValues, delimiter = _a.delimiter, extractValue = _a.extractValue, withChildren = _a.withChildren, onlyChildren = _a.onlyChildren, cascade = _a.cascade, options = _a.options, onlyLeaf = _a.onlyLeaf;
178
+ stack = this.state.stack;
179
+ valueField = this.props.valueField || 'value';
180
+ if (onlyLeaf && !Array.isArray(option) && option.children) {
181
+ return [2 /*return*/];
182
+ }
183
+ if (!Array.isArray(option) &&
184
+ option.children &&
185
+ option.children.length &&
186
+ typeof index === 'number') {
187
+ if (stack[index]) {
188
+ stack.splice(index + 1, 1, option.children);
189
+ }
190
+ else {
191
+ stack.push(option.children);
192
+ }
193
+ }
194
+ items = selectedOptions;
195
+ flattenTreeWithLeafNodes = function (option) {
196
+ return compact(flattenTree(Array.isArray(option) ? option : [option], function (node) {
197
+ return node.children && node.children.length ? null : node;
198
+ }));
199
+ };
200
+ // 三种情况:
201
+ // 1.全选,option为数组
202
+ // 2.单个选中,且有children
203
+ // 3.单个选中,没有children
204
+ if (Array.isArray(option)) {
205
+ if (withChildren) {
206
+ option = flattenTree(option);
207
+ }
208
+ else if (onlyChildren) {
209
+ option = flattenTreeWithLeafNodes(option);
210
+ }
211
+ value = items.length === option.length ? [] : option;
212
+ }
213
+ else if (Array.isArray(option.children)) {
214
+ if (cascade) {
215
+ value = xor(items, [option]);
216
+ }
217
+ else if (withChildren) {
218
+ option = flattenTree([option]);
219
+ isEvery = option.every(function (opt) { return !!~items.indexOf(opt); });
220
+ value = (isEvery ? xor : union)(items, option);
221
+ }
222
+ else if (onlyChildren) {
223
+ option = flattenTreeWithLeafNodes(option);
224
+ isEvery = option.every(function (opt) { return !!~items.indexOf(opt); });
225
+ value = (isEvery ? xor : union)(items, option);
226
+ }
227
+ else {
228
+ value = items.filter(function (item) { return !~flattenTree([option]).indexOf(item); });
229
+ !~items.indexOf(option) && value.push(option);
230
+ }
231
+ }
232
+ else {
233
+ value = xor(items, [option]);
234
+ }
235
+ if (!cascade) {
236
+ toCheck = option;
237
+ while (true) {
238
+ parent_1 = getTreeParent(options, toCheck);
239
+ if (parent_1 === null || parent_1 === void 0 ? void 0 : parent_1.value) {
240
+ // 如果所有孩子节点都勾选了,应该自动勾选父级。
241
+ if (parent_1.children.every(function (child) { return ~value.indexOf(child); })) {
242
+ parent_1.children.forEach(function (child) {
243
+ var index = value.indexOf(child);
244
+ if (~index && !withChildren && !onlyChildren) {
245
+ value.splice(index, 1);
246
+ }
247
+ });
248
+ if (!onlyChildren) {
249
+ value.push(parent_1);
250
+ }
251
+ toCheck = parent_1;
252
+ continue;
253
+ }
254
+ }
255
+ break;
256
+ }
257
+ }
258
+ newValue = joinValues
259
+ ? value.map(function (item) { return item[valueField]; }).join(delimiter)
260
+ : extractValue
261
+ ? value.map(function (item) { return item[valueField]; })
262
+ : value;
263
+ return [4 /*yield*/, this.dispatchEvent('change', {
264
+ value: newValue
265
+ })];
266
+ case 1:
267
+ isPrevented = _b.sent();
268
+ isPrevented || onChange(newValue);
269
+ isPrevented || this.handleResultClear();
270
+ return [2 /*return*/];
271
+ }
272
+ });
273
+ });
274
+ };
275
+ NestedSelectControl.prototype.allChecked = function (options) {
276
+ var _this = this;
277
+ var _a = this.props, selectedOptions = _a.selectedOptions, withChildren = _a.withChildren, onlyChildren = _a.onlyChildren;
278
+ return options.every(function (option) {
279
+ if ((withChildren || onlyChildren) && option.children) {
280
+ return _this.allChecked(option.children);
281
+ }
282
+ return selectedOptions.some(function (item) { return item === option; });
283
+ });
284
+ };
285
+ NestedSelectControl.prototype.partialChecked = function (options) {
286
+ var _this = this;
287
+ return options.some(function (option) {
288
+ var childrenPartialChecked = option.children && _this.partialChecked(option.children);
289
+ return (childrenPartialChecked ||
290
+ _this.props.selectedOptions.some(function (item) { return item === option; }));
291
+ });
292
+ };
293
+ NestedSelectControl.prototype.reload = function () {
294
+ var reload = this.props.reloadOptions;
295
+ reload && reload();
296
+ };
297
+ NestedSelectControl.prototype.getValue = function () {
298
+ var _a = this.props, selectedOptions = _a.selectedOptions, joinValues = _a.joinValues, valueField = _a.valueField, extractValue = _a.extractValue, delimiter = _a.delimiter, value = _a.value;
299
+ if (joinValues) {
300
+ value = selectedOptions
301
+ .map(function (item) { return item[valueField || 'value']; })
302
+ .join(delimiter || ',');
303
+ }
304
+ else if (extractValue) {
305
+ value = selectedOptions.map(function (item) { return item[valueField || 'value']; });
306
+ }
307
+ return value;
308
+ };
309
+ NestedSelectControl.prototype.onFocus = function (e) {
310
+ return __awaiter(this, void 0, void 0, function () {
311
+ var _a, onFocus, disabled, value, isPrevented;
312
+ return __generator(this, function (_b) {
313
+ switch (_b.label) {
314
+ case 0:
315
+ _a = this.props, onFocus = _a.onFocus, disabled = _a.disabled;
316
+ value = this.getValue();
317
+ if (!(!disabled && !this.state.isOpened)) return [3 /*break*/, 2];
318
+ this.setState({
319
+ isFocused: true
320
+ });
321
+ return [4 /*yield*/, this.dispatchEvent('focus', {
322
+ value: value
323
+ })];
324
+ case 1:
325
+ isPrevented = _b.sent();
326
+ isPrevented || (onFocus && onFocus(e));
327
+ _b.label = 2;
328
+ case 2: return [2 /*return*/];
329
+ }
330
+ });
331
+ });
332
+ };
333
+ NestedSelectControl.prototype.onBlur = function (e) {
334
+ return __awaiter(this, void 0, void 0, function () {
335
+ var onBlur, value, isPrevented;
336
+ return __generator(this, function (_a) {
337
+ switch (_a.label) {
338
+ case 0:
339
+ onBlur = this.props.onBlur;
340
+ value = this.getValue();
341
+ this.setState({
342
+ isFocused: false
343
+ });
344
+ return [4 /*yield*/, this.dispatchEvent('blur', {
345
+ value: value
346
+ })];
347
+ case 1:
348
+ isPrevented = _a.sent();
349
+ isPrevented || (onBlur && onBlur(e));
350
+ return [2 /*return*/];
351
+ }
352
+ });
353
+ });
354
+ };
355
+ NestedSelectControl.prototype.getTarget = function () {
356
+ if (!this.target) {
357
+ this.target = findDOMNode(this);
358
+ }
359
+ return this.target;
360
+ };
361
+ NestedSelectControl.prototype.handleKeyPress = function (e) {
362
+ if (e.key === ' ') {
363
+ this.handleOutClick(e);
364
+ e.preventDefault();
365
+ }
366
+ };
367
+ NestedSelectControl.prototype.handleInputKeyDown = function (event) {
368
+ var inputValue = this.state.inputValue;
369
+ var _a = this.props, multiple = _a.multiple, selectedOptions = _a.selectedOptions;
370
+ if (event.key === 'Backspace' &&
371
+ !inputValue &&
372
+ selectedOptions.length &&
373
+ multiple) {
374
+ this.removeItem(selectedOptions.length - 1);
375
+ }
376
+ };
377
+ NestedSelectControl.prototype.handleInputChange = function (inputValue) {
378
+ var _a = this.props, options = _a.options, labelField = _a.labelField, valueField = _a.valueField;
379
+ var regexp = string2regExp(inputValue);
380
+ var filtedOptions = inputValue && this.state.isOpened
381
+ ? filterTree(options, function (option) {
382
+ return regexp.test(option[labelField || 'label']) ||
383
+ regexp.test(option[valueField || 'value']) ||
384
+ !!(option.children && option.children.length);
385
+ }, 1, true)
386
+ : options.concat();
387
+ this.setState({
388
+ inputValue: inputValue,
389
+ stack: [filtedOptions]
390
+ });
391
+ };
392
+ NestedSelectControl.prototype.handleResultChange = function (value) {
393
+ return __awaiter(this, void 0, void 0, function () {
394
+ var _a, joinValues, extractValue, delimiter, valueField, onChange, multiple, newValue, isPrevented_1, isPrevented;
395
+ return __generator(this, function (_b) {
396
+ switch (_b.label) {
397
+ case 0:
398
+ _a = this.props, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, valueField = _a.valueField, onChange = _a.onChange, multiple = _a.multiple;
399
+ newValue = Array.isArray(value) ? value.concat() : [];
400
+ if (!(!multiple && !newValue.length)) return [3 /*break*/, 2];
401
+ return [4 /*yield*/, this.dispatchEvent('change', {
402
+ value: ''
403
+ })];
404
+ case 1:
405
+ isPrevented_1 = _b.sent();
406
+ isPrevented_1 || onChange('');
407
+ return [2 /*return*/];
408
+ case 2:
409
+ if (joinValues || extractValue) {
410
+ newValue = value.map(function (item) { return item[valueField || 'value']; });
411
+ }
412
+ if (joinValues) {
413
+ newValue = newValue.join(delimiter || ',');
414
+ }
415
+ return [4 /*yield*/, this.dispatchEvent('change', {
416
+ value: newValue
417
+ })];
418
+ case 3:
419
+ isPrevented = _b.sent();
420
+ isPrevented || onChange(newValue);
421
+ return [2 /*return*/];
422
+ }
423
+ });
424
+ });
425
+ };
426
+ NestedSelectControl.prototype.renderOptions = function () {
427
+ var _this = this;
428
+ var _a = this.props, multiple = _a.multiple, selectedOptions = _a.selectedOptions, cx = _a.classnames, propOptions = _a.options, disabled = _a.disabled, checkAll = _a.checkAll, checkAllLabel = _a.checkAllLabel, __ = _a.translate, labelField = _a.labelField, menuClassName = _a.menuClassName, cascade = _a.cascade, onlyChildren = _a.onlyChildren;
429
+ var valueField = this.props.valueField || 'value';
430
+ var stack = this.state.stack;
431
+ var partialChecked = this.partialChecked(propOptions);
432
+ var allChecked = this.allChecked(propOptions);
433
+ return (React.createElement(React.Fragment, null, stack.map(function (options, index) { return (React.createElement("div", { key: index, className: cx('NestedSelect-menu', menuClassName) },
434
+ multiple && checkAll && index === 0 ? (React.createElement("div", { className: cx('NestedSelect-option', 'checkall') },
435
+ React.createElement(Checkbox, { size: "sm", onChange: _this.handleCheck.bind(_this, options), checked: partialChecked, partial: partialChecked && !allChecked }),
436
+ React.createElement("span", { onClick: _this.handleCheck.bind(_this, options) }, __(checkAllLabel)))) : null,
437
+ options.map(function (option, idx) {
438
+ var ancestors = getTreeAncestors(propOptions, option);
439
+ var parentChecked = ancestors === null || ancestors === void 0 ? void 0 : ancestors.some(function (item) { return !!~selectedOptions.indexOf(item); });
440
+ var uncheckable = cascade ? false : multiple && parentChecked;
441
+ var parentDisabled = ancestors === null || ancestors === void 0 ? void 0 : ancestors.some(function (item) { return !!item.disabled; });
442
+ var nodeDisabled = uncheckable || option.disabled || parentDisabled || !!disabled;
443
+ var selfChildrenChecked = !!(option.children && _this.partialChecked(option.children));
444
+ var selfChecked = uncheckable || !!~selectedOptions.indexOf(option);
445
+ if (!selfChecked &&
446
+ onlyChildren &&
447
+ option.children &&
448
+ _this.allChecked(option.children)) {
449
+ selfChecked = true;
450
+ }
451
+ return (React.createElement("div", { key: idx, className: cx('NestedSelect-option', {
452
+ 'is-active': !nodeDisabled &&
453
+ (selfChecked || (!cascade && selfChildrenChecked))
454
+ }), onMouseEnter: _this.onMouseEnter.bind(_this, option, index) },
455
+ multiple ? (React.createElement(Checkbox, { size: "sm", onChange: _this.handleCheck.bind(_this, option, index), trueValue: option[valueField], checked: selfChecked || (!cascade && selfChildrenChecked), partial: !selfChecked, disabled: nodeDisabled })) : null,
456
+ React.createElement("div", { className: cx('NestedSelect-optionLabel', {
457
+ 'is-disabled': nodeDisabled
458
+ }), onClick: function () {
459
+ return !nodeDisabled &&
460
+ (multiple
461
+ ? _this.handleCheck(option, index)
462
+ : _this.handleOptionClick(option));
463
+ } }, option[labelField || 'label']),
464
+ option.children && option.children.length ? (React.createElement("div", { className: cx('NestedSelect-optionArrowRight') },
465
+ React.createElement(Icon, { icon: "right-arrow-bold", className: "icon" }))) : null));
466
+ }))); })));
467
+ };
468
+ NestedSelectControl.prototype.renderSearchResult = function () {
469
+ var _this = this;
470
+ var _a = this.state, stack = _a.stack, inputValue = _a.inputValue;
471
+ var _b = this.props, cx = _b.classnames, __ = _b.translate, propOptions = _b.options, labelField = _b.labelField, cascade = _b.cascade, selectedOptions = _b.selectedOptions, multiple = _b.multiple, disabled = _b.disabled, onlyChildren = _b.onlyChildren, render = _b.render;
472
+ var noResultsText = this.props.noResultsText;
473
+ if (noResultsText) {
474
+ noResultsText = render('noResultText', __(noResultsText));
475
+ }
476
+ var regexp = string2regExp(inputValue || '');
477
+ var flattenTreeWithNodes = flattenTree(stack[0]).filter(function (option) {
478
+ return regexp.test(option[labelField || 'label']);
479
+ });
480
+ // 一个stack一个menu
481
+ var resultBody = (React.createElement("div", { className: cx('NestedSelect-menu') }, flattenTreeWithNodes.length ? (flattenTreeWithNodes.map(function (option, index) {
482
+ var ancestors = getTreeAncestors(propOptions, option);
483
+ var uncheckable = cascade
484
+ ? false
485
+ : multiple &&
486
+ (ancestors === null || ancestors === void 0 ? void 0 : ancestors.some(function (item) { return !!~selectedOptions.indexOf(item); }));
487
+ var isNodeDisabled = uncheckable ||
488
+ option.disabled ||
489
+ !!disabled ||
490
+ (ancestors === null || ancestors === void 0 ? void 0 : ancestors.some(function (item) { return !!item.disabled; }));
491
+ var isChildrenChecked = !!(option.children && _this.partialChecked(option.children));
492
+ var isChecked = uncheckable || !!~selectedOptions.indexOf(option);
493
+ if (!isChecked &&
494
+ onlyChildren &&
495
+ option.children &&
496
+ _this.allChecked(option.children)) {
497
+ isChecked = true;
498
+ }
499
+ return (React.createElement("div", { className: cx('NestedSelect-option', {
500
+ 'is-active': !isNodeDisabled &&
501
+ (isChecked || (!cascade && isChildrenChecked))
502
+ }), key: index },
503
+ React.createElement("div", { className: cx('NestedSelect-optionLabel', {
504
+ 'is-disabled': isNodeDisabled
505
+ }), onClick: function () {
506
+ !isNodeDisabled &&
507
+ (multiple
508
+ ? _this.handleCheck(option, option.value)
509
+ : _this.handleOptionClick(option));
510
+ } }, _this.renderValue(option, option.value))));
511
+ })) : (React.createElement("div", { className: cx('NestedSelect-option', {
512
+ 'no-result': true
513
+ }) }, noResultsText))));
514
+ return resultBody;
515
+ };
516
+ NestedSelectControl.prototype.onMouseEnter = function (option, index, e) {
517
+ var stack = this.state.stack;
518
+ index = index + 1;
519
+ var children = option.children;
520
+ if (children && children.length) {
521
+ if (stack[index]) {
522
+ stack.splice(index, 1, children);
523
+ }
524
+ else {
525
+ stack.push(children);
526
+ }
527
+ }
528
+ else {
529
+ stack[index] && stack.splice(index, 1);
530
+ }
531
+ this.setState({ stack: stack.slice(0, index + 1) });
532
+ };
533
+ NestedSelectControl.prototype.renderOuter = function () {
534
+ var _this = this;
535
+ var _a = this.props, popOverContainer = _a.popOverContainer, __ = _a.translate, cx = _a.classnames, options = _a.options, render = _a.render;
536
+ var isSearch = !!this.state.inputValue;
537
+ var noResultsText = this.props.noResultsText;
538
+ if (noResultsText) {
539
+ noResultsText = render('noResultText', __(noResultsText));
540
+ }
541
+ var body = (React.createElement(RootClose, { disabled: !this.state.isOpened, onRootClose: this.close }, function (ref) {
542
+ return (React.createElement("div", { className: cx('NestedSelect-menuOuter'), ref: ref }, isSearch ? (_this.renderSearchResult()) : options.length ? (_this.renderOptions()) : (React.createElement("div", { className: cx('NestedSelect-noResult') }, noResultsText))));
543
+ }));
544
+ return (React.createElement(Overlay, { target: this.getTarget, container: popOverContainer || (function () { return findDOMNode(_this); }), placement: 'auto', show: true },
545
+ React.createElement(PopOver, { className: cx('NestedSelect-popover') }, body)));
546
+ };
547
+ NestedSelectControl.prototype.render = function () {
548
+ var _a;
549
+ var _b = this.props, className = _b.className, disabled = _b.disabled, cx = _b.classnames, multiple = _b.multiple, placeholder = _b.placeholder, __ = _b.translate, inline = _b.inline, searchable = _b.searchable; _b.autoComplete; var selectedOptions = _b.selectedOptions, clearable = _b.clearable, loading = _b.loading, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI, env = _b.env;
550
+ var mobileUI = useMobileUI && isMobile();
551
+ return (React.createElement("div", { className: cx('NestedSelectControl', className) },
552
+ React.createElement(ResultBox, { useMobileUI: useMobileUI, disabled: disabled, ref: this.domRef, placeholder: __(placeholder !== null && placeholder !== void 0 ? placeholder : 'placeholder.empty'), className: cx("NestedSelect", (_a = {
553
+ 'NestedSelect--inline': inline,
554
+ 'NestedSelect--single': !multiple,
555
+ 'NestedSelect--multi': multiple,
556
+ 'NestedSelect--searchable': searchable,
557
+ 'is-opened': this.state.isOpened,
558
+ 'is-focused': this.state.isFocused
559
+ },
560
+ _a["NestedSelect--border".concat(ucFirst(borderMode))] = borderMode,
561
+ _a)), result: multiple
562
+ ? selectedOptions
563
+ : selectedOptions.length
564
+ ? selectedOptions[0]
565
+ : '', onResultClick: this.handleOutClick, value: this.state.inputValue, onChange: this.handleInputChange, onResultChange: this.handleResultChange, onClear: this.handleResultClear, itemRender: this.renderValue, onKeyPress: this.handleKeyPress, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.handleInputKeyDown, clearable: clearable, hasDropDownArrow: true, allowInput: searchable, inputPlaceholder: '' }, loading ? React.createElement(Spinner, { size: "sm" }) : undefined),
566
+ mobileUI ? (React.createElement(PopUp, { className: cx("NestedSelect-popup"), container: env && env.getModalContainer ? env.getModalContainer : undefined, isShow: this.state.isOpened, onHide: this.close, showConfirm: false, showClose: false },
567
+ React.createElement(Cascader, __assign({ onClose: this.close }, this.props, { onChange: this.handleResultChange, options: this.props.options.slice(), value: selectedOptions })))) : this.state.isOpened ? (this.renderOuter()) : null));
568
+ };
569
+ NestedSelectControl.defaultProps = {
570
+ cascade: false,
571
+ withChildren: false,
572
+ onlyChildren: false,
573
+ onlyLeaf: false,
574
+ searchPromptText: 'Select.searchPromptText',
575
+ noResultsText: 'noResult',
576
+ checkAll: true,
577
+ checkAllLabel: 'Select.checkAll',
578
+ hideNodePathLabel: false
579
+ };
580
+ __decorate([
581
+ autobind,
582
+ __metadata("design:type", Function),
583
+ __metadata("design:paramtypes", [Object]),
584
+ __metadata("design:returntype", void 0)
585
+ ], NestedSelectControl.prototype, "domRef", null);
586
+ __decorate([
587
+ autobind,
588
+ __metadata("design:type", Function),
589
+ __metadata("design:paramtypes", [String, Object]),
590
+ __metadata("design:returntype", Promise)
591
+ ], NestedSelectControl.prototype, "dispatchEvent", null);
592
+ __decorate([
593
+ autobind,
594
+ __metadata("design:type", Function),
595
+ __metadata("design:paramtypes", [Object]),
596
+ __metadata("design:returntype", void 0)
597
+ ], NestedSelectControl.prototype, "handleOutClick", null);
598
+ __decorate([
599
+ autobind,
600
+ __metadata("design:type", Function),
601
+ __metadata("design:paramtypes", []),
602
+ __metadata("design:returntype", void 0)
603
+ ], NestedSelectControl.prototype, "handleResultClear", null);
604
+ __decorate([
605
+ autobind,
606
+ __metadata("design:type", Function),
607
+ __metadata("design:paramtypes", []),
608
+ __metadata("design:returntype", void 0)
609
+ ], NestedSelectControl.prototype, "close", null);
610
+ __decorate([
611
+ autobind,
612
+ __metadata("design:type", Function),
613
+ __metadata("design:paramtypes", [Object, Object]),
614
+ __metadata("design:returntype", void 0)
615
+ ], NestedSelectControl.prototype, "renderValue", null);
616
+ __decorate([
617
+ autobind,
618
+ __metadata("design:type", Function),
619
+ __metadata("design:paramtypes", [Object]),
620
+ __metadata("design:returntype", Promise)
621
+ ], NestedSelectControl.prototype, "handleOptionClick", null);
622
+ __decorate([
623
+ autobind,
624
+ __metadata("design:type", Function),
625
+ __metadata("design:paramtypes", [Object, Number]),
626
+ __metadata("design:returntype", Promise)
627
+ ], NestedSelectControl.prototype, "handleCheck", null);
628
+ __decorate([
629
+ autobind,
630
+ __metadata("design:type", Function),
631
+ __metadata("design:paramtypes", []),
632
+ __metadata("design:returntype", void 0)
633
+ ], NestedSelectControl.prototype, "getValue", null);
634
+ __decorate([
635
+ autobind,
636
+ __metadata("design:type", Function),
637
+ __metadata("design:paramtypes", [Object]),
638
+ __metadata("design:returntype", Promise)
639
+ ], NestedSelectControl.prototype, "onFocus", null);
640
+ __decorate([
641
+ autobind,
642
+ __metadata("design:type", Function),
643
+ __metadata("design:paramtypes", [Object]),
644
+ __metadata("design:returntype", Promise)
645
+ ], NestedSelectControl.prototype, "onBlur", null);
646
+ __decorate([
647
+ autobind,
648
+ __metadata("design:type", Function),
649
+ __metadata("design:paramtypes", []),
650
+ __metadata("design:returntype", void 0)
651
+ ], NestedSelectControl.prototype, "getTarget", null);
652
+ __decorate([
653
+ autobind,
654
+ __metadata("design:type", Function),
655
+ __metadata("design:paramtypes", [Object]),
656
+ __metadata("design:returntype", void 0)
657
+ ], NestedSelectControl.prototype, "handleKeyPress", null);
658
+ __decorate([
659
+ autobind,
660
+ __metadata("design:type", Function),
661
+ __metadata("design:paramtypes", [Object]),
662
+ __metadata("design:returntype", void 0)
663
+ ], NestedSelectControl.prototype, "handleInputKeyDown", null);
664
+ __decorate([
665
+ autobind,
666
+ __metadata("design:type", Function),
667
+ __metadata("design:paramtypes", [String]),
668
+ __metadata("design:returntype", void 0)
669
+ ], NestedSelectControl.prototype, "handleInputChange", null);
670
+ __decorate([
671
+ autobind,
672
+ __metadata("design:type", Function),
673
+ __metadata("design:paramtypes", [Array]),
674
+ __metadata("design:returntype", Promise)
675
+ ], NestedSelectControl.prototype, "handleResultChange", null);
676
+ return NestedSelectControl;
677
+ }(React.Component));
678
+ /** @class */ ((function (_super) {
679
+ __extends(NestedSelectControlRenderer, _super);
680
+ function NestedSelectControlRenderer() {
681
+ return _super !== null && _super.apply(this, arguments) || this;
682
+ }
683
+ NestedSelectControlRenderer = __decorate([
684
+ OptionsControl({
685
+ type: 'nested-select'
686
+ })
687
+ ], NestedSelectControlRenderer);
688
+ return NestedSelectControlRenderer;
689
+ })(NestedSelectControl));
690
+ /** @class */ ((function (_super) {
691
+ __extends(CascaderSelectControlRenderer, _super);
692
+ function CascaderSelectControlRenderer() {
693
+ return _super !== null && _super.apply(this, arguments) || this;
694
+ }
695
+ CascaderSelectControlRenderer = __decorate([
696
+ OptionsControl({
697
+ type: 'cascader-select'
698
+ })
699
+ ], CascaderSelectControlRenderer);
700
+ return CascaderSelectControlRenderer;
701
+ })(NestedSelectControl));
702
+
703
+ export { NestedSelectControl as default };