@para-ui/core 5.0.0-beta.11 → 5.0.0-beta.13

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 (650) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +52 -49
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/dataGenerator/index.js +1 -1
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/Argv/index.js +1 -1
  116. package/es/AutoBox/component.json +133 -0
  117. package/es/AutoBox/index.d.ts +3 -3
  118. package/es/AutoBox/index.js +1 -1
  119. package/es/AutoBox/protal.d.ts +2 -2
  120. package/es/AutoBox/protal.js +33 -30
  121. package/es/AutoButton/component.json +109 -0
  122. package/es/AutoButton/index.js +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  124. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  125. package/es/AutoTips/component.json +121 -0
  126. package/es/AutoTips/index.js +1 -1
  127. package/es/Badge/component.json +92 -0
  128. package/es/Breadcrumbs/component.json +142 -0
  129. package/es/Breadcrumbs/index.js +1 -1
  130. package/es/Button/SplitButton.d.ts +2 -2
  131. package/es/Button/component.json +168 -0
  132. package/es/Button/index.js +44 -44
  133. package/es/ButtonGroup/component.json +132 -0
  134. package/es/ButtonGroup/index.d.ts +1 -1
  135. package/es/Card/component.json +162 -0
  136. package/es/Card/index.d.ts +2 -2
  137. package/es/Card/index.js +2 -2
  138. package/es/Carousel/component.json +142 -0
  139. package/es/Carousel/index.d.ts +1 -1
  140. package/es/Cascader/Cascader.js +1 -1
  141. package/es/Cascader/OptionList/Column.js +1 -1
  142. package/es/Cascader/OptionList/index.js +1 -1
  143. package/es/Cascader/component.json +196 -0
  144. package/es/Cascader/hooks/useEntities.js +7 -7
  145. package/es/Cascader/interface.d.ts +1 -0
  146. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  147. package/es/Cascader/utils/commonUtil.js +16 -16
  148. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  149. package/es/Cascader/utils/treeUtil.js +1 -1
  150. package/es/Checkbox/component.json +138 -0
  151. package/es/CheckboxGroup/component.json +152 -0
  152. package/es/CheckboxGroup/index.js +1 -1
  153. package/es/CodeEditor/component.json +189 -0
  154. package/es/CodeEditor/index.d.ts +11 -10
  155. package/es/CodeEditor/index.js +19 -19
  156. package/es/Collapse/component.json +166 -0
  157. package/es/Collapse/index.d.ts +1 -1
  158. package/es/Collapse/index.js +23 -22
  159. package/es/CollapseBox/component.json +84 -0
  160. package/es/CollapseLayout/component.json +155 -0
  161. package/es/ColorPicker/component.json +142 -0
  162. package/es/ComboSelect/component.json +181 -0
  163. package/es/ComboSelect/index.js +115 -109
  164. package/es/ComboSelect/interface.d.ts +2 -2
  165. package/es/ComboSelect/utils.d.ts +3 -3
  166. package/es/ComboSelect/utils.js +1 -1
  167. package/es/Container/component.json +111 -0
  168. package/es/ContentBox/component.json +81 -0
  169. package/es/CopyText/component.json +118 -0
  170. package/es/CycleSelector/component.json +98 -0
  171. package/es/CycleSelector/index.js +14 -13
  172. package/es/DatePicker/component.json +192 -0
  173. package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
  174. package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
  175. package/es/Descriptions/component.json +142 -0
  176. package/es/Descriptions/index.d.ts +1 -1
  177. package/es/Desktop/component.json +171 -0
  178. package/es/Desktop/index.js +1 -1
  179. package/es/DragVerify/component.json +114 -0
  180. package/es/DragVerify/index.js +19 -19
  181. package/es/Drawer/component.json +200 -0
  182. package/es/Drawer/index.js +86 -86
  183. package/es/Drawer/interface.d.ts +1 -1
  184. package/es/Drawer/util.d.ts +1 -6
  185. package/es/Drawer/util.js +9 -6
  186. package/es/Dropdown/component.json +147 -0
  187. package/es/Dropdown/index.js +1 -1
  188. package/es/DynamicMultiBox/component.json +278 -0
  189. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  190. package/es/DynamicMultiBox/index.js +1 -1
  191. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  192. package/es/Empty/component.json +123 -0
  193. package/es/Empty/index.css +1 -1
  194. package/es/Empty/index.d.ts +2 -2
  195. package/es/Empty/index.js +27 -26
  196. package/es/Empty/style/index.css +1 -1
  197. package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  198. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  199. package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  200. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  201. package/es/FieldForm/Form.d.ts +2 -2
  202. package/es/FieldForm/Form.js +1 -1
  203. package/es/FieldForm/FormItemInput.js +1 -1
  204. package/es/FieldForm/FormItemLabel.js +1 -1
  205. package/es/FieldForm/FormList.d.ts +2 -2
  206. package/es/FieldForm/component.json +196 -0
  207. package/es/FieldForm/context.d.ts +5 -1
  208. package/es/FieldForm/context.js +2 -2
  209. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  210. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  211. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  212. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  213. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  214. package/es/FieldForm/hooks/useItemRef.js +6 -6
  215. package/es/Form/component.json +161 -0
  216. package/es/Form/index.d.ts +52 -49
  217. package/es/Form/index.js +1 -1
  218. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  219. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  220. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  221. package/es/FormItem/compoments/formFile/index.js +8 -8
  222. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  223. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  224. package/es/FormItem/component.json +171 -0
  225. package/es/FormItem/index.d.ts +5 -5
  226. package/es/FormItem/index.js +23 -23
  227. package/es/FormItem/itemType.js +1 -1
  228. package/es/FunctionModal/component.json +197 -0
  229. package/es/FunctionModal/dialog.d.ts +1 -1
  230. package/es/FunctionModal/modalContext.d.ts +4 -1
  231. package/es/GlobalContext/confirmLocale.js +1 -1
  232. package/es/GlobalContext/index.js +1 -1
  233. package/es/Help/component.json +118 -0
  234. package/es/HelperText/component.json +126 -0
  235. package/es/Image/PreviewGroup.js +1 -1
  236. package/es/Image/component.json +165 -0
  237. package/es/Image/index.js +1 -1
  238. package/es/InputCode/component.json +191 -0
  239. package/es/InputCode/index.d.ts +2 -2
  240. package/es/InputLang/component.json +205 -0
  241. package/es/InputLang/index.js +2 -2
  242. package/es/InputNumber/component.json +162 -0
  243. package/es/Label/component.json +126 -0
  244. package/es/Label/index.d.ts +2 -2
  245. package/es/Loading/component.json +91 -0
  246. package/es/Menu/component.json +180 -0
  247. package/es/Menu/verticalMenuList.js +1 -1
  248. package/es/Message/component.json +246 -0
  249. package/es/Message/index.d.ts +2 -2
  250. package/es/Message/index.js +2 -2
  251. package/es/Modal/Confirm/index.d.ts +1 -1
  252. package/es/Modal/Confirm/index.js +1 -1
  253. package/es/Modal/component.json +277 -0
  254. package/es/Modal/index.d.ts +85 -5
  255. package/es/Modal/index.js +159 -122
  256. package/es/Modal/interface.d.ts +1 -0
  257. package/es/MultiBox/component.json +216 -0
  258. package/es/MultiBox/index.js +19 -14
  259. package/es/Notification/component.json +184 -0
  260. package/es/OperateBtn/component.json +134 -0
  261. package/es/OperateBtn/index.d.ts +3 -3
  262. package/es/PageHeader/component.json +112 -0
  263. package/es/PageHeader/horizontalMeun.js +1 -1
  264. package/es/PageHeader/horizontalMeunRight.js +1 -1
  265. package/es/Pagination/component.json +181 -0
  266. package/es/Pagination/index.js +15 -15
  267. package/es/ParauiProvider/index.js +1 -1
  268. package/es/PasswordRules/component.json +105 -0
  269. package/es/PasswordRules/index.d.ts +4 -4
  270. package/es/PopConfirm/component.json +227 -0
  271. package/es/PopConfirm/index.d.ts +1 -1
  272. package/es/PopConfirm/index.js +1 -1
  273. package/es/PopMenu/component.json +131 -0
  274. package/es/PopMenu/hooks.d.ts +1 -1
  275. package/es/PopMenu/index.js +8 -8
  276. package/es/Popover/component.json +165 -0
  277. package/es/Popover/index.js +1 -1
  278. package/es/Progress/component.json +161 -0
  279. package/es/Prompt/component.json +144 -0
  280. package/es/Querying/component.json +96 -0
  281. package/es/Querying/index.css +1 -1
  282. package/es/Querying/index.d.ts +2 -2
  283. package/es/Querying/index.js +20 -19
  284. package/es/Querying/style/index.css +1 -1
  285. package/es/QuickReply/QuickReplyCode/index.js +1 -1
  286. package/es/QuickReply/component.json +129 -0
  287. package/es/QuickReply/index.d.ts +1 -1
  288. package/es/Radio/component.json +136 -0
  289. package/es/RadioGroup/component.json +149 -0
  290. package/es/RangeInput/component.json +198 -0
  291. package/es/RangeInput/index.js +20 -20
  292. package/es/Result/component.json +104 -0
  293. package/es/ScrollBar/component.json +115 -0
  294. package/es/Search/component.json +177 -0
  295. package/es/Search/index.d.ts +1 -1
  296. package/es/Select/component.json +244 -0
  297. package/es/Select/index.js +114 -114
  298. package/es/SelectInput/component.json +184 -0
  299. package/es/Selector/component.json +203 -0
  300. package/es/Selector/index.js +56 -50
  301. package/es/Selector/interface.d.ts +2 -2
  302. package/es/Selector/selectorData/index.js +1 -1
  303. package/es/Selector/selectorMain/index.js +3 -3
  304. package/es/Selector/selectorNode/index.js +1 -1
  305. package/es/Selector/util.d.ts +3 -3
  306. package/es/Selector/util.js +6 -12
  307. package/es/SelectorPicker/component.json +179 -0
  308. package/es/SelectorPicker/index.d.ts +5 -5
  309. package/es/SelectorPicker/index.js +15 -15
  310. package/es/SingleBox/component.json +151 -0
  311. package/es/SingleBox/index.d.ts +2 -2
  312. package/es/Slider/component.json +181 -0
  313. package/es/SortBox/component.json +108 -0
  314. package/es/Status/component.json +104 -0
  315. package/es/Stepper/component.json +129 -0
  316. package/es/Stepper/index.d.ts +2 -2
  317. package/es/Switch/component.json +207 -0
  318. package/es/Switch/index.css +1 -1
  319. package/es/Switch/index.d.ts +3 -2
  320. package/es/Switch/index.js +60 -59
  321. package/es/Switch/style/index.css +1 -1
  322. package/es/Table/component.json +547 -0
  323. package/es/Table/index.d.ts +2 -2
  324. package/es/Table/index.js +385 -382
  325. package/es/Table/interface.d.ts +30 -0
  326. package/es/Table/tableHead.js +1 -1
  327. package/es/Table/util.d.ts +1 -1
  328. package/es/Table/util.js +3 -12
  329. package/es/Tabs/component.json +227 -0
  330. package/es/Tag/component.json +221 -0
  331. package/es/Tag/index.css +1 -1
  332. package/es/Tag/index.d.ts +1 -1
  333. package/es/Tag/index.js +20 -20
  334. package/es/Tag/style/index.css +1 -1
  335. package/es/TextEditor/component.json +186 -0
  336. package/es/TextEditor/index.d.ts +5 -5
  337. package/es/TextEditor/index.js +1 -1
  338. package/es/TextField/component.json +290 -0
  339. package/es/TextField/index.d.ts +2 -2
  340. package/es/TextField/index.js +1 -1
  341. package/es/TimePicker/component.json +176 -0
  342. package/es/Timeline/component.json +110 -0
  343. package/es/Title/component.json +156 -0
  344. package/es/ToggleButton/component.json +153 -0
  345. package/es/ToggleButton/index.js +1 -1
  346. package/es/Tooltip/component.json +176 -0
  347. package/es/Tooltip/index.js +58 -53
  348. package/es/Tooltip/interface.d.ts +14 -1
  349. package/es/Tooltip/utils.js +6 -6
  350. package/es/Transfer/component.json +157 -0
  351. package/es/Tree/OperateBar/index.js +1 -1
  352. package/es/Tree/Tree.js +3 -3
  353. package/es/Tree/component.json +512 -0
  354. package/es/Tree/interface.d.ts +1 -1
  355. package/es/Upload/component.json +450 -0
  356. package/es/Upload/util.js +1 -1
  357. package/es/Utils/snack-kit-shims.d.ts +18 -0
  358. package/es/Utils/snack-kit-shims.js +19 -0
  359. package/es/Utils/type.d.ts +0 -2
  360. package/es/_virtual/index.js +5 -3
  361. package/es/_virtual/index2.js +2 -5
  362. package/es/index.d.ts +2 -0
  363. package/es/index.js +1 -1
  364. package/es/locale/en_US.d.ts +361 -0
  365. package/es/locale/en_US.js +364 -0
  366. package/es/locale/index.d.ts +1 -723
  367. package/es/locale/index2.js +10 -0
  368. package/es/locale/zh_CN.d.ts +361 -0
  369. package/es/locale/zh_CN.js +364 -0
  370. package/es/node_modules/classnames/index.js +1 -1
  371. package/lib/AlignBox/component.json +89 -0
  372. package/lib/AlignBox/index.css +1 -1
  373. package/lib/AlignBox/index.d.ts +6 -2
  374. package/lib/AlignBox/index.js +1 -1
  375. package/lib/AlignBox/style/index.css +1 -1
  376. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  377. package/lib/Anchor/anchorMenu/index.js +1 -1
  378. package/lib/Anchor/component.json +130 -0
  379. package/lib/Anchor/index.js +1 -1
  380. package/lib/Anchor/type.d.ts +8 -4
  381. package/lib/Argv/component.json +216 -0
  382. package/lib/Argv/dataGenerator/index.js +1 -1
  383. package/lib/Argv/index.d.ts +5 -6
  384. package/lib/Argv/index.js +1 -1
  385. package/lib/AutoBox/component.json +133 -0
  386. package/lib/AutoBox/index.d.ts +3 -3
  387. package/lib/AutoBox/index.js +1 -1
  388. package/lib/AutoBox/protal.d.ts +2 -2
  389. package/lib/AutoBox/protal.js +1 -1
  390. package/lib/AutoButton/component.json +109 -0
  391. package/lib/AutoButton/index.js +1 -1
  392. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  393. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  394. package/lib/AutoTips/component.json +121 -0
  395. package/lib/AutoTips/index.js +1 -1
  396. package/lib/Badge/component.json +92 -0
  397. package/lib/Breadcrumbs/component.json +142 -0
  398. package/lib/Breadcrumbs/index.js +1 -1
  399. package/lib/Button/SplitButton.d.ts +2 -2
  400. package/lib/Button/component.json +168 -0
  401. package/lib/Button/index.js +1 -1
  402. package/lib/ButtonGroup/component.json +132 -0
  403. package/lib/ButtonGroup/index.d.ts +1 -1
  404. package/lib/Card/component.json +162 -0
  405. package/lib/Card/index.d.ts +2 -2
  406. package/lib/Card/index.js +1 -1
  407. package/lib/Carousel/component.json +142 -0
  408. package/lib/Carousel/index.d.ts +1 -1
  409. package/lib/Cascader/Cascader.js +1 -1
  410. package/lib/Cascader/OptionList/Column.js +1 -1
  411. package/lib/Cascader/OptionList/index.js +1 -1
  412. package/lib/Cascader/component.json +196 -0
  413. package/lib/Cascader/hooks/useEntities.js +1 -1
  414. package/lib/Cascader/interface.d.ts +1 -0
  415. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  416. package/lib/Cascader/utils/commonUtil.js +1 -1
  417. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  418. package/lib/Cascader/utils/treeUtil.js +1 -1
  419. package/lib/Checkbox/component.json +138 -0
  420. package/lib/CheckboxGroup/component.json +152 -0
  421. package/lib/CheckboxGroup/index.js +1 -1
  422. package/lib/CodeEditor/component.json +189 -0
  423. package/lib/CodeEditor/index.d.ts +11 -10
  424. package/lib/CodeEditor/index.js +1 -1
  425. package/lib/Collapse/component.json +166 -0
  426. package/lib/Collapse/index.d.ts +1 -1
  427. package/lib/Collapse/index.js +1 -1
  428. package/lib/CollapseBox/component.json +84 -0
  429. package/lib/CollapseLayout/component.json +155 -0
  430. package/lib/ColorPicker/component.json +142 -0
  431. package/lib/ComboSelect/component.json +181 -0
  432. package/lib/ComboSelect/index.js +1 -1
  433. package/lib/ComboSelect/interface.d.ts +2 -2
  434. package/lib/ComboSelect/utils.d.ts +3 -3
  435. package/lib/ComboSelect/utils.js +1 -1
  436. package/lib/Container/component.json +111 -0
  437. package/lib/ContentBox/component.json +81 -0
  438. package/lib/CopyText/component.json +118 -0
  439. package/lib/CycleSelector/component.json +98 -0
  440. package/lib/CycleSelector/index.js +1 -1
  441. package/lib/DatePicker/component.json +192 -0
  442. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  443. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  444. package/lib/Descriptions/component.json +142 -0
  445. package/lib/Descriptions/index.d.ts +1 -1
  446. package/lib/Desktop/component.json +171 -0
  447. package/lib/Desktop/index.js +1 -1
  448. package/lib/DragVerify/component.json +114 -0
  449. package/lib/DragVerify/index.js +1 -1
  450. package/lib/Drawer/component.json +200 -0
  451. package/lib/Drawer/index.js +1 -1
  452. package/lib/Drawer/interface.d.ts +1 -1
  453. package/lib/Drawer/util.d.ts +1 -6
  454. package/lib/Drawer/util.js +1 -1
  455. package/lib/Dropdown/component.json +147 -0
  456. package/lib/Dropdown/index.js +1 -1
  457. package/lib/DynamicMultiBox/component.json +278 -0
  458. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  459. package/lib/DynamicMultiBox/index.js +1 -1
  460. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  461. package/lib/Empty/component.json +123 -0
  462. package/lib/Empty/index.css +1 -1
  463. package/lib/Empty/index.d.ts +2 -2
  464. package/lib/Empty/index.js +1 -1
  465. package/lib/Empty/style/index.css +1 -1
  466. package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  467. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  468. package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  469. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  470. package/lib/FieldForm/Form.d.ts +2 -2
  471. package/lib/FieldForm/Form.js +1 -1
  472. package/lib/FieldForm/FormItemInput.js +1 -1
  473. package/lib/FieldForm/FormItemLabel.js +1 -1
  474. package/lib/FieldForm/FormList.d.ts +2 -2
  475. package/lib/FieldForm/component.json +196 -0
  476. package/lib/FieldForm/context.d.ts +5 -1
  477. package/lib/FieldForm/context.js +1 -1
  478. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  479. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  480. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  481. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  482. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  483. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  484. package/lib/Form/component.json +161 -0
  485. package/lib/Form/index.d.ts +52 -49
  486. package/lib/Form/index.js +1 -1
  487. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  488. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  489. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  490. package/lib/FormItem/compoments/formFile/index.js +1 -1
  491. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  492. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  493. package/lib/FormItem/component.json +171 -0
  494. package/lib/FormItem/index.d.ts +5 -5
  495. package/lib/FormItem/index.js +1 -1
  496. package/lib/FormItem/itemType.js +1 -1
  497. package/lib/FunctionModal/component.json +197 -0
  498. package/lib/FunctionModal/dialog.d.ts +1 -1
  499. package/lib/FunctionModal/modalContext.d.ts +4 -1
  500. package/lib/GlobalContext/confirmLocale.js +1 -1
  501. package/lib/GlobalContext/index.js +1 -1
  502. package/lib/Help/component.json +118 -0
  503. package/lib/HelperText/component.json +126 -0
  504. package/lib/Image/PreviewGroup.js +1 -1
  505. package/lib/Image/component.json +165 -0
  506. package/lib/Image/index.js +1 -1
  507. package/lib/InputCode/component.json +191 -0
  508. package/lib/InputCode/index.d.ts +2 -2
  509. package/lib/InputLang/component.json +205 -0
  510. package/lib/InputLang/index.js +1 -1
  511. package/lib/InputNumber/component.json +162 -0
  512. package/lib/Label/component.json +126 -0
  513. package/lib/Label/index.d.ts +2 -2
  514. package/lib/Loading/component.json +91 -0
  515. package/lib/Menu/component.json +180 -0
  516. package/lib/Menu/verticalMenuList.js +1 -1
  517. package/lib/Message/component.json +246 -0
  518. package/lib/Message/index.d.ts +2 -2
  519. package/lib/Message/index.js +1 -1
  520. package/lib/Modal/Confirm/index.d.ts +1 -1
  521. package/lib/Modal/Confirm/index.js +1 -1
  522. package/lib/Modal/component.json +277 -0
  523. package/lib/Modal/index.d.ts +85 -5
  524. package/lib/Modal/index.js +1 -1
  525. package/lib/Modal/interface.d.ts +1 -0
  526. package/lib/MultiBox/component.json +216 -0
  527. package/lib/MultiBox/index.js +1 -1
  528. package/lib/Notification/component.json +184 -0
  529. package/lib/OperateBtn/component.json +134 -0
  530. package/lib/OperateBtn/index.d.ts +3 -3
  531. package/lib/PageHeader/component.json +112 -0
  532. package/lib/PageHeader/horizontalMeun.js +1 -1
  533. package/lib/PageHeader/horizontalMeunRight.js +1 -1
  534. package/lib/Pagination/component.json +181 -0
  535. package/lib/Pagination/index.js +1 -1
  536. package/lib/ParauiProvider/index.js +1 -1
  537. package/lib/PasswordRules/component.json +105 -0
  538. package/lib/PasswordRules/index.d.ts +4 -4
  539. package/lib/PopConfirm/component.json +227 -0
  540. package/lib/PopConfirm/index.d.ts +1 -1
  541. package/lib/PopConfirm/index.js +1 -1
  542. package/lib/PopMenu/component.json +131 -0
  543. package/lib/PopMenu/hooks.d.ts +1 -1
  544. package/lib/PopMenu/index.js +1 -1
  545. package/lib/Popover/component.json +165 -0
  546. package/lib/Popover/index.js +1 -1
  547. package/lib/Progress/component.json +161 -0
  548. package/lib/Prompt/component.json +144 -0
  549. package/lib/Querying/component.json +96 -0
  550. package/lib/Querying/index.css +1 -1
  551. package/lib/Querying/index.d.ts +2 -2
  552. package/lib/Querying/index.js +1 -1
  553. package/lib/Querying/style/index.css +1 -1
  554. package/lib/QuickReply/QuickReplyCode/index.js +1 -1
  555. package/lib/QuickReply/component.json +129 -0
  556. package/lib/QuickReply/index.d.ts +1 -1
  557. package/lib/Radio/component.json +136 -0
  558. package/lib/RadioGroup/component.json +149 -0
  559. package/lib/RangeInput/component.json +198 -0
  560. package/lib/RangeInput/index.js +1 -1
  561. package/lib/Result/component.json +104 -0
  562. package/lib/ScrollBar/component.json +115 -0
  563. package/lib/Search/component.json +177 -0
  564. package/lib/Search/index.d.ts +1 -1
  565. package/lib/Select/component.json +244 -0
  566. package/lib/Select/index.js +1 -1
  567. package/lib/SelectInput/component.json +184 -0
  568. package/lib/Selector/component.json +203 -0
  569. package/lib/Selector/index.js +1 -1
  570. package/lib/Selector/interface.d.ts +2 -2
  571. package/lib/Selector/selectorData/index.js +1 -1
  572. package/lib/Selector/selectorMain/index.js +1 -1
  573. package/lib/Selector/selectorNode/index.js +1 -1
  574. package/lib/Selector/util.d.ts +3 -3
  575. package/lib/Selector/util.js +1 -1
  576. package/lib/SelectorPicker/component.json +179 -0
  577. package/lib/SelectorPicker/index.d.ts +5 -5
  578. package/lib/SelectorPicker/index.js +1 -1
  579. package/lib/SingleBox/component.json +151 -0
  580. package/lib/SingleBox/index.d.ts +2 -2
  581. package/lib/Slider/component.json +181 -0
  582. package/lib/SortBox/component.json +108 -0
  583. package/lib/Status/component.json +104 -0
  584. package/lib/Stepper/component.json +129 -0
  585. package/lib/Stepper/index.d.ts +2 -2
  586. package/lib/Switch/component.json +207 -0
  587. package/lib/Switch/index.css +1 -1
  588. package/lib/Switch/index.d.ts +3 -2
  589. package/lib/Switch/index.js +1 -1
  590. package/lib/Switch/style/index.css +1 -1
  591. package/lib/Table/component.json +547 -0
  592. package/lib/Table/index.d.ts +2 -2
  593. package/lib/Table/index.js +1 -1
  594. package/lib/Table/interface.d.ts +30 -0
  595. package/lib/Table/tableHead.js +1 -1
  596. package/lib/Table/util.d.ts +1 -1
  597. package/lib/Table/util.js +1 -1
  598. package/lib/Tabs/component.json +227 -0
  599. package/lib/Tag/component.json +221 -0
  600. package/lib/Tag/index.css +1 -1
  601. package/lib/Tag/index.d.ts +1 -1
  602. package/lib/Tag/index.js +1 -1
  603. package/lib/Tag/style/index.css +1 -1
  604. package/lib/TextEditor/component.json +186 -0
  605. package/lib/TextEditor/index.d.ts +5 -5
  606. package/lib/TextEditor/index.js +1 -1
  607. package/lib/TextField/component.json +290 -0
  608. package/lib/TextField/index.d.ts +2 -2
  609. package/lib/TextField/index.js +1 -1
  610. package/lib/TimePicker/component.json +176 -0
  611. package/lib/Timeline/component.json +110 -0
  612. package/lib/Title/component.json +156 -0
  613. package/lib/ToggleButton/component.json +153 -0
  614. package/lib/ToggleButton/index.js +1 -1
  615. package/lib/Tooltip/component.json +176 -0
  616. package/lib/Tooltip/index.js +1 -1
  617. package/lib/Tooltip/interface.d.ts +14 -1
  618. package/lib/Tooltip/utils.js +1 -1
  619. package/lib/Transfer/component.json +157 -0
  620. package/lib/Tree/OperateBar/index.js +2 -2
  621. package/lib/Tree/Tree.js +1 -1
  622. package/lib/Tree/component.json +512 -0
  623. package/lib/Tree/interface.d.ts +1 -1
  624. package/lib/Upload/component.json +450 -0
  625. package/lib/Upload/util.js +1 -1
  626. package/lib/Utils/snack-kit-shims.d.ts +18 -0
  627. package/lib/Utils/snack-kit-shims.js +2 -0
  628. package/lib/Utils/type.d.ts +0 -2
  629. package/lib/_virtual/index.js +1 -1
  630. package/lib/_virtual/index2.js +1 -1
  631. package/lib/index.d.ts +2 -0
  632. package/lib/index.js +1 -1
  633. package/lib/locale/en_US.d.ts +361 -0
  634. package/lib/locale/en_US.js +2 -0
  635. package/lib/locale/index.d.ts +1 -723
  636. package/lib/locale/index2.js +2 -0
  637. package/lib/locale/zh_CN.d.ts +361 -0
  638. package/lib/locale/zh_CN.js +2 -0
  639. package/lib/node_modules/classnames/index.js +1 -1
  640. package/package.json +11 -4
  641. package/es/_virtual/index3.js +0 -5
  642. package/es/_virtual/index4.js +0 -5
  643. package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
  644. package/lib/_virtual/index3.js +0 -2
  645. package/lib/_virtual/index4.js +0 -2
  646. package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
  647. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  648. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  649. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  650. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -0,0 +1,129 @@
1
+ {
2
+ "name": "Stepper",
3
+ "category": "Navigation",
4
+ "description": "步骤条,引导用户分步完成任务",
5
+ "semantic": {
6
+ "intent": [
7
+ "引导流程",
8
+ "展示进度",
9
+ "任务分拆"
10
+ ],
11
+ "useCases": [
12
+ "注册流程",
13
+ "表单填写",
14
+ "购物结算"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "标准步骤条"
21
+ }
22
+ },
23
+ "states": [
24
+ "wait",
25
+ "process",
26
+ "finish",
27
+ "error"
28
+ ],
29
+ "idealProps": {
30
+ "current": {
31
+ "type": "number",
32
+ "default": 0,
33
+ "description": "当前选中步骤索引(0-based);超出 steps 范围时所有步骤显示 wait 状态。**Stepper 主组件无 onStepClick/onChange — 需要点击交互必须用 Stepper.Step.onClick**"
34
+ },
35
+ "steps": {
36
+ "type": "Array<string | StepItem>",
37
+ "itemSchema": {
38
+ "label": { "type": "ReactNode", "description": "步骤标题(字段名是 label,不是 title)" },
39
+ "icon": { "type": "ReactNode", "description": "步骤图标(不传则显示数字编号)" },
40
+ "description": { "type": "ReactNode", "description": "步骤描述" }
41
+ },
42
+ "description": "步骤数据;StepItem 对象项字段名是 **label**(不是 title);与 children 二选一,steps 优先级高"
43
+ },
44
+ "children": {
45
+ "type": "React.ReactNode (Stepper.Step[])",
46
+ "description": "命令式步骤;不传 steps 时生效;Stepper.Step 字段名是 **title**(不是 label),支持 onClick / status / disabled / subTitle"
47
+ },
48
+ "direction": {
49
+ "type": "'horizontal' | 'vertical'",
50
+ "values": ["horizontal", "vertical"],
51
+ "default": "horizontal",
52
+ "description": "步骤条方向;vertical 模式下 description 显示在右侧"
53
+ },
54
+ "errorStep": {
55
+ "type": "number",
56
+ "description": "错误步骤索引(0-based);不传时无错误状态(注意 ≠ 默认 0);与 current 互相独立可同时设"
57
+ },
58
+ "className": {
59
+ "type": "string",
60
+ "description": "外层 cls"
61
+ },
62
+ "style": {
63
+ "type": "React.CSSProperties",
64
+ "description": "外层 style"
65
+ }
66
+ },
67
+ "stepItemShape": {
68
+ "label": "React.ReactNode — 步骤标题(字段名 label,不是 title)",
69
+ "icon": "React.ReactNode — 步骤图标(不传则显示数字编号)",
70
+ "description": "React.ReactNode — 步骤描述"
71
+ },
72
+ "stepChildShape": {
73
+ "title": "React.ReactNode — Stepper.Step 用 title(不是 label)",
74
+ "description": "React.ReactNode",
75
+ "subTitle": "React.ReactNode — 子标题",
76
+ "icon": "React.ReactNode",
77
+ "status": "'wait' | 'process' | 'finish' | 'error'",
78
+ "disabled": "boolean — 禁用点击(true 时 onClick 不触发)",
79
+ "onClick": "React.MouseEventHandler<HTMLElement> — 点击切换的唯一回调入口"
80
+ },
81
+ "do": [
82
+ "将复杂任务拆分为 3-5 个步骤",
83
+ "明确标示当前状态和下一步操作",
84
+ "点击切换步骤时用 Stepper.Step children 写法 + onClick prop(主组件无 onChange/onStepClick)",
85
+ "steps 数组写法时字段名用 label(不是 title);Stepper.Step children 写法时字段名用 title"
86
+ ],
87
+ "dont": [
88
+ "步骤过多 (>7) 导致用户失去耐心",
89
+ "随意跳跃步骤(非线性流程应慎用 Stepper)",
90
+ "在 steps 数组项中用 title 字段——steps 模式字段是 label;用 title 字段会静默 undefined"
91
+ ],
92
+ "events": {
93
+ "onClick": {
94
+ "signature": "React.MouseEventHandler<HTMLElement>",
95
+ "asyncSupported": false,
96
+ "examples": [
97
+ "Stepper.Step 的 onClick 是步骤点击交互的唯一入口",
98
+ "<Stepper.Step title='步骤1' onClick={() => setCurrent(0)} />",
99
+ "主组件 <Stepper> 没有 onChange / onStepClick prop,必须用子 Step 的 onClick"
100
+ ],
101
+ "commonMistakes": [
102
+ "在主组件 <Stepper> 上传 onChange / onStepClick——这些 prop 不存在,静默无效",
103
+ "steps 数组写法无法直接为每步设置 onClick——需切换到 Stepper.Step children 写法",
104
+ "disabled=true 的 Step onClick 不触发——src 基于 rc-steps,disabled 屏蔽点击"
105
+ ]
106
+ }
107
+ },
108
+ "typescriptPitfalls": [
109
+ {
110
+ "issue": "steps 数组项字段名是 label(不是 title);Stepper.Step children 写法字段名是 title(不是 label)",
111
+ "wrong": "steps={[{ title: '步骤1' }]} // steps 模式字段是 label,title 被忽略显示 undefined",
112
+ "right": "steps={[{ label: '步骤1' }]} // steps 数组模式用 label"
113
+ },
114
+ {
115
+ "issue": "errorStep 不传时默认无错误,不是 0——容易误以为「默认第 0 步出错」",
116
+ "wrong": "// 不传 errorStep 期望第 0 步正常 → 实际 undefined 表示无错,行为正确但误以为需传 errorStep=-1",
117
+ "right": "// 不需要错误步骤时完全不传 errorStep;需要时传对应的 0-based 索引"
118
+ },
119
+ {
120
+ "issue": "Stepper.Step 的 StepProps 与 StepItem 字段重叠但命名不同(description 相同,但 title vs label)",
121
+ "wrong": "// 同时用 steps 数组 + Stepper.Step children,期望 title 和 label 互通 → 各自独立",
122
+ "right": "// steps 模式和 children 模式二选一;steps 用 label,children 用 title"
123
+ }
124
+ ],
125
+ "mapping": {
126
+ "realComponent": "Stepper",
127
+ "adapter": null
128
+ }
129
+ }
@@ -4,7 +4,7 @@ type StepItem = string | {
4
4
  label?: React.ReactNode;
5
5
  icon?: React.ReactNode;
6
6
  description?: React.ReactNode;
7
- [name: string]: any /** 步骤状态 */;
7
+ [name: string]: unknown /** 步骤状态 */;
8
8
  };
9
9
  export interface StepperProps {
10
10
  /** cls */
@@ -22,7 +22,7 @@ export interface StepperProps {
22
22
  * icon : Array<{ label: string, icon: ReactNode }>
23
23
  */
24
24
  steps?: StepItem[];
25
- [name: string]: any;
25
+ [name: string]: unknown;
26
26
  }
27
27
  export interface StepProps {
28
28
  /** 步骤cls */
@@ -0,0 +1,207 @@
1
+ {
2
+ "name": "Switch",
3
+ "category": "Data Entry",
4
+ "description": "开关选择器,表示两种相互对立的状态间的切换",
5
+ "semantic": {
6
+ "intent": [
7
+ "功能开关",
8
+ "状态切换",
9
+ "即时生效"
10
+ ],
11
+ "useCases": [
12
+ "深色模式",
13
+ "消息推送",
14
+ "Wi-Fi 开关"
15
+ ],
16
+ "riskLevel": "low"
17
+ },
18
+ "variants": {
19
+ "default": {
20
+ "meaning": "标准开关(向后兼容同义,与 medium 视觉等价)"
21
+ },
22
+ "medium": {
23
+ "meaning": "标准开关(2026-05-08 跨组件命名 epic §3.1 选项 B 新增,与 default 视觉等价,推荐新代码使用)"
24
+ },
25
+ "small": {
26
+ "meaning": "小号开关"
27
+ }
28
+ },
29
+ "states": [
30
+ "checked",
31
+ "unchecked",
32
+ "disabled",
33
+ "loading"
34
+ ],
35
+ "idealProps": {
36
+ "size": {
37
+ "type": "enum",
38
+ "values": [
39
+ "small",
40
+ "medium",
41
+ "default"
42
+ ],
43
+ "default": "default",
44
+ "description": "开关大小。三档 small / medium / default(2026-05-08 跨组件命名 epic §3.1 选项 B 实施,medium 为新增同义视觉档,与 default 视觉等价;'default' 为向后兼容同义,新代码建议用 'medium')。**当前状态(R23):'small' 视觉档已生效**(min-width 28 / height 14,见 src/Switch/index.tsx clsx),与 'default' 视觉真正区分(BREAKING-CHANGES §A4 已落地)"
45
+ },
46
+ "checked": {
47
+ "type": "boolean",
48
+ "description": "受控模式:是否选中。与 onChange 配合使用实现受控 Switch"
49
+ },
50
+ "defaultChecked": {
51
+ "type": "boolean",
52
+ "description": "非受控模式:初始是否选中(不传 checked 时生效)"
53
+ },
54
+ "onChange": {
55
+ "type": "function",
56
+ "signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
57
+ "description": "切换时回调。第一个参数 checked 是切换后的新状态(true=开 / false=关),类型是 boolean。❌ 常见错误:onChange={(value) => ...} 漏类型标注会引发 TS7006;正确写法:onChange={(checked: boolean) => setState(checked)}"
58
+ },
59
+ "onClick": {
60
+ "type": "function",
61
+ "signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
62
+ "description": "点击时回调(包含禁用态)。参数同 onChange"
63
+ },
64
+ "checkedChildren": {
65
+ "type": "ReactNode",
66
+ "description": "选中时开关内显示的内容(渲染在 **轨道(track)内** 不在圆球内 · rc-switch 标准行为)"
67
+ },
68
+ "unCheckedChildren": {
69
+ "type": "ReactNode",
70
+ "description": "非选中时开关内显示的内容(同 checkedChildren · 渲染在轨道内)"
71
+ },
72
+ "loading": {
73
+ "type": "boolean",
74
+ "default": false,
75
+ "description": "加载中状态。开关不可点击并显示 loading 图标"
76
+ },
77
+ "loadingTitle": {
78
+ "type": "string",
79
+ "description": "loading 状态下 Tooltip 提示文案(默认国际化文案)"
80
+ },
81
+ "disabled": {
82
+ "type": "boolean",
83
+ "default": false,
84
+ "description": "是否禁用"
85
+ },
86
+ "autoFocus": {
87
+ "type": "boolean",
88
+ "description": "自动获得焦点"
89
+ },
90
+ "label": {
91
+ "type": "ReactNode",
92
+ "description": "开关标题。传入后开关外层渲染 Label 容器"
93
+ },
94
+ "desc": {
95
+ "type": "ReactNode",
96
+ "description": "开关描述文本(默认 labelPlacement=top 时垂直排在 label 下方;同行排布需 labelPlacement=start/end)"
97
+ },
98
+ "labelPlacement": {
99
+ "type": "enum",
100
+ "values": ["top", "bottom", "start", "end"],
101
+ "default": "top",
102
+ "description": "标题相对于开关的位置。LTR 语义:start=左侧 / end=右侧 / top=上方 / bottom=下方"
103
+ },
104
+ "descPlacement": {
105
+ "type": "enum",
106
+ "values": ["start", "end"],
107
+ "default": "start",
108
+ "description": "描述相对于标题的位置"
109
+ },
110
+ "supText": {
111
+ "type": "ReactNode",
112
+ "description": "辅助文本,渲染在开关旁"
113
+ },
114
+ "error": {
115
+ "type": "boolean",
116
+ "default": false,
117
+ "description": "是否显示错误状态(红色错误样式,配合 supText / desc 使用);仅 UI 反馈,不阻止 onChange"
118
+ },
119
+ "required": {
120
+ "type": "boolean",
121
+ "default": false,
122
+ "description": "是否必填(配合 label 渲染红色 * 标记;仅 UI 提示,实际校验需配合外部 form)"
123
+ },
124
+ "labelTooltip": {
125
+ "type": "LabelTooltipProps",
126
+ "shape": "{ tooltip: ReactNode, ... }",
127
+ "description": "标题帮助提示配置。**字段名是 `tooltip`** · 与 disabledTooltip 的 `title` 字段名不同"
128
+ },
129
+ "descTooltip": {
130
+ "type": "LabelTooltipProps",
131
+ "shape": "{ tooltip: ReactNode, ... }",
132
+ "description": "描述帮助提示配置。同 labelTooltip · 字段名 `tooltip`"
133
+ },
134
+ "disabledTooltip": {
135
+ "type": "TooltipProps",
136
+ "shape": "{ title: ReactNode, placement?: string, arrow?: boolean, ... }",
137
+ "description": "禁用状态下 Tooltip 提示配置。**字段名是 `title`**(完整 TooltipProps shape,与 labelTooltip.tooltip 字段名不同 · 易混淆点)"
138
+ },
139
+ "className": {
140
+ "type": "string",
141
+ "description": "自定义类名"
142
+ },
143
+ "style": {
144
+ "type": "React.CSSProperties",
145
+ "description": "自定义样式"
146
+ }
147
+ },
148
+ "do": [
149
+ "表示立刻生效的状态切换",
150
+ "使用 loading 状态处理异步切换(loading=true 时自动禁用点击)",
151
+ "受控模式:checked + onChange 配合;非受控模式:defaultChecked(不传 checked)",
152
+ "size='medium' 是新代码推荐写法(与 'default' 视觉等价,'default' 是向后兼容同义词)"
153
+ ],
154
+ "dont": [
155
+ "用 Switch 替代 Checkbox(Switch 通常 imply 立即生效)",
156
+ "Switch 内部文案过长(checkedChildren / unCheckedChildren 渲染在轨道内,文案超出影响宽度)",
157
+ "混用受控和非受控——同时传 checked 和 defaultChecked 时以 checked 为准,defaultChecked 被忽略"
158
+ ],
159
+ "events": {
160
+ "onChange": {
161
+ "signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
162
+ "asyncSupported": false,
163
+ "examples": [
164
+ "受控用法:onChange={(checked) => setEnabled(checked)}",
165
+ "异步切换:onChange={async (checked) => { setLoading(true); await save(checked); setLoading(false); }}",
166
+ "checked 是切换后的新状态(true=开 / false=关),不是 event"
167
+ ],
168
+ "commonMistakes": [
169
+ "按原生 input 习惯写 onChange={(e) => setState(e.target.checked)}——Switch.onChange 第一参是 boolean,不是 event",
170
+ "loading=true 时期望 onChange 触发——loading 状态下 disabled 属性自动追加,onClick/onChange 均不触发",
171
+ "忘记第二参 event 的类型是 MouseEvent | KeyboardEvent(键盘 Enter/Space 也触发 onChange)"
172
+ ]
173
+ },
174
+ "onClick": {
175
+ "signature": "(checked: boolean, event: React.MouseEvent | React.KeyboardEvent) => void",
176
+ "asyncSupported": false,
177
+ "examples": [
178
+ "与 onChange 区别:onClick 包含禁用态点击,onChange 只在非禁用时触发",
179
+ "onClick={(checked) => trackEvent('switch_click', { value: checked })}"
180
+ ],
181
+ "commonMistakes": [
182
+ "用 onClick 做状态更新——应用 onChange;onClick 仅用于点击埋点等副作用"
183
+ ]
184
+ }
185
+ },
186
+ "typescriptPitfalls": [
187
+ {
188
+ "issue": "size='default' 是向后兼容同义词,新代码建议用 'medium' 避免歧义",
189
+ "wrong": "size='large' // Switch 没有 'large',只有 'small'/'medium'/'default'",
190
+ "right": "size='medium' // 标准尺寸;'default' 等价于 'medium' 仅保留向后兼容"
191
+ },
192
+ {
193
+ "issue": "labelTooltip 和 disabledTooltip 字段名不同:labelTooltip 用 tooltip 字段,disabledTooltip 用 title 字段",
194
+ "wrong": "disabledTooltip={{ tooltip: '无权限' }} // disabledTooltip 字段是 title 不是 tooltip",
195
+ "right": "disabledTooltip={{ title: '无权限' }} // TooltipProps 格式;labelTooltip={{ tooltip: '帮助' }}"
196
+ },
197
+ {
198
+ "issue": "onChange 第一参类型是 boolean,直接传给期望 string 或 number 的 state setter 报 TS 错",
199
+ "wrong": "onChange={setStatus} // setStatus: (v: string) => void,boolean 不兼容 string",
200
+ "right": "onChange={(checked) => setStatus(checked ? 'on' : 'off')} // 显式转换"
201
+ }
202
+ ],
203
+ "mapping": {
204
+ "realComponent": "Switch",
205
+ "adapter": null
206
+ }
207
+ }
@@ -1 +1 @@
1
- @charset "UTF-8";.paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:transparent;border:0;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner:before,.paraui-v4-switch.component-switch-disabled .component-switch-inner:before{position:absolute;top:0;left:0;width:100%;height:16px;background-color:#ffffff80;content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle:before{position:absolute;inset:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle:before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle:before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle:before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}@keyframes switchLoadingCircle{to{transform:rotate(360deg)}}.paraui-v4-switch-disabled:before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked:before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1):before{transition:all 2s ease-in-out}
1
+ @charset "UTF-8";.paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:transparent;border:0;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner:before,.paraui-v4-switch.component-switch-disabled .component-switch-inner:before{position:absolute;top:0;left:0;width:100%;height:16px;background-color:#ffffff80;content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle:before{position:absolute;inset:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle:before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle:before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle:before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-medium{min-width:32px;height:16px;line-height:16px}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}@keyframes switchLoadingCircle{to{transform:rotate(360deg)}}.paraui-v4-switch-disabled:before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked:before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1):before{transition:all 2s ease-in-out}
@@ -5,9 +5,10 @@ type SwitchChangeEventHandler = (checked: boolean, event: React.MouseEvent | Rea
5
5
  type SwitchClickEventHandler = SwitchChangeEventHandler;
6
6
  export interface SwitchProps {
7
7
  /**
8
- * 开关大小
8
+ * 开关大小('medium' 与 'default' 视觉等价;'default' 为向后兼容同义,新代码建议用 'medium')
9
+ * 跨组件命名 epic §3.1 选项 B 实施(2026-05-08)
9
10
  */
10
- size?: 'small' | 'default';
11
+ size?: 'small' | 'medium' | 'default';
11
12
  /**
12
13
  * 类名
13
14
  */
@@ -1,75 +1,76 @@
1
1
  import { j as s } from "../_virtual/jsx-runtime.js";
2
- import { LoadingF as S } from "../node_modules/@para-ui/icons/LoadingF/index.js";
3
- import m from "rc-switch";
4
- import $ from "clsx";
5
- import { $prefixCls as a, $rcPrefixCls as e } from "../GlobalContext/constant.js";
6
- import j from "../Label/index.js";
7
- import { Tooltip as f } from "../Tooltip/index.js";
8
- import F from "../GlobalContext/useFormatMessage.js";
9
- import L from "./lang/index.js";
2
+ import { LoadingF as F } from "../node_modules/@para-ui/icons/LoadingF/index.js";
3
+ import x from "rc-switch";
4
+ import j from "clsx";
5
+ import { $prefixCls as l, $rcPrefixCls as e } from "../GlobalContext/constant.js";
6
+ import f from "../Label/index.js";
7
+ import { Tooltip as w } from "../Tooltip/index.js";
8
+ import L from "../GlobalContext/useFormatMessage.js";
9
+ import R from "./lang/index.js";
10
10
  import './index.css';/* empty css */
11
- const G = (w) => {
12
- const N = F("Switch", L), {
13
- size: R = "default",
11
+ const G = (u) => {
12
+ const N = L("Switch", R), {
13
+ size: c = "default",
14
14
  loading: i,
15
- disabled: l,
16
- className: u,
17
- label: c,
18
- required: x = !1,
19
- desc: r,
20
- labelTooltip: g,
21
- descTooltip: C,
15
+ disabled: a,
16
+ className: g,
17
+ label: r,
18
+ required: h = !1,
19
+ desc: d,
20
+ labelTooltip: C,
21
+ descTooltip: T,
22
22
  disabledTooltip: p,
23
- loadingTitle: h = N({ id: "ing" }),
24
- labelPlacement: T = "top",
25
- descPlacement: v = "start",
23
+ loadingTitle: $ = N({ id: "ing" }),
24
+ labelPlacement: v = "top",
25
+ descPlacement: P = "start",
26
26
  supText: t,
27
27
  error: q,
28
28
  ...o
29
- } = w, d = $(
30
- `${a}-switch`,
29
+ } = u, m = j(
30
+ `${l}-switch`,
31
31
  {
32
- // [`${$prefixCls}-switch-small`]: size === 'small',
33
- [`${a}-switch-loading`]: i,
34
- [`${a}-switch-disabled`]: l
32
+ [`${l}-switch-small`]: c === "small",
33
+ [`${l}-switch-medium`]: c === "medium" || c === "default",
34
+ [`${l}-switch-loading`]: i,
35
+ [`${l}-switch-disabled`]: a
35
36
  },
36
- u
37
- ), P = $(
38
- `${a}-switch-label`,
39
- `${a}-switch-label-${T}`,
40
- `${a}-switch-desc-${v}`
41
- ), n = /* @__PURE__ */ s.jsx("div", { className: `${e}-switch-handle`, children: i && /* @__PURE__ */ s.jsx(S, { className: `${e}-switch-loading-icon` }) }), b = () => l && p ? /* @__PURE__ */ s.jsx(
42
- f,
37
+ g
38
+ ), S = j(
39
+ `${l}-switch-label`,
40
+ `${l}-switch-label-${v}`,
41
+ `${l}-switch-desc-${P}`
42
+ ), n = /* @__PURE__ */ s.jsx("div", { className: `${e}-switch-handle`, children: i && /* @__PURE__ */ s.jsx(F, { className: `${e}-switch-loading-icon` }) }), b = () => a && p ? /* @__PURE__ */ s.jsx(
43
+ w,
43
44
  {
44
45
  disabled: !0,
45
46
  ...p,
46
47
  children: /* @__PURE__ */ s.jsxs("div", { className: `${e}-label-box`, children: [
47
48
  /* @__PURE__ */ s.jsx(
48
- m,
49
+ x,
49
50
  {
50
- className: d,
51
+ className: m,
51
52
  ...o,
52
53
  prefixCls: `${e}-switch`,
53
- disabled: l || i,
54
+ disabled: a || i,
54
55
  loadingIcon: n
55
56
  }
56
57
  ),
57
58
  t && /* @__PURE__ */ s.jsx("span", { className: "sup-text", children: t })
58
59
  ] })
59
60
  }
60
- ) : /* @__PURE__ */ s.jsx(s.Fragment, { children: h && i ? /* @__PURE__ */ s.jsx(
61
- f,
61
+ ) : /* @__PURE__ */ s.jsx(s.Fragment, { children: $ && i ? /* @__PURE__ */ s.jsx(
62
+ w,
62
63
  {
63
64
  disabled: !0,
64
- title: h,
65
+ title: $,
65
66
  children: /* @__PURE__ */ s.jsxs("div", { className: `${e}-label-box`, children: [
66
67
  /* @__PURE__ */ s.jsx(
67
- m,
68
+ x,
68
69
  {
69
70
  ...o,
70
71
  prefixCls: `${e}-switch`,
71
- className: d,
72
- disabled: l || i,
72
+ className: m,
73
+ disabled: a || i,
73
74
  loadingIcon: n
74
75
  }
75
76
  ),
@@ -78,35 +79,35 @@ const G = (w) => {
78
79
  }
79
80
  ) : /* @__PURE__ */ s.jsxs("div", { className: `${e}-label-box`, children: [
80
81
  /* @__PURE__ */ s.jsx(
81
- m,
82
+ x,
82
83
  {
83
84
  ...o,
84
85
  prefixCls: `${e}-switch`,
85
- className: d,
86
- disabled: l || i,
86
+ className: m,
87
+ disabled: a || i,
87
88
  loadingIcon: n
88
89
  }
89
90
  ),
90
91
  t && /* @__PURE__ */ s.jsx("span", { className: "sup-text", children: t })
91
92
  ] }) });
92
- return c || r ? /* @__PURE__ */ s.jsxs("span", { className: P, children: [
93
- r && /* @__PURE__ */ s.jsx(
94
- j,
93
+ return r || d ? /* @__PURE__ */ s.jsxs("span", { className: S, children: [
94
+ d && /* @__PURE__ */ s.jsx(
95
+ f,
95
96
  {
96
- label: r,
97
- required: x,
98
- ...C,
99
- className: `${e}-desc-text ${l ? `${e}-disabled-text` : ""}`
97
+ label: d,
98
+ required: h,
99
+ ...T,
100
+ className: `${e}-desc-text ${a ? `${e}-disabled-text` : ""}`
100
101
  }
101
102
  ),
102
- /* @__PURE__ */ s.jsxs("span", { className: `${a}-label-text-container`, children: [
103
- c && /* @__PURE__ */ s.jsx(
104
- j,
103
+ /* @__PURE__ */ s.jsxs("span", { className: `${l}-label-text-container`, children: [
104
+ r && /* @__PURE__ */ s.jsx(
105
+ f,
105
106
  {
106
- label: c,
107
- required: x,
108
- ...g,
109
- className: `${e}-switch-text ${l ? `${e}-disabled-text` : ""}`
107
+ label: r,
108
+ required: h,
109
+ ...C,
110
+ className: `${e}-switch-text ${a ? `${e}-disabled-text` : ""}`
110
111
  }
111
112
  ),
112
113
  b()
@@ -1 +1 @@
1
- .paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:all .2s;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0px;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner::before,.paraui-v4-switch.component-switch-disabled .component-switch-inner::before{position:absolute;top:0px;left:0;width:100%;height:16px;background-color:hsla(0,0%,100%,.5);content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle::before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle::before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle::before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 12px - 2px)}@keyframes switchLoadingCircle{100%{transform:rotate(360deg)}}.paraui-v4-switch-disabled::before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked::before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1)::before{transition:all 2s ease-in-out}
1
+ .paraui-v4-switch{position:relative;display:inline-block;width:32px;height:16px;vertical-align:middle;background-color:rgba(0,0,0,0);border:0;cursor:pointer;transition:all .2s;user-select:none}.paraui-v4-switch .component-switch{border:none;cursor:pointer}.paraui-v4-switch:before{position:absolute;top:0px;left:0;width:100%;height:16px;border-radius:8px;background-color:#a1a8b3;content:"";transition:all .2s}a .paraui-v4-switch:focus{outline:0;box-shadow:none}.paraui-v4-switch.component-switch-checked:focus{box-shadow:none}.paraui-v4-switch:focus:hover{box-shadow:none}.paraui-v4-switch.component-switch-checked:before{background-color:#2e65e6}.paraui-v4-switch-loading *,.paraui-v4-switch.component-switch-disabled *{box-shadow:none}.paraui-v4-switch-loading .component-switch-inner::before,.paraui-v4-switch.component-switch-disabled .component-switch-inner::before{position:absolute;top:0px;left:0;width:100%;height:16px;background-color:hsla(0,0%,100%,.5);content:"";z-index:100}.paraui-v4-switch .component-switch-inner{display:block;margin:0 7px 0 25px;font-size:14px;transition:margin .2s}.paraui-v4-switch.component-switch-checked .component-switch-inner{margin:0 25px 0 7px}.paraui-v4-switch .component-switch-handle{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:all .2s ease-in-out}.paraui-v4-switch .component-switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:9px;box-shadow:none;transition:all .2s ease-in-out;content:""}.paraui-v4-switch.component-switch-checked .component-switch-handle{left:calc(100% - 14px)}.paraui-v4-switch.component-switch-checked .component-switch-handle::before{background-color:#fff}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active .component-switch-handle::before{right:-30%;left:0}.paraui-v4-switch:not(.paraui-v4-switch-disabled):active.component-switch-checked .component-switch-handle::before{right:0;left:-30%}.paraui-v4-switch .component-switch-loading-icon{position:relative;top:1px;color:#2e65e6;font-size:10px;vertical-align:top;animation:switchLoadingCircle 1s infinite linear}.paraui-v4-switch.component-switch-checked .component-switch-loading-icon{color:#2e65e6}.paraui-v4-switch-medium{min-width:32px;height:16px;line-height:16px}.paraui-v4-switch-small{min-width:28px;height:14px;line-height:14px}.paraui-v4-switch-small .component-switch-inner{margin:0 5px 0 18px;font-size:14px}.paraui-v4-switch-small .component-switch-handle{width:12px;height:12px;top:3px;left:2px}.paraui-v4-switch-small .component-switch-loading-icon{top:1.5px;font-size:9px}.paraui-v4-switch-small.component-switch-checked .component-switch-inner{margin:0 18px 0 5px}.paraui-v4-switch-small.component-switch-checked .component-switch-handle{left:calc(100% - 12px - 2px)}@keyframes switchLoadingCircle{100%{transform:rotate(360deg)}}.paraui-v4-switch-disabled::before{background-color:#a1a8b3}.paraui-v4-switch-disabled.component-switch-checked::before{background-color:#97b2f2}.component-label-box{display:flex;align-items:center}.component-label-box .sup-text{color:#5c6573;font-size:14px;margin-left:10px;line-height:16px}.component-label-box .sup-text>a{text-decoration:none;cursor:pointer;color:#2e65e6}.component-label-box .sup-text>a:hover{color:#5783eb}.paraui-v4-switch-label{display:inline-flex;align-items:flex-end}.paraui-v4-switch-label .component-disabled-text{color:#5c6573}.paraui-v4-switch-label .component-desc-text{margin-bottom:0;margin-right:10px;line-height:16px;color:#1d2126}.paraui-v4-switch-label .component-desc-text .paraui-v4-help{line-height:1}.paraui-v4-switch-label .component-desc-text .paraui-v4-help svg{top:0}.paraui-v4-switch-label .paraui-v4-label-text-container{display:flex;flex-direction:column}.paraui-v4-switch-desc-end{flex-direction:row-reverse}.paraui-v4-switch-desc-end .component-desc-text{margin-right:0}.component-switch-disabled>div:nth-child(1)::before{transition:all 2s ease-in-out}