tntd 2.6.9 → 2.6.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 (442) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +72 -0
  3. package/es/actions/index.js +26 -0
  4. package/es/actions/index.js.map +1 -0
  5. package/es/actions/index.less +70 -0
  6. package/es/cascader/index.js +5 -1
  7. package/es/cascader/index.js.map +1 -1
  8. package/es/check-card/group.js +197 -0
  9. package/es/check-card/group.js.map +1 -0
  10. package/es/check-card/index.js +163 -0
  11. package/es/check-card/index.js.map +1 -0
  12. package/es/check-card/index.less +179 -0
  13. package/es/checkbox/checkbox-group.js +5 -0
  14. package/es/checkbox/checkbox-group.js.map +1 -0
  15. package/es/checkbox/index.js +5 -0
  16. package/es/checkbox/index.js.map +1 -1
  17. package/es/color-picker/ColorPicker.js +1 -1
  18. package/es/color-picker/ColorPicker.js.map +1 -1
  19. package/es/color-picker/index.less +1 -1
  20. package/es/config-provider/DisabledContext.js +12 -0
  21. package/es/config-provider/DisabledContext.js.map +1 -0
  22. package/es/config-provider/SizeContext.js +9 -0
  23. package/es/config-provider/SizeContext.js.map +1 -0
  24. package/es/config-provider/index.js +4 -0
  25. package/es/config-provider/index.js.map +1 -1
  26. package/es/connect/index.js +29 -0
  27. package/es/connect/index.js.map +1 -0
  28. package/es/date-picker/index.js +15 -1
  29. package/es/date-picker/index.js.map +1 -1
  30. package/es/ellipsis/index.js +2 -2
  31. package/es/ellipsis/index.js.map +1 -1
  32. package/es/ellipsis/index.less +1 -1
  33. package/es/handle/index.js +1 -1
  34. package/es/handle/index.js.map +1 -1
  35. package/es/handle/index.less +1 -1
  36. package/es/index.js +8 -1
  37. package/es/index.js.map +1 -1
  38. package/es/index.less +5 -0
  39. package/es/input/input.js +19 -10
  40. package/es/input/input.js.map +1 -1
  41. package/es/input-number/index.js +3 -1
  42. package/es/input-number/index.js.map +1 -1
  43. package/es/locale/en_US.js +4 -2
  44. package/es/locale/en_US.js.map +1 -1
  45. package/es/locale/zh_CN.js +4 -2
  46. package/es/locale/zh_CN.js.map +1 -1
  47. package/es/page/Box.js +1 -1
  48. package/es/page/Box.js.map +1 -1
  49. package/es/page/index.js +1 -1
  50. package/es/page/index.js.map +1 -1
  51. package/es/page/index.less +5 -5
  52. package/es/prev-locale.js +1 -1
  53. package/es/prev-locale.js.map +1 -1
  54. package/es/preview-text/index.js +265 -0
  55. package/es/preview-text/index.js.map +1 -0
  56. package/es/preview-text/index.less +3 -0
  57. package/es/radio/index.js +3 -0
  58. package/es/radio/index.js.map +1 -1
  59. package/es/radio/radio-group.js +5 -0
  60. package/es/radio/radio-group.js.map +1 -0
  61. package/es/segmented/index.js +67 -0
  62. package/es/segmented/index.js.map +1 -0
  63. package/es/segmented/index.less +138 -0
  64. package/es/select/index.js.map +1 -1
  65. package/es/select/select.js +25 -3
  66. package/es/select/select.js.map +1 -1
  67. package/es/switch/index.js +2 -3
  68. package/es/switch/index.js.map +1 -1
  69. package/es/switch/switch.js +10 -0
  70. package/es/switch/switch.js.map +1 -0
  71. package/es/table/hooks/use-column-setting.js.map +1 -1
  72. package/es/table/table.js +40 -5
  73. package/es/table/table.js.map +1 -1
  74. package/es/table/total-shower.js +10 -0
  75. package/es/table/total-shower.js.map +1 -0
  76. package/es/time-picker/index.js +3 -1
  77. package/es/time-picker/index.js.map +1 -1
  78. package/es/title/index.js +9 -11
  79. package/es/title/index.js.map +1 -1
  80. package/es/title/index.less +10 -10
  81. package/es/tntd-form/ErrorList.js +87 -0
  82. package/es/tntd-form/ErrorList.js.map +1 -0
  83. package/es/tntd-form/Form.js +122 -0
  84. package/es/tntd-form/Form.js.map +1 -0
  85. package/es/tntd-form/FormItem/ItemHolder.js +144 -0
  86. package/es/tntd-form/FormItem/ItemHolder.js.map +1 -0
  87. package/es/tntd-form/FormItem/index.js +264 -0
  88. package/es/tntd-form/FormItem/index.js.map +1 -0
  89. package/es/tntd-form/FormItemInput.js +79 -0
  90. package/es/tntd-form/FormItemInput.js.map +1 -0
  91. package/es/tntd-form/FormItemLabel.js +98 -0
  92. package/es/tntd-form/FormItemLabel.js.map +1 -0
  93. package/es/tntd-form/FormList.js +40 -0
  94. package/es/tntd-form/FormList.js.map +1 -0
  95. package/es/tntd-form/_util/motion.js +47 -0
  96. package/es/tntd-form/_util/motion.js.map +1 -0
  97. package/es/tntd-form/_util/reactNode.js +16 -0
  98. package/es/tntd-form/_util/reactNode.js.map +1 -0
  99. package/es/tntd-form/_util/scrollTo.js +35 -0
  100. package/es/tntd-form/_util/scrollTo.js.map +1 -0
  101. package/es/tntd-form/_util/type.js +3 -0
  102. package/es/tntd-form/_util/type.js.map +1 -0
  103. package/es/tntd-form/_util/warning.js +5 -0
  104. package/es/tntd-form/_util/warning.js.map +1 -0
  105. package/es/tntd-form/_util/wave.js +168 -0
  106. package/es/tntd-form/_util/wave.js.map +1 -0
  107. package/es/tntd-form/context.js +40 -0
  108. package/es/tntd-form/context.js.map +1 -0
  109. package/es/tntd-form/hooks/useDebounce.js +13 -0
  110. package/es/tntd-form/hooks/useDebounce.js.map +1 -0
  111. package/es/tntd-form/hooks/useForm.js +40 -0
  112. package/es/tntd-form/hooks/useForm.js.map +1 -0
  113. package/es/tntd-form/hooks/useFormInstance.js +8 -0
  114. package/es/tntd-form/hooks/useFormInstance.js.map +1 -0
  115. package/es/tntd-form/hooks/useFormItemStatus.js +13 -0
  116. package/es/tntd-form/hooks/useFormItemStatus.js.map +1 -0
  117. package/es/tntd-form/hooks/useFrameState.js +37 -0
  118. package/es/tntd-form/hooks/useFrameState.js.map +1 -0
  119. package/es/tntd-form/hooks/useItemRef.js +20 -0
  120. package/es/tntd-form/hooks/useItemRef.js.map +1 -0
  121. package/es/tntd-form/index.js +17 -1
  122. package/es/tntd-form/index.js.map +1 -1
  123. package/es/tntd-form/interface.js +2 -0
  124. package/es/tntd-form/interface.js.map +1 -0
  125. package/es/tntd-form/style/components.less +16 -0
  126. package/es/tntd-form/style/horizontal.less +26 -0
  127. package/es/tntd-form/style/index.js +5 -0
  128. package/es/tntd-form/style/index.js.map +1 -0
  129. package/es/tntd-form/style/index.less +342 -0
  130. package/es/tntd-form/style/inline.less +40 -0
  131. package/es/tntd-form/style/mixin.less +90 -0
  132. package/es/tntd-form/style/rtl.less +204 -0
  133. package/es/tntd-form/style/status.less +45 -0
  134. package/es/tntd-form/style/vertical.less +95 -0
  135. package/es/tntd-form/tntd-form.stories.js +786 -0
  136. package/es/tntd-form/tntd-form.stories.js.map +1 -0
  137. package/es/tntd-form/util.js +18 -0
  138. package/es/tntd-form/util.js.map +1 -0
  139. package/es/tntd-form/validateMessagesContext.js +5 -0
  140. package/es/tntd-form/validateMessagesContext.js.map +1 -0
  141. package/es/tntd-modal/index.js +71 -56
  142. package/es/tntd-modal/index.js.map +1 -1
  143. package/es/tntd-modal/index.less +83 -63
  144. package/es/tree-select/index.js +4 -1
  145. package/es/tree-select/index.js.map +1 -1
  146. package/es/upload/index.js +8 -1
  147. package/es/upload/index.js.map +1 -1
  148. package/es/utils/index.js +1 -0
  149. package/es/utils/index.js.map +1 -1
  150. package/es/utils/simple-template.js +10 -0
  151. package/es/utils/simple-template.js.map +1 -0
  152. package/es/water-mark/index.js +110 -0
  153. package/es/water-mark/index.js.map +1 -0
  154. package/lib/actions/index.d.ts +15 -0
  155. package/lib/actions/index.d.ts.map +1 -0
  156. package/lib/actions/index.js +34 -0
  157. package/lib/actions/index.js.map +1 -0
  158. package/lib/actions/index.less +70 -0
  159. package/lib/cascader/index.d.ts +6 -1
  160. package/lib/cascader/index.d.ts.map +1 -1
  161. package/lib/cascader/index.js +10 -3
  162. package/lib/cascader/index.js.map +1 -1
  163. package/lib/check-card/group.d.ts +130 -0
  164. package/lib/check-card/group.d.ts.map +1 -0
  165. package/lib/check-card/group.js +236 -0
  166. package/lib/check-card/group.js.map +1 -0
  167. package/lib/check-card/index.d.ts +136 -0
  168. package/lib/check-card/index.d.ts.map +1 -0
  169. package/lib/check-card/index.js +178 -0
  170. package/lib/check-card/index.js.map +1 -0
  171. package/lib/check-card/index.less +179 -0
  172. package/lib/checkbox/checkbox-group.d.ts +8 -0
  173. package/lib/checkbox/checkbox-group.d.ts.map +1 -0
  174. package/lib/checkbox/checkbox-group.js +13 -0
  175. package/lib/checkbox/checkbox-group.js.map +1 -0
  176. package/lib/checkbox/index.d.ts +1 -0
  177. package/lib/checkbox/index.d.ts.map +1 -1
  178. package/lib/checkbox/index.js +16 -0
  179. package/lib/checkbox/index.js.map +1 -1
  180. package/lib/color-picker/ColorPicker.js +1 -1
  181. package/lib/color-picker/ColorPicker.js.map +1 -1
  182. package/lib/color-picker/index.less +1 -1
  183. package/lib/config-provider/DisabledContext.d.ts +10 -0
  184. package/lib/config-provider/DisabledContext.d.ts.map +1 -0
  185. package/lib/config-provider/DisabledContext.js +22 -0
  186. package/lib/config-provider/DisabledContext.js.map +1 -0
  187. package/lib/config-provider/SizeContext.d.ts +10 -0
  188. package/lib/config-provider/SizeContext.d.ts.map +1 -0
  189. package/lib/config-provider/SizeContext.js +23 -0
  190. package/lib/config-provider/SizeContext.js.map +1 -0
  191. package/lib/config-provider/index.d.ts +1 -0
  192. package/lib/config-provider/index.d.ts.map +1 -1
  193. package/lib/config-provider/index.js +15 -0
  194. package/lib/config-provider/index.js.map +1 -1
  195. package/lib/connect/index.d.ts +12 -0
  196. package/lib/connect/index.d.ts.map +1 -0
  197. package/lib/connect/index.js +50 -0
  198. package/lib/connect/index.js.map +1 -0
  199. package/lib/date-picker/index.d.ts +6 -1
  200. package/lib/date-picker/index.d.ts.map +1 -1
  201. package/lib/date-picker/index.js +29 -3
  202. package/lib/date-picker/index.js.map +1 -1
  203. package/lib/ellipsis/index.js +2 -2
  204. package/lib/ellipsis/index.js.map +1 -1
  205. package/lib/ellipsis/index.less +1 -1
  206. package/lib/handle/index.d.ts.map +1 -1
  207. package/lib/handle/index.js +1 -1
  208. package/lib/handle/index.js.map +1 -1
  209. package/lib/handle/index.less +1 -1
  210. package/lib/index.d.ts +7 -0
  211. package/lib/index.d.ts.map +1 -1
  212. package/lib/index.js +22 -0
  213. package/lib/index.js.map +1 -1
  214. package/lib/index.less +5 -0
  215. package/lib/input/input.d.ts +5 -0
  216. package/lib/input/input.d.ts.map +1 -1
  217. package/lib/input/input.js +18 -8
  218. package/lib/input/input.js.map +1 -1
  219. package/lib/input-number/index.d.ts +7 -2
  220. package/lib/input-number/index.d.ts.map +1 -1
  221. package/lib/input-number/index.js +4 -1
  222. package/lib/input-number/index.js.map +1 -1
  223. package/lib/locale/default.d.ts +1 -0
  224. package/lib/locale/default.d.ts.map +1 -1
  225. package/lib/locale/en_US.d.ts +1 -0
  226. package/lib/locale/en_US.d.ts.map +1 -1
  227. package/lib/locale/en_US.js +4 -2
  228. package/lib/locale/en_US.js.map +1 -1
  229. package/lib/locale/zh_CN.d.ts +1 -0
  230. package/lib/locale/zh_CN.d.ts.map +1 -1
  231. package/lib/locale/zh_CN.js +4 -2
  232. package/lib/locale/zh_CN.js.map +1 -1
  233. package/lib/page/Box.js +1 -1
  234. package/lib/page/Box.js.map +1 -1
  235. package/lib/page/index.js +1 -1
  236. package/lib/page/index.js.map +1 -1
  237. package/lib/page/index.less +5 -5
  238. package/lib/prev-locale.js +1 -1
  239. package/lib/prev-locale.js.map +1 -1
  240. package/lib/preview-text/index.d.ts +20 -0
  241. package/lib/preview-text/index.d.ts.map +1 -0
  242. package/lib/preview-text/index.js +278 -0
  243. package/lib/preview-text/index.js.map +1 -0
  244. package/lib/preview-text/index.less +3 -0
  245. package/lib/radio/index.d.ts.map +1 -1
  246. package/lib/radio/index.js +4 -0
  247. package/lib/radio/index.js.map +1 -1
  248. package/lib/radio/radio-group.d.ts +8 -0
  249. package/lib/radio/radio-group.d.ts.map +1 -0
  250. package/lib/radio/radio-group.js +13 -0
  251. package/lib/radio/radio-group.js.map +1 -0
  252. package/lib/segmented/index.d.ts +23 -0
  253. package/lib/segmented/index.d.ts.map +1 -0
  254. package/lib/segmented/index.js +80 -0
  255. package/lib/segmented/index.js.map +1 -0
  256. package/lib/segmented/index.less +138 -0
  257. package/lib/select/index.d.ts +2 -1
  258. package/lib/select/index.d.ts.map +1 -1
  259. package/lib/select/index.js.map +1 -1
  260. package/lib/select/select.d.ts +12 -0
  261. package/lib/select/select.d.ts.map +1 -1
  262. package/lib/select/select.js +25 -4
  263. package/lib/select/select.js.map +1 -1
  264. package/lib/svg-components/illustration-403.d.ts +1 -1
  265. package/lib/svg-components/illustration-404.d.ts +1 -1
  266. package/lib/svg-components/illustration-500.d.ts +1 -1
  267. package/lib/svg-components/illustration-empty.d.ts +1 -1
  268. package/lib/svg-components/illustration-failure.d.ts +1 -1
  269. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  270. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  271. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  272. package/lib/svg-components/illustration-offline.d.ts +1 -1
  273. package/lib/svg-components/illustration-success.d.ts +1 -1
  274. package/lib/switch/index.d.ts +2 -3
  275. package/lib/switch/index.d.ts.map +1 -1
  276. package/lib/switch/index.js +1 -2
  277. package/lib/switch/index.js.map +1 -1
  278. package/lib/switch/switch.d.ts +10 -0
  279. package/lib/switch/switch.d.ts.map +1 -0
  280. package/lib/switch/switch.js +37 -0
  281. package/lib/switch/switch.js.map +1 -0
  282. package/lib/table/assets/image-loading-background.d.ts +1 -1
  283. package/lib/table/assets/image-loading.d.ts +1 -1
  284. package/lib/table/hooks/use-column-setting.d.ts +4 -1
  285. package/lib/table/hooks/use-column-setting.d.ts.map +1 -1
  286. package/lib/table/hooks/use-column-setting.js.map +1 -1
  287. package/lib/table/table.d.ts.map +1 -1
  288. package/lib/table/table.js +44 -8
  289. package/lib/table/table.js.map +1 -1
  290. package/lib/table/total-shower.d.ts +9 -0
  291. package/lib/table/total-shower.d.ts.map +1 -0
  292. package/lib/table/total-shower.js +17 -0
  293. package/lib/table/total-shower.js.map +1 -0
  294. package/lib/time-picker/index.d.ts +7 -2
  295. package/lib/time-picker/index.d.ts.map +1 -1
  296. package/lib/time-picker/index.js +3 -1
  297. package/lib/time-picker/index.js.map +1 -1
  298. package/lib/title/index.d.ts +11 -1
  299. package/lib/title/index.d.ts.map +1 -1
  300. package/lib/title/index.js +8 -10
  301. package/lib/title/index.js.map +1 -1
  302. package/lib/title/index.less +10 -10
  303. package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +1 -1
  304. package/lib/tntd-form/ErrorList.d.ts +13 -0
  305. package/lib/tntd-form/ErrorList.d.ts.map +1 -0
  306. package/lib/tntd-form/ErrorList.js +104 -0
  307. package/lib/tntd-form/ErrorList.js.map +1 -0
  308. package/lib/tntd-form/Form.d.ts +36 -0
  309. package/lib/tntd-form/Form.d.ts.map +1 -0
  310. package/lib/tntd-form/Form.js +160 -0
  311. package/lib/tntd-form/Form.js.map +1 -0
  312. package/lib/tntd-form/FormItem/ItemHolder.d.ts +18 -0
  313. package/lib/tntd-form/FormItem/ItemHolder.d.ts.map +1 -0
  314. package/lib/tntd-form/FormItem/ItemHolder.js +163 -0
  315. package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -0
  316. package/lib/tntd-form/FormItem/index.d.ts +36 -0
  317. package/lib/tntd-form/FormItem/index.d.ts.map +1 -0
  318. package/lib/tntd-form/FormItem/index.js +301 -0
  319. package/lib/tntd-form/FormItem/index.js.map +1 -0
  320. package/lib/tntd-form/FormItemInput.d.ts +30 -0
  321. package/lib/tntd-form/FormItemInput.d.ts.map +1 -0
  322. package/lib/tntd-form/FormItemInput.js +92 -0
  323. package/lib/tntd-form/FormItemInput.js.map +1 -0
  324. package/lib/tntd-form/FormItemLabel.d.ts +24 -0
  325. package/lib/tntd-form/FormItemLabel.d.ts.map +1 -0
  326. package/lib/tntd-form/FormItemLabel.js +106 -0
  327. package/lib/tntd-form/FormItemLabel.js.map +1 -0
  328. package/lib/tntd-form/FormList.d.ts +26 -0
  329. package/lib/tntd-form/FormList.d.ts.map +1 -0
  330. package/lib/tntd-form/FormList.js +56 -0
  331. package/lib/tntd-form/FormList.js.map +1 -0
  332. package/lib/tntd-form/_util/motion.d.ts +9 -0
  333. package/lib/tntd-form/_util/motion.d.ts.map +1 -0
  334. package/lib/tntd-form/_util/motion.js +59 -0
  335. package/lib/tntd-form/_util/motion.js.map +1 -0
  336. package/lib/tntd-form/_util/reactNode.d.ts +9 -0
  337. package/lib/tntd-form/_util/reactNode.d.ts.map +1 -0
  338. package/lib/tntd-form/_util/reactNode.js +27 -0
  339. package/lib/tntd-form/_util/reactNode.js.map +1 -0
  340. package/lib/tntd-form/_util/scrollTo.d.ts +1 -0
  341. package/lib/tntd-form/_util/scrollTo.d.ts.map +1 -0
  342. package/lib/tntd-form/_util/scrollTo.js +35 -0
  343. package/lib/tntd-form/_util/scrollTo.js.map +1 -0
  344. package/lib/tntd-form/_util/type.d.ts +4 -0
  345. package/lib/tntd-form/_util/type.d.ts.map +1 -0
  346. package/lib/tntd-form/_util/type.js +21 -0
  347. package/lib/tntd-form/_util/type.js.map +1 -0
  348. package/lib/tntd-form/_util/warning.d.ts +5 -0
  349. package/lib/tntd-form/_util/warning.d.ts.map +1 -0
  350. package/lib/tntd-form/_util/warning.js +20 -0
  351. package/lib/tntd-form/_util/warning.js.map +1 -0
  352. package/lib/tntd-form/_util/wave.d.ts +1 -0
  353. package/lib/tntd-form/_util/wave.d.ts.map +1 -0
  354. package/lib/tntd-form/_util/wave.js +168 -0
  355. package/lib/tntd-form/_util/wave.js.map +1 -0
  356. package/lib/tntd-form/context.d.ts +51 -0
  357. package/lib/tntd-form/context.d.ts.map +1 -0
  358. package/lib/tntd-form/context.js +54 -0
  359. package/lib/tntd-form/context.js.map +1 -0
  360. package/lib/tntd-form/hooks/useDebounce.d.ts +2 -0
  361. package/lib/tntd-form/hooks/useDebounce.d.ts.map +1 -0
  362. package/lib/tntd-form/hooks/useDebounce.js +31 -0
  363. package/lib/tntd-form/hooks/useDebounce.js.map +1 -0
  364. package/lib/tntd-form/hooks/useForm.d.ts +16 -0
  365. package/lib/tntd-form/hooks/useForm.d.ts.map +1 -0
  366. package/lib/tntd-form/hooks/useForm.js +63 -0
  367. package/lib/tntd-form/hooks/useForm.js.map +1 -0
  368. package/lib/tntd-form/hooks/useFormInstance.d.ts +3 -0
  369. package/lib/tntd-form/hooks/useFormInstance.d.ts.map +1 -0
  370. package/lib/tntd-form/hooks/useFormInstance.js +13 -0
  371. package/lib/tntd-form/hooks/useFormInstance.js.map +1 -0
  372. package/lib/tntd-form/hooks/useFormItemStatus.d.ts +7 -0
  373. package/lib/tntd-form/hooks/useFormItemStatus.d.ts.map +1 -0
  374. package/lib/tntd-form/hooks/useFormItemStatus.js +20 -0
  375. package/lib/tntd-form/hooks/useFormItemStatus.js.map +1 -0
  376. package/lib/tntd-form/hooks/useFrameState.d.ts +4 -0
  377. package/lib/tntd-form/hooks/useFrameState.d.ts.map +1 -0
  378. package/lib/tntd-form/hooks/useFrameState.js +55 -0
  379. package/lib/tntd-form/hooks/useFrameState.js.map +1 -0
  380. package/lib/tntd-form/hooks/useItemRef.d.ts +4 -0
  381. package/lib/tntd-form/hooks/useItemRef.d.ts.map +1 -0
  382. package/lib/tntd-form/hooks/useItemRef.js +28 -0
  383. package/lib/tntd-form/hooks/useItemRef.js.map +1 -0
  384. package/lib/tntd-form/index.d.ts +23 -1
  385. package/lib/tntd-form/index.d.ts.map +1 -1
  386. package/lib/tntd-form/index.js +24 -8
  387. package/lib/tntd-form/index.js.map +1 -1
  388. package/lib/tntd-form/interface.d.ts +4 -0
  389. package/lib/tntd-form/interface.d.ts.map +1 -0
  390. package/lib/tntd-form/interface.js +7 -0
  391. package/lib/tntd-form/interface.js.map +1 -0
  392. package/lib/tntd-form/style/components.less +16 -0
  393. package/lib/tntd-form/style/horizontal.less +26 -0
  394. package/lib/tntd-form/style/index.d.ts +5 -0
  395. package/lib/tntd-form/style/index.d.ts.map +1 -0
  396. package/lib/tntd-form/style/index.js +6 -0
  397. package/lib/tntd-form/style/index.js.map +1 -0
  398. package/lib/tntd-form/style/index.less +342 -0
  399. package/lib/tntd-form/style/inline.less +40 -0
  400. package/lib/tntd-form/style/mixin.less +90 -0
  401. package/lib/tntd-form/style/rtl.less +204 -0
  402. package/lib/tntd-form/style/status.less +45 -0
  403. package/lib/tntd-form/style/vertical.less +95 -0
  404. package/lib/tntd-form/tntd-form.stories.d.ts +33 -0
  405. package/lib/tntd-form/tntd-form.stories.d.ts.map +1 -0
  406. package/lib/tntd-form/tntd-form.stories.js +888 -0
  407. package/lib/tntd-form/tntd-form.stories.js.map +1 -0
  408. package/lib/tntd-form/util.d.ts +4 -0
  409. package/lib/tntd-form/util.d.ts.map +1 -0
  410. package/lib/tntd-form/util.js +25 -0
  411. package/lib/tntd-form/util.js.map +1 -0
  412. package/lib/tntd-form/validateMessagesContext.d.ts +5 -0
  413. package/lib/tntd-form/validateMessagesContext.d.ts.map +1 -0
  414. package/lib/tntd-form/validateMessagesContext.js +12 -0
  415. package/lib/tntd-form/validateMessagesContext.js.map +1 -0
  416. package/lib/tntd-modal/index.d.ts +15 -2
  417. package/lib/tntd-modal/index.d.ts.map +1 -1
  418. package/lib/tntd-modal/index.js +76 -61
  419. package/lib/tntd-modal/index.js.map +1 -1
  420. package/lib/tntd-modal/index.less +83 -63
  421. package/lib/tree-select/index.d.ts +7 -1
  422. package/lib/tree-select/index.d.ts.map +1 -1
  423. package/lib/tree-select/index.js +9 -3
  424. package/lib/tree-select/index.js.map +1 -1
  425. package/lib/upload/index.d.ts +6 -1
  426. package/lib/upload/index.d.ts.map +1 -1
  427. package/lib/upload/index.js +11 -1
  428. package/lib/upload/index.js.map +1 -1
  429. package/lib/utils/index.d.ts +1 -0
  430. package/lib/utils/index.d.ts.map +1 -1
  431. package/lib/utils/index.js +12 -0
  432. package/lib/utils/index.js.map +1 -1
  433. package/lib/utils/simple-template.d.ts +9 -0
  434. package/lib/utils/simple-template.d.ts.map +1 -0
  435. package/lib/utils/simple-template.js +19 -0
  436. package/lib/utils/simple-template.js.map +1 -0
  437. package/lib/water-mark/index.d.ts +49 -0
  438. package/lib/water-mark/index.d.ts.map +1 -0
  439. package/lib/water-mark/index.js +142 -0
  440. package/lib/water-mark/index.js.map +1 -0
  441. package/package.json +26 -5
  442. package/themes/default/variables.less +43 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) rookie
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # 组件介绍
2
+ tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
3
+
4
+
5
+ ## 如何从 `tntd v1.0` 迁移到 `tntd v2.0`
6
+
7
+ ### 安装 `tntd` 最新版本
8
+
9
+ ```
10
+ npm install tntd
11
+ ```
12
+
13
+ ### 更改配置
14
+
15
+ 1. 添加 .babelrc 中的 import 插件配置,实现按需引入
16
+
17
+ ```diff title=".babelrc"
18
+ + [
19
+ + "import",
20
+ + {
21
+ + "libraryName": "tntd",
22
+ + libraryDirectory: 'es',
23
+ + },
24
+ + "tntd"
25
+ + ],
26
+ ```
27
+
28
+ 2. 更改 webpack.config.js 中的主题配置
29
+
30
+ ```diff title="webpack.config.js"
31
+ {
32
+ loader: "less-loader",
33
+ options: {
34
+ javascriptEnabled: true,
35
+ ...
36
+ modifyVars: {
37
+ - hack: "true; @import \"~@tntd/antd-cover/tnt.less\";"
38
+ + hack: "true; @import \"~tntd/themes/default/variables.less\";"
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ 3. 修改导入名称
45
+
46
+ Layout, Icon, Select 等 tntd 1.0 组件和 antd 组件名称存在冲突,请按下方例子进行重命名:
47
+
48
+ ```diff
49
+ - import { Layout, Icon, Select } from 'tntd'
50
+ + import { TntdLayout, TntdIcon, TntdSelect } from 'tntd'
51
+ ```
52
+
53
+ 4. 更改配置
54
+
55
+ ```jsx
56
+ // 使用全新的空状态插画
57
+ import { renderEmpty } from 'tntd'
58
+ // 使用内置语言包替换 antd
59
+ // 英文语言包
60
+ const enUS = import 'tntd/es/locale/en_US'
61
+ // 中文语言包
62
+ const zhCN = import 'tntd/es/locale/zh_CN'
63
+
64
+ export const App = () => {
65
+ return (
66
+ // 使用空状态插画及语言包
67
+ <ConfigProvider locale={zhCN} renderEmpty={renderEmpty}>
68
+ ...
69
+ </ConfigProvider>
70
+ )
71
+ }
72
+ ```
@@ -0,0 +1,26 @@
1
+ import classNames from 'classnames';
2
+ import React from 'react';
3
+ import './index.less';
4
+ const ProCardActions = props => {
5
+ const {
6
+ actions,
7
+ prefixCls
8
+ } = props;
9
+ if (Array.isArray(actions) && (actions === null || actions === void 0 ? void 0 : actions.length)) {
10
+ return React.createElement("ul", {
11
+ className: classNames(`${prefixCls}-actions`)
12
+ }, actions.map((action, index) => React.createElement("li", {
13
+ style: {
14
+ width: `${100 / actions.length}%`,
15
+ padding: 0,
16
+ margin: 0
17
+ },
18
+ key: `action-${index}`,
19
+ className: classNames(`${prefixCls}-actions-item`)
20
+ }, action)));
21
+ }
22
+ return React.createElement("ul", {
23
+ className: classNames(`${prefixCls}-actions`)
24
+ }, actions);
25
+ };
26
+ export default ProCardActions;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,cAAc,CAAA;AAarB,MAAM,cAAc,GAAkC,CAAC,KAAK,EAAE,EAAE;IAC9D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAEpC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;QAC7C,OAAO,CACL,4BAAI,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS,UAAU,CAAC,IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,4BACE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EACnE,GAAG,EAAE,UAAU,KAAK,EAAE,EACtB,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS,eAAe,CAAC,IAEjD,MAAM,CACJ,CACN,CAAC,CACC,CACN,CAAA;KACF;IACD,OAAO,4BAAI,SAAS,EAAE,UAAU,CAAC,GAAG,SAAS,UAAU,CAAC,IAAG,OAAO,CAAM,CAAA;AAC1E,CAAC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["import classNames from 'classnames'\nimport React from 'react'\nimport './index.less'\n\nexport interface ProCardActionsProps {\n /**\n * 自定义前缀\n *\n * @ignore\n */\n prefixCls?: string\n /** 操作按钮 */\n actions?: React.ReactNode[] | React.ReactNode\n}\n\nconst ProCardActions: React.FC<ProCardActionsProps> = (props) => {\n const { actions, prefixCls } = props\n\n if (Array.isArray(actions) && actions?.length) {\n return (\n <ul className={classNames(`${prefixCls}-actions`)}>\n {actions.map((action, index) => (\n <li\n style={{ width: `${100 / actions.length}%`, padding: 0, margin: 0 }}\n key={`action-${index}`}\n className={classNames(`${prefixCls}-actions-item`)}\n >\n {action}\n </li>\n ))}\n </ul>\n )\n }\n return <ul className={classNames(`${prefixCls}-actions`)}>{actions}</ul>\n}\n\nexport default ProCardActions\n"]}
@@ -0,0 +1,70 @@
1
+ .tntd-card-actions {
2
+ margin-block:0;
3
+ margin-inline:0;
4
+ padding-block:0;
5
+ padding-inline:0;
6
+ list-style:none;
7
+ display:flex;
8
+ gap:8px;
9
+ background:#ffffff;
10
+ border-block-start:1px solid rgba(5,5,5,0.06);
11
+ min-height:42px;
12
+ }
13
+ .tntd-card-actions>* {
14
+ align-items:center;
15
+ justify-content:center;
16
+ flex:1;
17
+ display:flex;
18
+ cursor:pointer;
19
+ color:rgba(42,46,54,0.65);
20
+ transition:color 0.3s;
21
+ }
22
+ .tntd-card-actions>*:hover {
23
+ color:#468fff;
24
+ }
25
+ .tntd-card-actions>li>div {
26
+ flex:1;
27
+ width:100%;
28
+ margin-block:12px;
29
+ margin-inline:0;
30
+ color:rgba(42,46,54,0.65);
31
+ text-align:center;
32
+ }
33
+ .tntd-card-actions>li>div a {
34
+ color:rgba(42,46,54,0.65);
35
+ transition:color 0.3s;
36
+ }
37
+ .tntd-card-actions>li>div a:hover {
38
+ color:#468fff;
39
+ }
40
+ .tntd-card-actions>li>div div {
41
+ position:relative;
42
+ display:block;
43
+ min-width:32px;
44
+ font-size:14px;
45
+ line-height:1.5714285714285714;
46
+ cursor:pointer;
47
+ }
48
+ .tntd-card-actions>li>div div:hover {
49
+ color:#468fff;
50
+ transition:color 0.3s;
51
+ }
52
+ .tntd-card-actions>li>div div a:not(.ant-btn),
53
+ .tntd-card-actions>li>div div >.anticon {
54
+ display:inline-block;
55
+ width:100%;
56
+ color:rgba(42,46,54,0.65);
57
+ line-height:22px;
58
+ transition:color 0.3s;
59
+ }
60
+ .tntd-card-actions>li>div div a:not(.ant-btn):hover,
61
+ .tntd-card-actions>li>div div >.anticon:hover {
62
+ color:#468fff;
63
+ }
64
+ .tntd-card-actions>li>div div .anticon {
65
+ font-size:16px;
66
+ line-height:22px;
67
+ }
68
+ .tntd-card-actions>li>div:not(:last-child) {
69
+ border-inline-end:1px solid rgba(5,5,5,0.06);
70
+ }
@@ -1,4 +1,8 @@
1
- import Cascader from 'antd/es/cascader';
1
+ import AntdCascader from 'antd/es/cascader';
2
+ import { connectReadonlyComponent } from '../connect';
3
+ import { PreviewText } from '../preview-text';
2
4
  import 'antd/es/cascader/style';
3
5
  export * from 'antd/es/cascader';
6
+ // @ts-ignore
7
+ export const Cascader = connectReadonlyComponent(AntdCascader, PreviewText.Cascader);
4
8
  export default Cascader;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cascader/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AAEvC,OAAO,wBAAwB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAEhC,eAAe,QAAQ,CAAA","sourcesContent":["import Cascader from 'antd/es/cascader'\n\nimport 'antd/es/cascader/style'\n\nexport * from 'antd/es/cascader'\n\nexport default Cascader\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cascader/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,wBAAwB,CAAA;AAE/B,cAAc,kBAAkB,CAAA;AAMhC,aAAa;AACb,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;AAEpF,eAAe,QAAQ,CAAA","sourcesContent":["import AntdCascader from 'antd/es/cascader'\nimport type { CascaderProps as AntdCascaderProps } from 'antd/es/cascader'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nimport 'antd/es/cascader/style'\n\nexport * from 'antd/es/cascader'\n\nexport type CascaderProps = AntdCascaderProps & {\n readonly?: boolean\n}\n\n// @ts-ignore\nexport const Cascader = connectReadonlyComponent(AntdCascader, PreviewText.Cascader)\n\nexport default Cascader\n"]}
@@ -0,0 +1,197 @@
1
+ import _omit from "lodash/omit";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
9
+ };
10
+ import useMountMergeState from 'rc-util/lib/hooks/useMergedState';
11
+ import { Col, Row } from '../index';
12
+ import classNames from 'classnames';
13
+ import React, { createContext, useCallback, useMemo, useRef } from 'react';
14
+ import CheckCard from './index';
15
+ export const CardLoading = ({
16
+ prefixCls
17
+ }) => {
18
+ const loadingBlockClass = `${prefixCls}-loading-block`;
19
+ return React.createElement("div", {
20
+ className: `${prefixCls}-loading-content`
21
+ }, React.createElement(Row, {
22
+ gutter: {
23
+ xs: 8,
24
+ sm: 8,
25
+ md: 8,
26
+ lg: 12
27
+ }
28
+ }, React.createElement(Col, {
29
+ span: 22
30
+ }, React.createElement("div", {
31
+ className: loadingBlockClass
32
+ }))), React.createElement(Row, {
33
+ gutter: 8
34
+ }, React.createElement(Col, {
35
+ span: 8
36
+ }, React.createElement("div", {
37
+ className: loadingBlockClass
38
+ })), React.createElement(Col, {
39
+ span: 14
40
+ }, React.createElement("div", {
41
+ className: loadingBlockClass
42
+ }))), React.createElement(Row, {
43
+ gutter: 8
44
+ }, React.createElement(Col, {
45
+ span: 6
46
+ }, React.createElement("div", {
47
+ className: loadingBlockClass
48
+ })), React.createElement(Col, {
49
+ span: 16
50
+ }, React.createElement("div", {
51
+ className: loadingBlockClass
52
+ }))), React.createElement(Row, {
53
+ gutter: 8
54
+ }, React.createElement(Col, {
55
+ span: 13
56
+ }, React.createElement("div", {
57
+ className: loadingBlockClass
58
+ })), React.createElement(Col, {
59
+ span: 9
60
+ }, React.createElement("div", {
61
+ className: loadingBlockClass
62
+ }))), React.createElement(Row, {
63
+ gutter: 8
64
+ }, React.createElement(Col, {
65
+ span: 4
66
+ }, React.createElement("div", {
67
+ className: loadingBlockClass
68
+ })), React.createElement(Col, {
69
+ span: 3
70
+ }, React.createElement("div", {
71
+ className: loadingBlockClass
72
+ })), React.createElement(Col, {
73
+ span: 14
74
+ }, React.createElement("div", {
75
+ className: loadingBlockClass
76
+ }))));
77
+ };
78
+ export const CheckCardGroupConnext = createContext(null);
79
+ const CheckCardGroup = props => {
80
+ const {
81
+ prefixCls: customizePrefixCls,
82
+ className,
83
+ style,
84
+ options = [],
85
+ loading = false,
86
+ multiple = false,
87
+ bordered = true,
88
+ onChange
89
+ } = props,
90
+ restProps = __rest(props, ["prefixCls", "className", "style", "options", "loading", "multiple", "bordered", "onChange"]);
91
+ const getOptions = useCallback(() => {
92
+ return options === null || options === void 0 ? void 0 : options.map(option => {
93
+ if (typeof option === 'string') {
94
+ return {
95
+ title: option,
96
+ value: option
97
+ };
98
+ }
99
+ return option;
100
+ });
101
+ }, [options]);
102
+ const prefixCls = 'tntd-checkcard';
103
+ const groupPrefixCls = `${prefixCls}-group`;
104
+ const domProps = _omit(restProps, ['children', 'defaultValue', 'value', 'disabled', 'size']);
105
+ const [stateValue, setStateValue] = useMountMergeState(props.defaultValue, {
106
+ value: props.value,
107
+ onChange: props.onChange
108
+ });
109
+ const registerValueMap = useRef(new Map());
110
+ const registerValue = value => {
111
+ var _a;
112
+ (_a = registerValueMap.current) === null || _a === void 0 ? void 0 : _a.set(value, true);
113
+ };
114
+ const cancelValue = value => {
115
+ var _a;
116
+ (_a = registerValueMap.current) === null || _a === void 0 ? void 0 : _a.delete(value);
117
+ };
118
+ const toggleOption = option => {
119
+ var _a;
120
+ if (!multiple) {
121
+ let changeValue;
122
+ changeValue = stateValue;
123
+ // 单选模式
124
+ if (changeValue === option.value) {
125
+ changeValue = undefined;
126
+ } else {
127
+ changeValue = option.value;
128
+ }
129
+ setStateValue === null || setStateValue === void 0 ? void 0 : setStateValue(changeValue);
130
+ }
131
+ if (multiple) {
132
+ let changeValue = [];
133
+ const stateValues = stateValue;
134
+ const hasOption = stateValues === null || stateValues === void 0 ? void 0 : stateValues.includes(option.value);
135
+ changeValue = [...(stateValues || [])];
136
+ if (!hasOption) {
137
+ changeValue.push(option.value);
138
+ }
139
+ if (hasOption) {
140
+ changeValue = changeValue.filter(itemValue => itemValue !== option.value);
141
+ }
142
+ const newOptions = getOptions();
143
+ const newValue = (_a = changeValue === null || changeValue === void 0 ? void 0 : changeValue.filter(val => registerValueMap.current.has(val))) === null || _a === void 0 ? void 0 : _a.sort((a, b) => {
144
+ const indexA = newOptions.findIndex(opt => opt.value === a);
145
+ const indexB = newOptions.findIndex(opt => opt.value === b);
146
+ return indexA - indexB;
147
+ });
148
+ setStateValue(newValue);
149
+ }
150
+ };
151
+ const children = useMemo(() => {
152
+ if (loading) {
153
+ return new Array(options.length || React.Children.toArray(props.children).length || 1).fill(0).map((_, index) => React.createElement(CheckCard, {
154
+ key: index,
155
+ loading: true
156
+ }));
157
+ }
158
+ if (options && options.length > 0) {
159
+ const optionValue = stateValue;
160
+ return getOptions().map(option => {
161
+ var _a;
162
+ return React.createElement(CheckCard, {
163
+ key: option.value.toString(),
164
+ disabled: option.disabled,
165
+ size: (_a = option.size) !== null && _a !== void 0 ? _a : props.size,
166
+ value: option.value,
167
+ checked: multiple ? optionValue === null || optionValue === void 0 ? void 0 : optionValue.includes(option.value) : optionValue === option.value,
168
+ onChange: option.onChange,
169
+ title: option.title,
170
+ avatar: option.avatar,
171
+ description: option.description,
172
+ cover: option.cover
173
+ });
174
+ });
175
+ }
176
+ return props.children;
177
+ }, [getOptions, loading, multiple, options, props.children, props.size, stateValue]);
178
+ const classString = classNames(groupPrefixCls, className);
179
+ return React.createElement(CheckCardGroupConnext.Provider, {
180
+ value: {
181
+ toggleOption,
182
+ bordered,
183
+ value: stateValue,
184
+ disabled: props.disabled,
185
+ size: props.size,
186
+ loading: props.loading,
187
+ multiple: props.multiple,
188
+ // https://github.com/ant-design/ant-design/issues/16376
189
+ registerValue,
190
+ cancelValue
191
+ }
192
+ }, React.createElement("div", Object.assign({
193
+ className: classString,
194
+ style: style
195
+ }, domProps), children));
196
+ };
197
+ export default CheckCardGroup;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/check-card/group.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMountMergeState from 'rc-util/lib/hooks/useMergedState'\nimport { Col, ConfigProvider, Row } from '../index'\n\nimport classNames from 'classnames'\nimport { omit } from 'lodash'\n\nimport React, { createContext, useCallback, useMemo, useRef } from 'react'\nimport CheckCard from './index'\n\nexport type CheckCardValueType = string | number | boolean\n\nexport type CheckGroupValueType = CheckCardValueType[] | CheckCardValueType | undefined\n\nexport interface CheckCardOptionType {\n /**\n * 标题展示\n *\n * @title 标题\n */\n title?: React.ReactNode\n /**\n * 选项值\n *\n * @title 值\n */\n value: CheckCardValueType\n /**\n * 描述展示\n *\n * @title 描述\n */\n description?: React.ReactNode\n /**\n * 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高\n *\n * @default default\n * @title 组件尺寸\n */\n size?: 'large' | 'default' | 'small'\n /**\n * 左侧头像展示,可以是一个链接也可以是是一个 ReactNode\n *\n * @title 左侧头像区域\n */\n avatar?: React.ReactNode\n /**\n * 图片封面默认,该模式下其他展示值被忽略\n *\n * @title 图片封面\n */\n cover?: React.ReactNode\n /**\n * 不可用\n *\n * @default false\n * @title 不可用\n */\n disabled?: boolean\n /** Change 回调 */\n onChange?: (checked: boolean) => void\n}\n\nexport interface AbstractCheckCardGroupProps {\n /** @ignore */\n prefixCls?: string\n /** @ignore */\n className?: string\n /** 指定可选项 */\n options?: (CheckCardOptionType | string)[]\n /** 整组失效 */\n disabled?: boolean\n /** @ignore */\n style?: React.CSSProperties\n /**\n * 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高\n *\n * @default default\n */\n size?: 'large' | 'default' | 'small'\n\n /**\n * @acceptions CheckCard\n * @ignore\n */\n children?: React.ReactNode\n}\n\nexport const CardLoading: React.FC<{\n prefixCls: string\n}> = ({ prefixCls }) => {\n const loadingBlockClass = `${prefixCls}-loading-block`\n return (\n <div className={`${prefixCls}-loading-content`}>\n <Row\n gutter={{\n xs: 8,\n sm: 8,\n md: 8,\n lg: 12,\n }}\n >\n <Col span={22}>\n <div className={loadingBlockClass} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={8}>\n <div className={loadingBlockClass} />\n </Col>\n <Col span={14}>\n <div className={loadingBlockClass} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={6}>\n <div className={loadingBlockClass} />\n </Col>\n <Col span={16}>\n <div className={loadingBlockClass} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={13}>\n <div className={loadingBlockClass} />\n </Col>\n <Col span={9}>\n <div className={loadingBlockClass} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={4}>\n <div className={loadingBlockClass} />\n </Col>\n <Col span={3}>\n <div className={loadingBlockClass} />\n </Col>\n <Col span={14}>\n <div className={loadingBlockClass} />\n </Col>\n </Row>\n </div>\n )\n}\n\nexport interface CheckCardGroupProps extends AbstractCheckCardGroupProps {\n /**\n * 是否多选\n *\n * @title 是否多选\n */\n multiple?: boolean\n /**\n * 默认选中的选项\n *\n * @title 默认选中的选项\n */\n defaultValue?: CheckGroupValueType\n /**\n * 指定选中的选项\n *\n * @title 指定选中的选项\n */\n value?: CheckGroupValueType\n /**\n * 当卡片组内容还在加载中时,可以用 loading 展示一个占位\n *\n * @title 加载中\n */\n loading?: boolean\n /**\n * 是否显示边框\n *\n * @title 显示边框\n */\n bordered?: boolean\n /** 变化时回调函数 */\n onChange?: (checkedValue: CheckGroupValueType) => void\n}\n\nexport interface CheckCardGroupState {\n value: CheckGroupValueType\n registeredValues: CheckCardValueType[]\n}\n\nexport interface CheckCardGroupConnextType {\n toggleOption?: (option: CheckCardOptionType) => void\n value?: any\n disabled?: boolean\n size?: 'default' | 'large' | 'small'\n loading?: boolean\n bordered?: boolean\n multiple?: boolean\n registerValue?: (value: any) => void\n cancelValue?: (value: any) => void\n}\n\nexport const CheckCardGroupConnext = createContext<CheckCardGroupConnextType | null>(null)\n\nconst CheckCardGroup: React.FC<CheckCardGroupProps> = (props) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n options = [],\n loading = false,\n multiple = false,\n bordered = true,\n onChange,\n ...restProps\n } = props\n\n const getOptions = useCallback(() => {\n return (options as CheckCardOptionType[])?.map((option) => {\n if (typeof option === 'string') {\n return {\n title: option,\n value: option,\n } as CheckCardOptionType\n }\n return option\n })\n }, [options])\n\n const prefixCls = 'tntd-checkcard'\n const groupPrefixCls = `${prefixCls}-group`\n const domProps = omit(restProps, ['children', 'defaultValue', 'value', 'disabled', 'size'])\n\n const [stateValue, setStateValue] = useMountMergeState<\n CheckCardValueType[] | CheckCardValueType | undefined\n >(props.defaultValue, {\n value: props.value,\n onChange: props.onChange,\n })\n\n const registerValueMap = useRef<Map<CheckCardValueType, any>>(new Map())\n\n const registerValue = (value: string) => {\n registerValueMap.current?.set(value, true)\n }\n\n const cancelValue = (value: string) => {\n registerValueMap.current?.delete(value)\n }\n\n const toggleOption = (option: CheckCardOptionType) => {\n if (!multiple) {\n let changeValue\n\n changeValue = stateValue\n // 单选模式\n if (changeValue === option.value) {\n changeValue = undefined\n } else {\n changeValue = option.value\n }\n setStateValue?.(changeValue)\n }\n\n if (multiple) {\n let changeValue = []\n const stateValues = stateValue as CheckCardValueType[]\n const hasOption = stateValues?.includes(option.value)\n changeValue = [...(stateValues || [])]\n if (!hasOption) {\n changeValue.push(option.value)\n }\n if (hasOption) {\n changeValue = changeValue.filter((itemValue) => itemValue !== option.value)\n }\n const newOptions = getOptions()\n const newValue = changeValue\n ?.filter((val) => registerValueMap.current.has(val))\n ?.sort((a, b) => {\n const indexA = newOptions.findIndex((opt) => opt.value === a)\n const indexB = newOptions.findIndex((opt) => opt.value === b)\n return indexA - indexB\n })\n\n setStateValue(newValue)\n }\n }\n\n const children = useMemo((): React.ReactNode => {\n if (loading) {\n return new Array(options.length || React.Children.toArray(props.children).length || 1)\n .fill(0)\n .map((_, index) => <CheckCard key={index} loading />) as React.ReactNode[]\n }\n\n if (options && options.length > 0) {\n const optionValue = stateValue as CheckCardValueType[] | CheckCardValueType\n return getOptions().map((option) => (\n <CheckCard\n key={option.value.toString()}\n disabled={option.disabled}\n size={option.size ?? props.size}\n value={option.value}\n checked={\n multiple\n ? (optionValue as CheckCardValueType[])?.includes(option.value)\n : (optionValue as CheckCardValueType) === option.value\n }\n onChange={option.onChange}\n title={option.title}\n avatar={option.avatar}\n description={option.description}\n cover={option.cover}\n />\n )) as React.ReactNode[]\n }\n return props.children as React.ReactNode\n }, [getOptions, loading, multiple, options, props.children, props.size, stateValue])\n\n const classString = classNames(groupPrefixCls, className)\n\n return (\n <CheckCardGroupConnext.Provider\n value={{\n toggleOption,\n bordered,\n value: stateValue,\n disabled: props.disabled,\n size: props.size,\n loading: props.loading,\n multiple: props.multiple,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue,\n }}\n >\n <div className={classString} style={style} {...domProps}>\n {children}\n </div>\n </CheckCardGroupConnext.Provider>\n )\n}\n\nexport default CheckCardGroup\n"]}
@@ -0,0 +1,163 @@
1
+ import "antd/es/avatar/style";
2
+ import _Avatar from "antd/es/avatar";
3
+ var __rest = this && this.__rest || function (s, e) {
4
+ var t = {};
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+ import useMountMergeState from 'rc-util/lib/hooks/useMergedState';
12
+ import classNames from 'classnames';
13
+ import React, { useContext, useEffect, useMemo } from 'react';
14
+ import ProCardActions from '../actions';
15
+ import CheckCardGroup, { CardLoading, CheckCardGroupConnext } from './group';
16
+ import './index.less';
17
+ const CheckCard = props => {
18
+ var _a;
19
+ const [stateChecked, setStateChecked] = useMountMergeState(props.defaultChecked || false, {
20
+ value: props.checked,
21
+ onChange: props.onChange
22
+ });
23
+ const checkCardGroup = useContext(CheckCardGroupConnext);
24
+ const handleClick = e => {
25
+ var _a, _b;
26
+ (_a = props === null || props === void 0 ? void 0 : props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
27
+ const newChecked = !stateChecked;
28
+ (_b = checkCardGroup === null || checkCardGroup === void 0 ? void 0 : checkCardGroup.toggleOption) === null || _b === void 0 ? void 0 : _b.call(checkCardGroup, {
29
+ value: props.value
30
+ });
31
+ setStateChecked === null || setStateChecked === void 0 ? void 0 : setStateChecked(newChecked, e);
32
+ };
33
+ // small => sm large => lg
34
+ const getSizeCls = size => {
35
+ if (size === 'large') return 'lg';
36
+ if (size === 'small') return 'sm';
37
+ return '';
38
+ };
39
+ useEffect(() => {
40
+ var _a;
41
+ (_a = checkCardGroup === null || checkCardGroup === void 0 ? void 0 : checkCardGroup.registerValue) === null || _a === void 0 ? void 0 : _a.call(checkCardGroup, props.value);
42
+ return () => {
43
+ var _a;
44
+ return (_a = checkCardGroup === null || checkCardGroup === void 0 ? void 0 : checkCardGroup.cancelValue) === null || _a === void 0 ? void 0 : _a.call(checkCardGroup, props.value);
45
+ };
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ }, [props.value]);
48
+ /**
49
+ * 头像自定义
50
+ *
51
+ * @param prefixCls
52
+ * @param cover
53
+ * @returns
54
+ */
55
+ const renderCover = (prefixCls, cover) => {
56
+ return React.createElement("div", {
57
+ className: `${prefixCls}-cover`
58
+ }, typeof cover === 'string' ? React.createElement("img", {
59
+ src: cover,
60
+ alt: "tntd-checkcard"
61
+ }) : cover);
62
+ };
63
+ const {
64
+ prefixCls: customizePrefixCls,
65
+ className,
66
+ avatar,
67
+ title,
68
+ description,
69
+ cover,
70
+ extra,
71
+ style = {}
72
+ } = props,
73
+ others = __rest(props, ["prefixCls", "className", "avatar", "title", "description", "cover", "extra", "style"]);
74
+ const checkCardProps = Object.assign({}, others);
75
+ const prefixCls = 'tntd-checkcard';
76
+ checkCardProps.checked = stateChecked;
77
+ let multiple = false;
78
+ if (checkCardGroup) {
79
+ // 受组控制模式
80
+ checkCardProps.disabled = props.disabled || checkCardGroup.disabled;
81
+ checkCardProps.loading = props.loading || checkCardGroup.loading;
82
+ checkCardProps.bordered = props.bordered || checkCardGroup.bordered;
83
+ multiple = checkCardGroup.multiple;
84
+ const isChecked = checkCardGroup.multiple ? (_a = checkCardGroup.value) === null || _a === void 0 ? void 0 : _a.includes(props.value) : checkCardGroup.value === props.value;
85
+ // loading时check为false
86
+ checkCardProps.checked = checkCardProps.loading ? false : isChecked;
87
+ checkCardProps.size = props.size || checkCardGroup.size;
88
+ }
89
+ const {
90
+ disabled = false,
91
+ size,
92
+ loading: cardLoading,
93
+ bordered = true,
94
+ checked
95
+ } = checkCardProps;
96
+ const sizeCls = getSizeCls(size);
97
+ const classString = classNames(prefixCls, className, {
98
+ [`${prefixCls}-loading`]: cardLoading,
99
+ [`${prefixCls}-${sizeCls}`]: sizeCls,
100
+ [`${prefixCls}-checked`]: checked,
101
+ [`${prefixCls}-multiple`]: multiple,
102
+ [`${prefixCls}-disabled`]: disabled,
103
+ [`${prefixCls}-bordered`]: bordered,
104
+ [`${prefixCls}-ghost`]: props.ghost
105
+ });
106
+ const metaDom = useMemo(() => {
107
+ if (cardLoading) {
108
+ return React.createElement(CardLoading, {
109
+ prefixCls: prefixCls || ''
110
+ });
111
+ }
112
+ if (cover) {
113
+ return renderCover(prefixCls || '', cover);
114
+ }
115
+ const avatarDom = avatar ? React.createElement("div", {
116
+ className: `${prefixCls}-avatar`
117
+ }, typeof avatar === 'string' ? React.createElement(_Avatar, {
118
+ size: 48,
119
+ shape: "square",
120
+ src: avatar
121
+ }) : avatar) : null;
122
+ const headerDom = (title !== null && title !== void 0 ? title : extra) != null && React.createElement("div", {
123
+ className: `${prefixCls}-header`
124
+ }, React.createElement("div", {
125
+ className: `${prefixCls}-header-left`
126
+ }, React.createElement("div", {
127
+ className: `${prefixCls}-title`
128
+ }, title), props.subTitle ? React.createElement("div", {
129
+ className: `${prefixCls}-subTitle`
130
+ }, props.subTitle) : null), extra && React.createElement("div", {
131
+ className: `${prefixCls}-extra`
132
+ }, extra));
133
+ const descriptionDom = description ? React.createElement("div", {
134
+ className: `${prefixCls}-description`
135
+ }, description) : null;
136
+ const metaClass = classNames(`${prefixCls}-content`, {
137
+ [`${prefixCls}-avatar-header`]: avatarDom && headerDom && !descriptionDom
138
+ });
139
+ return React.createElement("div", {
140
+ className: metaClass
141
+ }, avatarDom, headerDom || descriptionDom ? React.createElement("div", {
142
+ className: `${prefixCls}-detail`
143
+ }, headerDom, descriptionDom) : null);
144
+ }, [avatar, cardLoading, cover, description, extra, prefixCls, props.subTitle, title]);
145
+ return React.createElement("div", {
146
+ className: classString,
147
+ style: style,
148
+ onClick: e => {
149
+ if (!cardLoading && !disabled) {
150
+ handleClick(e);
151
+ }
152
+ },
153
+ onMouseEnter: props.onMouseEnter
154
+ }, metaDom, props.children ? React.createElement("div", {
155
+ className: classNames(`${prefixCls}-body`),
156
+ style: props.bodyStyle
157
+ }, props.children) : null, props.actions ? React.createElement(ProCardActions, {
158
+ actions: props.actions,
159
+ prefixCls: prefixCls
160
+ }) : null);
161
+ };
162
+ CheckCard.Group = CheckCardGroup;
163
+ export default CheckCard;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/check-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import useMountMergeState from 'rc-util/lib/hooks/useMergedState'\nimport { Avatar, ConfigProvider } from 'antd'\nimport classNames from 'classnames'\nimport type { MouseEventHandler } from 'react'\nimport React, { useContext, useEffect, useMemo } from 'react'\nimport ProCardActions from '../actions'\nimport type { CheckCardGroupProps } from './group'\nimport CheckCardGroup, { CardLoading, CheckCardGroupConnext } from './group'\nimport './index.less'\n\ninterface CheckCardProps {\n /**\n * 自定义前缀\n *\n * @ignore\n */\n prefixCls?: string\n /** Change 回调 */\n onChange?: (checked: boolean) => void\n /** Click 回调 */\n onClick?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /** 鼠标进入时的回调 */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>\n /** 鼠标出来时的回调 */\n onMouseLeave?: (event: MouseEventHandler<HTMLDivElement> | undefined) => void\n /**\n * 默认是否勾选\n *\n * @default false\n * @title 默认勾选\n */\n defaultChecked?: boolean\n /**\n * 强制勾选\n *\n * @default false\n * @title 强制勾选\n */\n checked?: boolean\n /**\n * 不可用\n *\n * @default false\n * @title 禁用\n */\n disabled?: boolean\n /**\n * 选项卡样式\n *\n * @ignore\n */\n style?: React.CSSProperties\n /**\n * 选项卡 className\n *\n * @ignore\n */\n className?: string\n /**\n * 左侧头像展示,可以是一个链接也可以是是一个 ReactNode\n *\n * @title 头像\n */\n avatar?: React.ReactNode\n /**\n * 标题展示\n *\n * @title 标题\n */\n title?: React.ReactNode\n /**\n * 二级标题展示\n *\n * @title 二级标题\n */\n subTitle?: React.ReactNode\n /**\n * 描述展示\n *\n * @title 描述\n */\n description?: React.ReactNode\n /**\n * 选项值\n *\n * @title 值\n */\n value?: any\n /**\n * 内容是否在加载中\n *\n * @default false\n * @title 加载中\n */\n loading?: boolean\n /**\n * 图片封面默认,该模式下其他展示值被忽略\n *\n * @title 卡片背景图片\n */\n cover?: React.ReactNode\n /**\n * 组件尺寸,支持大,中,小三种默认尺寸,用户可以自定义宽高\n *\n * @default default\n * @title 选择框大小\n */\n size?: 'large' | 'default' | 'small'\n /**\n * 是否显示边框\n *\n * @default true\n * @title 显示边框\n */\n bordered?: boolean\n /**\n * 卡片右上角的操作区域\n *\n * @title 操作栏\n */\n extra?: React.ReactNode\n\n children?: React.ReactNode\n /**\n * 内容区域的样式设计\n */\n bodyStyle?: React.CSSProperties\n /**\n * 右下角的操作区\n */\n actions?: React.ReactNode[]\n\n ghost?: boolean\n}\n\nexport interface CheckCardState {\n checked: boolean\n}\n\nconst CheckCard: React.FC<CheckCardProps> & {\n Group: typeof CheckCardGroup\n} = (props) => {\n const [stateChecked, setStateChecked] = useMountMergeState<boolean>(\n props.defaultChecked || false,\n {\n value: props.checked,\n onChange: props.onChange,\n }\n )\n const checkCardGroup = useContext(CheckCardGroupConnext)\n\n const handleClick = (e: any) => {\n props?.onClick?.(e)\n const newChecked = !stateChecked\n checkCardGroup?.toggleOption?.({ value: props.value })\n setStateChecked?.(newChecked, e)\n }\n\n // small => sm large => lg\n const getSizeCls = (size?: string) => {\n if (size === 'large') return 'lg'\n if (size === 'small') return 'sm'\n return ''\n }\n\n useEffect(() => {\n checkCardGroup?.registerValue?.(props.value)\n return () => checkCardGroup?.cancelValue?.(props.value)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value])\n\n /**\n * 头像自定义\n *\n * @param prefixCls\n * @param cover\n * @returns\n */\n const renderCover = (prefixCls: string, cover: string | React.ReactNode) => {\n return (\n <div className={`${prefixCls}-cover`}>\n {typeof cover === 'string' ? <img src={cover} alt=\"tntd-checkcard\" /> : cover}\n </div>\n )\n }\n\n const {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description,\n cover,\n extra,\n style = {},\n ...others\n } = props\n\n const checkCardProps: CheckCardProps = { ...others }\n const prefixCls = 'tntd-checkcard'\n checkCardProps.checked = stateChecked\n\n let multiple: boolean | undefined = false\n\n if (checkCardGroup) {\n // 受组控制模式\n checkCardProps.disabled = props.disabled || checkCardGroup.disabled\n checkCardProps.loading = props.loading || checkCardGroup.loading\n checkCardProps.bordered = props.bordered || checkCardGroup.bordered\n\n multiple = checkCardGroup.multiple\n\n const isChecked = checkCardGroup.multiple\n ? checkCardGroup.value?.includes(props.value)\n : checkCardGroup.value === props.value\n\n // loading时check为false\n checkCardProps.checked = checkCardProps.loading ? false : isChecked\n checkCardProps.size = props.size || checkCardGroup.size\n }\n\n const { disabled = false, size, loading: cardLoading, bordered = true, checked } = checkCardProps\n const sizeCls = getSizeCls(size)\n\n const classString = classNames(prefixCls, className, {\n [`${prefixCls}-loading`]: cardLoading,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-multiple`]: multiple,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-ghost`]: props.ghost,\n })\n\n const metaDom = useMemo(() => {\n if (cardLoading) {\n return <CardLoading prefixCls={prefixCls || ''} />\n }\n\n if (cover) {\n return renderCover(prefixCls || '', cover)\n }\n\n const avatarDom = avatar ? (\n <div className={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <Avatar size={48} shape=\"square\" src={avatar} /> : avatar}\n </div>\n ) : null\n\n const headerDom = (title ?? extra) != null && (\n <div className={`${prefixCls}-header`}>\n <div className={`${prefixCls}-header-left`}>\n <div className={`${prefixCls}-title`}>{title}</div>\n {props.subTitle ? <div className={`${prefixCls}-subTitle`}>{props.subTitle}</div> : null}\n </div>\n {extra && <div className={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n )\n\n const descriptionDom = description ? (\n <div className={`${prefixCls}-description`}>{description}</div>\n ) : null\n\n const metaClass = classNames(`${prefixCls}-content`, {\n [`${prefixCls}-avatar-header`]: avatarDom && headerDom && !descriptionDom,\n })\n\n return (\n <div className={metaClass}>\n {avatarDom}\n {headerDom || descriptionDom ? (\n <div className={`${prefixCls}-detail`}>\n {headerDom}\n {descriptionDom}\n </div>\n ) : null}\n </div>\n )\n }, [avatar, cardLoading, cover, description, extra, prefixCls, props.subTitle, title])\n\n return (\n <div\n className={classString}\n style={style}\n onClick={(e) => {\n if (!cardLoading && !disabled) {\n handleClick(e)\n }\n }}\n onMouseEnter={props.onMouseEnter}\n >\n {metaDom}\n {props.children ? (\n <div className={classNames(`${prefixCls}-body`)} style={props.bodyStyle}>\n {props.children}\n </div>\n ) : null}\n {props.actions ? <ProCardActions actions={props.actions} prefixCls={prefixCls} /> : null}\n </div>\n )\n}\n\nCheckCard.Group = CheckCardGroup\n\nexport type { CheckCardGroupProps, CheckCardProps }\n\nexport default CheckCard\n"]}