tntd 2.6.8 → 2.6.10

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 (451) 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 +1 -1
  31. package/es/ellipsis/index.js.map +1 -1
  32. package/es/ellipsis/index.less +1 -1
  33. package/es/handle/index.js +13 -5
  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/label/label.js +140 -0
  44. package/es/label/label.js.map +1 -0
  45. package/es/label/label.test.js +12 -0
  46. package/es/label/label.test.js.map +1 -0
  47. package/es/locale/en_US.js +4 -2
  48. package/es/locale/en_US.js.map +1 -1
  49. package/es/locale/zh_CN.js +4 -2
  50. package/es/locale/zh_CN.js.map +1 -1
  51. package/es/page/Box.js +1 -1
  52. package/es/page/Box.js.map +1 -1
  53. package/es/page/index.js +1 -1
  54. package/es/page/index.js.map +1 -1
  55. package/es/page/index.less +5 -5
  56. package/es/preview-text/index.js +265 -0
  57. package/es/preview-text/index.js.map +1 -0
  58. package/es/preview-text/index.less +3 -0
  59. package/es/query-form/Field/SelectInput.js +7 -5
  60. package/es/query-form/Field/SelectInput.js.map +1 -1
  61. package/es/radio/index.js +3 -0
  62. package/es/radio/index.js.map +1 -1
  63. package/es/radio/radio-group.js +5 -0
  64. package/es/radio/radio-group.js.map +1 -0
  65. package/es/segmented/index.js +67 -0
  66. package/es/segmented/index.js.map +1 -0
  67. package/es/segmented/index.less +138 -0
  68. package/es/select/index.js.map +1 -1
  69. package/es/select/select.js +25 -3
  70. package/es/select/select.js.map +1 -1
  71. package/es/switch/index.js +2 -3
  72. package/es/switch/index.js.map +1 -1
  73. package/es/switch/switch.js +10 -0
  74. package/es/switch/switch.js.map +1 -0
  75. package/es/table/table.js +10 -4
  76. package/es/table/table.js.map +1 -1
  77. package/es/table/total-shower.js +10 -0
  78. package/es/table/total-shower.js.map +1 -0
  79. package/es/time-picker/index.js +3 -1
  80. package/es/time-picker/index.js.map +1 -1
  81. package/es/title/index.js +9 -11
  82. package/es/title/index.js.map +1 -1
  83. package/es/title/index.less +10 -10
  84. package/es/tntd-form/ErrorList.js +87 -0
  85. package/es/tntd-form/ErrorList.js.map +1 -0
  86. package/es/tntd-form/Form.js +122 -0
  87. package/es/tntd-form/Form.js.map +1 -0
  88. package/es/tntd-form/FormItem/ItemHolder.js +144 -0
  89. package/es/tntd-form/FormItem/ItemHolder.js.map +1 -0
  90. package/es/tntd-form/FormItem/index.js +264 -0
  91. package/es/tntd-form/FormItem/index.js.map +1 -0
  92. package/es/tntd-form/FormItemInput.js +79 -0
  93. package/es/tntd-form/FormItemInput.js.map +1 -0
  94. package/es/tntd-form/FormItemLabel.js +98 -0
  95. package/es/tntd-form/FormItemLabel.js.map +1 -0
  96. package/es/tntd-form/FormList.js +40 -0
  97. package/es/tntd-form/FormList.js.map +1 -0
  98. package/es/tntd-form/_util/motion.js +47 -0
  99. package/es/tntd-form/_util/motion.js.map +1 -0
  100. package/es/tntd-form/_util/reactNode.js +16 -0
  101. package/es/tntd-form/_util/reactNode.js.map +1 -0
  102. package/es/tntd-form/_util/scrollTo.js +35 -0
  103. package/es/tntd-form/_util/scrollTo.js.map +1 -0
  104. package/es/tntd-form/_util/type.js +3 -0
  105. package/es/tntd-form/_util/type.js.map +1 -0
  106. package/es/tntd-form/_util/warning.js +5 -0
  107. package/es/tntd-form/_util/warning.js.map +1 -0
  108. package/es/tntd-form/_util/wave.js +168 -0
  109. package/es/tntd-form/_util/wave.js.map +1 -0
  110. package/es/tntd-form/context.js +40 -0
  111. package/es/tntd-form/context.js.map +1 -0
  112. package/es/tntd-form/hooks/useDebounce.js +13 -0
  113. package/es/tntd-form/hooks/useDebounce.js.map +1 -0
  114. package/es/tntd-form/hooks/useForm.js +40 -0
  115. package/es/tntd-form/hooks/useForm.js.map +1 -0
  116. package/es/tntd-form/hooks/useFormInstance.js +8 -0
  117. package/es/tntd-form/hooks/useFormInstance.js.map +1 -0
  118. package/es/tntd-form/hooks/useFormItemStatus.js +13 -0
  119. package/es/tntd-form/hooks/useFormItemStatus.js.map +1 -0
  120. package/es/tntd-form/hooks/useFrameState.js +37 -0
  121. package/es/tntd-form/hooks/useFrameState.js.map +1 -0
  122. package/es/tntd-form/hooks/useItemRef.js +20 -0
  123. package/es/tntd-form/hooks/useItemRef.js.map +1 -0
  124. package/es/tntd-form/index.js +17 -1
  125. package/es/tntd-form/index.js.map +1 -1
  126. package/es/tntd-form/interface.js +2 -0
  127. package/es/tntd-form/interface.js.map +1 -0
  128. package/es/tntd-form/style/components.less +16 -0
  129. package/es/tntd-form/style/horizontal.less +26 -0
  130. package/es/tntd-form/style/index.js +5 -0
  131. package/es/tntd-form/style/index.js.map +1 -0
  132. package/es/tntd-form/style/index.less +342 -0
  133. package/es/tntd-form/style/inline.less +40 -0
  134. package/es/tntd-form/style/mixin.less +90 -0
  135. package/es/tntd-form/style/rtl.less +204 -0
  136. package/es/tntd-form/style/status.less +45 -0
  137. package/es/tntd-form/style/vertical.less +95 -0
  138. package/es/tntd-form/tntd-form.stories.js +786 -0
  139. package/es/tntd-form/tntd-form.stories.js.map +1 -0
  140. package/es/tntd-form/util.js +18 -0
  141. package/es/tntd-form/util.js.map +1 -0
  142. package/es/tntd-form/validateMessagesContext.js +5 -0
  143. package/es/tntd-form/validateMessagesContext.js.map +1 -0
  144. package/es/tntd-modal/index.js +71 -56
  145. package/es/tntd-modal/index.js.map +1 -1
  146. package/es/tntd-modal/index.less +83 -63
  147. package/es/tree-select/index.js +4 -1
  148. package/es/tree-select/index.js.map +1 -1
  149. package/es/upload/index.js +8 -1
  150. package/es/upload/index.js.map +1 -1
  151. package/es/utils/index.js +1 -0
  152. package/es/utils/index.js.map +1 -1
  153. package/es/utils/simple-template.js +10 -0
  154. package/es/utils/simple-template.js.map +1 -0
  155. package/es/water-mark/index.js +110 -0
  156. package/es/water-mark/index.js.map +1 -0
  157. package/lib/actions/index.d.ts +15 -0
  158. package/lib/actions/index.d.ts.map +1 -0
  159. package/lib/actions/index.js +34 -0
  160. package/lib/actions/index.js.map +1 -0
  161. package/lib/actions/index.less +70 -0
  162. package/lib/cascader/index.d.ts +6 -1
  163. package/lib/cascader/index.d.ts.map +1 -1
  164. package/lib/cascader/index.js +10 -3
  165. package/lib/cascader/index.js.map +1 -1
  166. package/lib/check-card/group.d.ts +130 -0
  167. package/lib/check-card/group.d.ts.map +1 -0
  168. package/lib/check-card/group.js +236 -0
  169. package/lib/check-card/group.js.map +1 -0
  170. package/lib/check-card/index.d.ts +136 -0
  171. package/lib/check-card/index.d.ts.map +1 -0
  172. package/lib/check-card/index.js +178 -0
  173. package/lib/check-card/index.js.map +1 -0
  174. package/lib/check-card/index.less +179 -0
  175. package/lib/checkbox/checkbox-group.d.ts +8 -0
  176. package/lib/checkbox/checkbox-group.d.ts.map +1 -0
  177. package/lib/checkbox/checkbox-group.js +13 -0
  178. package/lib/checkbox/checkbox-group.js.map +1 -0
  179. package/lib/checkbox/index.d.ts +1 -0
  180. package/lib/checkbox/index.d.ts.map +1 -1
  181. package/lib/checkbox/index.js +16 -0
  182. package/lib/checkbox/index.js.map +1 -1
  183. package/lib/color-picker/ColorPicker.js +1 -1
  184. package/lib/color-picker/ColorPicker.js.map +1 -1
  185. package/lib/color-picker/index.less +1 -1
  186. package/lib/config-provider/DisabledContext.d.ts +10 -0
  187. package/lib/config-provider/DisabledContext.d.ts.map +1 -0
  188. package/lib/config-provider/DisabledContext.js +22 -0
  189. package/lib/config-provider/DisabledContext.js.map +1 -0
  190. package/lib/config-provider/SizeContext.d.ts +10 -0
  191. package/lib/config-provider/SizeContext.d.ts.map +1 -0
  192. package/lib/config-provider/SizeContext.js +23 -0
  193. package/lib/config-provider/SizeContext.js.map +1 -0
  194. package/lib/config-provider/index.d.ts +1 -0
  195. package/lib/config-provider/index.d.ts.map +1 -1
  196. package/lib/config-provider/index.js +15 -0
  197. package/lib/config-provider/index.js.map +1 -1
  198. package/lib/connect/index.d.ts +12 -0
  199. package/lib/connect/index.d.ts.map +1 -0
  200. package/lib/connect/index.js +50 -0
  201. package/lib/connect/index.js.map +1 -0
  202. package/lib/date-picker/index.d.ts +6 -1
  203. package/lib/date-picker/index.d.ts.map +1 -1
  204. package/lib/date-picker/index.js +29 -3
  205. package/lib/date-picker/index.js.map +1 -1
  206. package/lib/ellipsis/index.js +1 -1
  207. package/lib/ellipsis/index.js.map +1 -1
  208. package/lib/ellipsis/index.less +1 -1
  209. package/lib/handle/index.d.ts.map +1 -1
  210. package/lib/handle/index.js +13 -4
  211. package/lib/handle/index.js.map +1 -1
  212. package/lib/handle/index.less +1 -1
  213. package/lib/index.d.ts +7 -0
  214. package/lib/index.d.ts.map +1 -1
  215. package/lib/index.js +22 -0
  216. package/lib/index.js.map +1 -1
  217. package/lib/index.less +5 -0
  218. package/lib/input/input.d.ts +5 -0
  219. package/lib/input/input.d.ts.map +1 -1
  220. package/lib/input/input.js +18 -8
  221. package/lib/input/input.js.map +1 -1
  222. package/lib/input-number/index.d.ts +7 -2
  223. package/lib/input-number/index.d.ts.map +1 -1
  224. package/lib/input-number/index.js +4 -1
  225. package/lib/input-number/index.js.map +1 -1
  226. package/lib/label/label.d.ts +52 -0
  227. package/lib/label/label.d.ts.map +1 -0
  228. package/lib/label/label.js +150 -0
  229. package/lib/label/label.js.map +1 -0
  230. package/lib/label/label.test.d.ts +2 -0
  231. package/lib/label/label.test.d.ts.map +1 -0
  232. package/lib/label/label.test.js +14 -0
  233. package/lib/label/label.test.js.map +1 -0
  234. package/lib/locale/default.d.ts +1 -0
  235. package/lib/locale/default.d.ts.map +1 -1
  236. package/lib/locale/en_US.d.ts +1 -0
  237. package/lib/locale/en_US.d.ts.map +1 -1
  238. package/lib/locale/en_US.js +4 -2
  239. package/lib/locale/en_US.js.map +1 -1
  240. package/lib/locale/zh_CN.d.ts +1 -0
  241. package/lib/locale/zh_CN.d.ts.map +1 -1
  242. package/lib/locale/zh_CN.js +4 -2
  243. package/lib/locale/zh_CN.js.map +1 -1
  244. package/lib/page/Box.js +1 -1
  245. package/lib/page/Box.js.map +1 -1
  246. package/lib/page/index.js +1 -1
  247. package/lib/page/index.js.map +1 -1
  248. package/lib/page/index.less +5 -5
  249. package/lib/preview-text/index.d.ts +20 -0
  250. package/lib/preview-text/index.d.ts.map +1 -0
  251. package/lib/preview-text/index.js +278 -0
  252. package/lib/preview-text/index.js.map +1 -0
  253. package/lib/preview-text/index.less +3 -0
  254. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  255. package/lib/query-form/Field/SelectInput.js +6 -4
  256. package/lib/query-form/Field/SelectInput.js.map +1 -1
  257. package/lib/radio/index.d.ts.map +1 -1
  258. package/lib/radio/index.js +4 -0
  259. package/lib/radio/index.js.map +1 -1
  260. package/lib/radio/radio-group.d.ts +8 -0
  261. package/lib/radio/radio-group.d.ts.map +1 -0
  262. package/lib/radio/radio-group.js +13 -0
  263. package/lib/radio/radio-group.js.map +1 -0
  264. package/lib/segmented/index.d.ts +23 -0
  265. package/lib/segmented/index.d.ts.map +1 -0
  266. package/lib/segmented/index.js +80 -0
  267. package/lib/segmented/index.js.map +1 -0
  268. package/lib/segmented/index.less +138 -0
  269. package/lib/select/index.d.ts +2 -1
  270. package/lib/select/index.d.ts.map +1 -1
  271. package/lib/select/index.js.map +1 -1
  272. package/lib/select/select.d.ts +12 -0
  273. package/lib/select/select.d.ts.map +1 -1
  274. package/lib/select/select.js +25 -4
  275. package/lib/select/select.js.map +1 -1
  276. package/lib/svg-components/illustration-403.d.ts +1 -1
  277. package/lib/svg-components/illustration-404.d.ts +1 -1
  278. package/lib/svg-components/illustration-500.d.ts +1 -1
  279. package/lib/svg-components/illustration-empty.d.ts +1 -1
  280. package/lib/svg-components/illustration-failure.d.ts +1 -1
  281. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  282. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  283. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  284. package/lib/svg-components/illustration-offline.d.ts +1 -1
  285. package/lib/svg-components/illustration-success.d.ts +1 -1
  286. package/lib/switch/index.d.ts +2 -3
  287. package/lib/switch/index.d.ts.map +1 -1
  288. package/lib/switch/index.js +1 -2
  289. package/lib/switch/index.js.map +1 -1
  290. package/lib/switch/switch.d.ts +10 -0
  291. package/lib/switch/switch.d.ts.map +1 -0
  292. package/lib/switch/switch.js +37 -0
  293. package/lib/switch/switch.js.map +1 -0
  294. package/lib/table/assets/image-loading-background.d.ts +1 -1
  295. package/lib/table/assets/image-loading.d.ts +1 -1
  296. package/lib/table/table.d.ts.map +1 -1
  297. package/lib/table/table.js +14 -7
  298. package/lib/table/table.js.map +1 -1
  299. package/lib/table/total-shower.d.ts +9 -0
  300. package/lib/table/total-shower.d.ts.map +1 -0
  301. package/lib/table/total-shower.js +17 -0
  302. package/lib/table/total-shower.js.map +1 -0
  303. package/lib/time-picker/index.d.ts +7 -2
  304. package/lib/time-picker/index.d.ts.map +1 -1
  305. package/lib/time-picker/index.js +3 -1
  306. package/lib/time-picker/index.js.map +1 -1
  307. package/lib/title/index.d.ts +11 -1
  308. package/lib/title/index.d.ts.map +1 -1
  309. package/lib/title/index.js +8 -10
  310. package/lib/title/index.js.map +1 -1
  311. package/lib/title/index.less +10 -10
  312. package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +1 -1
  313. package/lib/tntd-form/ErrorList.d.ts +13 -0
  314. package/lib/tntd-form/ErrorList.d.ts.map +1 -0
  315. package/lib/tntd-form/ErrorList.js +104 -0
  316. package/lib/tntd-form/ErrorList.js.map +1 -0
  317. package/lib/tntd-form/Form.d.ts +36 -0
  318. package/lib/tntd-form/Form.d.ts.map +1 -0
  319. package/lib/tntd-form/Form.js +160 -0
  320. package/lib/tntd-form/Form.js.map +1 -0
  321. package/lib/tntd-form/FormItem/ItemHolder.d.ts +18 -0
  322. package/lib/tntd-form/FormItem/ItemHolder.d.ts.map +1 -0
  323. package/lib/tntd-form/FormItem/ItemHolder.js +163 -0
  324. package/lib/tntd-form/FormItem/ItemHolder.js.map +1 -0
  325. package/lib/tntd-form/FormItem/index.d.ts +36 -0
  326. package/lib/tntd-form/FormItem/index.d.ts.map +1 -0
  327. package/lib/tntd-form/FormItem/index.js +301 -0
  328. package/lib/tntd-form/FormItem/index.js.map +1 -0
  329. package/lib/tntd-form/FormItemInput.d.ts +30 -0
  330. package/lib/tntd-form/FormItemInput.d.ts.map +1 -0
  331. package/lib/tntd-form/FormItemInput.js +92 -0
  332. package/lib/tntd-form/FormItemInput.js.map +1 -0
  333. package/lib/tntd-form/FormItemLabel.d.ts +24 -0
  334. package/lib/tntd-form/FormItemLabel.d.ts.map +1 -0
  335. package/lib/tntd-form/FormItemLabel.js +106 -0
  336. package/lib/tntd-form/FormItemLabel.js.map +1 -0
  337. package/lib/tntd-form/FormList.d.ts +26 -0
  338. package/lib/tntd-form/FormList.d.ts.map +1 -0
  339. package/lib/tntd-form/FormList.js +56 -0
  340. package/lib/tntd-form/FormList.js.map +1 -0
  341. package/lib/tntd-form/_util/motion.d.ts +9 -0
  342. package/lib/tntd-form/_util/motion.d.ts.map +1 -0
  343. package/lib/tntd-form/_util/motion.js +59 -0
  344. package/lib/tntd-form/_util/motion.js.map +1 -0
  345. package/lib/tntd-form/_util/reactNode.d.ts +9 -0
  346. package/lib/tntd-form/_util/reactNode.d.ts.map +1 -0
  347. package/lib/tntd-form/_util/reactNode.js +27 -0
  348. package/lib/tntd-form/_util/reactNode.js.map +1 -0
  349. package/lib/tntd-form/_util/scrollTo.d.ts +1 -0
  350. package/lib/tntd-form/_util/scrollTo.d.ts.map +1 -0
  351. package/lib/tntd-form/_util/scrollTo.js +35 -0
  352. package/lib/tntd-form/_util/scrollTo.js.map +1 -0
  353. package/lib/tntd-form/_util/type.d.ts +4 -0
  354. package/lib/tntd-form/_util/type.d.ts.map +1 -0
  355. package/lib/tntd-form/_util/type.js +21 -0
  356. package/lib/tntd-form/_util/type.js.map +1 -0
  357. package/lib/tntd-form/_util/warning.d.ts +5 -0
  358. package/lib/tntd-form/_util/warning.d.ts.map +1 -0
  359. package/lib/tntd-form/_util/warning.js +20 -0
  360. package/lib/tntd-form/_util/warning.js.map +1 -0
  361. package/lib/tntd-form/_util/wave.d.ts +1 -0
  362. package/lib/tntd-form/_util/wave.d.ts.map +1 -0
  363. package/lib/tntd-form/_util/wave.js +168 -0
  364. package/lib/tntd-form/_util/wave.js.map +1 -0
  365. package/lib/tntd-form/context.d.ts +51 -0
  366. package/lib/tntd-form/context.d.ts.map +1 -0
  367. package/lib/tntd-form/context.js +54 -0
  368. package/lib/tntd-form/context.js.map +1 -0
  369. package/lib/tntd-form/hooks/useDebounce.d.ts +2 -0
  370. package/lib/tntd-form/hooks/useDebounce.d.ts.map +1 -0
  371. package/lib/tntd-form/hooks/useDebounce.js +31 -0
  372. package/lib/tntd-form/hooks/useDebounce.js.map +1 -0
  373. package/lib/tntd-form/hooks/useForm.d.ts +16 -0
  374. package/lib/tntd-form/hooks/useForm.d.ts.map +1 -0
  375. package/lib/tntd-form/hooks/useForm.js +63 -0
  376. package/lib/tntd-form/hooks/useForm.js.map +1 -0
  377. package/lib/tntd-form/hooks/useFormInstance.d.ts +3 -0
  378. package/lib/tntd-form/hooks/useFormInstance.d.ts.map +1 -0
  379. package/lib/tntd-form/hooks/useFormInstance.js +13 -0
  380. package/lib/tntd-form/hooks/useFormInstance.js.map +1 -0
  381. package/lib/tntd-form/hooks/useFormItemStatus.d.ts +7 -0
  382. package/lib/tntd-form/hooks/useFormItemStatus.d.ts.map +1 -0
  383. package/lib/tntd-form/hooks/useFormItemStatus.js +20 -0
  384. package/lib/tntd-form/hooks/useFormItemStatus.js.map +1 -0
  385. package/lib/tntd-form/hooks/useFrameState.d.ts +4 -0
  386. package/lib/tntd-form/hooks/useFrameState.d.ts.map +1 -0
  387. package/lib/tntd-form/hooks/useFrameState.js +55 -0
  388. package/lib/tntd-form/hooks/useFrameState.js.map +1 -0
  389. package/lib/tntd-form/hooks/useItemRef.d.ts +4 -0
  390. package/lib/tntd-form/hooks/useItemRef.d.ts.map +1 -0
  391. package/lib/tntd-form/hooks/useItemRef.js +28 -0
  392. package/lib/tntd-form/hooks/useItemRef.js.map +1 -0
  393. package/lib/tntd-form/index.d.ts +23 -1
  394. package/lib/tntd-form/index.d.ts.map +1 -1
  395. package/lib/tntd-form/index.js +24 -8
  396. package/lib/tntd-form/index.js.map +1 -1
  397. package/lib/tntd-form/interface.d.ts +4 -0
  398. package/lib/tntd-form/interface.d.ts.map +1 -0
  399. package/lib/tntd-form/interface.js +7 -0
  400. package/lib/tntd-form/interface.js.map +1 -0
  401. package/lib/tntd-form/style/components.less +16 -0
  402. package/lib/tntd-form/style/horizontal.less +26 -0
  403. package/lib/tntd-form/style/index.d.ts +5 -0
  404. package/lib/tntd-form/style/index.d.ts.map +1 -0
  405. package/lib/tntd-form/style/index.js +6 -0
  406. package/lib/tntd-form/style/index.js.map +1 -0
  407. package/lib/tntd-form/style/index.less +342 -0
  408. package/lib/tntd-form/style/inline.less +40 -0
  409. package/lib/tntd-form/style/mixin.less +90 -0
  410. package/lib/tntd-form/style/rtl.less +204 -0
  411. package/lib/tntd-form/style/status.less +45 -0
  412. package/lib/tntd-form/style/vertical.less +95 -0
  413. package/lib/tntd-form/tntd-form.stories.d.ts +33 -0
  414. package/lib/tntd-form/tntd-form.stories.d.ts.map +1 -0
  415. package/lib/tntd-form/tntd-form.stories.js +888 -0
  416. package/lib/tntd-form/tntd-form.stories.js.map +1 -0
  417. package/lib/tntd-form/util.d.ts +4 -0
  418. package/lib/tntd-form/util.d.ts.map +1 -0
  419. package/lib/tntd-form/util.js +25 -0
  420. package/lib/tntd-form/util.js.map +1 -0
  421. package/lib/tntd-form/validateMessagesContext.d.ts +5 -0
  422. package/lib/tntd-form/validateMessagesContext.d.ts.map +1 -0
  423. package/lib/tntd-form/validateMessagesContext.js +12 -0
  424. package/lib/tntd-form/validateMessagesContext.js.map +1 -0
  425. package/lib/tntd-modal/index.d.ts +15 -2
  426. package/lib/tntd-modal/index.d.ts.map +1 -1
  427. package/lib/tntd-modal/index.js +76 -61
  428. package/lib/tntd-modal/index.js.map +1 -1
  429. package/lib/tntd-modal/index.less +83 -63
  430. package/lib/tree-select/index.d.ts +7 -1
  431. package/lib/tree-select/index.d.ts.map +1 -1
  432. package/lib/tree-select/index.js +9 -3
  433. package/lib/tree-select/index.js.map +1 -1
  434. package/lib/upload/index.d.ts +6 -1
  435. package/lib/upload/index.d.ts.map +1 -1
  436. package/lib/upload/index.js +11 -1
  437. package/lib/upload/index.js.map +1 -1
  438. package/lib/utils/index.d.ts +1 -0
  439. package/lib/utils/index.d.ts.map +1 -1
  440. package/lib/utils/index.js +12 -0
  441. package/lib/utils/index.js.map +1 -1
  442. package/lib/utils/simple-template.d.ts +9 -0
  443. package/lib/utils/simple-template.d.ts.map +1 -0
  444. package/lib/utils/simple-template.js +19 -0
  445. package/lib/utils/simple-template.js.map +1 -0
  446. package/lib/water-mark/index.d.ts +49 -0
  447. package/lib/water-mark/index.d.ts.map +1 -0
  448. package/lib/water-mark/index.js +142 -0
  449. package/lib/water-mark/index.js.map +1 -0
  450. package/package.json +26 -5
  451. package/themes/default/variables.less +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tntd-form.stories.js","sourceRoot":"","sources":["../../src/tntd-form/tntd-form.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport type { Meta, Story } from '@tntd/storybook-react-storykit'\nimport Form from './index'\nimport type { FormProps } from './Form'\nimport {\n Input,\n InputNumber,\n Checkbox,\n Button,\n Select,\n Radio,\n Row,\n message,\n Icon,\n Modal,\n Drawer,\n Cascader,\n DatePicker,\n TimePicker,\n TreeSelect,\n Switch,\n Upload,\n} from '../index'\nimport type { Input as AntdInput } from 'antd'\nimport moment from 'moment'\nimport type { SelectProps } from '../select'\n\nconst { Option } = Select\nconst options = [\n { label: 'Apple', value: 'apple' },\n { label: 'Pear', value: 'pear' },\n]\n\nexport default {\n title: 'TntdForm',\n component: Form,\n} as Meta<typeof Form>\n\n//👇 We create a “template” of how args map to rendering\nconst Template: Story<FormProps<any>> = (args) => {\n return <Form {...args} />\n}\n\nexport const Basic = Template.bind({})\n\nBasic.args = {\n //👇 The args you need here will depend on your component\n initialValues: {\n username: 'zhang san',\n remember: true,\n },\n name: 'Basic',\n disabled: false,\n labelCol: { span: 4 },\n wrapperCol: { span: 20 },\n onFinish: (values) => {\n console.log('Success:', values)\n },\n onFinishFailed(errorInfo) {\n console.log('Failed:', errorInfo)\n },\n autoComplete: 'off',\n children: (\n <>\n <Form.Item\n label=\"Username\"\n name=\"username\"\n rules={[{ required: true, message: 'Please input your username!' }]}\n >\n <Input />\n </Form.Item>\n\n <Form.Item\n label=\"Password\"\n name=\"password\"\n rules={[{ required: true, message: 'Please input your password!' }]}\n >\n <Input.Password />\n </Form.Item>\n\n <Form.Item name=\"remember\" valuePropName=\"checked\" wrapperCol={{ offset: 8, span: 16 }}>\n <Checkbox>Remember me</Checkbox>\n </Form.Item>\n\n <Form.Item wrapperCol={{ offset: 8, span: 16 }}>\n <Button type=\"primary\" htmlType=\"submit\">\n Submit\n </Button>\n </Form.Item>\n </>\n ),\n}\n\nconst FormMethodsTemplate: Story<FormProps<any>> = (args) => {\n const [form] = Form.useForm()\n\n const layout = {\n labelCol: { span: 8 },\n wrapperCol: { span: 16 },\n }\n const tailLayout = {\n wrapperCol: { offset: 8, span: 16 },\n }\n\n const onGenderChange: SelectProps['onChange'] = (value) => {\n switch (value) {\n case 'male':\n form.setFieldsValue({ note: 'Hi, man!' })\n return\n case 'female':\n form.setFieldsValue({ note: 'Hi, lady!' })\n return\n case 'other':\n form.setFieldsValue({ note: 'Hi there!' })\n }\n }\n\n const onFinish = (values: any) => {\n console.log(values)\n }\n\n const onReset = () => {\n form.resetFields()\n }\n\n const onFill = () => {\n form.setFieldsValue({\n note: 'Hello world!',\n gender: 'male',\n })\n }\n\n return (\n <Form {...layout} form={form} name=\"control-hooks\" onFinish={onFinish} {...args}>\n <Form.Item name=\"note\" label=\"Note\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item name=\"gender\" label=\"Gender\" rules={[{ required: true }]}>\n <Select\n placeholder=\"Select a option and change input text above\"\n onChange={onGenderChange}\n allowClear\n >\n <Option value=\"male\">male</Option>\n <Option value=\"female\">female</Option>\n <Option value=\"other\">other</Option>\n </Select>\n </Form.Item>\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, currentValues) => prevValues.gender !== currentValues.gender}\n >\n {({ getFieldValue }) =>\n getFieldValue('gender') === 'other' ? (\n <Form.Item name=\"customizeGender\" label=\"Customize Gender\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n <Form.Item {...tailLayout}>\n <Button type=\"primary\" htmlType=\"submit\" style={{ marginRight: 12 }}>\n Submit\n </Button>\n <Button htmlType=\"button\" onClick={onReset}>\n Reset\n </Button>\n <Button type=\"link\" htmlType=\"button\" onClick={onFill}>\n Fill form\n </Button>\n </Form.Item>\n </Form>\n )\n}\n\n// 表单方法调用\nexport const FormMethodInvoke = FormMethodsTemplate.bind({})\n\nFormMethodInvoke.args = {}\n\n// 表单布局\ntype LayoutType = Parameters<typeof Form>[0]['layout']\nconst FormLayoutTemplate = () => {\n const [form] = Form.useForm()\n const [formLayout, setFormLayout] = useState<LayoutType>('horizontal')\n\n const onFormLayoutChange = ({ layout }: { layout: LayoutType }) => {\n setFormLayout(layout)\n }\n\n const formItemLayout =\n formLayout === 'horizontal'\n ? {\n labelCol: { span: 4 },\n wrapperCol: { span: 14 },\n }\n : null\n\n const buttonItemLayout =\n formLayout === 'horizontal'\n ? {\n wrapperCol: { span: 14, offset: 4 },\n }\n : null\n\n return (\n <Form\n {...formItemLayout}\n layout={formLayout}\n form={form}\n initialValues={{ layout: formLayout }}\n onValuesChange={onFormLayoutChange}\n >\n <Form.Item label=\"Form Layout\" name=\"layout\">\n <Radio.Group value={formLayout}>\n <Radio.Button value=\"horizontal\">Horizontal</Radio.Button>\n <Radio.Button value=\"vertical\">Vertical</Radio.Button>\n <Radio.Button value=\"inline\">Inline</Radio.Button>\n </Radio.Group>\n </Form.Item>\n <Form.Item label=\"Field A\">\n <Input placeholder=\"input placeholder\" />\n </Form.Item>\n <Form.Item label=\"Field B\">\n <Input placeholder=\"input placeholder\" />\n </Form.Item>\n <Form.Item {...buttonItemLayout}>\n <Button type=\"primary\">Submit</Button>\n </Form.Item>\n </Form>\n )\n}\n\nexport const FormLayoutDemo = FormLayoutTemplate.bind({})\n\n// 非阻塞校验\nconst UnblockValidateTemplate = () => {\n const [form] = Form.useForm()\n\n const onFinish = () => {\n void message.success('Submit success!')\n }\n\n const onFinishFailed = () => {\n void message.error('Submit failed!')\n }\n\n const onFill = () => {\n form.setFieldsValue({\n url: 'https://taobao.com/',\n })\n }\n\n return (\n <Form form={form} onFinish={onFinish} onFinishFailed={onFinishFailed} autoComplete=\"off\">\n <Form.Item\n name=\"url\"\n label=\"URL\"\n rules={[{ required: true }, { type: 'url', warningOnly: true }, { type: 'string', min: 6 }]}\n >\n <Input placeholder=\"input placeholder\" />\n </Form.Item>\n <Form.Item>\n <Button type=\"primary\" htmlType=\"submit\" style={{ marginRight: 12 }}>\n Submit\n </Button>\n <Button htmlType=\"button\" onClick={onFill}>\n Fill\n </Button>\n </Form.Item>\n </Form>\n )\n}\n\nexport const UnblockValidate = UnblockValidateTemplate.bind({})\n\n// 字段监听hooks\nconst UseWatchTemplate = () => {\n const [form] = Form.useForm<{ name: string; age: number }>()\n const nameValue = Form.useWatch('name', form)\n\n return (\n <>\n <Form form={form} layout=\"vertical\" autoComplete=\"off\">\n <Form.Item name=\"name\" label=\"Name (Watch to trigger rerender)\">\n <Input />\n </Form.Item>\n <Form.Item name=\"age\" label=\"Age (Not Watch)\">\n <InputNumber />\n </Form.Item>\n </Form>\n\n <pre>Name Value: {nameValue}</pre>\n </>\n )\n}\n\nexport const UseWatchHooks = UseWatchTemplate.bind({})\n\n// 动态增减标单项\nconst formItemLayout = {\n labelCol: {\n xs: { span: 24 },\n sm: { span: 4 },\n },\n wrapperCol: {\n xs: { span: 24 },\n sm: { span: 20 },\n },\n}\nconst formItemLayoutWithOutLabel = {\n wrapperCol: {\n xs: { span: 24, offset: 0 },\n sm: { span: 20, offset: 4 },\n },\n}\nconst DynamicAddRemoveFieldsTpl = () => {\n const onFinish = (values: any) => {\n console.log('Received values of form:', values)\n }\n\n return (\n <Form name=\"dynamic_form_item\" {...formItemLayoutWithOutLabel} onFinish={onFinish}>\n <Form.List\n name=\"names\"\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'))\n }\n },\n },\n ]}\n >\n {(fields, { add, remove }, { errors }) => (\n <>\n {fields.map((field, index) => (\n <Form.Item\n {...(index === 0 ? formItemLayout : formItemLayoutWithOutLabel)}\n label={index === 0 ? 'Passengers' : ''}\n required={false}\n key={field.key}\n >\n <Form.Item\n {...field}\n validateTrigger={['onChange', 'onBlur']}\n rules={[\n {\n required: true,\n whitespace: true,\n message: \"Please input passenger's name or delete this field.\",\n },\n ]}\n noStyle\n >\n <Input placeholder=\"passenger name\" style={{ width: '60%' }} />\n </Form.Item>\n {fields.length > 1 ? (\n <Icon\n type=\"minus-circle\"\n className=\"dynamic-delete-button\"\n onClick={() => remove(field.name)}\n />\n ) : null}\n </Form.Item>\n ))}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => add()}\n style={{ width: '60%' }}\n icon=\"plus-circle\"\n >\n Add field\n </Button>\n <Button\n type=\"dashed\"\n onClick={() => {\n add('The head item', 0)\n }}\n style={{ width: '60%', marginTop: '20px' }}\n icon=\"plus-circle\"\n >\n Add field at head\n </Button>\n <Form.ErrorList errors={errors} />\n </Form.Item>\n </>\n )}\n </Form.List>\n <Form.Item>\n <Button type=\"primary\" htmlType=\"submit\">\n Submit\n </Button>\n </Form.Item>\n </Form>\n )\n}\n\nexport const DynamicAddRemoveFields = DynamicAddRemoveFieldsTpl.bind({})\n\nconst areas = [\n { label: 'Beijing', value: 'Beijing' },\n { label: 'Shanghai', value: 'Shanghai' },\n]\n\nconst sights = {\n Beijing: ['Tiananmen', 'Great Wall'],\n Shanghai: ['Oriental Pearl', 'The Bund'],\n}\n\ntype SightsKeys = keyof typeof sights\n\nconst DynamicItemsComplexTpl = () => {\n const [form] = Form.useForm()\n\n const onFinish = (values: any) => {\n console.log('Received values of form:', values)\n }\n\n const handleChange = () => {\n form.setFieldsValue({ sights: [] })\n }\n\n return (\n <Form form={form} name=\"dynamic_form_complex\" onFinish={onFinish} autoComplete=\"off\">\n <Form.Item name=\"area\" label=\"Area\" rules={[{ required: true, message: 'Missing area' }]}>\n <Select onChange={handleChange}>\n {areas.map(({ label, value }) => (\n <Select.Option key={value} value={value}>\n {label}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n <Form.List name=\"sights\">\n {(fields, { add, remove }) => (\n <>\n {fields.map((field) => (\n <Row key={field.key} style={{ display: 'flex' }}>\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, curValues) =>\n prevValues.area !== curValues.area || prevValues.sights !== curValues.sights\n }\n >\n {() => (\n <Form.Item\n {...field}\n label=\"Sight\"\n name={[field.name, 'sight']}\n rules={[{ required: true, message: 'Missing sight' }]}\n >\n <Select disabled={!form.getFieldValue('area')} style={{ width: 130 }}>\n {(sights[form.getFieldValue('area') as SightsKeys] || []).map((item) => (\n <Option key={item} value={item}>\n {item}\n </Option>\n ))}\n </Select>\n </Form.Item>\n )}\n </Form.Item>\n <Form.Item\n {...field}\n label=\"Price\"\n name={[field.name, 'price']}\n rules={[{ required: true, message: 'Missing price' }]}\n >\n <Input />\n </Form.Item>\n\n <Icon type=\"minus-circle\" onClick={() => remove(field.name)} />\n </Row>\n ))}\n\n <Form.Item>\n <Button type=\"dashed\" onClick={() => add()} block icon=\"plus-circle\">\n Add sights\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n <Form.Item>\n <Button type=\"primary\" htmlType=\"submit\">\n Submit\n </Button>\n </Form.Item>\n </Form>\n )\n}\n\nexport const DynamicItemsComplex = DynamicItemsComplexTpl.bind({})\n\n// 弹窗中表单\nconst FormInModalTpl = () => {\n const [data, setData] = useState<FormProps['initialValues'] | null>({})\n const [popupType, setPopupType] = useState<'modal' | 'drawer'>('modal')\n const PopupCom = {\n modal: Modal,\n drawer: Drawer,\n }[popupType]\n\n const close = () => setData(null)\n\n return (\n <>\n <Button type=\"primary\" onClick={() => setData({})} style={{ marginRight: 12 }}>\n 新建\n </Button>\n <Button\n type=\"primary\"\n style={{ marginRight: 12, marginBottom: 12 }}\n onClick={() =>\n setData({\n id: 1,\n name: 'Hello',\n desc: 'Hello World',\n })\n }\n >\n 编辑\n </Button>\n <br />\n <Radio.Group value={popupType} onChange={(evt) => setPopupType(evt.target.value)}>\n <Radio.Button value=\"modal\">弹窗</Radio.Button>\n <Radio.Button value=\"drawer\">抽屉</Radio.Button>\n </Radio.Group>\n <PopupCom\n title={`${data?.id ? '编辑' : '新建'}`}\n visible={!!data}\n width=\"40%\"\n destroyOnClose\n onClose={close}\n onCancel={close}\n onOk={close}\n >\n <Form initialValues={data!}>\n <Form.Item name=\"name\" label=\"名称\">\n <Input />\n </Form.Item>\n <Form.Item name=\"desc\" label=\"描述\">\n <Input.TextArea />\n </Form.Item>\n </Form>\n </PopupCom>\n </>\n )\n}\n\nexport const FormInModal = FormInModalTpl.bind({})\n\n// 表单禁用/只读\nconst { RangePicker, MonthPicker, WeekPicker } = DatePicker\nconst { TextArea } = Input\n\nconst FormDisabledTpl = () => {\n const [componentDisabled, setComponentDisabled] = useState<boolean>(true)\n const [componentReadonly, setComponentReadonly] = useState<boolean>(false)\n const inputRef = useRef<AntdInput>(null)\n const onFormLayoutChange = ({ disabled, ...values }: { disabled: boolean }) => {\n console.log(values)\n setComponentDisabled(disabled)\n }\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.focus()\n }\n }, [componentDisabled, componentReadonly])\n\n return (\n <>\n <Checkbox\n checked={componentDisabled}\n onChange={(e) => setComponentDisabled(e.target.checked)}\n >\n Form disabled\n </Checkbox>\n <Checkbox\n checked={componentReadonly}\n onChange={(e) => setComponentReadonly(e.target.checked)}\n >\n Form readonly\n </Checkbox>\n <Form\n labelCol={{ span: 4 }}\n wrapperCol={{ span: 14 }}\n layout=\"horizontal\"\n onValuesChange={onFormLayoutChange}\n disabled={componentDisabled}\n readonly={componentReadonly}\n initialValues={{\n disabled: true,\n switch: true,\n input: 'Hello World',\n select: 'demo',\n select2: 'demo',\n checkboxGroup: ['apple', 'pear'],\n radioGroup: 'apple',\n radioGroup2: 'apple',\n treeSelect: 'bamboo',\n cascader: ['zhejiang', 'hangzhou'],\n datePicker: moment(new Date()),\n datePicker2: moment(new Date()),\n rangePicker: [moment(new Date()).subtract(7, 'days'), moment(new Date())],\n monthPicker: moment(),\n weekPicker: moment(),\n timePicker: moment('13:30:56', 'HH:mm:ss'),\n inputNumber: 88,\n textArea: 'Hello Input.TextArea:)',\n }}\n >\n <Form.Item label=\"Chekbox\" name=\"disabled\" valuePropName=\"checked\">\n <Checkbox>Checkbox</Checkbox>\n </Form.Item>\n <Form.Item label=\"Radio\" name=\"radioGroup\">\n <Radio.Group>\n <Radio value=\"apple\"> Apple </Radio>\n <Radio value=\"pear\"> Pear </Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item label=\"Radio\" name=\"radioGroup2\">\n <Radio.Group options={options}>\n <Radio value=\"apple\"> Apple </Radio>\n <Radio value=\"pear\"> Pear </Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item label=\"Input\" name=\"input\">\n <Input ref={inputRef} />\n </Form.Item>\n <Form.Item label=\"ChekboxGroup\" name=\"checkboxGroup\">\n <Checkbox.Group options={options} />\n </Form.Item>\n <Form.Item label=\"Select\" name=\"select\">\n <Select>\n <Select.Option value=\"demo\">Demo</Select.Option>\n </Select>\n </Form.Item>\n <Form.Item label=\"Select\" name=\"select2\">\n <Select options={[{ label: 'Demo', value: 'demo' }]}>\n <Select.Option value=\"demo\">Demo</Select.Option>\n </Select>\n </Form.Item>\n <Form.Item label=\"TreeSelect\" name=\"treeSelect\">\n <TreeSelect\n treeData={[\n { title: 'Light', value: 'light', children: [{ title: 'Bamboo', value: 'bamboo' }] },\n ]}\n treeDefaultExpandAll\n />\n </Form.Item>\n <Form.Item label=\"Cascader\" name=\"cascader\">\n <Cascader\n options={[\n {\n value: 'zhejiang',\n label: 'Zhejiang',\n children: [\n {\n value: 'hangzhou',\n label: 'Hangzhou',\n },\n ],\n },\n ]}\n />\n </Form.Item>\n <Form.Item label=\"DatePicker\" name=\"datePicker\">\n <DatePicker />\n </Form.Item>\n <Form.Item label=\"DatePicker2\" name=\"datePicker2\">\n <DatePicker showTime />\n </Form.Item>\n <Form.Item label=\"RangePicker\" name=\"rangePicker\">\n <RangePicker />\n </Form.Item>\n <Form.Item label=\"MonthPicker\" name=\"monthPicker\">\n <MonthPicker />\n </Form.Item>\n <Form.Item label=\"WeekPicker\" name=\"weekPicker\">\n <WeekPicker />\n </Form.Item>\n <Form.Item label=\"TimePicker\" name=\"timePicker\">\n <TimePicker />\n </Form.Item>\n <Form.Item label=\"InputNumber\" name=\"inputNumber\">\n <InputNumber />\n </Form.Item>\n <Form.Item label=\"TextArea\" name=\"textArea\">\n <TextArea rows={4} />\n </Form.Item>\n <Form.Item label=\"Switch\" name=\"switch\" valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Upload\" name=\"upload\">\n <Upload listType=\"picture-card\" beforeUpload={() => false}>\n <div>\n <Icon type=\"plus\" />\n <div style={{ marginTop: 8 }}>Upload</div>\n </div>\n </Upload>\n </Form.Item>\n <Form.Item label=\"Button\">\n <Button>Button</Button>\n </Form.Item>\n </Form>\n </>\n )\n}\n\nexport const FormDisabledReadonly = FormDisabledTpl.bind({})\n\n// 嵌套结构与校验信息\nconst NestValidatorFormTpl = () => {\n const layout = {\n labelCol: { span: 2 },\n wrapperCol: { span: 12 },\n }\n\n /* eslint-disable no-template-curly-in-string */\n const validateMessages = {\n required: '${label} is required!',\n types: {\n email: '${label} is not a valid email!',\n number: '${label} is not a valid number!',\n },\n number: {\n range: '${label} must be between ${min} and ${max}',\n },\n }\n const onFinish = (values: any) => {\n console.log(values)\n }\n\n return (\n <Form {...layout} name=\"nest-messages\" onFinish={onFinish} validateMessages={validateMessages}>\n <Form.Item name={['user', 'name']} label=\"Name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item name={['user', 'email']} label=\"Email\" rules={[{ type: 'email' }]}>\n <Input />\n </Form.Item>\n <Form.Item name={['user', 'age']} label=\"Age\" rules={[{ type: 'number', min: 0, max: 99 }]}>\n <InputNumber />\n </Form.Item>\n <Form.Item name={['user', 'website']} label=\"Website\">\n <Input />\n </Form.Item>\n <Form.Item name={['user', 'introduction']} label=\"Introduction\">\n <Input.TextArea />\n </Form.Item>\n <Form.Item wrapperCol={{ ...layout.wrapperCol, offset: 8 }}>\n <Button type=\"primary\" htmlType=\"submit\">\n Submit\n </Button>\n </Form.Item>\n </Form>\n )\n}\n\nexport const NestValidatorForm = NestValidatorFormTpl.bind({})\n"]}
@@ -0,0 +1,18 @@
1
+ // form item name black list. in form ,you can use form.id get the form item element.
2
+ // use object hasOwnProperty will get better performance if black list is longer.
3
+ const formItemNameBlackList = ['parentNode'];
4
+ // default form item id prefix.
5
+ const defaultItemNamePrefixCls = 'form_item';
6
+ export function toArray(candidate) {
7
+ if (candidate === undefined || candidate === false) return [];
8
+ return Array.isArray(candidate) ? candidate : [candidate];
9
+ }
10
+ export function getFieldId(namePath, formName) {
11
+ if (!namePath.length) return undefined;
12
+ const mergedId = namePath.join('_');
13
+ if (formName) {
14
+ return `${formName}_${mergedId}`;
15
+ }
16
+ const isIllegalName = formItemNameBlackList.includes(mergedId);
17
+ return isIllegalName ? `${defaultItemNamePrefixCls}_${mergedId}` : mergedId;
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/tntd-form/util.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,CAAC,YAAY,CAAC,CAAA;AAE5C,+BAA+B;AAC/B,MAAM,wBAAwB,GAAW,WAAW,CAAA;AAEpD,MAAM,UAAU,OAAO,CAAI,SAA2B;IACpD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,EAAE,CAAA;IAE7D,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA0B,EAAE,QAAiB;IACtE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEnC,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAA;KACjC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE9D,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,wBAAwB,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC7E,CAAC","sourcesContent":["import type { InternalNamePath } from './interface'\n\n// form item name black list. in form ,you can use form.id get the form item element.\n// use object hasOwnProperty will get better performance if black list is longer.\nconst formItemNameBlackList = ['parentNode']\n\n// default form item id prefix.\nconst defaultItemNamePrefixCls: string = 'form_item'\n\nexport function toArray<T>(candidate?: T | T[] | false): T[] {\n if (candidate === undefined || candidate === false) return []\n\n return Array.isArray(candidate) ? candidate : [candidate]\n}\n\nexport function getFieldId(namePath: InternalNamePath, formName?: string): string | undefined {\n if (!namePath.length) return undefined\n\n const mergedId = namePath.join('_')\n\n if (formName) {\n return `${formName}_${mergedId}`\n }\n\n const isIllegalName = formItemNameBlackList.includes(mergedId)\n\n return isIllegalName ? `${defaultItemNamePrefixCls}_${mergedId}` : mergedId\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ // ZombieJ: We export single file here since
3
+ // ConfigProvider use this which will make loop deps
4
+ // to import whole `rc-field-form`
5
+ export default createContext(undefined);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateMessagesContext.js","sourceRoot":"","sources":["../../src/tntd-form/validateMessagesContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,4CAA4C;AAC5C,oDAAoD;AACpD,kCAAkC;AAClC,eAAe,aAAa,CAA+B,SAAS,CAAC,CAAA","sourcesContent":["import type { ValidateMessages } from 'rc-field-form/lib/interface'\nimport { createContext } from 'react'\n\n// ZombieJ: We export single file here since\n// ConfigProvider use this which will make loop deps\n// to import whole `rc-field-form`\nexport default createContext<ValidateMessages | undefined>(undefined)\n"]}
@@ -1,3 +1,6 @@
1
+ import "antd/es/modal/style";
2
+ import _Modal from "antd/es/modal";
3
+ import _isArray from "lodash/isArray";
1
4
  var __rest = this && this.__rest || function (s, e) {
2
5
  var t = {};
3
6
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -6,75 +9,87 @@ var __rest = this && this.__rest || function (s, e) {
6
9
  }
7
10
  return t;
8
11
  };
12
+ import { Close, FullScreen as FullScreenIcon, OffScreen } from '@icon-park/react';
9
13
  import cn from 'classnames';
10
14
  import React, { Fragment, useEffect, useState } from 'react';
11
- import Modal from '../modal';
12
- import Icon from '../tntd-icon';
13
15
  import './index.less';
14
- const Title = ({
15
- title,
16
- logo,
17
- fullscreen,
18
- supportFullscreen = true,
19
- onToggleFullscreen,
20
- onClose
21
- }) => {
22
- return React.createElement(Fragment, null, React.createElement("div", null, logo && React.createElement("img", {
23
- src: logo
24
- }), React.createElement("span", null, title)), React.createElement("div", {
25
- className: "tnt-modal-header-actions"
26
- }, supportFullscreen && React.createElement(Icon, {
27
- className: "fullscreen",
28
- type: fullscreen ? 'fullscreen-exit' : 'fullscreen',
29
- onClick: onToggleFullscreen
30
- }), React.createElement(Icon, {
31
- className: "close",
32
- type: "close",
33
- onClick: onClose
34
- })));
35
- };
36
- export default (props => {
37
- const {
16
+ export const Modal = _a => {
17
+ var {
38
18
  visible,
39
- children,
40
- logo,
41
- title,
42
- height = '90vh',
43
- width = '85%',
44
19
  className,
45
- supportFullscreen,
46
- onToggleFullscreen,
47
- onCancel
48
- } = props,
49
- rest = __rest(props, ["visible", "children", "logo", "title", "height", "width", "className", "supportFullscreen", "onToggleFullscreen", "onCancel"]);
50
- const [fullscreen, setFullscreen] = useState(rest.fullscreen || false);
20
+ title,
21
+ width,
22
+ style = {},
23
+ children,
24
+ onCancel,
25
+ hasFooter = true,
26
+ footer,
27
+ config = {
28
+ width: 'auto',
29
+ height: 'auto'
30
+ }
31
+ } = _a,
32
+ rest = __rest(_a, ["visible", "className", "title", "width", "style", "children", "onCancel", "hasFooter", "footer", "config"]);
33
+ const [fullscreen, setFullscreen] = useState(false);
34
+ const supportFullscreen = config.fullScreen;
51
35
  useEffect(() => {
52
- setFullscreen(rest.fullscreen);
53
- }, [rest.fullscreen, visible]);
54
- return React.createElement(Modal, Object.assign({
36
+ return () => {
37
+ setFullscreen(false);
38
+ };
39
+ }, [visible]);
40
+ const Title = ({
41
+ title,
42
+ logo,
43
+ fullscreen,
44
+ onToggleFullscreen,
45
+ onClose
46
+ }) => {
47
+ return React.createElement(Fragment, null, React.createElement("div", {
48
+ className: "ant-modal-header-title"
49
+ }, logo && logo, React.createElement("span", null, title)), React.createElement("div", {
50
+ className: "ant-modal-header-actions"
51
+ }, React.createElement("a", {
52
+ className: "modal-fullscreen-wrap",
53
+ onClick: onToggleFullscreen
54
+ }, fullscreen ? React.createElement(OffScreen, null) : React.createElement(FullScreenIcon, null)), React.createElement("a", {
55
+ className: "modal-close-wrap",
56
+ onClick: onClose
57
+ }, React.createElement(Close, {
58
+ theme: "outline"
59
+ }))));
60
+ };
61
+ const computeWidth = supportFullscreen ? fullscreen ? '100vw' : width || config.width : width || config.width;
62
+ const computeHeight = supportFullscreen ? fullscreen ? '100vh' : config.height : 'inherit';
63
+ style.height = computeHeight;
64
+ if (supportFullscreen && fullscreen) {
65
+ style.top = 0;
66
+ } else {
67
+ delete style.top;
68
+ }
69
+ const footerConfig = hasFooter ? (_isArray(footer) ? footer.length > 0 : footer) ? footer : undefined : null;
70
+ return React.createElement(_Modal, Object.assign({
55
71
  visible: visible,
56
- title: React.createElement(Title, {
57
- logo: logo,
72
+ title: supportFullscreen ? React.createElement(Title, {
73
+ logo: config.logo,
58
74
  title: title,
59
75
  fullscreen: fullscreen,
60
76
  supportFullscreen: supportFullscreen,
61
77
  onClose: onCancel,
62
78
  onToggleFullscreen: () => {
63
79
  setFullscreen(!fullscreen);
64
- onToggleFullscreen && onToggleFullscreen(!fullscreen);
80
+ if (!fullscreen) {}
65
81
  }
66
- }),
82
+ }) : title,
67
83
  onCancel: onCancel,
68
- destroyOnClose: true,
69
- centered: true,
70
- footer: null,
71
- width: fullscreen ? '100%' : width,
72
- style: {
73
- height: fullscreen ? '100vh' : height
74
- },
75
- className: cn('tnt-modal', {
76
- [className]: className,
77
- fullscreen
78
- })
84
+ centered: supportFullscreen ? true : rest.centered ? true : false,
85
+ width: computeWidth,
86
+ style: style,
87
+ className: cn([{
88
+ 'support-fullscreen': supportFullscreen,
89
+ fullscreen: fullscreen,
90
+ 'no-header': supportFullscreen && !(config.logo || title)
91
+ }, className]),
92
+ footer: footer
79
93
  }, rest), children);
80
- });
94
+ };
95
+ export default Modal;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-modal/index.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE5D,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,IAAI,MAAM,cAAc,CAAA;AAE/B,OAAO,cAAc,CAAA;AAErB,MAAM,KAAK,GAAG,CAAC,EACb,KAAK,EACL,IAAI,EACJ,UAAU,EACV,iBAAiB,GAAG,IAAI,EACxB,kBAAkB,EAClB,OAAO,GACR,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,QAAQ;QACP;YACG,IAAI,IAAI,6BAAK,GAAG,EAAE,IAAI,GAAI;YAC3B,kCAAO,KAAK,CAAQ,CAChB;QACN,6BAAK,SAAS,EAAC,0BAA0B;YACtC,iBAAiB,IAAI,CACpB,oBAAC,IAAI,IACH,SAAS,EAAC,YAAY,EACtB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,EACnD,OAAO,EAAE,kBAAkB,GAC3B,CACH;YACD,oBAAC,IAAI,IAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,GAAI,CACrD,CACG,CACZ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,GAAG,MAAM,EACf,KAAK,GAAG,KAAK,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,KAEN,KAAK,EADJ,IAAI,UACL,KAAK,EAZH,+HAYL,CAAQ,CAAA;IACT,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAA;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9B,OAAO,CACL,oBAAC,KAAK,kBACJ,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,oBAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,QAAQ,EACjB,kBAAkB,EAAE,GAAG,EAAE;gBACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAA;gBAC1B,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAA;YACvD,CAAC,GACD,EAEJ,QAAQ,EAAE,QAAQ,EAClB,cAAc,QACd,QAAQ,QACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAClC,KAAK,EAAE;YACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SACtC,EACD,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,IAC9D,IAAI,GAEP,QAAQ,CACH,CACT,CAAA;AACH,CAAC,CAAA","sourcesContent":["import cn from 'classnames'\nimport React, { Fragment, useEffect, useState } from 'react'\n\nimport Modal from '../modal'\nimport Icon from '../tntd-icon'\n\nimport './index.less'\n\nconst Title = ({\n title,\n logo,\n fullscreen,\n supportFullscreen = true,\n onToggleFullscreen,\n onClose,\n}) => {\n return (\n <Fragment>\n <div>\n {logo && <img src={logo} />}\n <span>{title}</span>\n </div>\n <div className=\"tnt-modal-header-actions\">\n {supportFullscreen && (\n <Icon\n className=\"fullscreen\"\n type={fullscreen ? 'fullscreen-exit' : 'fullscreen'}\n onClick={onToggleFullscreen}\n />\n )}\n <Icon className=\"close\" type=\"close\" onClick={onClose} />\n </div>\n </Fragment>\n )\n}\n\nexport default (props) => {\n const {\n visible,\n children,\n logo,\n title,\n height = '90vh',\n width = '85%',\n className,\n supportFullscreen,\n onToggleFullscreen,\n onCancel,\n ...rest\n } = props\n const [fullscreen, setFullscreen] = useState(rest.fullscreen || false)\n\n useEffect(() => {\n setFullscreen(rest.fullscreen)\n }, [rest.fullscreen, visible])\n\n return (\n <Modal\n visible={visible}\n title={\n <Title\n logo={logo}\n title={title}\n fullscreen={fullscreen}\n supportFullscreen={supportFullscreen}\n onClose={onCancel}\n onToggleFullscreen={() => {\n setFullscreen(!fullscreen)\n onToggleFullscreen && onToggleFullscreen(!fullscreen)\n }}\n />\n }\n onCancel={onCancel}\n destroyOnClose\n centered\n footer={null}\n width={fullscreen ? '100%' : width}\n style={{\n height: fullscreen ? '100vh' : height,\n }}\n className={cn('tnt-modal', { [className]: className, fullscreen })}\n {...rest}\n >\n {children}\n </Modal>\n )\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-modal/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Close, FullScreen as FullScreenIcon, OffScreen } from '@icon-park/react'\nimport type { ModalProps as AntdModalProps } from 'antd/lib/modal'\nimport cn from 'classnames'\nimport React, { Fragment, useEffect, useState, useRef } from 'react'\nimport { Modal as AntdModal } from 'antd'\nimport { isArray } from 'lodash'\n\nimport './index.less'\n\nexport type ModalProps = AntdModalProps & {\n children?: React.ReactNode\n hasFooter?: boolean\n config?: {\n fullScreen?: boolean\n width?: string | number\n height?: string | number\n logo?: React.ReactNode\n }\n}\n\nexport const Modal = ({\n visible,\n className,\n title,\n width,\n style = {},\n children,\n onCancel,\n hasFooter = true,\n footer,\n config = {\n width: 'auto',\n height: 'auto',\n },\n ...rest\n}: ModalProps) => {\n const [fullscreen, setFullscreen] = useState<boolean>(false)\n const supportFullscreen = config.fullScreen\n\n useEffect(() => {\n return () => {\n setFullscreen(false)\n }\n }, [visible])\n\n const Title = ({\n title,\n logo,\n fullscreen,\n onToggleFullscreen,\n onClose,\n }: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any) => {\n return (\n <Fragment>\n <div className=\"ant-modal-header-title\">\n {logo && logo}\n <span>{title}</span>\n </div>\n <div className=\"ant-modal-header-actions\">\n <a className=\"modal-fullscreen-wrap\" onClick={onToggleFullscreen}>\n {fullscreen ? <OffScreen /> : <FullScreenIcon />}\n </a>\n <a className=\"modal-close-wrap\" onClick={onClose}>\n <Close theme=\"outline\" />\n </a>\n </div>\n </Fragment>\n )\n }\n\n const computeWidth = supportFullscreen\n ? fullscreen\n ? '100vw'\n : width || config.width\n : width || config.width\n\n const computeHeight = supportFullscreen ? (fullscreen ? '100vh' : config.height) : 'inherit'\n\n style.height = computeHeight\n if (supportFullscreen && fullscreen) {\n style.top = 0\n } else {\n delete style.top\n }\n\n const footerConfig = hasFooter\n ? (isArray(footer) ? footer.length > 0 : footer)\n ? footer\n : undefined\n : null\n\n return (\n <AntdModal\n visible={visible}\n title={\n supportFullscreen ? (\n <Title\n logo={config.logo}\n title={title}\n fullscreen={fullscreen}\n supportFullscreen={supportFullscreen}\n onClose={onCancel}\n onToggleFullscreen={() => {\n setFullscreen(!fullscreen)\n if (!fullscreen) {\n }\n }}\n />\n ) : (\n title\n )\n }\n onCancel={onCancel}\n centered={supportFullscreen ? true : rest.centered ? true : false}\n width={computeWidth}\n style={style}\n className={cn([\n {\n 'support-fullscreen': supportFullscreen,\n fullscreen: fullscreen,\n 'no-header': supportFullscreen && !(config.logo || title),\n },\n className,\n ])}\n footer={footer}\n {...rest}\n >\n {children}\n </AntdModal>\n )\n}\n\nexport default Modal\n"]}
@@ -1,86 +1,106 @@
1
- .tnt-modal {
2
- &.ant-modal {
3
- max-width: 100vw;
4
- padding-bottom: 0;
1
+ .ant-modal {
2
+ &.fullscreen {
3
+ // color: red;
5
4
  }
6
-
7
- .ant-modal-content {
8
- height: 100%;
9
- display: flex;
10
- flex-direction: column;
11
-
12
- .ant-modal-close {
13
- display: none;
14
- }
5
+ &.support-fullscreen.no-header .ant-modal-header{
6
+ padding: 0;
7
+ border-bottom: none;
15
8
  }
9
+ &.support-fullscreen {
10
+ .ant-modal-content {
11
+ height: inherit;
12
+ display: flex;
13
+ flex-direction: column;
16
14
 
17
- .ant-modal-header {
18
- position: relative;
19
- padding: 8px 20px;
15
+ .ant-modal-close {
16
+ display: none;
17
+ }
18
+ }
20
19
 
21
- .tnt-modal-header-actions {
22
- position: absolute;
23
- top: 0;
24
- right: 0;
25
- height: 40px;
26
- line-height: 40px;
20
+ .ant-modal-header {
21
+ position: relative;
22
+ padding: 12px 20px;
27
23
 
28
- .tnt-icon {
29
- width: 40px;
24
+ .ant-modal-header-actions {
25
+ position: absolute;
26
+ top: 0;
27
+ right: 0;
30
28
  height: 40px;
31
29
  line-height: 40px;
32
- cursor: pointer;
33
- text-align: center;
34
- display: inline-block;
35
- }
36
30
 
37
- i.fullscreen:hover {
38
- color: #2e81f7;
39
- }
31
+ a {
32
+ width: 46px;
33
+ height: 46px;
34
+ line-height: 46px;
35
+ font-size: 15px;
36
+ cursor: pointer;
37
+ text-align: center;
38
+ display: inline-block;
39
+ color: inherit;
40
+ }
40
41
 
41
- i.close:hover {
42
- color: red;
42
+ .modal-fullscreen-wrap {
43
+ &:hover {
44
+ color: #2e81f7;
45
+ }
46
+ }
47
+
48
+ .modal-close-wrap {
49
+ &:hover {
50
+ color: red;
51
+ }
52
+ }
43
53
  }
44
54
  }
45
- }
46
55
 
47
- .ant-modal-title {
48
- .link {
49
- margin-left: 10px;
50
- font-size: 12px;
51
- color: #999;
56
+ .ant-modal-title {
57
+ & {
58
+ font-weight: 400;
59
+ line-height: 22px;
60
+ }
61
+ .link {
62
+ margin-left: 10px;
63
+ font-size: 12px;
64
+ color: #999;
52
65
 
53
- &:hover {
54
- color: #2e81f7;
66
+ &:hover {
67
+ color: #2e81f7;
68
+ }
69
+ }
70
+
71
+ img {
72
+ position: relative;
73
+ width: 18px;
74
+ height: 18px;
75
+ margin-right: 8px;
76
+ vertical-align: text-top;
55
77
  }
56
78
  }
57
79
 
58
- img {
59
- position: relative;
60
- width: 18px;
61
- height: 18px;
62
- margin-right: 8px;
63
- vertical-align: text-top;
80
+ .ant-modal-body {
81
+ height: 100%;
82
+ overflow: auto;
64
83
  }
65
- }
66
84
 
67
- .ant-modal-body {
68
- padding: 0;
69
- // height: calc(100% - 39px);
70
- flex: 1;
71
- overflow: auto;
85
+ // iframe {
86
+ // border: none;
87
+ // width: 100%;
88
+ // height: 100%;
89
+ // }
72
90
  }
73
-
74
- &.fullscreen {
75
- .ant-modal-body {
76
- height: calc(100vh - 39px);
77
- background: #fff;
91
+ &.support-fullscreen {
92
+ &.fullscreen {
93
+ .ant-modal-content {
94
+ height: 100vh;
95
+ }
78
96
  }
79
97
  }
80
-
81
- iframe {
82
- border: none;
83
- width: 100%;
84
- height: 100%;
98
+ .ant-modal-title {
99
+ font-weight: 400;
100
+ // .move-handle {}
101
+ }
102
+ &.ant-modal {
103
+ max-width: 100vw;
104
+ padding-bottom: 0;
85
105
  }
86
106
  }
@@ -1,4 +1,7 @@
1
- import TreeSelect from 'antd/es/tree-select';
1
+ import AntdTreeSelect from 'antd/es/tree-select';
2
+ import { connectReadonlyComponent } from '../connect';
3
+ import { PreviewText } from '../preview-text';
2
4
  import 'antd/es/tree-select/style';
3
5
  export * from 'antd/es/tree-select';
6
+ export const TreeSelect = connectReadonlyComponent(AntdTreeSelect, PreviewText.TreeSelect);
4
7
  export default TreeSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAE5C,OAAO,2BAA2B,CAAA;AAElC,cAAc,qBAAqB,CAAA;AAEnC,eAAe,UAAU,CAAA","sourcesContent":["import TreeSelect from 'antd/es/tree-select'\n\nimport 'antd/es/tree-select/style'\n\nexport * from 'antd/es/tree-select'\n\nexport default TreeSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree-select/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,2BAA2B,CAAA;AAElC,cAAc,qBAAqB,CAAA;AAMnC,MAAM,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;AAE1F,eAAe,UAAU,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'\n\nexport * from 'antd/es/tree-select'\n\nexport type TreeSelectProps<T extends TreeNodeValue> = AntdTreeSelectProps<T> & {\n readonly?: boolean\n}\n\nexport const TreeSelect = connectReadonlyComponent(AntdTreeSelect, PreviewText.TreeSelect)\n\nexport default TreeSelect\n"]}
@@ -1,4 +1,11 @@
1
- import Upload from 'antd/es/upload';
1
+ import React from 'react';
2
+ import AntdUpload from 'antd/es/upload';
3
+ import { connectReadonlyComponent } from '../connect';
2
4
  import 'antd/es/upload/style';
3
5
  export * from 'antd/es/upload';
6
+ const Upload = connectReadonlyComponent(AntdUpload, props => React.createElement(AntdUpload, Object.assign({}, props, {
7
+ disabled: true
8
+ })));
9
+ // @ts-ignore
10
+ Upload.Dragger = AntdUpload.Dragger;
4
11
  export default Upload;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAA;AAEnC,OAAO,sBAAsB,CAAA;AAE7B,cAAc,gBAAgB,CAAA;AAE9B,eAAe,MAAM,CAAA","sourcesContent":["import Upload from 'antd/es/upload'\n\nimport 'antd/es/upload/style'\n\nexport * from 'antd/es/upload'\n\nexport default Upload\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,UAAU,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,sBAAsB,CAAA;AAE7B,cAAc,gBAAgB,CAAA;AAM9B,MAAM,MAAM,GAA+B,wBAAwB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACzF,oBAAC,UAAU,oBAAK,KAAK,IAAE,QAAQ,UAAG,CACnC,CAAC,CAAA;AAEF,aAAa;AACb,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AAEnC,eAAe,MAAM,CAAA","sourcesContent":["import React, { ComponentType } from 'react'\nimport AntdUpload from 'antd/es/upload'\nimport type { UploadProps as AntdUploadProps } from 'antd/lib/upload'\nimport { connectReadonlyComponent } from '../connect'\n\nimport 'antd/es/upload/style'\n\nexport * from 'antd/es/upload'\n\nexport type UploadProps = AntdUploadProps & {\n readonly?: boolean\n}\n\nconst Upload: ComponentType<UploadProps> = connectReadonlyComponent(AntdUpload, (props) => (\n <AntdUpload {...props} disabled />\n))\n\n// @ts-ignore\nUpload.Dragger = AntdUpload.Dragger\n\nexport default Upload\n"]}
package/es/utils/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './checkAuth';
2
2
  export * from './findMenuInfoByPath';
3
+ export * from './simple-template';
3
4
  export const isGroupMenu = menu => (menu === null || menu === void 0 ? void 0 : menu.children) && !(menu === null || menu === void 0 ? void 0 : menu.path);
4
5
  export const getSelectedMenuInfo = (selectedKey, menus = []) => {
5
6
  let subMenu;
@@ -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,10 @@
1
+ /**
2
+ * 简单的模板替换
3
+ *
4
+ * @param template
5
+ * @param data
6
+ * @returns
7
+ */
8
+ export function simpleTemplate(template, data = {}) {
9
+ return template === null || template === void 0 ? void 0 : template.replace(/\${(.*?)}/g, (match, key) => data[key.trim()].toString());
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-template.js","sourceRoot":"","sources":["../../src/utils/simple-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,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","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"]}