amis 1.4.2-beta.1 → 1.4.2-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/ColorPicker.d.ts +84 -84
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DateRangePicker.d.ts +84 -84
  18. package/lib/components/Editor.d.ts +84 -84
  19. package/lib/components/GroupedSelection.d.ts +907 -0
  20. package/lib/components/GroupedSelection.js +48 -0
  21. package/lib/components/GroupedSelection.js.map +13 -0
  22. package/lib/components/Link.d.ts +29 -36
  23. package/lib/components/Link.js +14 -15
  24. package/lib/components/Link.js.map +2 -2
  25. package/lib/components/ListGroup.d.ts +21 -21
  26. package/lib/components/ModalManager.js +1 -1
  27. package/lib/components/ModalManager.js.map +2 -2
  28. package/lib/components/MonthRangePicker.d.ts +84 -84
  29. package/lib/components/NumberInput.d.ts +20 -20
  30. package/lib/components/PickerColumn.d.ts +514 -0
  31. package/lib/components/PickerColumn.js +279 -0
  32. package/lib/components/PickerColumn.js.map +13 -0
  33. package/lib/components/PickerContainer.d.ts +513 -0
  34. package/lib/components/PickerContainer.js +96 -0
  35. package/lib/components/PickerContainer.js.map +13 -0
  36. package/lib/components/Radios.d.ts +22 -21
  37. package/lib/components/Radios.js +1 -0
  38. package/lib/components/Radios.js.map +2 -2
  39. package/lib/components/Rating.d.ts +21 -21
  40. package/lib/components/ResultBox.d.ts +84 -84
  41. package/lib/components/SearchBox.d.ts +84 -84
  42. package/lib/components/SearchBox.js +4 -4
  43. package/lib/components/SearchBox.js.map +2 -2
  44. package/lib/components/Select.d.ts +245 -237
  45. package/lib/components/Select.js +25 -4
  46. package/lib/components/Select.js.map +2 -2
  47. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  48. package/lib/components/Selection.js +134 -0
  49. package/lib/components/Selection.js.map +13 -0
  50. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  51. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  52. package/lib/components/TableSelection.js.map +13 -0
  53. package/lib/components/Tabs.d.ts +20 -20
  54. package/lib/components/TabsTransfer.d.ts +84 -84
  55. package/lib/components/TabsTransfer.js +9 -9
  56. package/lib/components/TabsTransfer.js.map +2 -2
  57. package/lib/components/TabsTransferPicker.d.ts +489 -0
  58. package/lib/components/TabsTransferPicker.js +60 -0
  59. package/lib/components/TabsTransferPicker.js.map +13 -0
  60. package/lib/components/Transfer.d.ts +908 -274
  61. package/lib/components/Transfer.js +31 -24
  62. package/lib/components/Transfer.js.map +2 -2
  63. package/lib/components/TransferDropDown.d.ts +487 -0
  64. package/lib/components/TransferDropDown.js +59 -0
  65. package/lib/components/TransferDropDown.js.map +13 -0
  66. package/lib/components/TransferPicker.d.ts +489 -0
  67. package/lib/components/TransferPicker.js +60 -0
  68. package/lib/components/TransferPicker.js.map +13 -0
  69. package/lib/components/Tree.d.ts +84 -84
  70. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  71. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  72. package/lib/components/TreeSelection.js.map +13 -0
  73. package/lib/components/WithRemoteConfig.js +1 -1
  74. package/lib/components/WithRemoteConfig.js.map +2 -2
  75. package/lib/components/condition-builder/Field.js +5 -2
  76. package/lib/components/condition-builder/Field.js.map +2 -2
  77. package/lib/components/condition-builder/Func.js +2 -2
  78. package/lib/components/condition-builder/Func.js.map +2 -2
  79. package/lib/components/condition-builder/InputSwitch.js +2 -2
  80. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  81. package/lib/components/condition-builder/Item.js +3 -3
  82. package/lib/components/condition-builder/Item.js.map +2 -2
  83. package/lib/components/index.d.ts +8 -8
  84. package/lib/components/index.js +16 -16
  85. package/lib/components/index.js.map +2 -2
  86. package/lib/envOverwrite.js.map +2 -2
  87. package/lib/factory.d.ts +4 -0
  88. package/lib/factory.js +4 -2
  89. package/lib/factory.js.map +2 -2
  90. package/lib/helper.css.map +1 -1
  91. package/lib/hooks/index.d.ts +5 -0
  92. package/lib/hooks/index.js +14 -0
  93. package/lib/hooks/index.js.map +13 -0
  94. package/lib/hooks/use-set-state.d.ts +2 -0
  95. package/lib/hooks/use-set-state.js +15 -0
  96. package/lib/hooks/use-set-state.js.map +13 -0
  97. package/lib/hooks/use-touch.d.ts +16 -0
  98. package/lib/hooks/use-touch.js +73 -0
  99. package/lib/hooks/use-touch.js.map +13 -0
  100. package/lib/hooks/use-update-effect.d.ts +3 -0
  101. package/lib/hooks/use-update-effect.js +17 -0
  102. package/lib/hooks/use-update-effect.js.map +13 -0
  103. package/lib/index.d.ts +3 -0
  104. package/lib/index.js +4 -1
  105. package/lib/index.js.map +2 -2
  106. package/lib/locale/de-DE.js +2 -0
  107. package/lib/locale/de-DE.js.map +2 -2
  108. package/lib/locale/en-US.js +2 -0
  109. package/lib/locale/en-US.js.map +2 -2
  110. package/lib/locale/zh-CN.js +4 -2
  111. package/lib/locale/zh-CN.js.map +2 -2
  112. package/lib/renderers/Action.d.ts +4 -3
  113. package/lib/renderers/Action.js +17 -4
  114. package/lib/renderers/Action.js.map +2 -2
  115. package/lib/renderers/AnchorNav.d.ts +1 -0
  116. package/lib/renderers/AnchorNav.js +2 -2
  117. package/lib/renderers/AnchorNav.js.map +2 -2
  118. package/lib/renderers/Avatar.js +3 -3
  119. package/lib/renderers/Avatar.js.map +2 -2
  120. package/lib/renderers/Breadcrumb.js +1 -1
  121. package/lib/renderers/Breadcrumb.js.map +2 -2
  122. package/lib/renderers/CRUD.d.ts +9 -0
  123. package/lib/renderers/CRUD.js +24 -4
  124. package/lib/renderers/CRUD.js.map +2 -2
  125. package/lib/renderers/Card.d.ts +4 -0
  126. package/lib/renderers/Card.js +29 -23
  127. package/lib/renderers/Card.js.map +2 -2
  128. package/lib/renderers/Chart.js +1 -1
  129. package/lib/renderers/Chart.js.map +2 -2
  130. package/lib/renderers/Collapse.js +3 -2
  131. package/lib/renderers/Collapse.js.map +2 -2
  132. package/lib/renderers/DropDownButton.js +1 -1
  133. package/lib/renderers/DropDownButton.js.map +2 -2
  134. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  135. package/lib/renderers/Form/Editor.d.ts +3 -2
  136. package/lib/renderers/Form/InputCity.d.ts +84 -84
  137. package/lib/renderers/Form/InputCity.js +7 -6
  138. package/lib/renderers/Form/InputCity.js.map +2 -2
  139. package/lib/renderers/Form/InputColor.d.ts +84 -84
  140. package/lib/renderers/Form/InputFile.js +10 -4
  141. package/lib/renderers/Form/InputFile.js.map +2 -2
  142. package/lib/renderers/Form/InputImage.js +11 -4
  143. package/lib/renderers/Form/InputImage.js.map +2 -2
  144. package/lib/renderers/Form/Item.d.ts +1 -1
  145. package/lib/renderers/Form/Item.js.map +1 -1
  146. package/lib/renderers/Form/Options.js +13 -3
  147. package/lib/renderers/Form/Options.js.map +2 -2
  148. package/lib/renderers/Form/Select.d.ts +41 -4
  149. package/lib/renderers/Form/Select.js +23 -3
  150. package/lib/renderers/Form/Select.js.map +2 -2
  151. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  152. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  153. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  154. package/lib/renderers/Form/Transfer.js +3 -2
  155. package/lib/renderers/Form/Transfer.js.map +2 -2
  156. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  157. package/lib/renderers/Form/TransferPicker.js +29 -0
  158. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  159. package/lib/renderers/Form/TreeSelect.js +2 -2
  160. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  161. package/lib/renderers/Form/index.js +1 -1
  162. package/lib/renderers/Form/index.js.map +2 -2
  163. package/lib/renderers/Form/wrapControl.js +13 -1
  164. package/lib/renderers/Form/wrapControl.js.map +2 -2
  165. package/lib/renderers/IFrame.js +1 -3
  166. package/lib/renderers/IFrame.js.map +2 -2
  167. package/lib/renderers/Json.d.ts +4 -0
  168. package/lib/renderers/Json.js +4 -13
  169. package/lib/renderers/Json.js.map +2 -2
  170. package/lib/renderers/Link.d.ts +4 -2
  171. package/lib/renderers/Link.js +15 -6
  172. package/lib/renderers/Link.js.map +2 -2
  173. package/lib/renderers/List.js +1 -1
  174. package/lib/renderers/List.js.map +2 -2
  175. package/lib/renderers/Mapping.d.ts +9 -2
  176. package/lib/renderers/Mapping.js +18 -6
  177. package/lib/renderers/Mapping.js.map +2 -2
  178. package/lib/renderers/Nav.d.ts +21 -21
  179. package/lib/renderers/Nav.js +39 -21
  180. package/lib/renderers/Nav.js.map +2 -2
  181. package/lib/renderers/Portlet.d.ts +125 -0
  182. package/lib/renderers/Portlet.js +156 -0
  183. package/lib/renderers/Portlet.js.map +13 -0
  184. package/lib/renderers/Property.js +2 -1
  185. package/lib/renderers/Property.js.map +2 -2
  186. package/lib/renderers/SearchBox.d.ts +6 -1
  187. package/lib/renderers/SearchBox.js +19 -5
  188. package/lib/renderers/SearchBox.js.map +2 -2
  189. package/lib/renderers/Table/TableContent.d.ts +4 -1
  190. package/lib/renderers/Table/TableContent.js +21 -1
  191. package/lib/renderers/Table/TableContent.js.map +2 -2
  192. package/lib/renderers/Table/index.d.ts +5 -1
  193. package/lib/renderers/Table/index.js +64 -29
  194. package/lib/renderers/Table/index.js.map +2 -2
  195. package/lib/renderers/Tabs.js +9 -1
  196. package/lib/renderers/Tabs.js.map +2 -2
  197. package/lib/renderers/WebComponent.js +1 -1
  198. package/lib/renderers/WebComponent.js.map +2 -2
  199. package/lib/store/combo.d.ts +2 -16
  200. package/lib/store/crud.js +3 -7
  201. package/lib/store/crud.js.map +2 -2
  202. package/lib/store/form.d.ts +1 -1
  203. package/lib/store/form.js +5 -6
  204. package/lib/store/form.js.map +2 -2
  205. package/lib/store/service.js +5 -4
  206. package/lib/store/service.js.map +2 -2
  207. package/lib/store/table.d.ts +2 -2
  208. package/lib/themes/ang-ie11.css +422 -149
  209. package/lib/themes/ang.css +422 -149
  210. package/lib/themes/ang.css.map +1 -1
  211. package/lib/themes/antd-ie11.css +422 -149
  212. package/lib/themes/antd.css +422 -149
  213. package/lib/themes/antd.css.map +1 -1
  214. package/lib/themes/cxd-ie11.css +456 -182
  215. package/lib/themes/cxd.css +456 -182
  216. package/lib/themes/cxd.css.map +1 -1
  217. package/lib/themes/dark-ie11.css +422 -149
  218. package/lib/themes/dark.css +422 -149
  219. package/lib/themes/dark.css.map +1 -1
  220. package/lib/themes/default.css +456 -182
  221. package/lib/themes/default.css.map +1 -1
  222. package/lib/types.d.ts +37 -0
  223. package/lib/types.js +0 -5
  224. package/lib/types.js.map +2 -2
  225. package/lib/utils/api.d.ts +3 -2
  226. package/lib/utils/api.js +28 -12
  227. package/lib/utils/api.js.map +2 -2
  228. package/lib/utils/dom.d.ts +4 -0
  229. package/lib/utils/dom.js +11 -1
  230. package/lib/utils/dom.js.map +2 -2
  231. package/lib/utils/helper.d.ts +2 -0
  232. package/lib/utils/helper.js +11 -2
  233. package/lib/utils/helper.js.map +2 -2
  234. package/lib/utils/icon.js +3 -0
  235. package/lib/utils/icon.js.map +2 -2
  236. package/package.json +1 -1
  237. package/schema.json +3038 -790
  238. package/scss/_mixins.scss +1 -3
  239. package/scss/_properties.scss +25 -1
  240. package/scss/base/_normalize.scss +2 -0
  241. package/scss/components/_anchor-nav.scss +88 -29
  242. package/scss/components/_card.scss +8 -14
  243. package/scss/components/_collapse.scss +16 -1
  244. package/scss/components/_mapping.scss +6 -0
  245. package/scss/components/_nav.scss +1 -1
  246. package/scss/components/_picker-columns.scss +123 -0
  247. package/scss/components/_popover.scss +17 -0
  248. package/scss/components/_portlet.scss +51 -0
  249. package/scss/components/_status.scss +1 -1
  250. package/scss/components/_table.scss +26 -0
  251. package/scss/components/form/_checks.scss +0 -351
  252. package/scss/components/form/_fieldset.scss +5 -1
  253. package/scss/components/form/_selection.scss +354 -0
  254. package/scss/components/form/_transfer.scss +75 -18
  255. package/scss/themes/_common.scss +4 -0
  256. package/scss/themes/_cxd-variables.scss +4 -1
  257. package/scss/themes/cxd.scss +16 -12
  258. package/sdk/ang-ie11.css +457 -152
  259. package/sdk/ang.css +480 -154
  260. package/sdk/antd-ie11.css +456 -151
  261. package/sdk/antd.css +480 -154
  262. package/sdk/charts.js +13 -13
  263. package/sdk/color-picker.js +65 -69
  264. package/sdk/cropperjs.js +2 -2
  265. package/sdk/cxd-ie11.css +496 -194
  266. package/sdk/cxd.css +517 -190
  267. package/sdk/dark-ie11.css +457 -152
  268. package/sdk/dark.css +480 -154
  269. package/sdk/exceljs.js +1 -1
  270. package/sdk/helper.css.map +1 -1
  271. package/sdk/locale/de-DE.js +2 -0
  272. package/sdk/markdown.js +69 -69
  273. package/sdk/papaparse.js +1 -1
  274. package/sdk/renderers/Form/CityDB.js +1 -1
  275. package/sdk/rest.js +20 -28
  276. package/sdk/rich-text.js +62 -62
  277. package/sdk/sdk-ie11.css +496 -194
  278. package/sdk/sdk.css +517 -190
  279. package/sdk/sdk.js +1268 -1236
  280. package/sdk/thirds/hls.js/hls.js +1 -1
  281. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  282. package/sdk/tinymce.js +57 -57
  283. package/src/Schema.ts +14 -0
  284. package/src/components/AnchorNav.tsx +15 -4
  285. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  286. package/src/components/Badge.tsx +3 -3
  287. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  288. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  289. package/src/components/Link.tsx +28 -37
  290. package/src/components/ModalManager.ts +1 -1
  291. package/src/components/PickerColumn.tsx +429 -0
  292. package/src/components/PickerContainer.tsx +128 -0
  293. package/src/components/Radios.tsx +3 -8
  294. package/src/components/SearchBox.tsx +4 -5
  295. package/src/components/Select.tsx +57 -5
  296. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  297. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  298. package/src/components/TabsTransfer.tsx +13 -7
  299. package/src/components/TabsTransferPicker.tsx +85 -0
  300. package/src/components/Transfer.tsx +71 -50
  301. package/src/components/TransferDropDown.tsx +117 -0
  302. package/src/components/TransferPicker.tsx +84 -0
  303. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  304. package/src/components/WithRemoteConfig.tsx +7 -2
  305. package/src/components/condition-builder/Field.tsx +5 -5
  306. package/src/components/condition-builder/Func.tsx +3 -3
  307. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  308. package/src/components/condition-builder/Item.tsx +5 -12
  309. package/src/components/index.tsx +13 -13
  310. package/src/envOverwrite.ts +0 -1
  311. package/src/factory.tsx +18 -3
  312. package/src/hooks/index.ts +5 -0
  313. package/src/hooks/use-set-state.ts +19 -0
  314. package/src/hooks/use-touch.ts +100 -0
  315. package/src/hooks/use-update-effect.ts +16 -0
  316. package/src/index.tsx +3 -0
  317. package/src/locale/de-DE.ts +2 -0
  318. package/src/locale/en-US.ts +2 -0
  319. package/src/locale/zh-CN.ts +4 -2
  320. package/src/renderers/Action.tsx +28 -2
  321. package/src/renderers/AnchorNav.tsx +4 -0
  322. package/src/renderers/Avatar.tsx +8 -4
  323. package/src/renderers/Breadcrumb.tsx +5 -1
  324. package/src/renderers/CRUD.tsx +33 -3
  325. package/src/renderers/Card.tsx +63 -34
  326. package/src/renderers/Chart.tsx +6 -2
  327. package/src/renderers/Collapse.tsx +4 -2
  328. package/src/renderers/DropDownButton.tsx +1 -1
  329. package/src/renderers/Form/InputCity.tsx +4 -8
  330. package/src/renderers/Form/InputFile.tsx +29 -20
  331. package/src/renderers/Form/InputImage.tsx +11 -3
  332. package/src/renderers/Form/Item.tsx +1 -1
  333. package/src/renderers/Form/Options.tsx +16 -2
  334. package/src/renderers/Form/Select.tsx +144 -21
  335. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  336. package/src/renderers/Form/Transfer.tsx +3 -2
  337. package/src/renderers/Form/TransferPicker.tsx +123 -0
  338. package/src/renderers/Form/TreeSelect.tsx +25 -0
  339. package/src/renderers/Form/index.tsx +1 -1
  340. package/src/renderers/Form/wrapControl.tsx +26 -1
  341. package/src/renderers/IFrame.tsx +2 -4
  342. package/src/renderers/Json.tsx +9 -9
  343. package/src/renderers/Link.tsx +27 -13
  344. package/src/renderers/List.tsx +1 -1
  345. package/src/renderers/Mapping.tsx +27 -11
  346. package/src/renderers/Nav.tsx +108 -60
  347. package/src/renderers/Portlet.tsx +423 -0
  348. package/src/renderers/Property.tsx +3 -2
  349. package/src/renderers/SearchBox.tsx +23 -4
  350. package/src/renderers/Table/TableContent.tsx +40 -2
  351. package/src/renderers/Table/index.tsx +87 -41
  352. package/src/renderers/Tabs.tsx +9 -1
  353. package/src/renderers/WebComponent.tsx +2 -2
  354. package/src/store/crud.ts +3 -8
  355. package/src/store/form.ts +5 -10
  356. package/src/store/service.ts +5 -4
  357. package/src/types.ts +57 -0
  358. package/src/utils/api.ts +40 -20
  359. package/src/utils/dom.tsx +12 -0
  360. package/src/utils/helper.ts +8 -0
  361. package/src/utils/icon.tsx +4 -0
  362. package/dump.rdb +0 -0
  363. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  364. package/lib/components/AssociatedCheckboxes.js +0 -90
  365. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  366. package/lib/components/ChainedCheckboxes.js.map +0 -13
  367. package/lib/components/Checkboxes.js +0 -101
  368. package/lib/components/Checkboxes.js.map +0 -13
  369. package/lib/components/ListCheckboxes.d.ts +0 -739
  370. package/lib/components/ListCheckboxes.js +0 -48
  371. package/lib/components/ListCheckboxes.js.map +0 -13
  372. package/lib/components/ListRadios.d.ts +0 -763
  373. package/lib/components/ListRadios.js +0 -86
  374. package/lib/components/ListRadios.js.map +0 -13
  375. package/lib/components/TableCheckboxes.js.map +0 -13
  376. package/lib/components/TreeCheckboxes.js.map +0 -13
  377. package/lib/components/TreeRadios.d.ts +0 -838
  378. package/lib/components/TreeRadios.js +0 -116
  379. package/lib/components/TreeRadios.js.map +0 -13
  380. package/src/components/ListRadios.tsx +0 -159
  381. package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * 关联多选框,仅支持两层关联选择。
4
+ * 左边先点选,然后右边再次点选。
5
+ * 可以满足,先从 tree 中选中一个元素,然后查出来一个列表再次勾选。
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AssociatedSelection = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
11
+ var Selection_1 = require("./Selection");
12
+ var Select_1 = require("./Select");
13
+ var helper_1 = require("../utils/helper");
14
+ var theme_1 = require("../theme");
15
+ var uncontrollable_1 = require("uncontrollable");
16
+ var GroupedSelection_1 = (0, tslib_1.__importDefault)(require("./GroupedSelection"));
17
+ var TableSelection_1 = (0, tslib_1.__importDefault)(require("./TableSelection"));
18
+ var TreeSelection_1 = (0, tslib_1.__importDefault)(require("./TreeSelection"));
19
+ var GroupedSelection_2 = (0, tslib_1.__importDefault)(require("./GroupedSelection"));
20
+ var ChainedSelection_1 = (0, tslib_1.__importDefault)(require("./ChainedSelection"));
21
+ var icons_1 = require("./icons");
22
+ var locale_1 = require("../locale");
23
+ var AssociatedSelection = /** @class */ (function (_super) {
24
+ (0, tslib_1.__extends)(AssociatedSelection, _super);
25
+ function AssociatedSelection() {
26
+ var _this = _super !== null && _super.apply(this, arguments) || this;
27
+ _this.state = {
28
+ leftValue: _this.props.leftDefaultValue
29
+ };
30
+ return _this;
31
+ }
32
+ AssociatedSelection.prototype.componentDidMount = function () {
33
+ var leftValue = this.state.leftValue;
34
+ var _a = this.props, options = _a.options, onDeferLoad = _a.onDeferLoad;
35
+ if (leftValue) {
36
+ var selectdOption = Selection_1.BaseSelection.resolveSelected(leftValue, options, function (option) { return option.ref; });
37
+ if (selectdOption && onDeferLoad && selectdOption.defer) {
38
+ onDeferLoad(selectdOption);
39
+ }
40
+ }
41
+ };
42
+ AssociatedSelection.prototype.leftOption2Value = function (option) {
43
+ return option.value;
44
+ };
45
+ AssociatedSelection.prototype.handleLeftSelect = function (value) {
46
+ var _a = this.props, options = _a.options, onDeferLoad = _a.onDeferLoad;
47
+ this.setState({ leftValue: value });
48
+ var selectdOption = Selection_1.BaseSelection.resolveSelected(value, options, function (option) { return option.ref; });
49
+ if (selectdOption && onDeferLoad && selectdOption.defer) {
50
+ onDeferLoad(selectdOption);
51
+ }
52
+ };
53
+ AssociatedSelection.prototype.handleRetry = function (option) {
54
+ var onDeferLoad = this.props.onDeferLoad;
55
+ onDeferLoad === null || onDeferLoad === void 0 ? void 0 : onDeferLoad(option);
56
+ };
57
+ AssociatedSelection.prototype.render = function () {
58
+ var _a = this.props, cx = _a.classnames, className = _a.className, leftOptions = _a.leftOptions, options = _a.options, option2value = _a.option2value, rightMode = _a.rightMode, onChange = _a.onChange, columns = _a.columns, value = _a.value, disabled = _a.disabled, leftMode = _a.leftMode, cellRender = _a.cellRender, multiple = _a.multiple;
59
+ var selectdOption = Selection_1.BaseSelection.resolveSelected(this.state.leftValue, options, function (option) { return option.ref; });
60
+ var __ = this.props.translate;
61
+ return (react_1.default.createElement("div", { className: cx('AssociatedSelection', className) },
62
+ react_1.default.createElement("div", { className: cx('AssociatedSelection-left') }, leftMode === 'tree' ? (react_1.default.createElement(TreeSelection_1.default, { option2value: this.leftOption2Value, options: leftOptions, value: this.state.leftValue, disabled: disabled, onChange: this.handleLeftSelect, multiple: false, clearable: false })) : (react_1.default.createElement(GroupedSelection_2.default, { option2value: this.leftOption2Value, options: leftOptions, value: this.state.leftValue, disabled: disabled, onChange: this.handleLeftSelect, multiple: false, clearable: false }))),
63
+ react_1.default.createElement("div", { className: cx('AssociatedSelection-right') }, this.state.leftValue ? (selectdOption ? (selectdOption.defer && !selectdOption.loaded ? (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') },
64
+ react_1.default.createElement("div", { className: cx('AssociatedSelection-reload', selectdOption.loading ? 'is-spin' : 'is-clickable'), onClick: selectdOption.loading
65
+ ? undefined
66
+ : this.handleRetry.bind(this, selectdOption) },
67
+ react_1.default.createElement(icons_1.Icon, { icon: "reload", className: "icon" })),
68
+ selectdOption.loading ? (react_1.default.createElement("p", null, __('loading'))) : (react_1.default.createElement("p", null, __('Transfer.refreshIcon'))))) : rightMode === 'table' ? (react_1.default.createElement(TableSelection_1.default, { columns: columns, value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, cellRender: cellRender, multiple: multiple })) : rightMode === 'tree' ? (react_1.default.createElement(TreeSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple })) : rightMode === 'chained' ? (react_1.default.createElement(ChainedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple })) : (react_1.default.createElement(GroupedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple }))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.configError')))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.selectFromLeft'))))));
69
+ };
70
+ var _a, _b;
71
+ (0, tslib_1.__decorate)([
72
+ helper_1.autobind,
73
+ (0, tslib_1.__metadata)("design:type", Function),
74
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _a : Object]),
75
+ (0, tslib_1.__metadata)("design:returntype", void 0)
76
+ ], AssociatedSelection.prototype, "leftOption2Value", null);
77
+ (0, tslib_1.__decorate)([
78
+ helper_1.autobind,
79
+ (0, tslib_1.__metadata)("design:type", Function),
80
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _b : Object]),
81
+ (0, tslib_1.__metadata)("design:returntype", void 0)
82
+ ], AssociatedSelection.prototype, "handleLeftSelect", null);
83
+ return AssociatedSelection;
84
+ }(Selection_1.BaseSelection));
85
+ exports.AssociatedSelection = AssociatedSelection;
86
+ exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(AssociatedSelection, {
87
+ value: 'onChange'
88
+ })));
89
+ //# sourceMappingURL=./components/AssociatedSelection.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "AssociatedSelection.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/AssociatedSelection.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * 关联多选框,仅支持两层关联选择。\n * 左边先点选,然后右边再次点选。\n * 可以满足,先从 tree 中选中一个元素,然后查出来一个列表再次勾选。\n */\n\nimport React from 'react';\nimport {BaseSelectionProps, BaseSelection} from './Selection';\nimport {Options, Option} from './Select';\nimport {autobind} from '../utils/helper';\nimport {themeable} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport GroupedSelection from './GroupedSelection';\nimport TableSelection from './TableSelection';\nimport TreeSelection from './TreeSelection';\nimport GroupedSelecton from './GroupedSelection';\nimport ChainedSelection from './ChainedSelection';\nimport {Icon} from './icons';\nimport {localeable} from '../locale';\n\nexport interface AssociatedSelectionProps extends BaseSelectionProps {\n leftOptions: Options;\n leftDefaultValue?: any;\n leftMode?: 'tree' | 'list' | 'group';\n rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';\n columns?: Array<any>;\n cellRender?: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => JSX.Element;\n}\n\nexport interface AssociatedSelectionState {\n leftValue?: Option;\n}\n\nexport class AssociatedSelection extends BaseSelection<\n AssociatedSelectionProps,\n AssociatedSelectionState\n> {\n state: AssociatedSelectionState = {\n leftValue: this.props.leftDefaultValue\n };\n\n componentDidMount() {\n const leftValue = this.state.leftValue;\n const {options, onDeferLoad} = this.props;\n\n if (leftValue) {\n const selectdOption = BaseSelection.resolveSelected(\n leftValue,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n }\n\n @autobind\n leftOption2Value(option: Option) {\n return option.value;\n }\n\n @autobind\n handleLeftSelect(value: Option) {\n const {options, onDeferLoad} = this.props;\n this.setState({leftValue: value});\n\n const selectdOption = BaseSelection.resolveSelected(\n value,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n\n handleRetry(option: Option) {\n const {onDeferLoad} = this.props;\n onDeferLoad?.(option);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n leftOptions,\n options,\n option2value,\n rightMode,\n onChange,\n columns,\n value,\n disabled,\n leftMode,\n cellRender,\n multiple\n } = this.props;\n\n const selectdOption = BaseSelection.resolveSelected(\n this.state.leftValue,\n options,\n (option: Option) => option.ref\n );\n const __ = this.props.translate;\n\n return (\n <div className={cx('AssociatedSelection', className)}>\n <div className={cx('AssociatedSelection-left')}>\n {leftMode === 'tree' ? (\n <TreeSelection\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n />\n ) : (\n <GroupedSelecton\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n />\n )}\n </div>\n <div className={cx('AssociatedSelection-right')}>\n {this.state.leftValue ? (\n selectdOption ? (\n selectdOption.defer && !selectdOption.loaded ? (\n <div className={cx('AssociatedSelection-box')}>\n <div\n className={cx(\n 'AssociatedSelection-reload',\n selectdOption.loading ? 'is-spin' : 'is-clickable'\n )}\n onClick={\n selectdOption.loading\n ? undefined\n : this.handleRetry.bind(this, selectdOption)\n }\n >\n <Icon icon=\"reload\" className=\"icon\" />\n </div>\n\n {selectdOption.loading ? (\n <p>{__('loading')}</p>\n ) : (\n <p>{__('Transfer.refreshIcon')}</p>\n )}\n </div>\n ) : rightMode === 'table' ? (\n <TableSelection\n columns={columns!}\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n cellRender={cellRender}\n multiple={multiple}\n />\n ) : rightMode === 'tree' ? (\n <TreeSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n ) : rightMode === 'chained' ? (\n <ChainedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n ) : (\n <GroupedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.configError')}\n </div>\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.selectFromLeft')}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(AssociatedSelection, {\n value: 'onChange'\n })\n )\n);\n"
12
+ ]
13
+ }
@@ -18,7 +18,7 @@ var Badge = /** @class */ (function (_super) {
18
18
  var _a = this.props, cx = _a.classnames, badge = _a.badge, data = _a.data;
19
19
  var _b = badge, _c = _b.mode, mode = _c === void 0 ? 'dot' : _c, _d = _b.level, level = _d === void 0 ? 'danger' : _d, style = _b.style;
20
20
  if (typeof level === 'string' && level[0] === '$') {
21
- level = (0, tpl_builtin_1.resolveVariable)(level, data);
21
+ level = (0, tpl_builtin_1.resolveVariableAndFilter)(level, data);
22
22
  }
23
23
  switch (mode) {
24
24
  case 'dot':
@@ -52,7 +52,7 @@ var Badge = /** @class */ (function (_super) {
52
52
  isDisplay = (0, tpl_1.evalExpression)(visibleOn, data) === true;
53
53
  }
54
54
  if (typeof text === 'string' && text[0] === '$') {
55
- text = (0, tpl_builtin_1.resolveVariable)(text, data);
55
+ text = (0, tpl_builtin_1.resolveVariableAndFilter)(text, data);
56
56
  }
57
57
  // 设置默认值
58
58
  if (typeof size === 'undefined') {
@@ -6,8 +6,8 @@
6
6
  "/src/components/Badge.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 角标组件\n */\n\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {BaseSchema, SchemaExpression} from '../Schema';\nimport {evalExpression} from '../utils/tpl';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {ClassNamesFn} from '../theme';\n\n/**\n * Badge 角标。\n * 文档:https://baidu.gitee.io/amis/docs/components/badge\n */\nexport interface BadgeSchema extends Omit<BaseSchema, 'type'> {\n /**\n * 文本内容\n */\n text?: string | number;\n\n /**\n * 大小\n */\n size?: number;\n\n /**\n * 角标类型\n */\n mode?: 'text' | 'dot' | 'ribbon';\n\n /**\n * 角标位置,优先级大于position\n */\n offset?: [number | string, number | string];\n\n /**\n * 角标位置\n */\n position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n\n /**\n * 封顶的数字值\n */\n overflowCount?: number;\n\n /**\n * 动态控制是否显示\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 是否显示动画\n */\n animation?: boolean;\n\n /**\n * 角标的自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 提示类型\n */\n level?: 'info' | 'warning' | 'success' | 'danger' | SchemaExpression;\n}\n\nexport interface BadgeProps {\n badge?: BadgeSchema;\n classnames: ClassNamesFn;\n data: any;\n}\n\nexport class Badge extends React.Component<BadgeProps, object> {\n static propsList: Array<string> = ['body', 'className', 'children'];\n\n constructor(props: BadgeProps) {\n super(props);\n }\n\n renderBadge(\n text: any,\n size: number,\n position: any,\n offsetStyle: any,\n sizeStyle: any,\n animationElement: any\n ) {\n const {classnames: cx, badge, data} = this.props;\n let {mode = 'dot', level = 'danger', style} = badge as BadgeSchema;\n\n if (typeof level === 'string' && level[0] === '$') {\n level = resolveVariable(level, data);\n }\n\n switch (mode) {\n case 'dot':\n return (\n <span\n className={cx('Badge-dot', `Badge--${position}`, `Badge--${level}`)}\n style={{...offsetStyle, ...sizeStyle, ...style}}\n >\n {animationElement}\n </span>\n );\n case 'text':\n return (\n <span\n className={cx(\n 'Badge-text',\n `Badge--${position}`,\n `Badge--${level}`\n )}\n style={{...offsetStyle, ...sizeStyle, ...style}}\n >\n {text}\n {animationElement}\n </span>\n );\n case 'ribbon':\n const outSize = size * Math.sqrt(2) + 5;\n return (\n <div\n className={cx('Badge-ribbon-out', `Badge-ribbon-out--${position}`)}\n style={{width: outSize, height: outSize}}\n >\n <span\n className={cx(\n 'Badge-ribbon',\n `Badge-ribbon--${position}`,\n `Badge--${level}`\n )}\n style={{...sizeStyle, ...style}}\n >\n {text}\n {animationElement}\n </span>\n </div>\n );\n default:\n return null;\n }\n }\n\n render() {\n const badge = this.props.badge;\n if (!badge) {\n return this.props.children;\n }\n const {children, classnames: cx, data} = this.props;\n let isDisplay = true;\n if (typeof badge === 'string') {\n isDisplay = evalExpression(badge, data) === true;\n }\n\n let {\n mode = 'dot',\n text,\n level,\n size,\n style,\n offset,\n position = 'top-right',\n overflowCount = 99,\n visibleOn,\n className,\n animation\n } = badge;\n\n if (visibleOn) {\n isDisplay = evalExpression(visibleOn, data) === true;\n }\n\n if (typeof text === 'string' && text[0] === '$') {\n text = resolveVariable(text, data);\n }\n\n // 设置默认值\n if (typeof size === 'undefined') {\n if (mode === 'dot') {\n size = 6;\n } else if (mode === 'ribbon') {\n size = 12;\n } else {\n size = 16;\n }\n }\n\n let sizeStyle = {};\n if (mode === 'text') {\n sizeStyle = {\n borderRadius: size / 2,\n height: size,\n lineHeight: size + 'px'\n };\n // 当text、overflowCount都为number类型时,进行封顶值处理\n if (typeof text === 'number' && typeof overflowCount === 'number') {\n text = (\n (text as number) > (overflowCount as number)\n ? `${overflowCount}+`\n : text\n ) as string | number;\n }\n\n if (!text) {\n isDisplay = false;\n }\n }\n\n if (mode === 'dot') {\n sizeStyle = {width: size, height: size};\n }\n\n if (mode === 'ribbon') {\n sizeStyle = {\n height: size,\n lineHeight: size + 'px',\n fontSize: size\n };\n }\n\n let offsetStyle = {};\n // 如果设置了offset属性,offset在position为'top-right'的基础上进行translate定位\n if (offset && offset.length) {\n position = 'top-right';\n const left = `calc(50% + ${parseInt(offset[0] as string, 10)}px)`;\n const right = `calc(-50% + ${parseInt(offset[1] as string, 10)}px)`;\n offsetStyle = {\n transform: `translate(${left}, ${right})`\n };\n }\n\n let animationBackground = 'var(--danger)';\n\n if (style && style.background) {\n animationBackground = style.background;\n }\n\n const animationElement = animation ? (\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n border: `1px solid ${animationBackground}`,\n borderRadius: '50%',\n animation: 'badgeDotAnimation 1.2s infinite ease-in-out'\n }}\n ></div>\n ) : null;\n\n return (\n <div className={cx('Badge', className)}>\n {children}\n {isDisplay\n ? this.renderBadge(\n text,\n size,\n position,\n offsetStyle,\n sizeStyle,\n animationElement\n )\n : null}\n </div>\n );\n }\n}\n\nexport function withBadge<P extends object>(Component: React.ComponentType<P>) {\n return hoistNonReactStatic(\n class WithBadge extends React.Component<P & BadgeProps> {\n static displayName = `WithBadge(${\n Component.displayName || Component.name\n })`;\n\n render() {\n const badge = this.props.badge;\n\n if (!badge) {\n return <Component {...(this.props as P)} />;\n }\n\n return (\n <Badge {...(this.props as BadgeProps)}>\n <Component {...(this.props as P)} />\n </Badge>\n );\n }\n },\n Component\n );\n}\n"
11
+ "/**\n * @file 角标组件\n */\n\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {BaseSchema, SchemaExpression} from '../Schema';\nimport {evalExpression} from '../utils/tpl';\nimport {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {ClassNamesFn} from '../theme';\n\n/**\n * Badge 角标。\n * 文档:https://baidu.gitee.io/amis/docs/components/badge\n */\nexport interface BadgeSchema extends Omit<BaseSchema, 'type'> {\n /**\n * 文本内容\n */\n text?: string | number;\n\n /**\n * 大小\n */\n size?: number;\n\n /**\n * 角标类型\n */\n mode?: 'text' | 'dot' | 'ribbon';\n\n /**\n * 角标位置,优先级大于position\n */\n offset?: [number | string, number | string];\n\n /**\n * 角标位置\n */\n position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';\n\n /**\n * 封顶的数字值\n */\n overflowCount?: number;\n\n /**\n * 动态控制是否显示\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 是否显示动画\n */\n animation?: boolean;\n\n /**\n * 角标的自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 提示类型\n */\n level?: 'info' | 'warning' | 'success' | 'danger' | SchemaExpression;\n}\n\nexport interface BadgeProps {\n badge?: BadgeSchema;\n classnames: ClassNamesFn;\n data: any;\n}\n\nexport class Badge extends React.Component<BadgeProps, object> {\n static propsList: Array<string> = ['body', 'className', 'children'];\n\n constructor(props: BadgeProps) {\n super(props);\n }\n\n renderBadge(\n text: any,\n size: number,\n position: any,\n offsetStyle: any,\n sizeStyle: any,\n animationElement: any\n ) {\n const {classnames: cx, badge, data} = this.props;\n let {mode = 'dot', level = 'danger', style} = badge as BadgeSchema;\n\n if (typeof level === 'string' && level[0] === '$') {\n level = resolveVariableAndFilter(level, data);\n }\n\n switch (mode) {\n case 'dot':\n return (\n <span\n className={cx('Badge-dot', `Badge--${position}`, `Badge--${level}`)}\n style={{...offsetStyle, ...sizeStyle, ...style}}\n >\n {animationElement}\n </span>\n );\n case 'text':\n return (\n <span\n className={cx(\n 'Badge-text',\n `Badge--${position}`,\n `Badge--${level}`\n )}\n style={{...offsetStyle, ...sizeStyle, ...style}}\n >\n {text}\n {animationElement}\n </span>\n );\n case 'ribbon':\n const outSize = size * Math.sqrt(2) + 5;\n return (\n <div\n className={cx('Badge-ribbon-out', `Badge-ribbon-out--${position}`)}\n style={{width: outSize, height: outSize}}\n >\n <span\n className={cx(\n 'Badge-ribbon',\n `Badge-ribbon--${position}`,\n `Badge--${level}`\n )}\n style={{...sizeStyle, ...style}}\n >\n {text}\n {animationElement}\n </span>\n </div>\n );\n default:\n return null;\n }\n }\n\n render() {\n const badge = this.props.badge;\n if (!badge) {\n return this.props.children;\n }\n const {children, classnames: cx, data} = this.props;\n let isDisplay = true;\n if (typeof badge === 'string') {\n isDisplay = evalExpression(badge, data) === true;\n }\n\n let {\n mode = 'dot',\n text,\n level,\n size,\n style,\n offset,\n position = 'top-right',\n overflowCount = 99,\n visibleOn,\n className,\n animation\n } = badge;\n\n if (visibleOn) {\n isDisplay = evalExpression(visibleOn, data) === true;\n }\n\n if (typeof text === 'string' && text[0] === '$') {\n text = resolveVariableAndFilter(text, data);\n }\n\n // 设置默认值\n if (typeof size === 'undefined') {\n if (mode === 'dot') {\n size = 6;\n } else if (mode === 'ribbon') {\n size = 12;\n } else {\n size = 16;\n }\n }\n\n let sizeStyle = {};\n if (mode === 'text') {\n sizeStyle = {\n borderRadius: size / 2,\n height: size,\n lineHeight: size + 'px'\n };\n // 当text、overflowCount都为number类型时,进行封顶值处理\n if (typeof text === 'number' && typeof overflowCount === 'number') {\n text = (\n (text as number) > (overflowCount as number)\n ? `${overflowCount}+`\n : text\n ) as string | number;\n }\n\n if (!text) {\n isDisplay = false;\n }\n }\n\n if (mode === 'dot') {\n sizeStyle = {width: size, height: size};\n }\n\n if (mode === 'ribbon') {\n sizeStyle = {\n height: size,\n lineHeight: size + 'px',\n fontSize: size\n };\n }\n\n let offsetStyle = {};\n // 如果设置了offset属性,offset在position为'top-right'的基础上进行translate定位\n if (offset && offset.length) {\n position = 'top-right';\n const left = `calc(50% + ${parseInt(offset[0] as string, 10)}px)`;\n const right = `calc(-50% + ${parseInt(offset[1] as string, 10)}px)`;\n offsetStyle = {\n transform: `translate(${left}, ${right})`\n };\n }\n\n let animationBackground = 'var(--danger)';\n\n if (style && style.background) {\n animationBackground = style.background;\n }\n\n const animationElement = animation ? (\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n border: `1px solid ${animationBackground}`,\n borderRadius: '50%',\n animation: 'badgeDotAnimation 1.2s infinite ease-in-out'\n }}\n ></div>\n ) : null;\n\n return (\n <div className={cx('Badge', className)}>\n {children}\n {isDisplay\n ? this.renderBadge(\n text,\n size,\n position,\n offsetStyle,\n sizeStyle,\n animationElement\n )\n : null}\n </div>\n );\n }\n}\n\nexport function withBadge<P extends object>(Component: React.ComponentType<P>) {\n return hoistNonReactStatic(\n class WithBadge extends React.Component<P & BadgeProps> {\n static displayName = `WithBadge(${\n Component.displayName || Component.name\n })`;\n\n render() {\n const badge = this.props.badge;\n\n if (!badge) {\n return <Component {...(this.props as P)} />;\n }\n\n return (\n <Badge {...(this.props as BadgeProps)}>\n <Component {...(this.props as P)} />\n </Badge>\n );\n }\n },\n Component\n );\n}\n"
12
12
  ]
13
13
  }