feffery_antd_components 0.4.3-rc6 → 0.4.3

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 (462) hide show
  1. package/CONTRIBUTING.md +4 -4
  2. package/DESCRIPTION +1 -1
  3. package/LICENSE +21 -21
  4. package/MANIFEST.in +6 -6
  5. package/Project.toml +1 -1
  6. package/README-en_US.md +73 -73
  7. package/README.md +87 -87
  8. package/bug_fix.py +21 -36
  9. package/fac-logo.svg +151 -151
  10. package/feffery_antd_components/AntdAccordion.py +7 -7
  11. package/feffery_antd_components/AntdAffix.py +2 -2
  12. package/feffery_antd_components/AntdAlert.py +5 -5
  13. package/feffery_antd_components/AntdAnchor.py +5 -5
  14. package/feffery_antd_components/AntdAvatar.py +4 -4
  15. package/feffery_antd_components/AntdAvatarGroup.py +1 -1
  16. package/feffery_antd_components/AntdBackTop.py +4 -4
  17. package/feffery_antd_components/AntdBadge.py +5 -5
  18. package/feffery_antd_components/AntdBreadcrumb.py +4 -4
  19. package/feffery_antd_components/AntdButton.py +14 -14
  20. package/feffery_antd_components/AntdCalendar.py +4 -4
  21. package/feffery_antd_components/AntdCard.py +5 -5
  22. package/feffery_antd_components/AntdCardGrid.py +3 -3
  23. package/feffery_antd_components/AntdCardMeta.py +1 -1
  24. package/feffery_antd_components/AntdCarousel.py +13 -13
  25. package/feffery_antd_components/AntdCascader.py +16 -17
  26. package/feffery_antd_components/AntdCenter.py +3 -3
  27. package/feffery_antd_components/AntdCheckCard.py +7 -7
  28. package/feffery_antd_components/AntdCheckCardGroup.py +9 -9
  29. package/feffery_antd_components/AntdCheckableTag.py +2 -2
  30. package/feffery_antd_components/AntdCheckbox.py +8 -8
  31. package/feffery_antd_components/AntdCheckboxGroup.py +6 -6
  32. package/feffery_antd_components/AntdCol.py +5 -5
  33. package/feffery_antd_components/AntdCollapse.py +8 -8
  34. package/feffery_antd_components/AntdColorPicker.py +13 -13
  35. package/feffery_antd_components/AntdComment.py +7 -7
  36. package/feffery_antd_components/AntdCompact.py +3 -3
  37. package/feffery_antd_components/AntdConfigProvider.py +6 -6
  38. package/feffery_antd_components/AntdContent.py +1 -1
  39. package/feffery_antd_components/AntdCopyText.py +2 -2
  40. package/feffery_antd_components/AntdCountdown.py +1 -1
  41. package/feffery_antd_components/AntdCountup.py +1 -1
  42. package/feffery_antd_components/AntdCustomSkeleton.py +5 -5
  43. package/feffery_antd_components/AntdDatePicker.py +13 -13
  44. package/feffery_antd_components/AntdDateRangePicker.py +12 -12
  45. package/feffery_antd_components/AntdDescriptionItem.py +2 -2
  46. package/feffery_antd_components/AntdDescriptions.py +6 -6
  47. package/feffery_antd_components/AntdDivider.py +5 -5
  48. package/feffery_antd_components/AntdDraggerUpload.py +15 -15
  49. package/feffery_antd_components/AntdDrawer.py +12 -12
  50. package/feffery_antd_components/AntdDropdown.py +18 -18
  51. package/feffery_antd_components/AntdEmpty.py +2 -2
  52. package/feffery_antd_components/AntdFlex.py +6 -6
  53. package/feffery_antd_components/AntdFloatButton.py +5 -5
  54. package/feffery_antd_components/AntdFloatButtonGroup.py +3 -3
  55. package/feffery_antd_components/AntdFooter.py +1 -1
  56. package/feffery_antd_components/AntdForm.py +10 -6
  57. package/feffery_antd_components/AntdFormItem.py +4 -4
  58. package/feffery_antd_components/AntdFormRender.py +2 -2
  59. package/feffery_antd_components/AntdHappyProvider.py +2 -2
  60. package/feffery_antd_components/AntdHeader.py +1 -1
  61. package/feffery_antd_components/AntdIcon.py +3 -3
  62. package/feffery_antd_components/AntdImage.py +6 -6
  63. package/feffery_antd_components/AntdImageGroup.py +6 -6
  64. package/feffery_antd_components/AntdInput.py +17 -17
  65. package/feffery_antd_components/AntdInputNumber.py +12 -12
  66. package/feffery_antd_components/AntdLayout.py +1 -1
  67. package/feffery_antd_components/AntdMentions.py +9 -9
  68. package/feffery_antd_components/AntdMenu.py +9 -9
  69. package/feffery_antd_components/AntdMessage.py +3 -3
  70. package/feffery_antd_components/AntdModal.py +28 -28
  71. package/feffery_antd_components/AntdNotification.py +9 -9
  72. package/feffery_antd_components/AntdOTP.py +7 -7
  73. package/feffery_antd_components/AntdPageHeader.py +5 -5
  74. package/feffery_antd_components/AntdPagination.py +15 -15
  75. package/feffery_antd_components/AntdParagraph.py +2 -2
  76. package/feffery_antd_components/AntdPictureUpload.py +28 -28
  77. package/feffery_antd_components/AntdPopconfirm.py +21 -21
  78. package/feffery_antd_components/AntdPopover.py +9 -9
  79. package/feffery_antd_components/AntdPopupCard.py +9 -9
  80. package/feffery_antd_components/AntdProgress.py +9 -9
  81. package/feffery_antd_components/AntdQRCode.py +10 -10
  82. package/feffery_antd_components/AntdRadioGroup.py +9 -9
  83. package/feffery_antd_components/AntdRate.py +9 -9
  84. package/feffery_antd_components/AntdResult.py +1 -1
  85. package/feffery_antd_components/AntdRibbon.py +2 -2
  86. package/feffery_antd_components/AntdRow.py +3 -3
  87. package/feffery_antd_components/AntdSegmented.py +9 -9
  88. package/feffery_antd_components/AntdSegmentedColoring.py +11 -11
  89. package/feffery_antd_components/AntdSelect.py +19 -19
  90. package/feffery_antd_components/AntdSider.py +6 -6
  91. package/feffery_antd_components/AntdSkeleton.py +11 -11
  92. package/feffery_antd_components/AntdSkeletonAvatar.py +3 -3
  93. package/feffery_antd_components/AntdSkeletonButton.py +5 -5
  94. package/feffery_antd_components/AntdSkeletonImage.py +1 -1
  95. package/feffery_antd_components/AntdSkeletonInput.py +3 -3
  96. package/feffery_antd_components/AntdSlider.py +10 -10
  97. package/feffery_antd_components/AntdSpace.py +4 -4
  98. package/feffery_antd_components/AntdSpin.py +7 -8
  99. package/feffery_antd_components/AntdSplitter.py +5 -5
  100. package/feffery_antd_components/AntdSpoiler.py +5 -5
  101. package/feffery_antd_components/AntdStatistic.py +2 -2
  102. package/feffery_antd_components/AntdSteps.py +8 -8
  103. package/feffery_antd_components/AntdSwitch.py +8 -8
  104. package/feffery_antd_components/AntdTable.py +64 -63
  105. package/feffery_antd_components/AntdTabs.py +13 -14
  106. package/feffery_antd_components/AntdTag.py +4 -4
  107. package/feffery_antd_components/AntdText.py +2 -2
  108. package/feffery_antd_components/AntdTimePicker.py +16 -16
  109. package/feffery_antd_components/AntdTimeRangePicker.py +15 -15
  110. package/feffery_antd_components/AntdTimeline.py +2 -2
  111. package/feffery_antd_components/AntdTitle.py +2 -2
  112. package/feffery_antd_components/AntdTooltip.py +9 -9
  113. package/feffery_antd_components/AntdTour.py +9 -9
  114. package/feffery_antd_components/AntdTransfer.py +11 -11
  115. package/feffery_antd_components/AntdTree.py +17 -17
  116. package/feffery_antd_components/AntdTreeSelect.py +18 -18
  117. package/feffery_antd_components/AntdUpload.py +18 -18
  118. package/feffery_antd_components/AntdWatermark.py +6 -6
  119. package/feffery_antd_components/Fragment.py +1 -1
  120. package/feffery_antd_components/__init__.py +88 -88
  121. package/feffery_antd_components/_icons.py +559 -559
  122. package/feffery_antd_components/alias.py +222 -222
  123. package/feffery_antd_components/async-antd_table.js +2 -2
  124. package/feffery_antd_components/async-data_display.js +1 -1
  125. package/feffery_antd_components/async-data_entry.js +3 -3
  126. package/feffery_antd_components/async-upload.js +2 -2
  127. package/feffery_antd_components/feffery_antd_components.min.js +8 -8
  128. package/feffery_antd_components/metadata.json +1 -1
  129. package/feffery_antd_components/package-info.json +111 -96
  130. package/feffery_antd_components/utils.py +262 -262
  131. package/package.json +111 -96
  132. package/pytest.ini +5 -5
  133. package/release-to-test-pypi.sh +1 -1
  134. package/requirements.txt +2 -2
  135. package/review_checklist.md +47 -47
  136. package/ruff.toml +4 -4
  137. package/setup.py +33 -33
  138. package/src/jl/'feffery'_antdform.jl +2 -1
  139. package/src/jl/'feffery'_antdtable.jl +7 -6
  140. package/src/lib/components/dataDisplay/AntdAccordion.react.js +232 -232
  141. package/src/lib/components/dataDisplay/AntdAvatar.react.js +177 -177
  142. package/src/lib/components/dataDisplay/AntdAvatarGroup.react.js +133 -133
  143. package/src/lib/components/dataDisplay/AntdBadge.react.js +196 -196
  144. package/src/lib/components/dataDisplay/AntdCarousel.react.js +187 -187
  145. package/src/lib/components/dataDisplay/AntdCheckableTag.react.js +105 -105
  146. package/src/lib/components/dataDisplay/AntdCollapse.react.js +239 -239
  147. package/src/lib/components/dataDisplay/AntdComment.react.js +251 -251
  148. package/src/lib/components/dataDisplay/AntdCountdown.react.js +143 -143
  149. package/src/lib/components/dataDisplay/AntdCountup.react.js +133 -133
  150. package/src/lib/components/dataDisplay/AntdEmpty.react.js +162 -162
  151. package/src/lib/components/dataDisplay/AntdImage.react.js +202 -202
  152. package/src/lib/components/dataDisplay/AntdImageGroup.react.js +181 -181
  153. package/src/lib/components/dataDisplay/AntdPopover.react.js +220 -220
  154. package/src/lib/components/dataDisplay/AntdQRCode.react.js +191 -191
  155. package/src/lib/components/dataDisplay/AntdRibbon.react.js +105 -105
  156. package/src/lib/components/dataDisplay/AntdSegmented.react.js +234 -234
  157. package/src/lib/components/dataDisplay/AntdSpoiler.react.js +154 -154
  158. package/src/lib/components/dataDisplay/AntdStatistic.react.js +168 -168
  159. package/src/lib/components/dataDisplay/AntdTable.react.js +1859 -1858
  160. package/src/lib/components/dataDisplay/AntdTabs.react.js +352 -352
  161. package/src/lib/components/dataDisplay/AntdTag.react.js +135 -135
  162. package/src/lib/components/dataDisplay/AntdTimeline.react.js +136 -136
  163. package/src/lib/components/dataDisplay/AntdTooltip.react.js +230 -230
  164. package/src/lib/components/dataDisplay/AntdTree.react.js +641 -641
  165. package/src/lib/components/dataDisplay/card/AntdCard.react.js +249 -249
  166. package/src/lib/components/dataDisplay/card/AntdCardGrid.react.js +99 -99
  167. package/src/lib/components/dataDisplay/card/AntdCardMeta.react.js +97 -97
  168. package/src/lib/components/dataDisplay/descriptions/AntdDescriptionItem.react.js +130 -130
  169. package/src/lib/components/dataDisplay/descriptions/AntdDescriptions.react.js +237 -237
  170. package/src/lib/components/dataEntry/AntdCalendar.react.js +205 -205
  171. package/src/lib/components/dataEntry/AntdCascader.react.js +435 -435
  172. package/src/lib/components/dataEntry/AntdCheckbox.react.js +182 -182
  173. package/src/lib/components/dataEntry/AntdCheckboxGroup.react.js +193 -193
  174. package/src/lib/components/dataEntry/AntdColorPicker.react.js +240 -240
  175. package/src/lib/components/dataEntry/AntdDatePicker.react.js +432 -432
  176. package/src/lib/components/dataEntry/AntdDateRangePicker.react.js +439 -439
  177. package/src/lib/components/dataEntry/AntdInput.react.js +423 -423
  178. package/src/lib/components/dataEntry/AntdInputNumber.react.js +329 -329
  179. package/src/lib/components/dataEntry/AntdMentions.react.js +236 -236
  180. package/src/lib/components/dataEntry/AntdOTP.react.js +186 -186
  181. package/src/lib/components/dataEntry/AntdRadioGroup.react.js +241 -241
  182. package/src/lib/components/dataEntry/AntdRate.react.js +199 -199
  183. package/src/lib/components/dataEntry/AntdSegmentedColoring.react.js +251 -251
  184. package/src/lib/components/dataEntry/AntdSelect.react.js +492 -492
  185. package/src/lib/components/dataEntry/AntdSlider.react.js +325 -325
  186. package/src/lib/components/dataEntry/AntdSwitch.react.js +210 -210
  187. package/src/lib/components/dataEntry/AntdTimePicker.react.js +344 -344
  188. package/src/lib/components/dataEntry/AntdTimeRangePicker.react.js +325 -325
  189. package/src/lib/components/dataEntry/AntdTransfer.react.js +317 -317
  190. package/src/lib/components/dataEntry/AntdTreeSelect.react.js +573 -573
  191. package/src/lib/components/dataEntry/check-card/AntdCheckCard.react.js +186 -186
  192. package/src/lib/components/dataEntry/check-card/AntdCheckCardGroup.react.js +214 -214
  193. package/src/lib/components/dataEntry/form/AntdForm.react.js +201 -194
  194. package/src/lib/components/dataEntry/form/AntdFormItem.react.js +210 -210
  195. package/src/lib/components/dataEntry/upload/AntdDraggerUpload.react.js +504 -504
  196. package/src/lib/components/dataEntry/upload/AntdPictureUpload.react.js +530 -530
  197. package/src/lib/components/dataEntry/upload/AntdUpload.react.js +537 -537
  198. package/src/lib/components/feedback/AntdAlert.react.js +185 -185
  199. package/src/lib/components/feedback/AntdDrawer.react.js +306 -306
  200. package/src/lib/components/feedback/AntdMessage.react.js +143 -143
  201. package/src/lib/components/feedback/AntdModal.react.js +530 -530
  202. package/src/lib/components/feedback/AntdNotification.react.js +211 -211
  203. package/src/lib/components/feedback/AntdPopconfirm.react.js +433 -433
  204. package/src/lib/components/feedback/AntdPopupCard.react.js +362 -362
  205. package/src/lib/components/feedback/AntdProgress.react.js +300 -300
  206. package/src/lib/components/feedback/AntdResult.react.js +125 -125
  207. package/src/lib/components/feedback/AntdSpin.react.js +273 -273
  208. package/src/lib/components/feedback/skeleton/AntdCustomSkeleton.react.js +197 -197
  209. package/src/lib/components/feedback/skeleton/AntdSkeleton.react.js +291 -291
  210. package/src/lib/components/feedback/skeleton/AntdSkeletonAvatar.react.js +109 -109
  211. package/src/lib/components/feedback/skeleton/AntdSkeletonButton.react.js +114 -114
  212. package/src/lib/components/feedback/skeleton/AntdSkeletonImage.react.js +82 -82
  213. package/src/lib/components/feedback/skeleton/AntdSkeletonInput.react.js +98 -98
  214. package/src/lib/components/formRender/AntdFormRender.react.js +945 -945
  215. package/src/lib/components/general/AntdButton.react.js +328 -328
  216. package/src/lib/components/general/AntdFloatButton.react.js +157 -157
  217. package/src/lib/components/general/AntdFloatButtonGroup.react.js +162 -162
  218. package/src/lib/components/general/AntdIcon.react.js +176 -176
  219. package/src/lib/components/general/typography/AntdParagraph.react.js +202 -202
  220. package/src/lib/components/general/typography/AntdText.react.js +194 -194
  221. package/src/lib/components/general/typography/AntdTitle.react.js +186 -186
  222. package/src/lib/components/icons.react.js +1136 -1136
  223. package/src/lib/components/layout/AntdCenter.react.js +122 -122
  224. package/src/lib/components/layout/AntdCompact.react.js +108 -108
  225. package/src/lib/components/layout/AntdContent.react.js +92 -92
  226. package/src/lib/components/layout/AntdDivider.react.js +219 -219
  227. package/src/lib/components/layout/AntdFlex.react.js +143 -143
  228. package/src/lib/components/layout/AntdFooter.react.js +92 -92
  229. package/src/lib/components/layout/AntdHeader.react.js +92 -92
  230. package/src/lib/components/layout/AntdLayout.react.js +90 -90
  231. package/src/lib/components/layout/AntdSider.react.js +162 -162
  232. package/src/lib/components/layout/AntdSpace.react.js +213 -213
  233. package/src/lib/components/layout/AntdSplitter.react.js +173 -173
  234. package/src/lib/components/layout/grid/AntdCol.react.js +349 -349
  235. package/src/lib/components/layout/grid/AntdRow.react.js +152 -152
  236. package/src/lib/components/locales.react.js +197 -197
  237. package/src/lib/components/navigation/AntdAnchor.react.js +208 -208
  238. package/src/lib/components/navigation/AntdBreadcrumb.react.js +270 -270
  239. package/src/lib/components/navigation/AntdDropdown.react.js +469 -469
  240. package/src/lib/components/navigation/AntdMenu.react.js +573 -649
  241. package/src/lib/components/navigation/AntdPageHeader.react.js +139 -139
  242. package/src/lib/components/navigation/AntdPagination.react.js +303 -303
  243. package/src/lib/components/navigation/AntdSteps.react.js +199 -199
  244. package/src/lib/components/other/AntdAffix.react.js +120 -120
  245. package/src/lib/components/other/AntdBackTop.react.js +128 -128
  246. package/src/lib/components/other/AntdConfigProvider.react.js +246 -246
  247. package/src/lib/components/other/AntdCopyText.react.js +138 -138
  248. package/src/lib/components/other/AntdHappyProvider.react.js +50 -50
  249. package/src/lib/components/other/AntdTour.react.js +277 -277
  250. package/src/lib/components/other/AntdWatermark.react.js +179 -179
  251. package/src/lib/components/other/Fragment.react.js +50 -50
  252. package/src/lib/components/styles.css +513 -513
  253. package/src/lib/components/utils.js +51 -51
  254. package/src/lib/contexts/FormContext.js +4 -4
  255. package/src/lib/contexts/FormItemContext.js +4 -4
  256. package/src/lib/contexts/PropsContext.js +4 -4
  257. package/src/lib/fragments/AntdTable.react.js +2215 -2200
  258. package/src/lib/fragments/dataDisplay/AntdAccordion.react.js +101 -101
  259. package/src/lib/fragments/dataDisplay/AntdAvatar.react.js +127 -127
  260. package/src/lib/fragments/dataDisplay/AntdAvatarGroup.react.js +51 -51
  261. package/src/lib/fragments/dataDisplay/AntdBadge.react.js +73 -73
  262. package/src/lib/fragments/dataDisplay/AntdCarousel.react.js +71 -71
  263. package/src/lib/fragments/dataDisplay/AntdCheckableTag.react.js +57 -57
  264. package/src/lib/fragments/dataDisplay/AntdComment.react.js +178 -178
  265. package/src/lib/fragments/dataDisplay/AntdCountdown.react.js +83 -83
  266. package/src/lib/fragments/dataDisplay/AntdCountup.react.js +70 -70
  267. package/src/lib/fragments/dataDisplay/AntdEmpty.react.js +71 -71
  268. package/src/lib/fragments/dataDisplay/AntdImage.react.js +206 -206
  269. package/src/lib/fragments/dataDisplay/AntdImageGroup.react.js +91 -91
  270. package/src/lib/fragments/dataDisplay/AntdPopover.react.js +106 -106
  271. package/src/lib/fragments/dataDisplay/AntdQRCode.react.js +93 -93
  272. package/src/lib/fragments/dataDisplay/AntdRibbon.react.js +53 -53
  273. package/src/lib/fragments/dataDisplay/AntdSegmented.react.js +129 -129
  274. package/src/lib/fragments/dataDisplay/AntdSpoiler.react.js +96 -96
  275. package/src/lib/fragments/dataDisplay/AntdTabs.react.js +211 -211
  276. package/src/lib/fragments/dataDisplay/AntdTag.react.js +66 -66
  277. package/src/lib/fragments/dataDisplay/AntdTimeline.react.js +67 -67
  278. package/src/lib/fragments/dataDisplay/AntdTooltip.react.js +98 -98
  279. package/src/lib/fragments/dataDisplay/AntdTree.react.js +581 -581
  280. package/src/lib/fragments/dataDisplay/card/AntdCard.react.js +104 -104
  281. package/src/lib/fragments/dataDisplay/card/AntdCardGrid.react.js +54 -54
  282. package/src/lib/fragments/dataDisplay/card/AntdCardMeta.react.js +54 -54
  283. package/src/lib/fragments/dataDisplay/descriptions/AntdDescriptionItem.react.js +56 -56
  284. package/src/lib/fragments/dataDisplay/descriptions/AntdDescriptions.react.js +139 -139
  285. package/src/lib/fragments/dataEntry/AntdCalendar.react.js +178 -178
  286. package/src/lib/fragments/dataEntry/AntdCascader.react.js +319 -319
  287. package/src/lib/fragments/dataEntry/AntdCheckbox.react.js +119 -119
  288. package/src/lib/fragments/dataEntry/AntdCheckboxGroup.react.js +122 -122
  289. package/src/lib/fragments/dataEntry/AntdColorPicker.react.js +244 -244
  290. package/src/lib/fragments/dataEntry/AntdDatePicker.react.js +586 -586
  291. package/src/lib/fragments/dataEntry/AntdDateRangePicker.react.js +628 -628
  292. package/src/lib/fragments/dataEntry/AntdInput.react.js +450 -450
  293. package/src/lib/fragments/dataEntry/AntdInputNumber.react.js +194 -194
  294. package/src/lib/fragments/dataEntry/AntdMentions.react.js +180 -180
  295. package/src/lib/fragments/dataEntry/AntdOTP.react.js +127 -127
  296. package/src/lib/fragments/dataEntry/AntdRadioGroup.react.js +203 -203
  297. package/src/lib/fragments/dataEntry/AntdRate.react.js +131 -131
  298. package/src/lib/fragments/dataEntry/AntdSegmentedColoring.react.js +246 -246
  299. package/src/lib/fragments/dataEntry/AntdSelect.react.js +373 -373
  300. package/src/lib/fragments/dataEntry/AntdSlider.react.js +177 -177
  301. package/src/lib/fragments/dataEntry/AntdSwitch.react.js +132 -132
  302. package/src/lib/fragments/dataEntry/AntdTimePicker.react.js +191 -191
  303. package/src/lib/fragments/dataEntry/AntdTimeRangePicker.react.js +213 -213
  304. package/src/lib/fragments/dataEntry/AntdTransfer.react.js +183 -183
  305. package/src/lib/fragments/dataEntry/AntdTreeSelect.react.js +355 -355
  306. package/src/lib/fragments/dataEntry/check-card/AntdCheckCard.react.js +111 -111
  307. package/src/lib/fragments/dataEntry/check-card/AntdCheckCardGroup.react.js +122 -122
  308. package/src/lib/fragments/dataEntry/form/AntdForm.react.js +126 -120
  309. package/src/lib/fragments/dataEntry/form/AntdFormItem.react.js +85 -84
  310. package/src/lib/fragments/formRender/AntdFormRender.react.js +179 -179
  311. package/src/lib/fragments/upload/AntdDraggerUpload.react.js +622 -622
  312. package/src/lib/fragments/upload/AntdPictureUpload.react.js +577 -577
  313. package/src/lib/fragments/upload/AntdUpload.react.js +613 -613
  314. package/src/lib/hooks/useCss.js +28 -28
  315. package/src/lib/hooks/useStickyOffset.js +115 -115
  316. package/src/lib/index.js +240 -240
  317. package/src/lib/internal_components/UtilsLink.react.js +82 -0
  318. package/src/lib/store/formStore.js +54 -47
  319. package/tests/dash3.0tests/AntdQRCode/347/273/204/344/273/266loading/347/212/266/346/200/201/351/207/215/346/236/204/test.py +51 -51
  320. package/tests/dash3.0tests/AntdTable/345/207/275/346/225/260/345/274/217/346/224/271/351/200/240/test.py +62 -62
  321. package/tests/dash3.0tests/_dashprivate_layout/346/224/271/345/212/250/346/265/213/350/257/225/test.py +50 -50
  322. package/tests/dash3.0tests/loading_state/346/224/271/345/212/250/346/265/213/350/257/225/test.py +38 -38
  323. package/tests/dash3.0tests//345/207/275/346/225/260/345/274/217/347/273/204/344/273/266/351/273/230/350/256/244/345/200/274/351/207/215/346/236/204/test.py +30 -30
  324. package/tests/dash3.0tests//345/212/240/350/275/275/345/212/250/347/224/273/347/261/273/347/273/204/344/273/266/351/207/215/346/236/204/346/265/213/350/257/225/test.py +62 -62
  325. package/tests/dash3.0tests//347/273/204/344/273/266/345/261/236/346/200/247/345/237/272/347/241/200/346/214/201/344/271/205/345/214/226/351/207/215/346/236/204/346/265/213/350/257/225/test.py +25 -25
  326. package/tests/dataDisplay/AntdAccordion/feat_size.py +36 -36
  327. package/tests/dataDisplay/AntdAccordion/feat_styles.py +35 -35
  328. package/tests/dataDisplay/AntdCard/refactor_delete_props.py +83 -83
  329. package/tests/dataDisplay/AntdCarousel/feat_auto_play_dot_duration.py +34 -34
  330. package/tests/dataDisplay/AntdCollapse/feat_size.py +30 -30
  331. package/tests/dataDisplay/AntdCollapse/feat_styles.py +29 -29
  332. package/tests/dataDisplay/AntdCountdown/feat_finish_event.py +41 -41
  333. package/tests/dataDisplay/AntdCountdown/refactor_to_timer.py +57 -57
  334. package/tests/dataDisplay/AntdCountup/refactor_to_timer.py +57 -57
  335. package/tests/dataDisplay/AntdDescriptions/feat_span_filled.py +42 -42
  336. package/tests/dataDisplay/AntdImage/debug_preview_toolbar.py +23 -23
  337. package/tests/dataDisplay/AntdSegmented/feat_shape.py +39 -39
  338. package/tests/dataDisplay/AntdSegmented/feat_simple_options.py +43 -43
  339. package/tests/dataDisplay/AntdSegmented/feat_vertical.py +32 -32
  340. package/tests/dataDisplay/AntdTable/feat_button_mode_like_dcc_link.py +125 -0
  341. package/tests/dataDisplay/AntdTable/feat_button_mode_refactor.py +143 -143
  342. package/tests/dataDisplay/AntdTable/feat_button_mode_tooltip.py +47 -47
  343. package/tests/dataDisplay/AntdTable/feat_columns_fixed_bool.py +40 -40
  344. package/tests/dataDisplay/AntdTable/feat_columns_min_width.py +51 -51
  345. package/tests/dataDisplay/AntdTable/feat_columns_sort_order.py +131 -131
  346. package/tests/dataDisplay/AntdTable/feat_editable_disabled_keys.py +71 -71
  347. package/tests/dataDisplay/AntdTable/feat_header_align.py +38 -38
  348. package/tests/dataDisplay/AntdTable/feat_link_mode_like_dcc_link.py +49 -0
  349. package/tests/dataDisplay/AntdTable/feat_loading.py +76 -76
  350. package/tests/dataDisplay/AntdTable/feat_mini_chart_color.py +139 -139
  351. package/tests/dataDisplay/AntdTable/feat_row_class_name.py +39 -39
  352. package/tests/dataDisplay/AntdTable/feat_row_class_name_func.py +41 -41
  353. package/tests/dataDisplay/AntdTable/feat_select_mode_show_search.py +70 -70
  354. package/tests/dataDisplay/AntdTable/feat_sticky_header.py +81 -81
  355. package/tests/dataDisplay/AntdTable/feat_table_scroll.py +54 -54
  356. package/tests/dataDisplay/AntdTable/feat_tag_mode_tooltip.py +88 -88
  357. package/tests/dataDisplay/AntdTable/feat_title_popover_nodes.py +94 -79
  358. package/tests/dataDisplay/AntdTable/fix_context_locale.py +37 -37
  359. package/tests/dataDisplay/AntdTable/fix_field_bool.py +50 -50
  360. package/tests/dataDisplay/AntdTable/fix_nested_editable.py +115 -115
  361. package/tests/dataDisplay/AntdTable/fix_select_with_editable.py +84 -84
  362. package/tests/dataDisplay/AntdTable/fix_server_side_mode_filter_search.py +194 -194
  363. package/tests/dataDisplay/AntdTable/fix_summary.py +474 -474
  364. package/tests/dataDisplay/AntdTable/fix_summary_multi_level_header.py +85 -85
  365. package/tests/dataDisplay/AntdTable/fix_zero_value_filter.py +34 -34
  366. package/tests/dataDisplay/AntdTable/perf_button_mode_auto_wrap.py +39 -39
  367. package/tests/dataDisplay/AntdTable/perf_editable_column_format_constrait_message.py +65 -65
  368. package/tests/dataDisplay/AntdTable/refactor_mini_progress_mode.py +134 -134
  369. package/tests/dataDisplay/AntdTable/rollback_title_popover_info.py +46 -0
  370. package/tests/dataDisplay/AntdTabs/feat_item_icon.py +39 -39
  371. package/tests/dataDisplay/AntdTabs/feat_placeholder.py +124 -124
  372. package/tests/dataDisplay/AntdTabs/feat_tab_bar_style.py +40 -40
  373. package/tests/dataDisplay/AntdTree/feat_async_data_load.py +71 -71
  374. package/tests/dataDisplay/descriptions/AntdDescriptions/feat_extra.py +83 -83
  375. package/tests/dataEntry/AntdCalendar/feat_custom_cells.py +52 -52
  376. package/tests/dataEntry/AntdCascader/feat_prefix.py +62 -62
  377. package/tests/dataEntry/AntdCascader/feat_suffix_icon.py +62 -62
  378. package/tests/dataEntry/AntdCascader/fix_read_only.py +74 -74
  379. package/tests/dataEntry/AntdDatePicker/feat_custom_cells.py +79 -79
  380. package/tests/dataEntry/AntdDatePicker/feat_picker_value.py +38 -38
  381. package/tests/dataEntry/AntdDatePicker/feat_prefix.py +21 -21
  382. package/tests/dataEntry/AntdDatePicker/feat_suffix_icon.py +21 -21
  383. package/tests/dataEntry/AntdDateRangePicker/feat_custom_cells.py +79 -79
  384. package/tests/dataEntry/AntdDateRangePicker/feat_picker_value.py +38 -38
  385. package/tests/dataEntry/AntdDateRangePicker/feat_prefix.py +21 -21
  386. package/tests/dataEntry/AntdDateRangePicker/feat_suffix_icon.py +21 -21
  387. package/tests/dataEntry/AntdForm/feat_batch_control_tooltips.py +35 -0
  388. package/tests/dataEntry/AntdForm/feat_optional_batch_control.py +62 -62
  389. package/tests/dataEntry/AntdForm/fix_checkbox.py +65 -65
  390. package/tests/dataEntry/AntdRadioGroup/feat_block.py +40 -40
  391. package/tests/dataEntry/AntdSelect/feat_locale_ru.py +24 -24
  392. package/tests/dataEntry/AntdSelect/feat_max_count.py +28 -28
  393. package/tests/dataEntry/AntdSelect/feat_prefix.py +26 -26
  394. package/tests/dataEntry/AntdSelect/feat_show_search.py +32 -32
  395. package/tests/dataEntry/AntdSelect/feat_suffix_icon.py +46 -46
  396. package/tests/dataEntry/AntdSelect/fix_read_only.py +50 -50
  397. package/tests/dataEntry/AntdSelect/fix_read_only_with_allow_clear.py +29 -29
  398. package/tests/dataEntry/AntdSlider/feat_range_editable.py +49 -49
  399. package/tests/dataEntry/AntdTimePicker/feat_prefix.py +21 -21
  400. package/tests/dataEntry/AntdTimePicker/feat_suffix_icon.py +21 -21
  401. package/tests/dataEntry/AntdTimeRangePicker/feat_prefix.py +21 -21
  402. package/tests/dataEntry/AntdTimeRangePicker/feat_suffix_icon.py +21 -21
  403. package/tests/dataEntry/AntdTreeSelect/feat_async_data_load.py +69 -69
  404. package/tests/dataEntry/AntdTreeSelect/feat_max_count.py +71 -71
  405. package/tests/dataEntry/AntdTreeSelect/feat_prefix.py +43 -43
  406. package/tests/dataEntry/AntdTreeSelect/fix_read_only.py +50 -50
  407. package/tests/dataEntry/AntdUpload/feat_pastable.py +22 -22
  408. package/tests/dataEntry/AntdUpload/fix_follow_theme.py +28 -28
  409. package/tests/feat_variant_underlined.py +100 -100
  410. package/tests/feedback/AntdAlert/feat_icon.py +35 -35
  411. package/tests/feedback/AntdMessage/fix_follow_config_provider.py +44 -44
  412. package/tests/feedback/AntdModal/feat_force_render.py +57 -57
  413. package/tests/feedback/AntdModal/feat_loading_title.py +92 -92
  414. package/tests/feedback/AntdModal/feat_prevent_close.py +54 -54
  415. package/tests/feedback/AntdModal/feat_responsive_width.py +31 -31
  416. package/tests/feedback/AntdNotification/feat_component_content.py +64 -64
  417. package/tests/feedback/AntdNotification/feat_number_of_stack.py +40 -40
  418. package/tests/feedback/AntdNotification/feat_show_progress.py +40 -40
  419. package/tests/feedback/AntdNotification/fix_follow_config_provider.py +46 -46
  420. package/tests/feedback/AntdPopupCard/feat_force_render.py +61 -61
  421. package/tests/feedback/AntdProgress/feat_percent_position.py +39 -39
  422. package/tests/feedback/AntdProgress/perf_size.py +26 -26
  423. package/tests/feedback/AntdProgress/perf_steps.py +37 -37
  424. package/tests/feedback/AntdProgress/perf_stroke_color.py +58 -58
  425. package/tests/feedback/AntdResult/feat_extra.py +26 -26
  426. package/tests/feedback/AntdSkeleton/fix_dash3.py +43 -43
  427. package/tests/general/AntdButton/feat_color_and_variant.py +40 -40
  428. package/tests/general/AntdButton/feat_preset_color.py +46 -46
  429. package/tests/general/AntdFloatButtonGroup/feat_placement.py +83 -83
  430. package/tests/general/AntdFloatButtonGroup/feat_tooltip.py +34 -34
  431. package/tests/general/AntdIcon/feat_iconfont.py +41 -41
  432. package/tests/layout/AntdCenter/feat_use_token.py +41 -41
  433. package/tests/layout/AntdDivider/feat_plain.py +21 -21
  434. package/tests/layout/AntdDivider/feat_size.py +36 -36
  435. package/tests/layout/AntdSplitter/feat_AntdSplitter.py +210 -210
  436. package/tests/layout/AntdSplitter/feat_lazy.py +56 -56
  437. package/tests/layout/AntdSplitter/refactor.py +303 -303
  438. package/tests/navigation/AntdAnchor/feat_current_anchor.py +43 -43
  439. package/tests/navigation/AntdAnchor/feat_direction.py +43 -43
  440. package/tests/navigation/AntdAnchor/feat_replace.py +43 -43
  441. package/tests/navigation/AntdBreadcrumb/feat_menu_item_event.py +64 -64
  442. package/tests/navigation/AntdBreadcrumb/refactor_items.py +140 -140
  443. package/tests/navigation/AntdDropdown/feat_extra.py +29 -29
  444. package/tests/navigation/AntdMenu/feat_currentItem.py +85 -85
  445. package/tests/navigation/AntdMenu/feat_currentItemPath.py +85 -85
  446. package/tests/navigation/AntdMenu/feat_currentKeyPath.py +85 -85
  447. package/tests/navigation/AntdMenu/feat_custom_icon.py +57 -57
  448. package/tests/navigation/AntdMenu/feat_expandIcon.py +70 -70
  449. package/tests/navigation/AntdMenu/feat_triggerSubMenuAction.py +67 -67
  450. package/tests/navigation/AntdMenu/fix_onlyExpandCurrentSubMenu.py +57 -57
  451. package/tests/navigation/AntdMenu/fix_with_sider.py +71 -71
  452. package/tests/navigation/AntdPagination/feat_align.py +31 -31
  453. package/tests/other/AntdAffix/feat_listen_affixed.py +41 -41
  454. package/tests/other/AntdBackTop/refactor.py +18 -18
  455. package/tests/other/AntdConfigProvider/feat_use_css.py +67 -67
  456. package/tests/other/AntdCopyText/feat_copy_table.py +67 -67
  457. package/tests/other/AntdCopyText/feat_tooltips.py +61 -61
  458. package/tests/other/AntdHappyProvider/feat_component.py +60 -60
  459. package/tests/other/Fragment/feat_use_token.py +32 -32
  460. package/usage.py +34 -34
  461. package/webpack.config.js +181 -181
  462. package/webpack.serve.config.js +12 -12
@@ -1,292 +1,292 @@
1
- // react核心
2
- import React, { useState, useEffect, useRef } from 'react';
3
- import PropTypes from 'prop-types';
4
- // antd核心
5
- import { Skeleton } from 'antd';
6
- // 辅助库
7
- import { isString } from 'lodash';
8
- import { pickBy, equals } from 'ramda';
9
- import { useLoading, loadingSelector } from '../../utils';
10
- // 自定义hooks
11
- import useCss from '../../../hooks/useCss';
12
-
13
- /**
14
- * 骨架屏组件AntdSkeleton
15
- */
16
- const AntdSkeleton = ({
17
- id,
18
- className,
19
- style,
20
- key,
21
- children,
22
- loading = false,
23
- active = false,
24
- delay = 0,
25
- avatar = false,
26
- paragraph = true,
27
- round = false,
28
- title = true,
29
- listenPropsMode = 'default',
30
- excludeProps = [],
31
- includeProps = [],
32
- debug = false,
33
- manual = false,
34
- setProps,
35
- ...others
36
- }) => {
37
-
38
- const ctx = window.dash_component_api.useDashContext();
39
- // 获取内部加载中组件信息
40
- const loading_info = ctx.useSelector(loadingSelector(ctx.componentPath), equals);
41
-
42
- const [showLoading, setShowLoading] = useState(loading);
43
- const timer = useRef();
44
- const delayTimer = useRef();
45
-
46
- useEffect(() => {
47
- if (!manual && loading_info) {
48
- if (timer.current) {
49
- clearTimeout(timer.current);
50
- }
51
- if (delayTimer.current) {
52
- clearTimeout(delayTimer.current);
53
- }
54
- if (loading_info.length > 0 && !showLoading) {
55
- // 当listenPropsMode为'default'时
56
- if (listenPropsMode === 'default') {
57
- if (debug) {
58
- loading_info.forEach(item => console.log(item.id + '.' + item.property))
59
- }
60
- delayTimer.current = setTimeout(
61
- () => setShowLoading(true),
62
- delay
63
- );
64
- } else if (listenPropsMode === 'exclude') {
65
- // 当listenPropsMode为'exclude'模式时
66
- // 当前触发加载状态的组件+属性组合均不在排除列表中时,激活动画
67
- if (loading_info.every(item => excludeProps.indexOf(item.id + '.' + item.property) === -1)) {
68
- if (debug) {
69
- loading_info.forEach(item => console.log(item.id + '.' + item.property))
70
- }
71
- delayTimer.current = setTimeout(
72
- () => setShowLoading(true),
73
- delay
74
- );
75
- }
76
- } else if (listenPropsMode === 'include') {
77
- // 当listenPropsMode为'include'模式时
78
- // 当前触发加载状态的组件+属性组合至少有一个在包含列表中时,激活动画
79
- if (loading_info.some(item => includeProps.indexOf(item.id + '.' + item.property) !== -1)) {
80
- if (debug) {
81
- loading_info.forEach(item => console.log(item.id + '.' + item.property))
82
- }
83
- delayTimer.current = setTimeout(
84
- () => setShowLoading(true),
85
- delay
86
- );
87
- }
88
- }
89
-
90
- } else if (loading_info.length === 0 && showLoading) {
91
- timer.current = setTimeout(() => setShowLoading(false));
92
- }
93
- }
94
- }, [loading_info]);
95
-
96
- return (
97
- <Skeleton
98
- // 提取具有data-*或aria-*通配格式的属性
99
- {...pickBy((_, k) => k.startsWith('data-') || k.startsWith('aria-'), others)}
100
- id={id}
101
- className={
102
- isString(className) ?
103
- className :
104
- (className ? useCss(className) : undefined)
105
- }
106
- style={style}
107
- key={key}
108
- loading={manual ? loading : showLoading}
109
- active={active}
110
- avatar={avatar}
111
- paragraph={paragraph}
112
- round={round}
113
- title={title}
114
- data-dash-is-loading={useLoading()}
115
- >{children}
116
- </Skeleton>
117
- );
118
- }
119
-
120
- AntdSkeleton.propTypes = {
121
- /**
122
- * 组件唯一id
123
- */
124
- id: PropTypes.string,
125
-
126
- /**
127
- * 对当前组件的`key`值进行更新,可实现强制重绘当前组件的效果
128
- */
129
- key: PropTypes.string,
130
-
131
- /**
132
- * 组件型,内嵌元素
133
- */
134
- children: PropTypes.node,
135
-
136
- /**
137
- * 当前组件css样式
138
- */
139
- style: PropTypes.object,
140
-
141
- /**
142
- * 当前组件css类名,支持[动态css](/advanced-classname)
143
- */
144
- className: PropTypes.oneOfType([
145
- PropTypes.string,
146
- PropTypes.object
147
- ]),
148
-
149
- /**
150
- * 是否处于加载中状态
151
- */
152
- loading: PropTypes.bool,
153
-
154
- /**
155
- * 是否显示动画
156
- * 默认值:`false`
157
- */
158
- active: PropTypes.bool,
159
-
160
- /**
161
- * 加载动画渲染延时,单位:毫秒
162
- * 默认值:`0`
163
- */
164
- delay: PropTypes.number,
165
-
166
- /**
167
- * 配置头像占位图相关参数,设置为`false`时不显示
168
- * 默认值:`true`
169
- */
170
- avatar: PropTypes.oneOfType([
171
- PropTypes.bool,
172
- PropTypes.exact({
173
- /**
174
- * 头像占位图是否显示动画
175
- * 默认值:`false`
176
- */
177
- active: PropTypes.bool,
178
- /**
179
- * 头像占位图形状,可选项有`'circle'`、`'square'`
180
- */
181
- shape: PropTypes.oneOf(['circle', 'square']),
182
- /**
183
- * 头像占位图尺寸,传入数值型表示像素尺寸,也可传入预设的尺寸规格,可选项有`'large'`、`'small'`、`'default'`
184
- * 默认值:`'default'`
185
- */
186
- size: PropTypes.oneOfType([
187
- PropTypes.number,
188
- PropTypes.oneOf(['large', 'small', 'default'])
189
- ]),
190
- })
191
- ]),
192
-
193
- /**
194
- * 配置段落占位图相关参数,设置为`false`时不显示
195
- * 默认值:`true`
196
- */
197
- paragraph: PropTypes.oneOfType([
198
- PropTypes.bool,
199
- PropTypes.exact({
200
- /**
201
- * 段落占位图行数
202
- */
203
- rows: PropTypes.number,
204
- // 设置段落占位图的宽度(数值像素或字符串css宽度),若为数组时,则一一对应每行宽度,
205
- // 反之则是最后一行的宽度
206
- /**
207
- * 段落占位图宽度,当传入*int*或*string*型时,用于设置段落占位图最后一行的宽度,当传入*list*型时,用于逐行设置宽度
208
- */
209
- width: PropTypes.oneOfType([
210
- PropTypes.number,
211
- PropTypes.string,
212
- PropTypes.arrayOf(
213
- PropTypes.oneOfType([
214
- PropTypes.number,
215
- PropTypes.string
216
- ])
217
- )
218
- ])
219
- })
220
- ]),
221
-
222
- /**
223
- * 是否显示标题占位图
224
- * 默认值:`true`
225
- */
226
- title: PropTypes.oneOfType([
227
- PropTypes.bool,
228
- PropTypes.exact({
229
- /**
230
- * 标题占位图宽度
231
- */
232
- width: PropTypes.oneOfType([
233
- PropTypes.number,
234
- PropTypes.string
235
- ])
236
- })
237
- ]),
238
-
239
- /**
240
- * 段落、标题占位图是否渲染圆角
241
- * 默认值:`false`
242
- */
243
- round: PropTypes.bool,
244
-
245
- /**
246
- * 是否开启debug模式,开启后,每次动画加载都会在开发者工具的控制台打印相关`prop`信息
247
- * 默认值:`false`
248
- */
249
- debug: PropTypes.bool,
250
-
251
- /**
252
- * 监听模式,可选项有`'default'`、`'exclude'`、`'include'`
253
- * 默认值:`'default'`
254
- */
255
- listenPropsMode: PropTypes.oneOf(['default', 'exclude', 'include']),
256
-
257
- /**
258
- * `listenPropsMode='exclude'`时,设置需要排除监听的回调目标列表,格式如`['组件id1.组件属性1', '组件id2.组件属性2', ...]`
259
- */
260
- excludeProps: PropTypes.arrayOf(PropTypes.string),
261
-
262
- /**
263
- * `listenPropsMode='include'`时,设置需要包含监听的回调目标列表,格式如`['组件id1.组件属性1', '组件id2.组件属性2', ...]`
264
- */
265
- includeProps: PropTypes.arrayOf(PropTypes.string),
266
-
267
- /**
268
- * 是否开启手动控制模式,开启后是否处于加载状态将由`loading`参数控制,与内部元素参与的回调状态无关
269
- * 默认值:`false`
270
- */
271
- manual: PropTypes.bool,
272
-
273
- /**
274
- * `data-*`格式属性通配
275
- */
276
- 'data-*': PropTypes.string,
277
-
278
- /**
279
- * `aria-*`格式属性通配
280
- */
281
- 'aria-*': PropTypes.string,
282
-
283
- /**
284
- * Dash-assigned callback that should be called to report property changes
285
- * to Dash, to make them available for callbacks.
286
- */
287
- setProps: PropTypes.func
288
- };
289
-
290
- AntdSkeleton.dashChildrenUpdate = true;
291
-
1
+ // react核心
2
+ import React, { useState, useEffect, useRef } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ // antd核心
5
+ import { Skeleton } from 'antd';
6
+ // 辅助库
7
+ import { isString } from 'lodash';
8
+ import { pickBy, equals } from 'ramda';
9
+ import { useLoading, loadingSelector } from '../../utils';
10
+ // 自定义hooks
11
+ import useCss from '../../../hooks/useCss';
12
+
13
+ /**
14
+ * 骨架屏组件AntdSkeleton
15
+ */
16
+ const AntdSkeleton = ({
17
+ id,
18
+ className,
19
+ style,
20
+ key,
21
+ children,
22
+ loading = false,
23
+ active = false,
24
+ delay = 0,
25
+ avatar = false,
26
+ paragraph = true,
27
+ round = false,
28
+ title = true,
29
+ listenPropsMode = 'default',
30
+ excludeProps = [],
31
+ includeProps = [],
32
+ debug = false,
33
+ manual = false,
34
+ setProps,
35
+ ...others
36
+ }) => {
37
+
38
+ const ctx = window.dash_component_api.useDashContext();
39
+ // 获取内部加载中组件信息
40
+ const loading_info = ctx.useSelector(loadingSelector(ctx.componentPath), equals);
41
+
42
+ const [showLoading, setShowLoading] = useState(loading);
43
+ const timer = useRef();
44
+ const delayTimer = useRef();
45
+
46
+ useEffect(() => {
47
+ if (!manual && loading_info) {
48
+ if (timer.current) {
49
+ clearTimeout(timer.current);
50
+ }
51
+ if (delayTimer.current) {
52
+ clearTimeout(delayTimer.current);
53
+ }
54
+ if (loading_info.length > 0 && !showLoading) {
55
+ // 当listenPropsMode为'default'时
56
+ if (listenPropsMode === 'default') {
57
+ if (debug) {
58
+ loading_info.forEach(item => console.log(item.id + '.' + item.property))
59
+ }
60
+ delayTimer.current = setTimeout(
61
+ () => setShowLoading(true),
62
+ delay
63
+ );
64
+ } else if (listenPropsMode === 'exclude') {
65
+ // 当listenPropsMode为'exclude'模式时
66
+ // 当前触发加载状态的组件+属性组合均不在排除列表中时,激活动画
67
+ if (loading_info.every(item => excludeProps.indexOf(item.id + '.' + item.property) === -1)) {
68
+ if (debug) {
69
+ loading_info.forEach(item => console.log(item.id + '.' + item.property))
70
+ }
71
+ delayTimer.current = setTimeout(
72
+ () => setShowLoading(true),
73
+ delay
74
+ );
75
+ }
76
+ } else if (listenPropsMode === 'include') {
77
+ // 当listenPropsMode为'include'模式时
78
+ // 当前触发加载状态的组件+属性组合至少有一个在包含列表中时,激活动画
79
+ if (loading_info.some(item => includeProps.indexOf(item.id + '.' + item.property) !== -1)) {
80
+ if (debug) {
81
+ loading_info.forEach(item => console.log(item.id + '.' + item.property))
82
+ }
83
+ delayTimer.current = setTimeout(
84
+ () => setShowLoading(true),
85
+ delay
86
+ );
87
+ }
88
+ }
89
+
90
+ } else if (loading_info.length === 0 && showLoading) {
91
+ timer.current = setTimeout(() => setShowLoading(false));
92
+ }
93
+ }
94
+ }, [loading_info]);
95
+
96
+ return (
97
+ <Skeleton
98
+ // 提取具有data-*或aria-*通配格式的属性
99
+ {...pickBy((_, k) => k.startsWith('data-') || k.startsWith('aria-'), others)}
100
+ id={id}
101
+ className={
102
+ isString(className) ?
103
+ className :
104
+ (className ? useCss(className) : undefined)
105
+ }
106
+ style={style}
107
+ key={key}
108
+ loading={manual ? loading : showLoading}
109
+ active={active}
110
+ avatar={avatar}
111
+ paragraph={paragraph}
112
+ round={round}
113
+ title={title}
114
+ data-dash-is-loading={useLoading()}
115
+ >{children}
116
+ </Skeleton>
117
+ );
118
+ }
119
+
120
+ AntdSkeleton.propTypes = {
121
+ /**
122
+ * 组件唯一id
123
+ */
124
+ id: PropTypes.string,
125
+
126
+ /**
127
+ * 对当前组件的`key`值进行更新,可实现强制重绘当前组件的效果
128
+ */
129
+ key: PropTypes.string,
130
+
131
+ /**
132
+ * 组件型,内嵌元素
133
+ */
134
+ children: PropTypes.node,
135
+
136
+ /**
137
+ * 当前组件css样式
138
+ */
139
+ style: PropTypes.object,
140
+
141
+ /**
142
+ * 当前组件css类名,支持[动态css](/advanced-classname)
143
+ */
144
+ className: PropTypes.oneOfType([
145
+ PropTypes.string,
146
+ PropTypes.object
147
+ ]),
148
+
149
+ /**
150
+ * 是否处于加载中状态
151
+ */
152
+ loading: PropTypes.bool,
153
+
154
+ /**
155
+ * 是否显示动画
156
+ * 默认值:`false`
157
+ */
158
+ active: PropTypes.bool,
159
+
160
+ /**
161
+ * 加载动画渲染延时,单位:毫秒
162
+ * 默认值:`0`
163
+ */
164
+ delay: PropTypes.number,
165
+
166
+ /**
167
+ * 配置头像占位图相关参数,设置为`false`时不显示
168
+ * 默认值:`true`
169
+ */
170
+ avatar: PropTypes.oneOfType([
171
+ PropTypes.bool,
172
+ PropTypes.exact({
173
+ /**
174
+ * 头像占位图是否显示动画
175
+ * 默认值:`false`
176
+ */
177
+ active: PropTypes.bool,
178
+ /**
179
+ * 头像占位图形状,可选项有`'circle'`、`'square'`
180
+ */
181
+ shape: PropTypes.oneOf(['circle', 'square']),
182
+ /**
183
+ * 头像占位图尺寸,传入数值型表示像素尺寸,也可传入预设的尺寸规格,可选项有`'large'`、`'small'`、`'default'`
184
+ * 默认值:`'default'`
185
+ */
186
+ size: PropTypes.oneOfType([
187
+ PropTypes.number,
188
+ PropTypes.oneOf(['large', 'small', 'default'])
189
+ ]),
190
+ })
191
+ ]),
192
+
193
+ /**
194
+ * 配置段落占位图相关参数,设置为`false`时不显示
195
+ * 默认值:`true`
196
+ */
197
+ paragraph: PropTypes.oneOfType([
198
+ PropTypes.bool,
199
+ PropTypes.exact({
200
+ /**
201
+ * 段落占位图行数
202
+ */
203
+ rows: PropTypes.number,
204
+ // 设置段落占位图的宽度(数值像素或字符串css宽度),若为数组时,则一一对应每行宽度,
205
+ // 反之则是最后一行的宽度
206
+ /**
207
+ * 段落占位图宽度,当传入*int*或*string*型时,用于设置段落占位图最后一行的宽度,当传入*list*型时,用于逐行设置宽度
208
+ */
209
+ width: PropTypes.oneOfType([
210
+ PropTypes.number,
211
+ PropTypes.string,
212
+ PropTypes.arrayOf(
213
+ PropTypes.oneOfType([
214
+ PropTypes.number,
215
+ PropTypes.string
216
+ ])
217
+ )
218
+ ])
219
+ })
220
+ ]),
221
+
222
+ /**
223
+ * 是否显示标题占位图
224
+ * 默认值:`true`
225
+ */
226
+ title: PropTypes.oneOfType([
227
+ PropTypes.bool,
228
+ PropTypes.exact({
229
+ /**
230
+ * 标题占位图宽度
231
+ */
232
+ width: PropTypes.oneOfType([
233
+ PropTypes.number,
234
+ PropTypes.string
235
+ ])
236
+ })
237
+ ]),
238
+
239
+ /**
240
+ * 段落、标题占位图是否渲染圆角
241
+ * 默认值:`false`
242
+ */
243
+ round: PropTypes.bool,
244
+
245
+ /**
246
+ * 是否开启debug模式,开启后,每次动画加载都会在开发者工具的控制台打印相关`prop`信息
247
+ * 默认值:`false`
248
+ */
249
+ debug: PropTypes.bool,
250
+
251
+ /**
252
+ * 监听模式,可选项有`'default'`、`'exclude'`、`'include'`
253
+ * 默认值:`'default'`
254
+ */
255
+ listenPropsMode: PropTypes.oneOf(['default', 'exclude', 'include']),
256
+
257
+ /**
258
+ * `listenPropsMode='exclude'`时,设置需要排除监听的回调目标列表,格式如`['组件id1.组件属性1', '组件id2.组件属性2', ...]`
259
+ */
260
+ excludeProps: PropTypes.arrayOf(PropTypes.string),
261
+
262
+ /**
263
+ * `listenPropsMode='include'`时,设置需要包含监听的回调目标列表,格式如`['组件id1.组件属性1', '组件id2.组件属性2', ...]`
264
+ */
265
+ includeProps: PropTypes.arrayOf(PropTypes.string),
266
+
267
+ /**
268
+ * 是否开启手动控制模式,开启后是否处于加载状态将由`loading`参数控制,与内部元素参与的回调状态无关
269
+ * 默认值:`false`
270
+ */
271
+ manual: PropTypes.bool,
272
+
273
+ /**
274
+ * `data-*`格式属性通配
275
+ */
276
+ 'data-*': PropTypes.string,
277
+
278
+ /**
279
+ * `aria-*`格式属性通配
280
+ */
281
+ 'aria-*': PropTypes.string,
282
+
283
+ /**
284
+ * Dash-assigned callback that should be called to report property changes
285
+ * to Dash, to make them available for callbacks.
286
+ */
287
+ setProps: PropTypes.func
288
+ };
289
+
290
+ AntdSkeleton.dashChildrenUpdate = true;
291
+
292
292
  export default AntdSkeleton;