tntd 2.7.2 → 2.7.4

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 (428) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +72 -0
  3. package/es/actions/index.js +12 -0
  4. package/es/actions/index.js.map +1 -0
  5. package/es/actions/index.less +70 -0
  6. package/es/affix/index.js +2 -1
  7. package/es/alert/index.js +2 -1
  8. package/es/anchor/index.js +2 -1
  9. package/es/array-input/icon.js +6 -24
  10. package/es/array-input/index.js +119 -203
  11. package/es/auth-context/index.js +2 -1
  12. package/es/auto-complete/index.js +2 -1
  13. package/es/avatar/index.js +2 -1
  14. package/es/back-top/index.js +2 -1
  15. package/es/badge/index.js +2 -1
  16. package/es/breadcrumb/index.js +2 -1
  17. package/es/button/index.js +2 -1
  18. package/es/calendar/index.js +2 -1
  19. package/es/card/index.js +2 -1
  20. package/es/carousel/index.js +2 -1
  21. package/es/cascader/index.js +2 -1
  22. package/es/check-card/group.js +149 -0
  23. package/es/check-card/group.js.map +1 -0
  24. package/es/check-card/index.js +120 -0
  25. package/es/check-card/index.js.map +1 -0
  26. package/es/check-card/index.less +179 -0
  27. package/es/checkbox/checkbox-group.js +2 -1
  28. package/es/checkbox/index.js +2 -1
  29. package/es/col/index.js +2 -1
  30. package/es/collapse/index.js +2 -1
  31. package/es/color-picker/ColorPicker.js +81 -127
  32. package/es/color-picker/ColorPicker.js.map +1 -1
  33. package/es/color-picker/index.js +5 -8
  34. package/es/color-picker/index.less +5 -1
  35. package/es/columns/index.js +30 -66
  36. package/es/columns/style/index.js +2 -1
  37. package/es/comment/index.js +2 -1
  38. package/es/config-provider/DisabledContext.js +5 -9
  39. package/es/config-provider/SizeContext.js +3 -7
  40. package/es/config-provider/config-provider.js +2 -1
  41. package/es/ellipsis/index.js +13 -3
  42. package/es/ellipsis/index.js.map +1 -1
  43. package/es/ellipsis/index.less +2 -2
  44. package/es/handle/index.js +20 -9
  45. package/es/handle/index.js.map +1 -1
  46. package/es/handle/index.less +1 -1
  47. package/es/index.js +7 -0
  48. package/es/index.js.map +1 -1
  49. package/es/index.less +5 -0
  50. package/es/locale/en_US.js +3 -1
  51. package/es/locale/en_US.js.map +1 -1
  52. package/es/locale/zh_CN.js +3 -1
  53. package/es/locale/zh_CN.js.map +1 -1
  54. package/es/mention/index.js +4 -0
  55. package/es/mention/index.js.map +1 -0
  56. package/es/page/Box.js +1 -1
  57. package/es/page/Box.js.map +1 -1
  58. package/es/page/index.js +2 -2
  59. package/es/page/index.js.map +1 -1
  60. package/es/page/index.less +5 -5
  61. package/es/prev-locale.js +1 -1
  62. package/es/prev-locale.js.map +1 -1
  63. package/es/query-form/Field/SelectInput.js +2 -2
  64. package/es/query-form/Field/SelectInput.js.map +1 -1
  65. package/es/query-form/Field/index.js +2 -1
  66. package/es/query-form/Field/index.js.map +1 -1
  67. package/es/query-list-scene/QueryForm.js +2 -2
  68. package/es/query-list-scene/QueryForm.js.map +1 -1
  69. package/es/segmented/index.js +50 -0
  70. package/es/segmented/index.js.map +1 -0
  71. package/es/segmented/index.less +138 -0
  72. package/es/switch/switch.js.map +1 -1
  73. package/es/table/constants.js +53 -0
  74. package/es/table/constants.js.map +1 -1
  75. package/es/table/context.js.map +1 -1
  76. package/es/table/hooks/use-column-setting.js.map +1 -1
  77. package/es/table/table.js +107 -6
  78. package/es/table/table.js.map +1 -1
  79. package/es/table/table.less +3 -1
  80. package/es/table/total-shower.js +6 -0
  81. package/es/table/total-shower.js.map +1 -0
  82. package/es/title/index.js +5 -5
  83. package/es/title/index.js.map +1 -1
  84. package/es/title/index.less +10 -10
  85. package/es/tntd-form/Form.js +13 -1
  86. package/es/tntd-form/Form.js.map +1 -1
  87. package/es/tntd-form/TntdForm/components/Item.js +42 -30
  88. package/es/tntd-form/TntdForm/components/ItemComp.js +167 -158
  89. package/es/tntd-form/TntdForm/components/List.js +89 -78
  90. package/es/tntd-form/TntdForm/index.js +38 -33
  91. package/es/tntd-form/TntdForm/interface.js +1 -2
  92. package/es/tntd-form/TntdForm/store.js +1 -2
  93. package/es/tntd-form/TntdForm/utils.js +158 -168
  94. package/es/tntd-form/tntd-form.stories.js +7 -5
  95. package/es/tntd-form/tntd-form.stories.js.map +1 -1
  96. package/es/tntd-layout/HeaderActions.js +1 -1
  97. package/es/tntd-layout/HeaderActions.js.map +1 -1
  98. package/es/tntd-modal/index.js +54 -21
  99. package/es/tntd-modal/index.js.map +1 -1
  100. package/es/tntd-modal/index.less +83 -63
  101. package/es/tree-select/index.js.map +1 -1
  102. package/es/utils/index.js +1 -0
  103. package/es/utils/index.js.map +1 -1
  104. package/es/utils/simple-template.js +11 -0
  105. package/es/utils/simple-template.js.map +1 -0
  106. package/es/water-mark/index.js +99 -0
  107. package/es/water-mark/index.js.map +1 -0
  108. package/lib/actions/index.d.ts +15 -0
  109. package/lib/actions/index.d.ts.map +1 -0
  110. package/lib/actions/index.js +17 -0
  111. package/lib/actions/index.js.map +1 -0
  112. package/lib/actions/index.less +70 -0
  113. package/lib/check-card/group.d.ts +130 -0
  114. package/lib/check-card/group.d.ts.map +1 -0
  115. package/lib/check-card/group.js +179 -0
  116. package/lib/check-card/group.js.map +1 -0
  117. package/lib/check-card/index.d.ts +136 -0
  118. package/lib/check-card/index.d.ts.map +1 -0
  119. package/lib/check-card/index.js +148 -0
  120. package/lib/check-card/index.js.map +1 -0
  121. package/lib/check-card/index.less +179 -0
  122. package/lib/color-picker/ColorPicker.js +1 -1
  123. package/lib/color-picker/ColorPicker.js.map +1 -1
  124. package/lib/color-picker/index.less +5 -1
  125. package/lib/ellipsis/index.d.ts.map +1 -1
  126. package/lib/ellipsis/index.js +13 -3
  127. package/lib/ellipsis/index.js.map +1 -1
  128. package/lib/ellipsis/index.less +2 -2
  129. package/lib/handle/index.d.ts.map +1 -1
  130. package/lib/handle/index.js +20 -9
  131. package/lib/handle/index.js.map +1 -1
  132. package/lib/handle/index.less +1 -1
  133. package/lib/index.d.ts +7 -0
  134. package/lib/index.d.ts.map +1 -1
  135. package/lib/index.js +11 -1
  136. package/lib/index.js.map +1 -1
  137. package/lib/index.less +5 -0
  138. package/lib/locale/default.d.ts +1 -0
  139. package/lib/locale/default.d.ts.map +1 -1
  140. package/lib/locale/en_US.d.ts +1 -0
  141. package/lib/locale/en_US.d.ts.map +1 -1
  142. package/lib/locale/en_US.js +3 -1
  143. package/lib/locale/en_US.js.map +1 -1
  144. package/lib/locale/zh_CN.d.ts +1 -0
  145. package/lib/locale/zh_CN.d.ts.map +1 -1
  146. package/lib/locale/zh_CN.js +3 -1
  147. package/lib/locale/zh_CN.js.map +1 -1
  148. package/lib/mention/index.js +25 -0
  149. package/lib/page/Box.js +1 -1
  150. package/lib/page/Box.js.map +1 -1
  151. package/lib/page/index.js +2 -2
  152. package/lib/page/index.js.map +1 -1
  153. package/lib/page/index.less +5 -5
  154. package/lib/prev-locale.js +1 -1
  155. package/lib/prev-locale.js.map +1 -1
  156. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  157. package/lib/query-form/Field/SelectInput.js +2 -2
  158. package/lib/query-form/Field/SelectInput.js.map +1 -1
  159. package/lib/query-form/Field/index.d.ts.map +1 -1
  160. package/lib/query-form/Field/index.js +2 -1
  161. package/lib/query-form/Field/index.js.map +1 -1
  162. package/lib/query-list-scene/QueryForm.d.ts +1 -1
  163. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  164. package/lib/query-list-scene/QueryForm.js +2 -2
  165. package/lib/query-list-scene/QueryForm.js.map +1 -1
  166. package/lib/segmented/index.d.ts +23 -0
  167. package/lib/segmented/index.d.ts.map +1 -0
  168. package/lib/segmented/index.js +78 -0
  169. package/lib/segmented/index.js.map +1 -0
  170. package/lib/segmented/index.less +138 -0
  171. package/lib/switch/switch.d.ts +1 -1
  172. package/lib/switch/switch.d.ts.map +1 -1
  173. package/lib/switch/switch.js.map +1 -1
  174. package/lib/table/constants.d.ts +2 -0
  175. package/lib/table/constants.d.ts.map +1 -1
  176. package/lib/table/constants.js +54 -1
  177. package/lib/table/constants.js.map +1 -1
  178. package/lib/table/context.d.ts +1 -0
  179. package/lib/table/context.d.ts.map +1 -1
  180. package/lib/table/context.js.map +1 -1
  181. package/lib/table/hooks/use-column-setting.d.ts +4 -1
  182. package/lib/table/hooks/use-column-setting.d.ts.map +1 -1
  183. package/lib/table/hooks/use-column-setting.js.map +1 -1
  184. package/lib/table/table.d.ts +2 -1
  185. package/lib/table/table.d.ts.map +1 -1
  186. package/lib/table/table.js +107 -6
  187. package/lib/table/table.js.map +1 -1
  188. package/lib/table/table.less +3 -1
  189. package/lib/table/total-shower.d.ts +9 -0
  190. package/lib/table/total-shower.d.ts.map +1 -0
  191. package/lib/table/total-shower.js +13 -0
  192. package/lib/table/total-shower.js.map +1 -0
  193. package/lib/title/index.d.ts +11 -1
  194. package/lib/title/index.d.ts.map +1 -1
  195. package/lib/title/index.js +5 -5
  196. package/lib/title/index.js.map +1 -1
  197. package/lib/title/index.less +10 -10
  198. package/lib/tntd-form/Form.d.ts.map +1 -1
  199. package/lib/tntd-form/Form.js +12 -0
  200. package/lib/tntd-form/Form.js.map +1 -1
  201. package/lib/tntd-form/TntdForm/components/Item.js +55 -61
  202. package/lib/tntd-form/TntdForm/components/ItemComp.js +203 -190
  203. package/lib/tntd-form/TntdForm/components/List.js +118 -111
  204. package/lib/tntd-form/TntdForm/index.js +61 -67
  205. package/lib/tntd-form/TntdForm/interface.js +4 -2
  206. package/lib/tntd-form/TntdForm/store.js +8 -7
  207. package/lib/tntd-form/TntdForm/utils.js +182 -184
  208. package/lib/tntd-form/tntd-form.stories.d.ts.map +1 -1
  209. package/lib/tntd-form/tntd-form.stories.js +7 -5
  210. package/lib/tntd-form/tntd-form.stories.js.map +1 -1
  211. package/lib/tntd-layout/HeaderActions.js +1 -1
  212. package/lib/tntd-layout/HeaderActions.js.map +1 -1
  213. package/lib/tntd-modal/index.d.ts +15 -2
  214. package/lib/tntd-modal/index.d.ts.map +1 -1
  215. package/lib/tntd-modal/index.js +58 -23
  216. package/lib/tntd-modal/index.js.map +1 -1
  217. package/lib/tntd-modal/index.less +83 -63
  218. package/lib/tree-select/index.d.ts +7 -5
  219. package/lib/tree-select/index.d.ts.map +1 -1
  220. package/lib/tree-select/index.js.map +1 -1
  221. package/lib/utils/index.d.ts +1 -0
  222. package/lib/utils/index.d.ts.map +1 -1
  223. package/lib/utils/index.js +1 -0
  224. package/lib/utils/index.js.map +1 -1
  225. package/lib/utils/simple-template.d.ts +9 -0
  226. package/lib/utils/simple-template.d.ts.map +1 -0
  227. package/lib/utils/simple-template.js +15 -0
  228. package/lib/utils/simple-template.js.map +1 -0
  229. package/lib/water-mark/index.d.ts +49 -0
  230. package/lib/water-mark/index.d.ts.map +1 -0
  231. package/lib/water-mark/index.js +129 -0
  232. package/lib/water-mark/index.js.map +1 -0
  233. package/package.json +21 -3
  234. package/es/_util/colors.js +0 -3
  235. package/es/_util/colors.js.map +0 -1
  236. package/es/_util/easings.js +0 -9
  237. package/es/_util/easings.js.map +0 -1
  238. package/es/_util/getDataOrAriaProps.js +0 -8
  239. package/es/_util/getDataOrAriaProps.js.map +0 -1
  240. package/es/_util/getScroll.js +0 -14
  241. package/es/_util/getScroll.js.map +0 -1
  242. package/es/_util/interopDefault.js +0 -5
  243. package/es/_util/interopDefault.js.map +0 -1
  244. package/es/_util/isNumeric.js +0 -4
  245. package/es/_util/isNumeric.js.map +0 -1
  246. package/es/_util/motion.js +0 -22
  247. package/es/_util/motion.js.map +0 -1
  248. package/es/_util/openAnimation.js +0 -51
  249. package/es/_util/openAnimation.js.map +0 -1
  250. package/es/_util/raf.js +0 -25
  251. package/es/_util/raf.js.map +0 -1
  252. package/es/_util/reactNode.js +0 -6
  253. package/es/_util/reactNode.js.map +0 -1
  254. package/es/_util/ref.js +0 -15
  255. package/es/_util/ref.js.map +0 -1
  256. package/es/_util/responsiveObserve.js +0 -82
  257. package/es/_util/responsiveObserve.js.map +0 -1
  258. package/es/_util/scrollTo.js +0 -29
  259. package/es/_util/scrollTo.js.map +0 -1
  260. package/es/_util/styleChecker.js +0 -12
  261. package/es/_util/styleChecker.js.map +0 -1
  262. package/es/_util/throttleByAnimationFrame.js +0 -40
  263. package/es/_util/throttleByAnimationFrame.js.map +0 -1
  264. package/es/_util/transButton.js +0 -103
  265. package/es/_util/transButton.js.map +0 -1
  266. package/es/_util/triggerEvent.js +0 -8
  267. package/es/_util/triggerEvent.js.map +0 -1
  268. package/es/_util/type.js +0 -3
  269. package/es/_util/type.js.map +0 -1
  270. package/es/_util/warning.js +0 -5
  271. package/es/_util/warning.js.map +0 -1
  272. package/es/_util/wave.js +0 -228
  273. package/es/_util/wave.js.map +0 -1
  274. package/es/config-provider/context.js +0 -41
  275. package/es/config-provider/context.js.map +0 -1
  276. package/es/tntd-form/__tests__/demo-extend.test.js +0 -3
  277. package/es/tntd-form/__tests__/demo-extend.test.js.map +0 -1
  278. package/es/tntd-form/__tests__/demo.test.js +0 -3
  279. package/es/tntd-form/__tests__/demo.test.js.map +0 -1
  280. package/es/tntd-form/__tests__/image.test.js +0 -5
  281. package/es/tntd-form/__tests__/image.test.js.map +0 -1
  282. package/es/tntd-form/__tests__/index.test.js +0 -957
  283. package/es/tntd-form/__tests__/index.test.js.map +0 -1
  284. package/es/tntd-form/__tests__/list-noStyle.test.js +0 -41
  285. package/es/tntd-form/__tests__/list-noStyle.test.js.map +0 -1
  286. package/es/tntd-form/__tests__/list.test.js +0 -164
  287. package/es/tntd-form/__tests__/list.test.js.map +0 -1
  288. package/es/tntd-form/__tests__/ref.test.js +0 -45
  289. package/es/tntd-form/__tests__/ref.test.js.map +0 -1
  290. package/es/tntd-form/__tests__/type.test.js +0 -74
  291. package/es/tntd-form/__tests__/type.test.js.map +0 -1
  292. package/lib/_util/colors.d.ts +0 -3
  293. package/lib/_util/colors.d.ts.map +0 -1
  294. package/lib/_util/colors.js +0 -7
  295. package/lib/_util/colors.js.map +0 -1
  296. package/lib/_util/easings.d.ts +0 -2
  297. package/lib/_util/easings.d.ts.map +0 -1
  298. package/lib/_util/easings.js +0 -14
  299. package/lib/_util/easings.js.map +0 -1
  300. package/lib/_util/getDataOrAriaProps.d.ts +0 -2
  301. package/lib/_util/getDataOrAriaProps.d.ts.map +0 -1
  302. package/lib/_util/getDataOrAriaProps.js +0 -13
  303. package/lib/_util/getDataOrAriaProps.js.map +0 -1
  304. package/lib/_util/getScroll.d.ts +0 -2
  305. package/lib/_util/getScroll.d.ts.map +0 -1
  306. package/lib/_util/getScroll.js +0 -18
  307. package/lib/_util/getScroll.js.map +0 -1
  308. package/lib/_util/interopDefault.d.ts +0 -2
  309. package/lib/_util/interopDefault.d.ts.map +0 -1
  310. package/lib/_util/interopDefault.js +0 -9
  311. package/lib/_util/interopDefault.js.map +0 -1
  312. package/lib/_util/isNumeric.d.ts +0 -3
  313. package/lib/_util/isNumeric.d.ts.map +0 -1
  314. package/lib/_util/isNumeric.js +0 -7
  315. package/lib/_util/isNumeric.js.map +0 -1
  316. package/lib/_util/motion.d.ts +0 -24
  317. package/lib/_util/motion.d.ts.map +0 -1
  318. package/lib/_util/motion.js +0 -17
  319. package/lib/_util/motion.js.map +0 -1
  320. package/lib/_util/openAnimation.d.ts +0 -7
  321. package/lib/_util/openAnimation.d.ts.map +0 -1
  322. package/lib/_util/openAnimation.js +0 -58
  323. package/lib/_util/openAnimation.js.map +0 -1
  324. package/lib/_util/raf.d.ts +0 -10
  325. package/lib/_util/raf.d.ts.map +0 -1
  326. package/lib/_util/raf.js +0 -34
  327. package/lib/_util/raf.js.map +0 -1
  328. package/lib/_util/reactNode.d.ts +0 -3
  329. package/lib/_util/reactNode.d.ts.map +0 -1
  330. package/lib/_util/reactNode.js +0 -31
  331. package/lib/_util/reactNode.js.map +0 -1
  332. package/lib/_util/ref.d.ts +0 -4
  333. package/lib/_util/ref.d.ts.map +0 -1
  334. package/lib/_util/ref.js +0 -22
  335. package/lib/_util/ref.js.map +0 -1
  336. package/lib/_util/responsiveObserve.d.ts +0 -14
  337. package/lib/_util/responsiveObserve.d.ts.map +0 -1
  338. package/lib/_util/responsiveObserve.js +0 -83
  339. package/lib/_util/responsiveObserve.js.map +0 -1
  340. package/lib/_util/scrollTo.d.ts +0 -11
  341. package/lib/_util/scrollTo.d.ts.map +0 -1
  342. package/lib/_util/scrollTo.js +0 -34
  343. package/lib/_util/scrollTo.js.map +0 -1
  344. package/lib/_util/styleChecker.d.ts +0 -4
  345. package/lib/_util/styleChecker.d.ts.map +0 -1
  346. package/lib/_util/styleChecker.js +0 -14
  347. package/lib/_util/styleChecker.js.map +0 -1
  348. package/lib/_util/throttleByAnimationFrame.d.ts +0 -6
  349. package/lib/_util/throttleByAnimationFrame.d.ts.map +0 -1
  350. package/lib/_util/throttleByAnimationFrame.js +0 -49
  351. package/lib/_util/throttleByAnimationFrame.js.map +0 -1
  352. package/lib/_util/transButton.d.ts +0 -21
  353. package/lib/_util/transButton.d.ts.map +0 -1
  354. package/lib/_util/transButton.js +0 -112
  355. package/lib/_util/transButton.js.map +0 -1
  356. package/lib/_util/triggerEvent.d.ts +0 -2
  357. package/lib/_util/triggerEvent.d.ts.map +0 -1
  358. package/lib/_util/triggerEvent.js +0 -12
  359. package/lib/_util/triggerEvent.js.map +0 -1
  360. package/lib/_util/type.d.ts +0 -4
  361. package/lib/_util/type.d.ts.map +0 -1
  362. package/lib/_util/type.js +0 -9
  363. package/lib/_util/type.js.map +0 -1
  364. package/lib/_util/warning.d.ts +0 -5
  365. package/lib/_util/warning.d.ts.map +0 -1
  366. package/lib/_util/warning.js +0 -28
  367. package/lib/_util/warning.js.map +0 -1
  368. package/lib/_util/wave.d.ts +0 -26
  369. package/lib/_util/wave.d.ts.map +0 -1
  370. package/lib/_util/wave.js +0 -249
  371. package/lib/_util/wave.js.map +0 -1
  372. package/lib/config-provider/context.d.ts +0 -61
  373. package/lib/config-provider/context.d.ts.map +0 -1
  374. package/lib/config-provider/context.js +0 -64
  375. package/lib/config-provider/context.js.map +0 -1
  376. package/lib/tntd-form/TntdForm/components/Item.d.ts +0 -5
  377. package/lib/tntd-form/TntdForm/components/Item.d.ts.map +0 -1
  378. package/lib/tntd-form/TntdForm/components/Item.js.map +0 -1
  379. package/lib/tntd-form/TntdForm/components/ItemComp.d.ts +0 -5
  380. package/lib/tntd-form/TntdForm/components/ItemComp.d.ts.map +0 -1
  381. package/lib/tntd-form/TntdForm/components/ItemComp.js.map +0 -1
  382. package/lib/tntd-form/TntdForm/components/List.d.ts +0 -5
  383. package/lib/tntd-form/TntdForm/components/List.d.ts.map +0 -1
  384. package/lib/tntd-form/TntdForm/components/List.js.map +0 -1
  385. package/lib/tntd-form/TntdForm/index.d.ts +0 -10
  386. package/lib/tntd-form/TntdForm/index.d.ts.map +0 -1
  387. package/lib/tntd-form/TntdForm/index.js.map +0 -1
  388. package/lib/tntd-form/TntdForm/interface.d.ts +0 -93
  389. package/lib/tntd-form/TntdForm/interface.d.ts.map +0 -1
  390. package/lib/tntd-form/TntdForm/interface.js.map +0 -1
  391. package/lib/tntd-form/TntdForm/store.d.ts +0 -4
  392. package/lib/tntd-form/TntdForm/store.d.ts.map +0 -1
  393. package/lib/tntd-form/TntdForm/store.js.map +0 -1
  394. package/lib/tntd-form/TntdForm/utils.d.ts +0 -48
  395. package/lib/tntd-form/TntdForm/utils.d.ts.map +0 -1
  396. package/lib/tntd-form/TntdForm/utils.js.map +0 -1
  397. package/lib/tntd-form/__tests__/demo-extend.test.d.ts +0 -2
  398. package/lib/tntd-form/__tests__/demo-extend.test.d.ts.map +0 -1
  399. package/lib/tntd-form/__tests__/demo-extend.test.js +0 -5
  400. package/lib/tntd-form/__tests__/demo-extend.test.js.map +0 -1
  401. package/lib/tntd-form/__tests__/demo.test.d.ts +0 -2
  402. package/lib/tntd-form/__tests__/demo.test.d.ts.map +0 -1
  403. package/lib/tntd-form/__tests__/demo.test.js +0 -8
  404. package/lib/tntd-form/__tests__/demo.test.js.map +0 -1
  405. package/lib/tntd-form/__tests__/image.test.d.ts +0 -2
  406. package/lib/tntd-form/__tests__/image.test.d.ts.map +0 -1
  407. package/lib/tntd-form/__tests__/image.test.js +0 -7
  408. package/lib/tntd-form/__tests__/image.test.js.map +0 -1
  409. package/lib/tntd-form/__tests__/index.test.d.ts +0 -2
  410. package/lib/tntd-form/__tests__/index.test.d.ts.map +0 -1
  411. package/lib/tntd-form/__tests__/index.test.js +0 -981
  412. package/lib/tntd-form/__tests__/index.test.js.map +0 -1
  413. package/lib/tntd-form/__tests__/list-noStyle.test.d.ts +0 -2
  414. package/lib/tntd-form/__tests__/list-noStyle.test.d.ts.map +0 -1
  415. package/lib/tntd-form/__tests__/list-noStyle.test.js +0 -46
  416. package/lib/tntd-form/__tests__/list-noStyle.test.js.map +0 -1
  417. package/lib/tntd-form/__tests__/list.test.d.ts +0 -2
  418. package/lib/tntd-form/__tests__/list.test.d.ts.map +0 -1
  419. package/lib/tntd-form/__tests__/list.test.js +0 -169
  420. package/lib/tntd-form/__tests__/list.test.js.map +0 -1
  421. package/lib/tntd-form/__tests__/ref.test.d.ts +0 -2
  422. package/lib/tntd-form/__tests__/ref.test.d.ts.map +0 -1
  423. package/lib/tntd-form/__tests__/ref.test.js +0 -50
  424. package/lib/tntd-form/__tests__/ref.test.js.map +0 -1
  425. package/lib/tntd-form/__tests__/type.test.d.ts +0 -2
  426. package/lib/tntd-form/__tests__/type.test.d.ts.map +0 -1
  427. package/lib/tntd-form/__tests__/type.test.js +0 -98
  428. package/lib/tntd-form/__tests__/type.test.js.map +0 -1
@@ -1,15 +1,17 @@
1
- /// <reference types="react" />
2
1
  import AntdTreeSelect from 'antd/es/tree-select';
3
2
  import type { TreeSelectProps as AntdTreeSelectProps } from 'antd/es/tree-select';
4
3
  import type { TreeNodeValue } from 'antd/es/tree-select/interface';
5
4
  import 'antd/es/tree-select/style';
5
+ import type { ForwardRefExoticComponent, RefAttributes } from 'react';
6
6
  export * from 'antd/es/tree-select';
7
- declare type ITreeSelect<P> = React.FC<P> & {
8
- TreeNode: typeof AntdTreeSelect.TreeNode;
9
- };
10
7
  export declare type TreeSelectProps<T extends TreeNodeValue> = AntdTreeSelectProps<T> & {
11
8
  readonly?: boolean;
12
9
  };
13
- export declare const TreeSelect: ITreeSelect<TreeSelectProps<TreeNodeValue>>;
10
+ interface TreeSelectComponent extends ForwardRefExoticComponent<TreeSelectProps<TreeNodeValue> & RefAttributes<AntdTreeSelect<TreeNodeValue>> & {
11
+ children?: React.ReactNode[];
12
+ }> {
13
+ TreeNode: typeof AntdTreeSelect.TreeNode;
14
+ }
15
+ export declare const TreeSelect: TreeSelectComponent;
14
16
  export default TreeSelect;
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":";AACA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAIlE,OAAO,2BAA2B,CAAA;AAElC,cAAc,qBAAqB,CAAA;AAEnC,aAAK,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;IAClC,QAAQ,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAA;CACzC,CAAA;AAED,oBAAY,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,UAAU,6CAGoC,CAAA;AAI3D,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAIlE,OAAO,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErE,cAAc,qBAAqB,CAAA;AAEnC,oBAAY,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,UAAU,mBACR,SAAQ,yBAAyB,CAC/B,eAAe,CAAC,aAAa,CAAC,GAC5B,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,GAAG;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC7B,CACJ;IACD,QAAQ,EAAE,OAAO,cAAc,CAAC,QAAQ,CAAA;CACzC;AAED,eAAO,MAAM,UAAU,qBAGC,CAAA;AAIxB,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,sEAAgD;AAGhD,wCAAqD;AACrD,kDAA6C;AAE7C,qCAAkC;AAElC,sDAAmC;AAUtB,QAAA,UAAU,GAAG,IAAA,kCAAwB,EAChD,qBAAc,EACd,0BAAW,CAAC,UAAU,CACmC,CAAA;AAE3D,kBAAU,CAAC,QAAQ,GAAG,qBAAc,CAAC,QAAQ,CAAA;AAE7C,kBAAe,kBAAU,CAAA","sourcesContent":["import type { ComponentType } from 'react'\nimport AntdTreeSelect from 'antd/es/tree-select'\nimport type { TreeSelectProps as AntdTreeSelectProps } from 'antd/es/tree-select'\nimport type { TreeNodeValue } from 'antd/es/tree-select/interface'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nimport 'antd/es/tree-select/style'\n\nexport * from 'antd/es/tree-select'\n\ntype ITreeSelect<P> = React.FC<P> & {\n TreeNode: typeof AntdTreeSelect.TreeNode\n}\n\nexport type TreeSelectProps<T extends TreeNodeValue> = AntdTreeSelectProps<T> & {\n readonly?: boolean\n}\n\nexport const TreeSelect = connectReadonlyComponent(\n AntdTreeSelect,\n PreviewText.TreeSelect\n) as unknown as ITreeSelect<TreeSelectProps<TreeNodeValue>>\n\nTreeSelect.TreeNode = AntdTreeSelect.TreeNode\n\nexport default TreeSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sEAAgD;AAGhD,wCAAqD;AACrD,kDAA6C;AAE7C,qCAAkC;AAGlC,sDAAmC;AAgBtB,QAAA,UAAU,GAAG,IAAA,kCAAwB,EAChD,qBAAc,EACd,0BAAW,CAAC,UAAU,CACA,CAAA;AAExB,kBAAU,CAAC,QAAQ,GAAG,qBAAc,CAAC,QAAQ,CAAA;AAE7C,kBAAe,kBAAU,CAAA","sourcesContent":["import AntdTreeSelect from 'antd/es/tree-select'\nimport type { TreeSelectProps as AntdTreeSelectProps } from 'antd/es/tree-select'\nimport type { TreeNodeValue } from 'antd/es/tree-select/interface'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nimport 'antd/es/tree-select/style'\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react'\n\nexport * from 'antd/es/tree-select'\n\nexport type TreeSelectProps<T extends TreeNodeValue> = AntdTreeSelectProps<T> & {\n readonly?: boolean\n}\n\ninterface TreeSelectComponent\n extends ForwardRefExoticComponent<\n TreeSelectProps<TreeNodeValue> &\n RefAttributes<AntdTreeSelect<TreeNodeValue>> & {\n children?: React.ReactNode[]\n }\n > {\n TreeNode: typeof AntdTreeSelect.TreeNode\n}\n\nexport const TreeSelect = connectReadonlyComponent(\n AntdTreeSelect,\n PreviewText.TreeSelect\n) as TreeSelectComponent\n\nTreeSelect.TreeNode = AntdTreeSelect.TreeNode\n\nexport default TreeSelect\n"]}
@@ -1,5 +1,6 @@
1
1
  export * from "./checkAuth";
2
2
  export * from "./findMenuInfoByPath";
3
+ export * from "./simple-template";
3
4
  export function isGroupMenu(menu: any): any;
4
5
  export function getSelectedMenuInfo(selectedKey: any, menus?: any[]): {
5
6
  subMenu: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;AAGO,4CAA2D;AAE3D;;;;EA+BN;AAEM,2CAEN;AAEM,iDAIN;AAEM,8CAEN;AAEM,4FAsBN;AAEM,8DAWN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;;AAIO,4CAA2D;AAE3D;;;;EA+BN;AAEM,2CAEN;AAEM,iDAIN;AAEM,8CAEN;AAEM,4FAsBN;AAEM,8DAWN"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.safeParseJSON = exports.traverseTree = exports.openInNewTab = exports.isNewTabMenu = exports.hasLevel3 = exports.getSelectedMenuInfo = exports.isGroupMenu = void 0;
18
18
  __exportStar(require("./checkAuth"), exports);
19
19
  __exportStar(require("./findMenuInfoByPath"), exports);
20
+ __exportStar(require("./simple-template"), exports);
20
21
  const isGroupMenu = (menu) => (menu === null || menu === void 0 ? void 0 : menu.children) && !(menu === null || menu === void 0 ? void 0 : menu.path);
21
22
  exports.isGroupMenu = isGroupMenu;
22
23
  const getSelectedMenuInfo = (selectedKey, menus = []) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":"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","sourcesContent":["export * from './checkAuth'\nexport * from './findMenuInfoByPath'\n\nexport const isGroupMenu = (menu) => menu?.children && !menu?.path\n\nexport const getSelectedMenuInfo = (selectedKey, menus = []) => {\n let subMenu\n let menu\n let parentMenus = []\n\n if (selectedKey) {\n traverseTree(menus, (node, pnode, pnodes) => {\n if (!isGroupMenu(node) && node.code === selectedKey) {\n subMenu = node\n menu = pnode\n parentMenus = pnodes\n return false\n }\n })\n } else {\n // 默认找到第一个菜单项\n traverseTree(menus, (node, pnode, pnodes) => {\n if (!isGroupMenu(node)) {\n subMenu = node\n menu = pnode\n parentMenus = pnodes\n return false\n }\n })\n }\n\n return {\n subMenu,\n menu,\n parentMenus,\n }\n}\n\nexport const hasLevel3 = (menus) => {\n return menus?.some((menu) => menu?.children?.some((item) => item?.children?.length))\n}\n\nexport const isNewTabMenu = (menu) => {\n const { target, path } = menu || {}\n\n return target === '_blank' || (/^http/i.test(path) && /blankType=newTarget/.test(path))\n}\n\nexport const openInNewTab = (path) => {\n window.open(path, '_blank')\n}\n\nexport const traverseTree = (treeData, callback, pnode, pnodes = []) => {\n ;(treeData || []).every((node, index) => {\n let result\n\n if (callback) {\n result = callback(\n node,\n pnode,\n pnodes?.length ? pnodes : [pnode].filter((item) => !!item),\n index\n )\n }\n\n // 回调函数返回false则终止遍历\n if (result !== false) {\n node && traverseTree(node.children || [], callback, node, [node, ...pnodes])\n }\n\n return result !== false\n })\n\n return treeData\n}\n\nexport const safeParseJSON = (str, defaultObj) => {\n let result\n\n try {\n result = JSON.parse(str)\n } catch (err) {\n console.warn('json parse error:', err)\n result = typeof defaultObj === 'undefined' ? str : defaultObj\n }\n\n return result || defaultObj\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":"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","sourcesContent":["export * from './checkAuth'\nexport * from './findMenuInfoByPath'\nexport * from './simple-template'\n\nexport const isGroupMenu = (menu) => menu?.children && !menu?.path\n\nexport const getSelectedMenuInfo = (selectedKey, menus = []) => {\n let subMenu\n let menu\n let parentMenus = []\n\n if (selectedKey) {\n traverseTree(menus, (node, pnode, pnodes) => {\n if (!isGroupMenu(node) && node.code === selectedKey) {\n subMenu = node\n menu = pnode\n parentMenus = pnodes\n return false\n }\n })\n } else {\n // 默认找到第一个菜单项\n traverseTree(menus, (node, pnode, pnodes) => {\n if (!isGroupMenu(node)) {\n subMenu = node\n menu = pnode\n parentMenus = pnodes\n return false\n }\n })\n }\n\n return {\n subMenu,\n menu,\n parentMenus,\n }\n}\n\nexport const hasLevel3 = (menus) => {\n return menus?.some((menu) => menu?.children?.some((item) => item?.children?.length))\n}\n\nexport const isNewTabMenu = (menu) => {\n const { target, path } = menu || {}\n\n return target === '_blank' || (/^http/i.test(path) && /blankType=newTarget/.test(path))\n}\n\nexport const openInNewTab = (path) => {\n window.open(path, '_blank')\n}\n\nexport const traverseTree = (treeData, callback, pnode, pnodes = []) => {\n ;(treeData || []).every((node, index) => {\n let result\n\n if (callback) {\n result = callback(\n node,\n pnode,\n pnodes?.length ? pnodes : [pnode].filter((item) => !!item),\n index\n )\n }\n\n // 回调函数返回false则终止遍历\n if (result !== false) {\n node && traverseTree(node.children || [], callback, node, [node, ...pnodes])\n }\n\n return result !== false\n })\n\n return treeData\n}\n\nexport const safeParseJSON = (str, defaultObj) => {\n let result\n\n try {\n result = JSON.parse(str)\n } catch (err) {\n console.warn('json parse error:', err)\n result = typeof defaultObj === 'undefined' ? str : defaultObj\n }\n\n return result || defaultObj\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 简单的模板替换
3
+ *
4
+ * @param template
5
+ * @param data
6
+ * @returns
7
+ */
8
+ export declare function simpleTemplate(template?: string, data?: Record<string, string | number>): string | undefined;
9
+ //# sourceMappingURL=simple-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-template.d.ts","sourceRoot":"","sources":["../../src/utils/simple-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,sBAE3F"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simpleTemplate = void 0;
4
+ /**
5
+ * 简单的模板替换
6
+ *
7
+ * @param template
8
+ * @param data
9
+ * @returns
10
+ */
11
+ function simpleTemplate(template, data = {}) {
12
+ return template === null || template === void 0 ? void 0 : template.replace(/\${(.*?)}/g, (match, key) => data[key.trim()].toString());
13
+ }
14
+ exports.simpleTemplate = simpleTemplate;
15
+ //# sourceMappingURL=simple-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-template.js","sourceRoot":"","sources":["../../src/utils/simple-template.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,QAAiB,EAAE,OAAwC,EAAE;IAC1F,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrF,CAAC;AAFD,wCAEC","sourcesContent":["/**\n * 简单的模板替换\n *\n * @param template\n * @param data\n * @returns\n */\nexport function simpleTemplate(template?: string, data: Record<string, string | number> = {}) {\n return template?.replace(/\\${(.*?)}/g, (match, key) => data[key.trim()].toString())\n}\n"]}
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ export interface WatermarkProps {
3
+ /** 类名 */
4
+ className?: string;
5
+ /** 样式 */
6
+ style?: React.CSSProperties;
7
+ /** 水印样式 */
8
+ markStyle?: React.CSSProperties;
9
+ /** 水印类名 */
10
+ markClassName?: string;
11
+ /** 水印之间的水平间距 */
12
+ gapX?: number;
13
+ /** 水印之间的垂直间距 */
14
+ gapY?: number;
15
+ /** 追加的水印元素的z-index */
16
+ zIndex?: number;
17
+ /** 水印的宽度 */
18
+ width?: number;
19
+ /** 水印的高度 */
20
+ height?: number;
21
+ /** 水印在canvas 画布上绘制的垂直偏移量,正常情况下,水印绘制在中间位置, 即 offsetTop = gapY / 2 */
22
+ offsetTop?: number;
23
+ /** 水印在canvas 画布上绘制的水平偏移量, 正常情况下,水印绘制在中间位置, 即 offsetTop = gapX / 2 */
24
+ offsetLeft?: number;
25
+ /** 水印绘制时,旋转的角度,单位 ° */
26
+ rotate?: number;
27
+ /** ClassName 前缀 */
28
+ prefixCls?: string;
29
+ /** 高清印图片源, 为了高清屏幕显示,建议使用 2倍或3倍图,优先使用图片渲染水印。 */
30
+ image?: string;
31
+ /** 水印文字内容 */
32
+ content?: string | string[];
33
+ /** 文字颜色 */
34
+ fontColor?: string;
35
+ /** 文字样式 */
36
+ fontStyle?: 'none' | 'normal' | 'italic' | 'oblique';
37
+ /** 文字对齐 */
38
+ textAlign?: 'left' | 'center' | 'right';
39
+ /** 文字族 */
40
+ fontFamily?: string;
41
+ /** 文字粗细 */
42
+ fontWeight?: 'normal' | 'light' | 'weight' | number;
43
+ /** 文字大小 */
44
+ fontSize?: number | string;
45
+ children?: React.ReactNode;
46
+ }
47
+ export declare const Watermark: React.FC<WatermarkProps>;
48
+ export default Watermark;
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/water-mark/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,MAAM,WAAW,cAAc;IAC7B,SAAS;IACT,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS;IACT,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,WAAW;IACX,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC/B,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACpD,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW;IACX,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IACnD,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAqBD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6H9C,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Watermark = void 0;
30
+ const classnames_1 = __importDefault(require("classnames"));
31
+ const react_1 = __importStar(require("react"));
32
+ /**
33
+ * 返回当前显示设备的物理像素分辨率与CSS像素分辨率之比
34
+ *
35
+ * @param context
36
+ * @see api 有些废弃了,其实类型 CanvasRenderingContext2D
37
+ */
38
+ const getPixelRatio = (context) => {
39
+ if (!context) {
40
+ return 1;
41
+ }
42
+ const backingStore = context.backingStorePixelRatio ||
43
+ context.webkitBackingStorePixelRatio ||
44
+ context.mozBackingStorePixelRatio ||
45
+ context.msBackingStorePixelRatio ||
46
+ context.oBackingStorePixelRatio ||
47
+ 1;
48
+ return (window.devicePixelRatio || 1) / backingStore;
49
+ };
50
+ const Watermark = (props) => {
51
+ const { children, style, className, markStyle, markClassName,
52
+ // antd 内容层 zIndex 基本上在 10 以下 https://github.com/ant-design/ant-design/blob/6192403b2ce517c017f9e58a32d58774921c10cd/components/style/themes/default.less#L335
53
+ zIndex = 9, gapX = 212, gapY = 222, width = 120, height = 64, rotate = -22, // 默认旋转 -22 度
54
+ image, content, offsetLeft, offsetTop, fontStyle = 'normal', textAlign = 'center', fontWeight = 'normal', fontColor = 'rgba(0,0,0,.15)', fontSize = 14, fontFamily = 'sans-serif', prefixCls = 'tntd-watermark', } = props;
55
+ const wrapperCls = (0, classnames_1.default)([`${prefixCls}-wrapper`, className]);
56
+ const watermarkCls = (0, classnames_1.default)([prefixCls, markClassName]);
57
+ const [base64Url, setBase64Url] = (0, react_1.useState)('');
58
+ (0, react_1.useEffect)(() => {
59
+ const canvas = document.createElement('canvas');
60
+ const ctx = canvas.getContext('2d');
61
+ const ratio = getPixelRatio(ctx);
62
+ const canvasWidth = `${(gapX + width) * ratio}px`;
63
+ const canvasHeight = `${(gapY + height) * ratio}px`;
64
+ const canvasOffsetLeft = offsetLeft || gapX / 2;
65
+ const canvasOffsetTop = offsetTop || gapY / 2;
66
+ canvas.setAttribute('width', canvasWidth);
67
+ canvas.setAttribute('height', canvasHeight);
68
+ if (ctx) {
69
+ // 旋转字符 rotate
70
+ ctx.translate(canvasOffsetLeft * ratio, canvasOffsetTop * ratio);
71
+ ctx.rotate((Math.PI / 180) * Number(rotate));
72
+ const markWidth = width * ratio;
73
+ const markHeight = height * ratio;
74
+ if (image) {
75
+ const img = new Image();
76
+ img.crossOrigin = 'anonymous';
77
+ img.referrerPolicy = 'no-referrer';
78
+ img.src = image;
79
+ img.onload = () => {
80
+ ctx.drawImage(img, 0, 0, markWidth, markHeight);
81
+ setBase64Url(canvas.toDataURL());
82
+ };
83
+ }
84
+ else if (content) {
85
+ const markSize = Number(fontSize) * ratio;
86
+ ctx.font = `${fontStyle} normal ${fontWeight} ${markSize}px/${markHeight}px ${fontFamily}`;
87
+ ctx.fillStyle = fontColor;
88
+ ctx.textAlign = textAlign;
89
+ if (Array.isArray(content)) {
90
+ content === null || content === void 0 ? void 0 : content.forEach((item, index) => ctx.fillText(item, 0, index * markSize));
91
+ }
92
+ else {
93
+ ctx.fillText(content, 0, 0);
94
+ }
95
+ setBase64Url(canvas.toDataURL());
96
+ }
97
+ }
98
+ else {
99
+ // eslint-disable-next-line no-console
100
+ console.error('当前环境不支持Canvas');
101
+ }
102
+ }, [
103
+ gapX,
104
+ gapY,
105
+ offsetLeft,
106
+ offsetTop,
107
+ rotate,
108
+ fontStyle,
109
+ textAlign,
110
+ fontWeight,
111
+ width,
112
+ height,
113
+ fontFamily,
114
+ fontColor,
115
+ image,
116
+ content,
117
+ fontSize,
118
+ ]);
119
+ return (react_1.default.createElement("div", { style: Object.assign({ position: 'relative' }, style), className: wrapperCls },
120
+ children,
121
+ react_1.default.createElement("div", { className: watermarkCls, style: Object.assign(Object.assign({ zIndex, position: 'absolute', left: 0, top: 0, width: '100%', height: '100%', backgroundSize: `${gapX + width}px`, pointerEvents: 'none', backgroundRepeat: 'repeat' }, (base64Url
122
+ ? {
123
+ backgroundImage: `url('${base64Url}')`,
124
+ }
125
+ : {})), markStyle) })));
126
+ };
127
+ exports.Watermark = Watermark;
128
+ exports.default = exports.Watermark;
129
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/water-mark/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import cn from 'classnames'\nimport React, { useEffect, useState } from 'react'\n\nexport interface WatermarkProps {\n /** 类名 */\n className?: string\n /** 样式 */\n style?: React.CSSProperties\n /** 水印样式 */\n markStyle?: React.CSSProperties\n /** 水印类名 */\n markClassName?: string\n /** 水印之间的水平间距 */\n gapX?: number\n /** 水印之间的垂直间距 */\n gapY?: number\n /** 追加的水印元素的z-index */\n zIndex?: number\n /** 水印的宽度 */\n width?: number\n /** 水印的高度 */\n height?: number\n /** 水印在canvas 画布上绘制的垂直偏移量,正常情况下,水印绘制在中间位置, 即 offsetTop = gapY / 2 */\n offsetTop?: number // 水印图片距离绘制 canvas 单元的顶部距离\n /** 水印在canvas 画布上绘制的水平偏移量, 正常情况下,水印绘制在中间位置, 即 offsetTop = gapX / 2 */\n offsetLeft?: number\n /** 水印绘制时,旋转的角度,单位 ° */\n rotate?: number\n /** ClassName 前缀 */\n prefixCls?: string\n /** 高清印图片源, 为了高清屏幕显示,建议使用 2倍或3倍图,优先使用图片渲染水印。 */\n image?: string\n /** 水印文字内容 */\n content?: string | string[]\n /** 文字颜色 */\n fontColor?: string\n /** 文字样式 */\n fontStyle?: 'none' | 'normal' | 'italic' | 'oblique'\n /** 文字对齐 */\n textAlign?: 'left' | 'center' | 'right'\n /** 文字族 */\n fontFamily?: string\n /** 文字粗细 */\n fontWeight?: 'normal' | 'light' | 'weight' | number\n /** 文字大小 */\n fontSize?: number | string\n\n children?: React.ReactNode\n}\n/**\n * 返回当前显示设备的物理像素分辨率与CSS像素分辨率之比\n *\n * @param context\n * @see api 有些废弃了,其实类型 CanvasRenderingContext2D\n */\nconst getPixelRatio = (context: any) => {\n if (!context) {\n return 1\n }\n const backingStore =\n context.backingStorePixelRatio ||\n context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n 1\n return (window.devicePixelRatio || 1) / backingStore\n}\n\nexport const Watermark: React.FC<WatermarkProps> = (props) => {\n const {\n children,\n style,\n className,\n markStyle,\n markClassName,\n // antd 内容层 zIndex 基本上在 10 以下 https://github.com/ant-design/ant-design/blob/6192403b2ce517c017f9e58a32d58774921c10cd/components/style/themes/default.less#L335\n zIndex = 9,\n gapX = 212,\n gapY = 222,\n width = 120,\n height = 64,\n rotate = -22, // 默认旋转 -22 度\n image,\n content,\n offsetLeft,\n offsetTop,\n fontStyle = 'normal',\n textAlign = 'center',\n fontWeight = 'normal',\n fontColor = 'rgba(0,0,0,.15)',\n fontSize = 14,\n fontFamily = 'sans-serif',\n prefixCls = 'tntd-watermark',\n } = props\n\n const wrapperCls = cn([`${prefixCls}-wrapper`, className])\n const watermarkCls = cn([prefixCls, markClassName])\n const [base64Url, setBase64Url] = useState('')\n\n useEffect(() => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const ratio = getPixelRatio(ctx)\n\n const canvasWidth = `${(gapX + width) * ratio}px`\n const canvasHeight = `${(gapY + height) * ratio}px`\n const canvasOffsetLeft = offsetLeft || gapX / 2\n const canvasOffsetTop = offsetTop || gapY / 2\n\n canvas.setAttribute('width', canvasWidth)\n canvas.setAttribute('height', canvasHeight)\n\n if (ctx) {\n // 旋转字符 rotate\n ctx.translate(canvasOffsetLeft * ratio, canvasOffsetTop * ratio)\n ctx.rotate((Math.PI / 180) * Number(rotate))\n const markWidth = width * ratio\n const markHeight = height * ratio\n\n if (image) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.referrerPolicy = 'no-referrer'\n img.src = image\n img.onload = () => {\n ctx.drawImage(img, 0, 0, markWidth, markHeight)\n setBase64Url(canvas.toDataURL())\n }\n } else if (content) {\n const markSize = Number(fontSize) * ratio\n ctx.font = `${fontStyle} normal ${fontWeight} ${markSize}px/${markHeight}px ${fontFamily}`\n ctx.fillStyle = fontColor\n ctx.textAlign = textAlign\n if (Array.isArray(content)) {\n content?.forEach((item: string, index: number) => ctx.fillText(item, 0, index * markSize))\n } else {\n ctx.fillText(content, 0, 0)\n }\n setBase64Url(canvas.toDataURL())\n }\n } else {\n // eslint-disable-next-line no-console\n console.error('当前环境不支持Canvas')\n }\n }, [\n gapX,\n gapY,\n offsetLeft,\n offsetTop,\n rotate,\n fontStyle,\n textAlign,\n fontWeight,\n width,\n height,\n fontFamily,\n fontColor,\n image,\n content,\n fontSize,\n ])\n\n return (\n <div\n style={{\n position: 'relative',\n ...style,\n }}\n className={wrapperCls}\n >\n {children}\n <div\n className={watermarkCls}\n style={{\n zIndex,\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n backgroundSize: `${gapX + width}px`,\n pointerEvents: 'none',\n backgroundRepeat: 'repeat',\n ...(base64Url\n ? {\n backgroundImage: `url('${base64Url}')`,\n }\n : {}),\n ...markStyle,\n }}\n />\n </div>\n )\n}\n\nexport default Watermark\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.7.2",
3
+ "version": "2.7.4",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "@icon-park/react": "^1.3.5",
@@ -21,6 +21,7 @@
21
21
  "react-color": "^2.17.2",
22
22
  "lodash": "~4.17.21",
23
23
  "color-alpha": "~1.1.3",
24
+ "rc-segmented": "~2.2.2",
24
25
  "rc-field-form": "~1.34.0",
25
26
  "scroll-into-view-if-needed": "^2.2.25"
26
27
  },
@@ -66,10 +67,26 @@
66
67
  },
67
68
  "ref": true
68
69
  },
70
+ "repository": {
71
+ "type": "git",
72
+ "url": "git@gitlab.tongdun.cn:app/tntd.git"
73
+ },
74
+ "keywords": [
75
+ "react",
76
+ "component",
77
+ "components",
78
+ "framework",
79
+ "frontend",
80
+ "react-component",
81
+ "react-ui",
82
+ "tntd"
83
+ ],
69
84
  "files": [
70
85
  "lib",
71
86
  "es",
72
- "themes"
87
+ "themes",
88
+ "LICENSE",
89
+ "README.md"
73
90
  ],
74
91
  "main": "lib/index.js",
75
92
  "module": "es/index.js",
@@ -85,5 +102,6 @@
85
102
  "svgr": "npx svgr ./svg --out-dir ./src/svg-components",
86
103
  "test": "heft test",
87
104
  "test:watch": "heft test --watch --clean"
88
- }
105
+ },
106
+ "readme": "# 组件介绍\ntntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。\n\n\n## 如何从 `tntd v1.0` 迁移到 `tntd v2.0` \n\n### 安装 `tntd` 最新版本\n\n```\nnpm install tntd\n```\n\n### 更改配置\n\n1. 添加 .babelrc 中的 import 插件配置,实现按需引入\n\n```diff title=\".babelrc\"\n+ [\n+ \"import\",\n+ {\n+ \"libraryName\": \"tntd\",\n+ libraryDirectory: 'es',\n+ },\n+ \"tntd\"\n+ ],\n```\n\n2. 更改 webpack.config.js 中的主题配置\n\n```diff title=\"webpack.config.js\"\n{\n loader: \"less-loader\",\n options: {\n javascriptEnabled: true,\n ...\n modifyVars: {\n- hack: \"true; @import \\\"~@tntd/antd-cover/tnt.less\\\";\"\n+ hack: \"true; @import \\\"~tntd/themes/default/variables.less\\\";\"\n }\n }\n}\n```\n\n3. 修改导入名称\n\nLayout, Icon, Select 等 tntd 1.0 组件和 antd 组件名称存在冲突,请按下方例子进行重命名:\n\n```diff\n- import { Layout, Icon, Select } from 'tntd'\n+ import { TntdLayout, TntdIcon, TntdSelect } from 'tntd'\n```\n\n4. 更改配置\n\n```jsx\n// 使用全新的空状态插画\nimport { renderEmpty } from 'tntd'\n// 使用内置语言包替换 antd\n// 英文语言包\nconst enUS = import 'tntd/es/locale/en_US'\n// 中文语言包\nconst zhCN = import 'tntd/es/locale/zh_CN'\n\nexport const App = () => {\n return (\n // 使用空状态插画及语言包\n <ConfigProvider locale={zhCN} renderEmpty={renderEmpty}>\n ...\n </ConfigProvider>\n )\n}\n```\n"
89
107
  }
@@ -1,3 +0,0 @@
1
- import { tuple } from './type';
2
- // eslint-disable-next-line import/prefer-default-export
3
- export const PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/_util/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CACnC,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,CACP,CAAC","sourcesContent":["import { tuple } from './type';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const PresetColorTypes = tuple(\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime',\n);\n\nexport type PresetColorType = (typeof PresetColorTypes)[number];\n"]}
@@ -1,9 +0,0 @@
1
- // eslint-disable-next-line import/prefer-default-export
2
- export function easeInOutCubic(t, b, c, d) {
3
- const cc = c - b;
4
- t /= d / 2;
5
- if (t < 1) {
6
- return cc / 2 * t * t * t + b;
7
- }
8
- return cc / 2 * ((t -= 2) * t * t + 2) + b;
9
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"easings.js","sourceRoot":"","sources":["../../src/_util/easings.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACvE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACX,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACjC;IACD,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport function easeInOutCubic(t: number, b: number, c: number, d: number) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n}\n"]}
@@ -1,8 +0,0 @@
1
- export default function getDataOrAriaProps(props) {
2
- return Object.keys(props).reduce((prev, key) => {
3
- if ((key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') && key.substr(0, 7) !== 'data-__') {
4
- prev[key] = props[key];
5
- }
6
- return prev;
7
- }, {});
8
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDataOrAriaProps.js","sourceRoot":"","sources":["../../src/_util/getDataOrAriaProps.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAU;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,GAAW,EAAE,EAAE;QAC1D,IACE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,EAC9B;YACA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC","sourcesContent":["export default function getDataOrAriaProps(props: any) {\n return Object.keys(props).reduce((prev: any, key: string) => {\n if (\n (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') &&\n key.substr(0, 7) !== 'data-__'\n ) {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n"]}
@@ -1,14 +0,0 @@
1
- export default function getScroll(target, top) {
2
- if (typeof window === 'undefined') {
3
- return 0;
4
- }
5
- const prop = top ? 'pageYOffset' : 'pageXOffset';
6
- const method = top ? 'scrollTop' : 'scrollLeft';
7
- const isWindow = target === window;
8
- let ret = isWindow ? target[prop] : target[method];
9
- // ie6,7,8 standard mode
10
- if (isWindow && typeof ret !== 'number') {
11
- ret = document.documentElement[method];
12
- }
13
- return ret;
14
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"getScroll.js","sourceRoot":"","sources":["../../src/_util/getScroll.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,MAAmC,EAAE,GAAY;IACjF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,CAAC,CAAC;KACV;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC;IAEnC,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,MAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,MAAsB,CAAC,MAAM,CAAC,CAAC;IAChF,wBAAwB;IACxB,IAAI,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACvC,GAAG,GAAI,QAAQ,CAAC,eAA+B,CAAC,MAAM,CAAC,CAAC;KACzD;IAED,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["export default function getScroll(target: HTMLElement | Window | null, top: boolean): number {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow = target === window;\n\n let ret = isWindow ? (target as Window)[prop] : (target as HTMLElement)[method];\n // ie6,7,8 standard mode\n if (isWindow && typeof ret !== 'number') {\n ret = (document.documentElement as HTMLElement)[method];\n }\n\n return ret;\n}\n"]}
@@ -1,5 +0,0 @@
1
- // https://github.com/moment/moment/issues/3650
2
- // since we are using ts 3.5.1, it should be safe to remove.
3
- export default function interopDefault(m) {
4
- return m.default || m;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"interopDefault.js","sourceRoot":"","sources":["../../src/_util/interopDefault.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,4DAA4D;AAC5D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAM;IAC3C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;AACxB,CAAC","sourcesContent":["// https://github.com/moment/moment/issues/3650\n// since we are using ts 3.5.1, it should be safe to remove.\nexport default function interopDefault(m: any) {\n return m.default || m;\n}\n"]}
@@ -1,4 +0,0 @@
1
- const isNumeric = value => {
2
- return !isNaN(parseFloat(value)) && isFinite(value);
3
- };
4
- export default isNumeric;
@@ -1 +0,0 @@
1
- {"version":3,"file":"isNumeric.js","sourceRoot":"","sources":["../../src/_util/isNumeric.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,CAAC,KAAU,EAAW,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["const isNumeric = (value: any): boolean => {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\n\nexport default isNumeric;\n"]}
@@ -1,22 +0,0 @@
1
- // ================== Collapse Motion ==================
2
- const getCollapsedHeight = () => ({
3
- height: 0,
4
- opacity: 0
5
- });
6
- const getRealHeight = node => ({
7
- height: node.scrollHeight,
8
- opacity: 1
9
- });
10
- const getCurrentHeight = node => ({
11
- height: node.offsetHeight
12
- });
13
- const collapseMotion = {
14
- motionName: 'ant-motion-collapse',
15
- onAppearStart: getCollapsedHeight,
16
- onEnterStart: getCollapsedHeight,
17
- onAppearActive: getRealHeight,
18
- onEnterActive: getRealHeight,
19
- onLeaveStart: getCurrentHeight,
20
- onLeaveActive: getCollapsedHeight
21
- };
22
- export default collapseMotion;
@@ -1 +0,0 @@
1
- {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/_util/motion.tsx"],"names":[],"mappings":"AAwBA,wDAAwD;AACxD,MAAM,kBAAkB,GAAe,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACxE,MAAM,aAAa,GAAe,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACrF,MAAM,gBAAgB,GAAe,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;AAE5E,MAAM,cAAc,GAAW;IAC7B,UAAU,EAAE,qBAAqB;IACjC,aAAa,EAAE,kBAAkB;IACjC,YAAY,EAAE,kBAAkB;IAChC,cAAc,EAAE,aAAa;IAC7B,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,kBAAkB;CAClC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["import type React from 'react'\n\ntype MotionFunc = (element: HTMLElement) => React.CSSProperties\n\ninterface Motion {\n visible?: boolean\n motionName?: string // It also support object, but we only use string here.\n motionAppear?: boolean\n motionEnter?: boolean\n motionLeave?: boolean\n motionLeaveImmediately?: boolean // Trigger leave motion immediately\n removeOnLeave?: boolean\n leavedClassName?: string\n onAppearStart?: MotionFunc\n onAppearActive?: MotionFunc\n onAppearEnd?: MotionFunc\n onEnterStart?: MotionFunc\n onEnterActive?: MotionFunc\n onEnterEnd?: MotionFunc\n onLeaveStart?: MotionFunc\n onLeaveActive?: MotionFunc\n onLeaveEnd?: MotionFunc\n}\n\n// ================== Collapse Motion ==================\nconst getCollapsedHeight: MotionFunc = () => ({ height: 0, opacity: 0 })\nconst getRealHeight: MotionFunc = node => ({ height: node.scrollHeight, opacity: 1 })\nconst getCurrentHeight: MotionFunc = node => ({ height: node.offsetHeight })\n\nconst collapseMotion: Motion = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n}\n\nexport default collapseMotion\n"]}
@@ -1,51 +0,0 @@
1
- /**
2
- * Deprecated. We should replace the animation with pure react motion instead of modify style directly.
3
- * If you are creating new component with animation, please use `./motion`.
4
- */
5
- import cssAnimation from 'css-animation';
6
- import raf from 'raf';
7
- function animate(node, show, done) {
8
- let height;
9
- let requestAnimationFrameId;
10
- return cssAnimation(node, 'ant-motion-collapse-legacy', {
11
- start() {
12
- if (!show) {
13
- node.style.height = `${node.offsetHeight}px`;
14
- node.style.opacity = '1';
15
- } else {
16
- height = node.offsetHeight;
17
- node.style.height = '0px';
18
- node.style.opacity = '0';
19
- }
20
- },
21
- active() {
22
- if (requestAnimationFrameId) {
23
- raf.cancel(requestAnimationFrameId);
24
- }
25
- requestAnimationFrameId = raf(() => {
26
- node.style.height = `${show ? height : 0}px`;
27
- node.style.opacity = show ? '1' : '0';
28
- });
29
- },
30
- end() {
31
- if (requestAnimationFrameId) {
32
- raf.cancel(requestAnimationFrameId);
33
- }
34
- node.style.height = '';
35
- node.style.opacity = '';
36
- done();
37
- }
38
- });
39
- }
40
- const animation = {
41
- enter(node, done) {
42
- return animate(node, true, done);
43
- },
44
- leave(node, done) {
45
- return animate(node, false, done);
46
- },
47
- appear(node, done) {
48
- return animate(node, true, done);
49
- }
50
- };
51
- export default animation;
@@ -1 +0,0 @@
1
- {"version":3,"file":"openAnimation.js","sourceRoot":"","sources":["../../src/_util/openAnimation.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,SAAS,OAAO,CAAC,IAAiB,EAAE,IAAa,EAAE,IAAgB;IACjE,IAAI,MAAc,CAAC;IACnB,IAAI,uBAA+B,CAAC;IACpC,OAAO,YAAY,CAAC,IAAI,EAAE,4BAA4B,EAAE;QACtD,KAAK;YACH,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;aAC1B;iBAAM;gBACL,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;aAC1B;QACH,CAAC;QACD,MAAM;YACJ,IAAI,uBAAuB,EAAE;gBAC3B,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;aACrC;YACD,uBAAuB,GAAG,GAAG,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,GAAG;YACD,IAAI,uBAAuB,EAAE;gBAC3B,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,KAAK,CAAC,IAAiB,EAAE,IAAgB;QACvC,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAiB,EAAE,IAAgB;QACvC,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,IAAiB,EAAE,IAAgB;QACxC,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["/**\n * Deprecated. We should replace the animation with pure react motion instead of modify style directly.\n * If you are creating new component with animation, please use `./motion`.\n */\nimport cssAnimation from 'css-animation';\nimport raf from 'raf';\n\nfunction animate(node: HTMLElement, show: boolean, done: () => void) {\n let height: number;\n let requestAnimationFrameId: number;\n return cssAnimation(node, 'ant-motion-collapse-legacy', {\n start() {\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n node.style.opacity = '1';\n } else {\n height = node.offsetHeight;\n node.style.height = '0px';\n node.style.opacity = '0';\n }\n },\n active() {\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n requestAnimationFrameId = raf(() => {\n node.style.height = `${show ? height : 0}px`;\n node.style.opacity = show ? '1' : '0';\n });\n },\n end() {\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n node.style.height = '';\n node.style.opacity = '';\n done();\n },\n });\n}\n\nconst animation = {\n enter(node: HTMLElement, done: () => void) {\n return animate(node, true, done);\n },\n leave(node: HTMLElement, done: () => void) {\n return animate(node, false, done);\n },\n appear(node: HTMLElement, done: () => void) {\n return animate(node, true, done);\n },\n};\n\nexport default animation;\n"]}
package/es/_util/raf.js DELETED
@@ -1,25 +0,0 @@
1
- import raf from 'raf';
2
- let id = 0;
3
- const ids = {};
4
- // Support call raf with delay specified frame
5
- export default function wrapperRaf(callback, delayFrames = 1) {
6
- const myId = id++;
7
- let restFrames = delayFrames;
8
- function internalCallback() {
9
- restFrames -= 1;
10
- if (restFrames <= 0) {
11
- callback();
12
- delete ids[myId];
13
- } else {
14
- ids[myId] = raf(internalCallback);
15
- }
16
- }
17
- ids[myId] = raf(internalCallback);
18
- return myId;
19
- }
20
- wrapperRaf.cancel = function cancel(pid) {
21
- if (pid === undefined) return;
22
- raf.cancel(ids[pid]);
23
- delete ids[pid];
24
- };
25
- wrapperRaf.ids = ids; // export this for test usage
@@ -1 +0,0 @@
1
- {"version":3,"file":"raf.js","sourceRoot":"","sources":["../../src/_util/raf.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,IAAI,EAAE,GAAW,CAAC,CAAC;AACnB,MAAM,GAAG,GAAW,EAAE,CAAC;AAEvB,8CAA8C;AAC9C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,QAAoB,EAAE,cAAsB,CAAC;IAC9E,MAAM,IAAI,GAAW,EAAE,EAAE,CAAC;IAC1B,IAAI,UAAU,GAAW,WAAW,CAAC;IAErC,SAAS,gBAAgB;QACvB,UAAU,IAAI,CAAC,CAAC;QAEhB,IAAI,UAAU,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;SACnC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,UAAU,CAAC,MAAM,GAAG,SAAS,MAAM,CAAC,GAAY;IAC9C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAE9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,6BAA6B","sourcesContent":["import raf from 'raf';\n\ninterface RafMap {\n [id: number]: number;\n}\n\nlet id: number = 0;\nconst ids: RafMap = {};\n\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback: () => void, delayFrames: number = 1): number {\n const myId: number = id++;\n let restFrames: number = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n\n return myId;\n}\n\nwrapperRaf.cancel = function cancel(pid?: number) {\n if (pid === undefined) return;\n\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\n\nwrapperRaf.ids = ids; // export this for test usage\n"]}
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- // eslint-disable-next-line import/prefer-default-export
3
- export function cloneElement(element, ...restArgs) {
4
- if (!React.isValidElement(element)) return element;
5
- return React.cloneElement(element, ...restArgs);
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactNode.js","sourceRoot":"","sources":["../../src/_util/reactNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE,GAAG,QAAe;IACvE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAEnD,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;AAClD,CAAC","sourcesContent":["import * as React from 'react';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function cloneElement(element: React.ReactNode, ...restArgs: any[]) {\n if (!React.isValidElement(element)) return element;\n\n return React.cloneElement(element, ...restArgs);\n}\n"]}
package/es/_util/ref.js DELETED
@@ -1,15 +0,0 @@
1
- import 'react';
2
- export function fillRef(ref, node) {
3
- if (typeof ref === 'function') {
4
- ref(node);
5
- } else if (typeof ref === 'object' && ref && 'current' in ref) {
6
- ref.current = node;
7
- }
8
- }
9
- export function composeRef(...refs) {
10
- return node => {
11
- refs.forEach(ref => {
12
- fillRef(ref, node);
13
- });
14
- };
15
- }