@tendaui/react 1.2.4 → 1.3.1

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 (759) hide show
  1. package/es/_chunks/dep--nQ-cjme.js +45 -0
  2. package/es/_chunks/dep--nQ-cjme.js.map +1 -0
  3. package/es/_chunks/{dep-DTlQ2dCA.js → dep--qagmRQa.js} +2 -2
  4. package/es/_chunks/{dep-DTlQ2dCA.js.map → dep--qagmRQa.js.map} +1 -1
  5. package/es/_chunks/{dep-Dr5wkz0z.js → dep--svkhMCP.js} +12 -12
  6. package/es/_chunks/{dep-Dr5wkz0z.js.map → dep--svkhMCP.js.map} +1 -1
  7. package/es/_chunks/{dep-Bjfn7Zv_.js → dep-2HsCYcmp.js} +5 -5
  8. package/es/_chunks/{dep-Bjfn7Zv_.js.map → dep-2HsCYcmp.js.map} +1 -1
  9. package/es/_chunks/{dep-CkmtEv0Y.js → dep-B2D1svZy.js} +4 -2
  10. package/es/_chunks/dep-B2D1svZy.js.map +1 -0
  11. package/es/_chunks/{dep-BuIAffJt.js → dep-BI5F2D3y.js} +23 -13
  12. package/es/_chunks/dep-BI5F2D3y.js.map +1 -0
  13. package/es/_chunks/dep-BK4_iOSv.js +68 -0
  14. package/es/_chunks/dep-BK4_iOSv.js.map +1 -0
  15. package/es/_chunks/{dep-BYlJzn45.js → dep-BOj-ayw6.js} +26 -26
  16. package/es/_chunks/{dep-BYlJzn45.js.map → dep-BOj-ayw6.js.map} +1 -1
  17. package/es/_chunks/{dep-D68MD94M.js → dep-BZdpKjaa.js} +18 -18
  18. package/es/_chunks/{dep-D68MD94M.js.map → dep-BZdpKjaa.js.map} +1 -1
  19. package/es/_chunks/{dep-aX8qrQpB.js → dep-BbOvNxhg.js} +4 -4
  20. package/es/_chunks/{dep-aX8qrQpB.js.map → dep-BbOvNxhg.js.map} +1 -1
  21. package/es/_chunks/{dep-oUgTcXgm.js → dep-Blkje0_M.js} +2 -2
  22. package/es/_chunks/{dep-oUgTcXgm.js.map → dep-Blkje0_M.js.map} +1 -1
  23. package/es/_chunks/{dep-DJmE940f.js → dep-CHpQ3xhh.js} +2 -2
  24. package/es/_chunks/dep-CHpQ3xhh.js.map +1 -0
  25. package/es/_chunks/{dep-DX65P8M9.js → dep-CPjkUfQu.js} +2 -2
  26. package/es/_chunks/{dep-DX65P8M9.js.map → dep-CPjkUfQu.js.map} +1 -1
  27. package/es/_chunks/dep-CSzOEACo.js +165 -0
  28. package/es/_chunks/dep-CSzOEACo.js.map +1 -0
  29. package/es/_chunks/{dep-CJCt0IS0.js → dep-Cd1UOXnJ.js} +14 -14
  30. package/es/_chunks/{dep-CJCt0IS0.js.map → dep-Cd1UOXnJ.js.map} +1 -1
  31. package/es/_chunks/{dep-DQ6kXoi8.js → dep-DHWwZ2Nj.js} +2 -2
  32. package/es/_chunks/{dep-DQ6kXoi8.js.map → dep-DHWwZ2Nj.js.map} +1 -1
  33. package/es/_chunks/{dep-Tshfumgl.js → dep-DYFbjXzW.js} +2 -2
  34. package/es/_chunks/{dep-Tshfumgl.js.map → dep-DYFbjXzW.js.map} +1 -1
  35. package/es/_chunks/{dep-C_wPqvpm.js → dep-D_qcGLah.js} +2 -2
  36. package/es/_chunks/{dep-C_wPqvpm.js.map → dep-D_qcGLah.js.map} +1 -1
  37. package/es/_chunks/{dep-CsSvR9wN.js → dep-DfsP8eqT.js} +21 -21
  38. package/es/_chunks/{dep-CsSvR9wN.js.map → dep-DfsP8eqT.js.map} +1 -1
  39. package/es/_chunks/dep-Dl5DFuGU.js +2001 -0
  40. package/es/_chunks/dep-Dl5DFuGU.js.map +1 -0
  41. package/es/_chunks/{dep-DURB9x8g.js → dep-Dnwq3YvL.js} +36 -21
  42. package/es/_chunks/dep-Dnwq3YvL.js.map +1 -0
  43. package/es/_chunks/{dep-B4_O1Vgv.js → dep-Dr3i7zFt.js} +12 -12
  44. package/es/_chunks/{dep-B4_O1Vgv.js.map → dep-Dr3i7zFt.js.map} +1 -1
  45. package/es/_chunks/{dep-CD_4-1Xb.js → dep-UHQn9biR.js} +5 -5
  46. package/es/_chunks/dep-UHQn9biR.js.map +1 -0
  47. package/es/_chunks/{dep-ByzdZjUR.js → dep-bWaVq_y3.js} +2 -2
  48. package/es/_chunks/{dep-ByzdZjUR.js.map → dep-bWaVq_y3.js.map} +1 -1
  49. package/es/_chunks/{dep-DwWrhxkd.js → dep-grkSd2UB.js} +3 -3
  50. package/es/_chunks/{dep-DwWrhxkd.js.map → dep-grkSd2UB.js.map} +1 -1
  51. package/es/_chunks/{dep-CMPsNAXF.js → dep-hCWFQAqL.js} +15 -9
  52. package/es/_chunks/dep-hCWFQAqL.js.map +1 -0
  53. package/es/_chunks/{dep-D6YxJv-F.js → dep-spxR0DG0.js} +3 -3
  54. package/es/_chunks/{dep-D6YxJv-F.js.map → dep-spxR0DG0.js.map} +1 -1
  55. package/es/_chunks/{dep-gy8uvBaS.js → dep-u1x3x6MJ.js} +2 -2
  56. package/es/_chunks/{dep-gy8uvBaS.js.map → dep-u1x3x6MJ.js.map} +1 -1
  57. package/es/alert/Alert.js +25 -24
  58. package/es/alert/Alert.js.map +1 -1
  59. package/es/alert/_example/base.js +27 -0
  60. package/es/alert/_example/base.js.map +1 -0
  61. package/es/alert/_example/collapse.js +14 -0
  62. package/es/alert/_example/collapse.js.map +1 -0
  63. package/es/alert/index.js +6 -5
  64. package/es/alert/index.js.map +1 -1
  65. package/es/badge/Badge.js +6 -5
  66. package/es/badge/Badge.js.map +1 -1
  67. package/es/badge/_example/base.js +11 -0
  68. package/es/badge/_example/base.js.map +1 -0
  69. package/es/badge/_example/count.js +38 -0
  70. package/es/badge/_example/count.js.map +1 -0
  71. package/es/badge/_example/custom-color.js +48 -0
  72. package/es/badge/_example/custom-color.js.map +1 -0
  73. package/es/badge/_example/dot.js +36 -0
  74. package/es/badge/_example/dot.js.map +1 -0
  75. package/es/badge/_example/max-count.js +37 -0
  76. package/es/badge/_example/max-count.js.map +1 -0
  77. package/es/badge/_example/offset.js +41 -0
  78. package/es/badge/_example/offset.js.map +1 -0
  79. package/es/badge/_example/shape.js +47 -0
  80. package/es/badge/_example/shape.js.map +1 -0
  81. package/es/badge/_example/show-zero.js +31 -0
  82. package/es/badge/_example/show-zero.js.map +1 -0
  83. package/es/badge/_example/size.js +54 -0
  84. package/es/badge/_example/size.js.map +1 -0
  85. package/es/badge/_example/standalone.js +27 -0
  86. package/es/badge/_example/standalone.js.map +1 -0
  87. package/es/badge/_example/text-count.js +32 -0
  88. package/es/badge/_example/text-count.js.map +1 -0
  89. package/es/badge/_example/with-button.js +33 -0
  90. package/es/badge/_example/with-button.js.map +1 -0
  91. package/es/badge/index.js +3 -2
  92. package/es/badge/index.js.map +1 -1
  93. package/es/button/Button.js +10 -9
  94. package/es/button/Button.js.map +1 -1
  95. package/es/button/__tests__/Button.test.js +54700 -0
  96. package/es/button/__tests__/Button.test.js.map +1 -0
  97. package/es/button/_example/base.js +3 -3
  98. package/es/button/_example/base.js.map +1 -1
  99. package/es/button/_example/block.js +26 -0
  100. package/es/button/_example/block.js.map +1 -0
  101. package/es/button/_example/disabled.js +32 -0
  102. package/es/button/_example/disabled.js.map +1 -0
  103. package/es/button/_example/ghost.js +28 -0
  104. package/es/button/_example/ghost.js.map +1 -0
  105. package/es/button/_example/icon.js +10 -10
  106. package/es/button/_example/icon.js.map +1 -1
  107. package/es/button/_example/link.js +24 -0
  108. package/es/button/_example/link.js.map +1 -0
  109. package/es/button/_example/loading.js +28 -0
  110. package/es/button/_example/loading.js.map +1 -0
  111. package/es/button/_example/shape.js +31 -0
  112. package/es/button/_example/shape.js.map +1 -0
  113. package/es/button/_example/size.js +25 -0
  114. package/es/button/_example/size.js.map +1 -0
  115. package/es/button/_example/suffix.js +23 -0
  116. package/es/button/_example/suffix.js.map +1 -0
  117. package/es/button/_example/theme.js +25 -0
  118. package/es/button/_example/theme.js.map +1 -0
  119. package/es/button/_example/variant-base.js +30 -0
  120. package/es/button/_example/variant-base.js.map +1 -0
  121. package/es/button/_example/variant-dashed.js +30 -0
  122. package/es/button/_example/variant-dashed.js.map +1 -0
  123. package/es/button/_example/variant-outline.js +30 -0
  124. package/es/button/_example/variant-outline.js.map +1 -0
  125. package/es/button/_example/variant-text.js +30 -0
  126. package/es/button/_example/variant-text.js.map +1 -0
  127. package/es/button/index.js +5 -4
  128. package/es/button/index.js.map +1 -1
  129. package/es/button/style/index.css +3 -3
  130. package/es/checkbox/Checkbox.js +6 -5
  131. package/es/checkbox/Checkbox.js.map +1 -1
  132. package/es/checkbox/CheckboxGroup.js +6 -5
  133. package/es/checkbox/CheckboxGroup.js.map +1 -1
  134. package/es/checkbox/_example/base.js +9 -0
  135. package/es/checkbox/_example/base.js.map +1 -0
  136. package/es/checkbox/_example/controlled.js +19 -0
  137. package/es/checkbox/_example/controlled.js.map +1 -0
  138. package/es/checkbox/_example/group-disabled.js +20 -0
  139. package/es/checkbox/_example/group-disabled.js.map +1 -0
  140. package/es/checkbox/_example/group-with-check-all.js +41 -0
  141. package/es/checkbox/_example/group-with-check-all.js.map +1 -0
  142. package/es/checkbox/_example/group-with-max.js +34 -0
  143. package/es/checkbox/_example/group-with-max.js.map +1 -0
  144. package/es/checkbox/_example/group-with-options.js +40 -0
  145. package/es/checkbox/_example/group-with-options.js.map +1 -0
  146. package/es/checkbox/_example/group.js +33 -0
  147. package/es/checkbox/_example/group.js.map +1 -0
  148. package/es/checkbox/_example/states.js +27 -0
  149. package/es/checkbox/_example/states.js.map +1 -0
  150. package/es/checkbox/index.js +6 -5
  151. package/es/checkbox/index.js.map +1 -1
  152. package/es/color-picker/ColorPickPanel.js +76 -12
  153. package/es/color-picker/ColorPickPanel.js.map +1 -1
  154. package/es/color-picker/ColorPicker.js +67 -18
  155. package/es/color-picker/ColorPicker.js.map +1 -1
  156. package/es/color-picker/_example/base.js +26 -0
  157. package/es/color-picker/_example/base.js.map +1 -0
  158. package/es/color-picker/_example/borderless.js +29 -0
  159. package/es/color-picker/_example/borderless.js.map +1 -0
  160. package/es/color-picker/_example/clearable.js +29 -0
  161. package/es/color-picker/_example/clearable.js.map +1 -0
  162. package/es/color-picker/_example/disabled.js +29 -0
  163. package/es/color-picker/_example/disabled.js.map +1 -0
  164. package/es/color-picker/_example/formats.js +79 -0
  165. package/es/color-picker/_example/formats.js.map +1 -0
  166. package/es/color-picker/_example/manual-input.js +91 -0
  167. package/es/color-picker/_example/manual-input.js.map +1 -0
  168. package/es/color-picker/_example/recent-colors.js +31 -0
  169. package/es/color-picker/_example/recent-colors.js.map +1 -0
  170. package/es/color-picker/_example/swatch-colors.js +27 -0
  171. package/es/color-picker/_example/swatch-colors.js.map +1 -0
  172. package/es/color-picker/_example/with-alpha.js +35 -0
  173. package/es/color-picker/_example/with-alpha.js.map +1 -0
  174. package/es/color-picker/components/panel/alpha.js +5 -4
  175. package/es/color-picker/components/panel/alpha.js.map +1 -1
  176. package/es/color-picker/components/panel/format/index.js +25 -23
  177. package/es/color-picker/components/panel/format/index.js.map +1 -1
  178. package/es/color-picker/components/panel/format/inputs.js +20 -18
  179. package/es/color-picker/components/panel/format/inputs.js.map +1 -1
  180. package/es/color-picker/components/panel/header.js +16 -14
  181. package/es/color-picker/components/panel/header.js.map +1 -1
  182. package/es/color-picker/components/panel/hue.js +5 -4
  183. package/es/color-picker/components/panel/hue.js.map +1 -1
  184. package/es/color-picker/components/panel/index.js +73 -9
  185. package/es/color-picker/components/panel/index.js.map +1 -1
  186. package/es/color-picker/components/panel/saturation.js +6 -5
  187. package/es/color-picker/components/panel/saturation.js.map +1 -1
  188. package/es/color-picker/components/panel/slider.js +9 -8
  189. package/es/color-picker/components/panel/slider.js.map +1 -1
  190. package/es/color-picker/components/panel/swatches.js +17 -16
  191. package/es/color-picker/components/panel/swatches.js.map +1 -1
  192. package/es/color-picker/components/trigger.js +58 -25
  193. package/es/color-picker/components/trigger.js.map +1 -1
  194. package/es/color-picker/index.js +63 -20
  195. package/es/color-picker/index.js.map +1 -1
  196. package/es/color-picker/utils/color-picker/index.js +4 -67
  197. package/es/color-picker/utils/color-picker/index.js.map +1 -1
  198. package/es/common/Check.js +11 -10
  199. package/es/common/Check.js.map +1 -1
  200. package/es/common/FakeArrow.js +6 -5
  201. package/es/common/FakeArrow.js.map +1 -1
  202. package/es/common/PluginContainer.js +4 -3
  203. package/es/common/PluginContainer.js.map +1 -1
  204. package/es/common/Portal.js +3 -2
  205. package/es/common/Portal.js.map +1 -1
  206. package/es/config-provider/ConfigContext.js +303 -4
  207. package/es/config-provider/ConfigContext.js.map +1 -1
  208. package/es/config-provider/ConfigProvider.js +17 -4
  209. package/es/config-provider/ConfigProvider.js.map +1 -1
  210. package/es/config-provider/index.js +2 -1
  211. package/es/config-provider/index.js.map +1 -1
  212. package/es/dialog/Dialog.js +19 -18
  213. package/es/dialog/Dialog.js.map +1 -1
  214. package/es/dialog/DialogCard.js +8 -7
  215. package/es/dialog/DialogCard.js.map +1 -1
  216. package/es/dialog/_example/base.js +32 -0
  217. package/es/dialog/_example/base.js.map +1 -0
  218. package/es/dialog/_example/confirm-loading.js +38 -0
  219. package/es/dialog/_example/confirm-loading.js.map +1 -0
  220. package/es/dialog/_example/custom-buttons.js +36 -0
  221. package/es/dialog/_example/custom-buttons.js.map +1 -0
  222. package/es/dialog/_example/full-screen.js +33 -0
  223. package/es/dialog/_example/full-screen.js.map +1 -0
  224. package/es/dialog/_example/hide-buttons.js +50 -0
  225. package/es/dialog/_example/hide-buttons.js.map +1 -0
  226. package/es/dialog/_example/modeless.js +30 -0
  227. package/es/dialog/_example/modeless.js.map +1 -0
  228. package/es/dialog/_example/placement.js +53 -0
  229. package/es/dialog/_example/placement.js.map +1 -0
  230. package/es/dialog/_example/plugin-example.js +81 -0
  231. package/es/dialog/_example/plugin-example.js.map +1 -0
  232. package/es/dialog/_example/themes.js +62 -0
  233. package/es/dialog/_example/themes.js.map +1 -0
  234. package/es/dialog/index.js +10 -9
  235. package/es/dialog/index.js.map +1 -1
  236. package/es/dialog/plugin.js +15 -14
  237. package/es/dialog/plugin.js.map +1 -1
  238. package/es/dialog/style/index.css +3 -3
  239. package/es/drawer/Drawer.js +46 -37
  240. package/es/drawer/Drawer.js.map +1 -1
  241. package/es/drawer/_example/custom-header-footer.js +78 -0
  242. package/es/drawer/_example/custom-header-footer.js.map +1 -0
  243. package/es/drawer/_example/default.js +61 -0
  244. package/es/drawer/_example/default.js.map +1 -0
  245. package/es/drawer/_example/events.js +81 -0
  246. package/es/drawer/_example/events.js.map +1 -0
  247. package/es/drawer/_example/no-footer.js +62 -0
  248. package/es/drawer/_example/no-footer.js.map +1 -0
  249. package/es/drawer/_example/no-overlay.js +62 -0
  250. package/es/drawer/_example/no-overlay.js.map +1 -0
  251. package/es/drawer/_example/placement.js +91 -0
  252. package/es/drawer/_example/placement.js.map +1 -0
  253. package/es/drawer/_example/size-draggable.js +65 -0
  254. package/es/drawer/_example/size-draggable.js.map +1 -0
  255. package/es/drawer/_example/size.js +96 -0
  256. package/es/drawer/_example/size.js.map +1 -0
  257. package/es/drawer/index.js +9 -8
  258. package/es/drawer/index.js.map +1 -1
  259. package/es/drawer/style/index.css +4 -4
  260. package/es/fireworks/Fireworks.js +7 -6
  261. package/es/fireworks/Fireworks.js.map +1 -1
  262. package/es/fireworks/index.js +3 -2
  263. package/es/fireworks/index.js.map +1 -1
  264. package/es/form/Form.js +26 -173
  265. package/es/form/Form.js.map +1 -1
  266. package/es/form/FormContext.js +5 -5
  267. package/es/form/FormContext.js.map +1 -1
  268. package/es/form/FormItem.js +12 -11
  269. package/es/form/FormItem.js.map +1 -1
  270. package/es/form/FormList.js +2 -2
  271. package/es/form/FormList.js.map +1 -1
  272. package/es/form/_example/complex.js +105 -0
  273. package/es/form/_example/complex.js.map +1 -0
  274. package/es/form/_example/default.js +87 -0
  275. package/es/form/_example/default.js.map +1 -0
  276. package/es/form/_example/disabled.js +40 -0
  277. package/es/form/_example/disabled.js.map +1 -0
  278. package/es/form/_example/form-list.js +122 -0
  279. package/es/form/_example/form-list.js.map +1 -0
  280. package/es/form/_example/inline-layout.js +32 -0
  281. package/es/form/_example/inline-layout.js.map +1 -0
  282. package/es/form/_example/label-align.js +73 -0
  283. package/es/form/_example/label-align.js.map +1 -0
  284. package/es/form/_example/methods.js +118 -0
  285. package/es/form/_example/methods.js.map +1 -0
  286. package/es/form/_example/validation.js +97 -0
  287. package/es/form/_example/validation.js.map +1 -0
  288. package/es/form/hooks/useFormItemStyle.js +5 -4
  289. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  290. package/es/form/hooks/useInstance.js +5 -4
  291. package/es/form/hooks/useInstance.js.map +1 -1
  292. package/es/form/index.js +22 -17
  293. package/es/form/index.js.map +1 -1
  294. package/es/form/style/index.css +6 -6
  295. package/es/hooks/useDragSorter.js +4 -4
  296. package/es/hooks/useDragSorter.js.map +1 -1
  297. package/es/index.js +37 -30
  298. package/es/index.js.map +1 -1
  299. package/es/input/Input.js +165 -26
  300. package/es/input/Input.js.map +1 -1
  301. package/es/input/InputGroup.js +2 -2
  302. package/es/input/InputGroup.js.map +1 -1
  303. package/es/input/_example/auto-width.js +53 -0
  304. package/es/input/_example/auto-width.js.map +1 -0
  305. package/es/input/_example/borderless.js +52 -0
  306. package/es/input/_example/borderless.js.map +1 -0
  307. package/es/input/_example/clearable.js +54 -0
  308. package/es/input/_example/clearable.js.map +1 -0
  309. package/es/input/_example/default.js +37 -0
  310. package/es/input/_example/default.js.map +1 -0
  311. package/es/input/_example/disabled-readonly.js +48 -0
  312. package/es/input/_example/disabled-readonly.js.map +1 -0
  313. package/es/input/_example/events.js +87 -0
  314. package/es/input/_example/events.js.map +1 -0
  315. package/es/input/_example/group.js +47 -0
  316. package/es/input/_example/group.js.map +1 -0
  317. package/es/input/_example/label-suffix.js +48 -0
  318. package/es/input/_example/label-suffix.js.map +1 -0
  319. package/es/input/_example/max-length.js +44 -0
  320. package/es/input/_example/max-length.js.map +1 -0
  321. package/es/input/_example/password.js +43 -0
  322. package/es/input/_example/password.js.map +1 -0
  323. package/es/input/_example/sizes.js +47 -0
  324. package/es/input/_example/sizes.js.map +1 -0
  325. package/es/input/_example/status.js +55 -0
  326. package/es/input/_example/status.js.map +1 -0
  327. package/es/input/_example/text-align.js +50 -0
  328. package/es/input/_example/text-align.js.map +1 -0
  329. package/es/input/_example/with-icon.js +48 -0
  330. package/es/input/_example/with-icon.js.map +1 -0
  331. package/es/input/index.js +6 -5
  332. package/es/input/index.js.map +1 -1
  333. package/es/input/style/index.css +18 -9
  334. package/es/input-number/InputNumber.js +19 -18
  335. package/es/input-number/InputNumber.js.map +1 -1
  336. package/es/input-number/_example/align.js +88 -0
  337. package/es/input-number/_example/align.js.map +1 -0
  338. package/es/input-number/_example/auto-width.js +54 -0
  339. package/es/input-number/_example/auto-width.js.map +1 -0
  340. package/es/input-number/_example/default.js +55 -0
  341. package/es/input-number/_example/default.js.map +1 -0
  342. package/es/input-number/_example/events.js +103 -0
  343. package/es/input-number/_example/events.js.map +1 -0
  344. package/es/input-number/_example/format.js +94 -0
  345. package/es/input-number/_example/format.js.map +1 -0
  346. package/es/input-number/_example/large-number.js +81 -0
  347. package/es/input-number/_example/large-number.js.map +1 -0
  348. package/es/input-number/_example/min-max.js +70 -0
  349. package/es/input-number/_example/min-max.js.map +1 -0
  350. package/es/input-number/_example/sizes.js +128 -0
  351. package/es/input-number/_example/sizes.js.map +1 -0
  352. package/es/input-number/_example/status.js +175 -0
  353. package/es/input-number/_example/status.js.map +1 -0
  354. package/es/input-number/_example/step-and-decimal.js +70 -0
  355. package/es/input-number/_example/step-and-decimal.js.map +1 -0
  356. package/es/input-number/_example/themes.js +80 -0
  357. package/es/input-number/_example/themes.js.map +1 -0
  358. package/es/input-number/_example/with-suffix.js +74 -0
  359. package/es/input-number/_example/with-suffix.js.map +1 -0
  360. package/es/input-number/index.js +9 -8
  361. package/es/input-number/index.js.map +1 -1
  362. package/es/input-number/style/index.css +12 -12
  363. package/es/input-number/useInputNumber.js +5 -4
  364. package/es/input-number/useInputNumber.js.map +1 -1
  365. package/es/ip-input/IPInput.js +5 -4
  366. package/es/ip-input/IPInput.js.map +1 -1
  367. package/es/ip-input/_example/controlled.js +65 -0
  368. package/es/ip-input/_example/controlled.js.map +1 -0
  369. package/es/ip-input/_example/default.js +27 -0
  370. package/es/ip-input/_example/default.js.map +1 -0
  371. package/es/ip-input/_example/full-featured.js +48 -0
  372. package/es/ip-input/_example/full-featured.js.map +1 -0
  373. package/es/ip-input/_example/ipv6.js +47 -0
  374. package/es/ip-input/_example/ipv6.js.map +1 -0
  375. package/es/ip-input/_example/keyboard-navigation.js +46 -0
  376. package/es/ip-input/_example/keyboard-navigation.js.map +1 -0
  377. package/es/ip-input/_example/paste-demo.js +54 -0
  378. package/es/ip-input/_example/paste-demo.js.map +1 -0
  379. package/es/ip-input/_example/states.js +52 -0
  380. package/es/ip-input/_example/states.js.map +1 -0
  381. package/es/ip-input/_example/with-cidr.js +47 -0
  382. package/es/ip-input/_example/with-cidr.js.map +1 -0
  383. package/es/ip-input/index.js +5 -4
  384. package/es/ip-input/index.js.map +1 -1
  385. package/es/layout/Aside.js +5 -4
  386. package/es/layout/Aside.js.map +1 -1
  387. package/es/layout/Layout.js +10 -9
  388. package/es/layout/Layout.js.map +1 -1
  389. package/es/layout/_example/combine-left.js +68 -0
  390. package/es/layout/_example/combine-left.js.map +1 -0
  391. package/es/layout/_example/combine-right.js +68 -0
  392. package/es/layout/_example/combine-right.js.map +1 -0
  393. package/es/layout/_example/custom-aside-width.js +69 -0
  394. package/es/layout/_example/custom-aside-width.js.map +1 -0
  395. package/es/layout/_example/custom-height.js +59 -0
  396. package/es/layout/_example/custom-height.js.map +1 -0
  397. package/es/layout/_example/double-sidebar.js +72 -0
  398. package/es/layout/_example/double-sidebar.js.map +1 -0
  399. package/es/layout/_example/side-navigation-right.js +66 -0
  400. package/es/layout/_example/side-navigation-right.js.map +1 -0
  401. package/es/layout/_example/side-navigation.js +66 -0
  402. package/es/layout/_example/side-navigation.js.map +1 -0
  403. package/es/layout/_example/top-navigation.js +57 -0
  404. package/es/layout/_example/top-navigation.js.map +1 -0
  405. package/es/layout/index.js +4 -3
  406. package/es/layout/index.js.map +1 -1
  407. package/es/list/List.js +18 -17
  408. package/es/list/List.js.map +1 -1
  409. package/es/list/ListItem.js +7 -6
  410. package/es/list/ListItem.js.map +1 -1
  411. package/es/list/ListItemMeta.js +12 -11
  412. package/es/list/ListItemMeta.js.map +1 -1
  413. package/es/list/_example/async-loading.js +114 -0
  414. package/es/list/_example/async-loading.js.map +1 -0
  415. package/es/list/_example/default.js +62 -0
  416. package/es/list/_example/default.js.map +1 -0
  417. package/es/list/_example/header-footer.js +98 -0
  418. package/es/list/_example/header-footer.js.map +1 -0
  419. package/es/list/_example/multiline.js +66 -0
  420. package/es/list/_example/multiline.js.map +1 -0
  421. package/es/list/_example/scroll-loading.js +133 -0
  422. package/es/list/_example/scroll-loading.js.map +1 -0
  423. package/es/list/_example/sizes.js +94 -0
  424. package/es/list/_example/sizes.js.map +1 -0
  425. package/es/list/_example/split.js +93 -0
  426. package/es/list/_example/split.js.map +1 -0
  427. package/es/list/_example/stripe.js +68 -0
  428. package/es/list/_example/stripe.js.map +1 -0
  429. package/es/list/_example/virtual-scroll.js +97 -0
  430. package/es/list/_example/virtual-scroll.js.map +1 -0
  431. package/es/list/_example/with-image.js +72 -0
  432. package/es/list/_example/with-image.js.map +1 -0
  433. package/es/list/index.js +6 -5
  434. package/es/list/index.js.map +1 -1
  435. package/es/list/style/index.css +5 -5
  436. package/es/loading/Gradient.js +8 -7
  437. package/es/loading/Gradient.js.map +1 -1
  438. package/es/loading/Loading.js +14 -13
  439. package/es/loading/Loading.js.map +1 -1
  440. package/es/loading/_example/default.js +30 -0
  441. package/es/loading/_example/default.js.map +1 -0
  442. package/es/loading/_example/delay.js +70 -0
  443. package/es/loading/_example/delay.js.map +1 -0
  444. package/es/loading/_example/fullscreen.js +38 -0
  445. package/es/loading/_example/fullscreen.js.map +1 -0
  446. package/es/loading/_example/inherit-color.js +58 -0
  447. package/es/loading/_example/inherit-color.js.map +1 -0
  448. package/es/loading/_example/no-overlay.js +28 -0
  449. package/es/loading/_example/no-overlay.js.map +1 -0
  450. package/es/loading/_example/sizes.js +84 -0
  451. package/es/loading/_example/sizes.js.map +1 -0
  452. package/es/loading/_example/with-text.js +41 -0
  453. package/es/loading/_example/with-text.js.map +1 -0
  454. package/es/loading/_example/wrapper.js +41 -0
  455. package/es/loading/_example/wrapper.js.map +1 -0
  456. package/es/loading/index.js +4 -3
  457. package/es/loading/index.js.map +1 -1
  458. package/es/notification/NotifyContainer.js +7 -6
  459. package/es/notification/NotifyContainer.js.map +1 -1
  460. package/es/notification/NotifyContext.js +7 -6
  461. package/es/notification/NotifyContext.js.map +1 -1
  462. package/es/notification/NotifyItem.js +20 -19
  463. package/es/notification/NotifyItem.js.map +1 -1
  464. package/es/notification/_example/default.js +55 -0
  465. package/es/notification/_example/default.js.map +1 -0
  466. package/es/notification/_example/long-content.js +36 -0
  467. package/es/notification/_example/long-content.js.map +1 -0
  468. package/es/notification/_example/stacking.js +56 -0
  469. package/es/notification/_example/stacking.js.map +1 -0
  470. package/es/notification/_example/types.js +75 -0
  471. package/es/notification/_example/types.js.map +1 -0
  472. package/es/notification/_example/usage-example.js +68 -0
  473. package/es/notification/_example/usage-example.js.map +1 -0
  474. package/es/notification/index.js +3 -2
  475. package/es/notification/index.js.map +1 -1
  476. package/es/notification/style/index.css +4 -4
  477. package/es/popup/Popup.js +30 -17
  478. package/es/popup/Popup.js.map +1 -1
  479. package/es/popup/_example/controlled.js +55 -0
  480. package/es/popup/_example/controlled.js.map +1 -0
  481. package/es/popup/_example/custom-content.js +81 -0
  482. package/es/popup/_example/custom-content.js.map +1 -0
  483. package/es/popup/_example/default.js +24 -0
  484. package/es/popup/_example/default.js.map +1 -0
  485. package/es/popup/_example/delay.js +43 -0
  486. package/es/popup/_example/delay.js.map +1 -0
  487. package/es/popup/_example/disabled.js +35 -0
  488. package/es/popup/_example/disabled.js.map +1 -0
  489. package/es/popup/_example/no-arrow.js +32 -0
  490. package/es/popup/_example/no-arrow.js.map +1 -0
  491. package/es/popup/_example/placements.js +138 -0
  492. package/es/popup/_example/placements.js.map +1 -0
  493. package/es/popup/_example/triggers.js +49 -0
  494. package/es/popup/_example/triggers.js.map +1 -0
  495. package/es/popup/index.js +5 -4
  496. package/es/popup/index.js.map +1 -1
  497. package/es/radio/Radio.js +8 -7
  498. package/es/radio/Radio.js.map +1 -1
  499. package/es/radio/RadioGroup.js +8 -7
  500. package/es/radio/RadioGroup.js.map +1 -1
  501. package/es/radio/_example/allow-uncheck.js +37 -0
  502. package/es/radio/_example/allow-uncheck.js.map +1 -0
  503. package/es/radio/_example/button-style.js +79 -0
  504. package/es/radio/_example/button-style.js.map +1 -0
  505. package/es/radio/_example/controlled.js +19 -0
  506. package/es/radio/_example/controlled.js.map +1 -0
  507. package/es/radio/_example/default.js +16 -0
  508. package/es/radio/_example/default.js.map +1 -0
  509. package/es/radio/_example/group-disabled.js +34 -0
  510. package/es/radio/_example/group-disabled.js.map +1 -0
  511. package/es/radio/_example/group-with-options.js +40 -0
  512. package/es/radio/_example/group-with-options.js.map +1 -0
  513. package/es/radio/_example/group.js +33 -0
  514. package/es/radio/_example/group.js.map +1 -0
  515. package/es/radio/_example/sizes.js +57 -0
  516. package/es/radio/_example/sizes.js.map +1 -0
  517. package/es/radio/_example/states.js +25 -0
  518. package/es/radio/_example/states.js.map +1 -0
  519. package/es/radio/index.js +8 -7
  520. package/es/radio/index.js.map +1 -1
  521. package/es/select/Option.js +10 -9
  522. package/es/select/Option.js.map +1 -1
  523. package/es/select/OptionGroup.js +4 -3
  524. package/es/select/OptionGroup.js.map +1 -1
  525. package/es/select/PopupContent.js +5 -4
  526. package/es/select/PopupContent.js.map +1 -1
  527. package/es/select/Select.js +21 -20
  528. package/es/select/Select.js.map +1 -1
  529. package/es/select/_example/collapsed.js +55 -0
  530. package/es/select/_example/collapsed.js.map +1 -0
  531. package/es/select/_example/creatable.js +61 -0
  532. package/es/select/_example/creatable.js.map +1 -0
  533. package/es/select/_example/custom-content.js +41 -0
  534. package/es/select/_example/custom-content.js.map +1 -0
  535. package/es/select/_example/default.js +54 -0
  536. package/es/select/_example/default.js.map +1 -0
  537. package/es/select/_example/disabled.js +54 -0
  538. package/es/select/_example/disabled.js.map +1 -0
  539. package/es/select/_example/filterable.js +44 -0
  540. package/es/select/_example/filterable.js.map +1 -0
  541. package/es/select/_example/group-options.js +57 -0
  542. package/es/select/_example/group-options.js.map +1 -0
  543. package/es/select/_example/label-suffix.js +51 -0
  544. package/es/select/_example/label-suffix.js.map +1 -0
  545. package/es/select/_example/loading.js +45 -0
  546. package/es/select/_example/loading.js.map +1 -0
  547. package/es/select/_example/multiple.js +58 -0
  548. package/es/select/_example/multiple.js.map +1 -0
  549. package/es/select/_example/sizes.js +54 -0
  550. package/es/select/_example/sizes.js.map +1 -0
  551. package/es/select/_example/status.js +66 -0
  552. package/es/select/_example/status.js.map +1 -0
  553. package/es/select/index.js +12 -11
  554. package/es/select/index.js.map +1 -1
  555. package/es/select-input/SelectInput.js +14 -13
  556. package/es/select-input/SelectInput.js.map +1 -1
  557. package/es/select-input/hook/useMultiple.js +9 -8
  558. package/es/select-input/hook/useMultiple.js.map +1 -1
  559. package/es/select-input/hook/useSingle.js +9 -8
  560. package/es/select-input/hook/useSingle.js.map +1 -1
  561. package/es/select-input/index.js +8 -7
  562. package/es/select-input/index.js.map +1 -1
  563. package/es/slider/Slider.js +37 -27
  564. package/es/slider/Slider.js.map +1 -1
  565. package/es/slider/SliderHandleButton.js +3 -3
  566. package/es/slider/SliderHandleButton.js.map +1 -1
  567. package/es/slider/_example/custom-label.js +33 -0
  568. package/es/slider/_example/custom-label.js.map +1 -0
  569. package/es/slider/_example/default.js +33 -0
  570. package/es/slider/_example/default.js.map +1 -0
  571. package/es/slider/_example/disabled.js +38 -0
  572. package/es/slider/_example/disabled.js.map +1 -0
  573. package/es/slider/_example/marks.js +61 -0
  574. package/es/slider/_example/marks.js.map +1 -0
  575. package/es/slider/_example/range.js +30 -0
  576. package/es/slider/_example/range.js.map +1 -0
  577. package/es/slider/_example/step.js +31 -0
  578. package/es/slider/_example/step.js.map +1 -0
  579. package/es/slider/_example/vertical.js +67 -0
  580. package/es/slider/_example/vertical.js.map +1 -0
  581. package/es/slider/_example/with-input-number.js +55 -0
  582. package/es/slider/_example/with-input-number.js.map +1 -0
  583. package/es/slider/index.js +9 -8
  584. package/es/slider/index.js.map +1 -1
  585. package/es/slider/style/index.css +8 -8
  586. package/es/switch/Switch.js +13 -12
  587. package/es/switch/Switch.js.map +1 -1
  588. package/es/switch/_example/async-change.js +36 -0
  589. package/es/switch/_example/async-change.js.map +1 -0
  590. package/es/switch/_example/before-change.js +31 -0
  591. package/es/switch/_example/before-change.js.map +1 -0
  592. package/es/switch/_example/controlled.js +23 -0
  593. package/es/switch/_example/controlled.js.map +1 -0
  594. package/es/switch/_example/custom-value.js +50 -0
  595. package/es/switch/_example/custom-value.js.map +1 -0
  596. package/es/switch/_example/default.js +11 -0
  597. package/es/switch/_example/default.js.map +1 -0
  598. package/es/switch/_example/disabled.js +72 -0
  599. package/es/switch/_example/disabled.js.map +1 -0
  600. package/es/switch/_example/loading.js +44 -0
  601. package/es/switch/_example/loading.js.map +1 -0
  602. package/es/switch/_example/sizes.js +60 -0
  603. package/es/switch/_example/sizes.js.map +1 -0
  604. package/es/switch/_example/with-label.js +54 -0
  605. package/es/switch/_example/with-label.js.map +1 -0
  606. package/es/switch/index.js +6 -5
  607. package/es/switch/index.js.map +1 -1
  608. package/es/switch/style/index.css +56 -0
  609. package/es/tab/TabBar.js +8 -7
  610. package/es/tab/TabBar.js.map +1 -1
  611. package/es/tab/TabNav.js +12 -11
  612. package/es/tab/TabNav.js.map +1 -1
  613. package/es/tab/TabNavItem.js +11 -10
  614. package/es/tab/TabNavItem.js.map +1 -1
  615. package/es/tab/TabPanel.js +6 -4
  616. package/es/tab/TabPanel.js.map +1 -1
  617. package/es/tab/Tabs.js +20 -19
  618. package/es/tab/Tabs.js.map +1 -1
  619. package/es/tab/_example/addable.js +92 -0
  620. package/es/tab/_example/addable.js.map +1 -0
  621. package/es/tab/_example/card-theme.js +66 -0
  622. package/es/tab/_example/card-theme.js.map +1 -0
  623. package/es/tab/_example/default.js +65 -0
  624. package/es/tab/_example/default.js.map +1 -0
  625. package/es/tab/_example/disabled.js +99 -0
  626. package/es/tab/_example/disabled.js.map +1 -0
  627. package/es/tab/_example/lazy.js +73 -0
  628. package/es/tab/_example/lazy.js.map +1 -0
  629. package/es/tab/_example/placement.js +96 -0
  630. package/es/tab/_example/placement.js.map +1 -0
  631. package/es/tab/_example/removable.js +78 -0
  632. package/es/tab/_example/removable.js.map +1 -0
  633. package/es/tab/_example/sizes.js +85 -0
  634. package/es/tab/_example/sizes.js.map +1 -0
  635. package/es/tab/_example/with-action.js +71 -0
  636. package/es/tab/_example/with-action.js.map +1 -0
  637. package/es/tab/index.js +8 -7
  638. package/es/tab/index.js.map +1 -1
  639. package/es/tab/style/index.css +8 -8
  640. package/es/table/Cell.js +10 -11
  641. package/es/table/Cell.js.map +1 -1
  642. package/es/table/Ellipsis.js +77 -0
  643. package/es/table/Ellipsis.js.map +1 -0
  644. package/es/table/TBody.js +16 -13
  645. package/es/table/TBody.js.map +1 -1
  646. package/es/table/THead.js +7 -6
  647. package/es/table/THead.js.map +1 -1
  648. package/es/table/TR.js +9 -5
  649. package/es/table/TR.js.map +1 -1
  650. package/es/table/Table.js +14 -11
  651. package/es/table/Table.js.map +1 -1
  652. package/es/table/_example/alignment.js +96 -0
  653. package/es/table/_example/alignment.js.map +1 -0
  654. package/es/table/_example/auto-width.js +90 -0
  655. package/es/table/_example/auto-width.js.map +1 -0
  656. package/es/table/_example/bordered-stripe-hover.js +96 -0
  657. package/es/table/_example/bordered-stripe-hover.js.map +1 -0
  658. package/es/table/_example/bordered.js +94 -0
  659. package/es/table/_example/bordered.js.map +1 -0
  660. package/es/table/_example/cell-click.js +107 -0
  661. package/es/table/_example/cell-click.js.map +1 -0
  662. package/es/table/_example/complex.js +131 -0
  663. package/es/table/_example/complex.js.map +1 -0
  664. package/es/table/_example/custom-cell.js +115 -0
  665. package/es/table/_example/custom-cell.js.map +1 -0
  666. package/es/table/_example/custom-empty.js +64 -0
  667. package/es/table/_example/custom-empty.js.map +1 -0
  668. package/es/table/_example/custom-row-class-name.js +105 -0
  669. package/es/table/_example/custom-row-class-name.js.map +1 -0
  670. package/es/table/_example/default.js +93 -0
  671. package/es/table/_example/default.js.map +1 -0
  672. package/es/table/_example/ellipsis.js +96 -0
  673. package/es/table/_example/ellipsis.js.map +1 -0
  674. package/es/table/_example/empty.js +58 -0
  675. package/es/table/_example/empty.js.map +1 -0
  676. package/es/table/_example/fixed-width.js +98 -0
  677. package/es/table/_example/fixed-width.js.map +1 -0
  678. package/es/table/_example/hover.js +94 -0
  679. package/es/table/_example/hover.js.map +1 -0
  680. package/es/table/_example/row-click.js +100 -0
  681. package/es/table/_example/row-click.js.map +1 -0
  682. package/es/table/_example/sizes.js +111 -0
  683. package/es/table/_example/sizes.js.map +1 -0
  684. package/es/table/_example/stripe.js +94 -0
  685. package/es/table/_example/stripe.js.map +1 -0
  686. package/es/table/_example/vertical-align.js +110 -0
  687. package/es/table/_example/vertical-align.js.map +1 -0
  688. package/es/table/hooks/index.js +6 -5
  689. package/es/table/hooks/index.js.map +1 -1
  690. package/es/table/index.js +6 -3
  691. package/es/table/index.js.map +1 -1
  692. package/es/table/style/index.css +11 -10
  693. package/es/tag/Tag.js +8 -7
  694. package/es/tag/Tag.js.map +1 -1
  695. package/es/tag/_example/closable.js +43 -0
  696. package/es/tag/_example/closable.js.map +1 -0
  697. package/es/tag/_example/default.js +24 -0
  698. package/es/tag/_example/default.js.map +1 -0
  699. package/es/tag/_example/disabled.js +26 -0
  700. package/es/tag/_example/disabled.js.map +1 -0
  701. package/es/tag/_example/sizes.js +24 -0
  702. package/es/tag/_example/sizes.js.map +1 -0
  703. package/es/tag/_example/variants.js +49 -0
  704. package/es/tag/_example/variants.js.map +1 -0
  705. package/es/tag/index.js +4 -3
  706. package/es/tag/index.js.map +1 -1
  707. package/es/tag-input/TagInput.js +10 -9
  708. package/es/tag-input/TagInput.js.map +1 -1
  709. package/es/tag-input/_example/collapsed.js +39 -0
  710. package/es/tag-input/_example/collapsed.js.map +1 -0
  711. package/es/tag-input/_example/controlled-uncontrolled.js +47 -0
  712. package/es/tag-input/_example/controlled-uncontrolled.js.map +1 -0
  713. package/es/tag-input/_example/default.js +31 -0
  714. package/es/tag-input/_example/default.js.map +1 -0
  715. package/es/tag-input/_example/disabled-readonly.js +50 -0
  716. package/es/tag-input/_example/disabled-readonly.js.map +1 -0
  717. package/es/tag-input/_example/events.js +84 -0
  718. package/es/tag-input/_example/events.js.map +1 -0
  719. package/es/tag-input/_example/excess-display.js +40 -0
  720. package/es/tag-input/_example/excess-display.js.map +1 -0
  721. package/es/tag-input/_example/max-tags.js +36 -0
  722. package/es/tag-input/_example/max-tags.js.map +1 -0
  723. package/es/tag-input/_example/sizes.js +51 -0
  724. package/es/tag-input/_example/sizes.js.map +1 -0
  725. package/es/tag-input/_example/status.js +49 -0
  726. package/es/tag-input/_example/status.js.map +1 -0
  727. package/es/tag-input/_example/with-label.js +31 -0
  728. package/es/tag-input/_example/with-label.js.map +1 -0
  729. package/es/tag-input/hooks/useTagList.js +11 -10
  730. package/es/tag-input/hooks/useTagList.js.map +1 -1
  731. package/es/tag-input/index.js +7 -6
  732. package/es/tag-input/index.js.map +1 -1
  733. package/es/tag-input/useTagList.js +11 -10
  734. package/es/tag-input/useTagList.js.map +1 -1
  735. package/es/tooltip/Tooltip.js +100 -0
  736. package/es/tooltip/Tooltip.js.map +1 -0
  737. package/es/tooltip/_example/base.js +32 -0
  738. package/es/tooltip/_example/base.js.map +1 -0
  739. package/es/tooltip/_example/custom-content.js +62 -0
  740. package/es/tooltip/_example/custom-content.js.map +1 -0
  741. package/es/tooltip/_example/placement.js +31 -0
  742. package/es/tooltip/_example/placement.js.map +1 -0
  743. package/es/tooltip/_example/theme.js +47 -0
  744. package/es/tooltip/_example/theme.js.map +1 -0
  745. package/es/tooltip/index.js +36 -0
  746. package/es/tooltip/index.js.map +1 -0
  747. package/es/tooltip/style/index.css +59 -0
  748. package/es/tooltip/style/index.js +2 -0
  749. package/es/tooltip/style/index.js.map +1 -0
  750. package/es/utils/log/index.js.map +1 -1
  751. package/package.json +3 -3
  752. package/es/_chunks/dep-5U9UjDaf.js +0 -345
  753. package/es/_chunks/dep-5U9UjDaf.js.map +0 -1
  754. package/es/_chunks/dep-BuIAffJt.js.map +0 -1
  755. package/es/_chunks/dep-CD_4-1Xb.js.map +0 -1
  756. package/es/_chunks/dep-CMPsNAXF.js.map +0 -1
  757. package/es/_chunks/dep-CkmtEv0Y.js.map +0 -1
  758. package/es/_chunks/dep-DJmE940f.js.map +0 -1
  759. package/es/_chunks/dep-DURB9x8g.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { _ as _defineProperty } from './dep-Cwish4GD.js';
2
2
  import { _ as _toConsumableArray } from './dep-CgyDw_YI.js';
3
3
  import { _ as _slicedToArray } from './dep-CzLhKWCf.js';
4
- import React, { forwardRef, useState, useRef, useEffect, useCallback, useImperativeHandle } from 'react';
4
+ import React__default, { forwardRef, useState, useRef, useEffect, useCallback, useImperativeHandle } from 'react';
5
5
  import classNames from 'classnames';
6
6
  import { IconClose } from '@tendaui/icons';
7
7
  import { u as useDefaultProps } from './dep-DGvfel3I.js';
8
- import { u as useControlled } from './dep-DwWrhxkd.js';
9
- import { u as useConfig } from './dep-gy8uvBaS.js';
8
+ import { u as useControlled } from './dep-grkSd2UB.js';
9
+ import { u as useConfig } from './dep-u1x3x6MJ.js';
10
10
  import '../ip-input/style/css.js';
11
11
 
12
12
  var ipInputDefaultProps = {
@@ -384,12 +384,12 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
384
384
  var showClearButton = showClear && isHover && getCurrentValue() && !disabled && !readOnly;
385
385
  var displaySeparator = separator || (isIPv6Mode ? ":" : ".");
386
386
  var renderIPv4Input = function renderIPv4Input() {
387
- return /* @__PURE__ */React.createElement("div", {
387
+ return /* @__PURE__ */React__default.createElement("div", {
388
388
  className: "".concat(classPrefix, "-ip-input__segments")
389
389
  }, segments.map(function (segment, index) {
390
- return /* @__PURE__ */React.createElement(React.Fragment, {
390
+ return /* @__PURE__ */React__default.createElement(React__default.Fragment, {
391
391
  key: index
392
- }, /* @__PURE__ */React.createElement("input", {
392
+ }, /* @__PURE__ */React__default.createElement("input", {
393
393
  ref: function ref(el) {
394
394
  segmentRefs.current[index] = el;
395
395
  },
@@ -417,12 +417,12 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
417
417
  id: index === 0 ? id : void 0,
418
418
  name: index === 0 ? name : void 0,
419
419
  "aria-label": ariaLabel ? "".concat(ariaLabel, " \u7B2C ").concat(index + 1, " \u6BB5") : "IP \u5730\u5740\u7B2C ".concat(index + 1, " \u6BB5")
420
- }), index < 3 && showSegmentSeparators && /* @__PURE__ */React.createElement("span", {
420
+ }), index < 3 && showSegmentSeparators && /* @__PURE__ */React__default.createElement("span", {
421
421
  className: "".concat(classPrefix, "-ip-input__separator")
422
422
  }, displaySeparator));
423
- }), allowCIDR && /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement("span", {
423
+ }), allowCIDR && /* @__PURE__ */React__default.createElement(React__default.Fragment, null, /* @__PURE__ */React__default.createElement("span", {
424
424
  className: "".concat(classPrefix, "-ip-input__separator")
425
- }, "/"), /* @__PURE__ */React.createElement("input", {
425
+ }, "/"), /* @__PURE__ */React__default.createElement("input", {
426
426
  ref: cidrRef,
427
427
  type: "text",
428
428
  inputMode: "numeric",
@@ -443,9 +443,9 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
443
443
  })));
444
444
  };
445
445
  var renderIPv6Input = function renderIPv6Input() {
446
- return /* @__PURE__ */React.createElement("div", {
446
+ return /* @__PURE__ */React__default.createElement("div", {
447
447
  className: "".concat(classPrefix, "-ip-input__ipv6-wrapper")
448
- }, /* @__PURE__ */React.createElement("input", {
448
+ }, /* @__PURE__ */React__default.createElement("input", {
449
449
  ref: ipv6Ref,
450
450
  type: "text",
451
451
  value: ipv6Value,
@@ -463,9 +463,9 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
463
463
  id: id,
464
464
  name: name,
465
465
  "aria-label": ariaLabel || "IPv6 \u5730\u5740"
466
- }), allowCIDR && /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement("span", {
466
+ }), allowCIDR && /* @__PURE__ */React__default.createElement(React__default.Fragment, null, /* @__PURE__ */React__default.createElement("span", {
467
467
  className: "".concat(classPrefix, "-ip-input__separator")
468
- }, "/"), /* @__PURE__ */React.createElement("input", {
468
+ }, "/"), /* @__PURE__ */React__default.createElement("input", {
469
469
  ref: cidrRef,
470
470
  type: "text",
471
471
  inputMode: "numeric",
@@ -485,7 +485,7 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
485
485
  "aria-label": ariaLabel ? "".concat(ariaLabel, " \u63A9\u7801") : "CIDR \u63A9\u7801"
486
486
  })));
487
487
  };
488
- return /* @__PURE__ */React.createElement("div", {
488
+ return /* @__PURE__ */React__default.createElement("div", {
489
489
  className: classNames("".concat(classPrefix, "-ip-input"), className, _defineProperty(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-is-disabled"), disabled), "".concat(classPrefix, "-is-readonly"), readOnly), "".concat(classPrefix, "-is-focused"), isFocused)),
490
490
  style: style,
491
491
  onMouseEnter: function onMouseEnter() {
@@ -494,19 +494,19 @@ var IPInput = /*#__PURE__*/forwardRef(function (originalProps, ref) {
494
494
  onMouseLeave: function onMouseLeave() {
495
495
  return setIsHover(false);
496
496
  }
497
- }, /* @__PURE__ */React.createElement("div", {
497
+ }, /* @__PURE__ */React__default.createElement("div", {
498
498
  className: "".concat(classPrefix, "-ip-input__wrapper")
499
- }, isIPv6Mode ? renderIPv6Input() : renderIPv4Input(), showClearButton && /* @__PURE__ */React.createElement(IconClose, {
499
+ }, isIPv6Mode ? renderIPv6Input() : renderIPv4Input(), showClearButton && /* @__PURE__ */React__default.createElement(IconClose, {
500
500
  className: "".concat(classPrefix, "-ip-input__clear ").concat(classPrefix, "-icon"),
501
501
  onClick: handleClear,
502
502
  onMouseDown: function onMouseDown(e) {
503
503
  return e.stopPropagation();
504
504
  }
505
- })), tips && /* @__PURE__ */React.createElement("div", {
505
+ })), tips && /* @__PURE__ */React__default.createElement("div", {
506
506
  className: "".concat(classPrefix, "-ip-input__tips")
507
507
  }, tips));
508
508
  });
509
509
  IPInput.displayName = "IPInput";
510
510
 
511
511
  export { IPInput as I, isValidIPv4 as a, isValidCIDRMask as b, isValidIPv6 as c, extractIPFromText as e, isValidIPv4Segment as i, parseIPv4ToSegments as p, segmentsToIPv4 as s };
512
- //# sourceMappingURL=dep-D68MD94M.js.map
512
+ //# sourceMappingURL=dep-BZdpKjaa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep-D68MD94M.js","sources":["../../../components/ip-input/defaultProps.ts","../../../components/ip-input/utils.ts","../../../components/ip-input/IPInput.tsx"],"sourcesContent":["import { TdIPInputProps } from \"./type\";\n\nexport const ipInputDefaultProps: Partial<TdIPInputProps> = {\n allowIPv6: false,\n allowCIDR: false,\n readOnly: false,\n showClear: false,\n autoFocus: false,\n showSegmentSeparators: true,\n defaultValue: \"\"\n};\n","/**\n * IP 地址验证和解析工具函数\n */\n\n/**\n * 验证 IPv4 地址段(0-255)\n */\nexport function isValidIPv4Segment(segment: string, allowLeadingZeros: boolean = false): boolean {\n if (!segment || segment.trim() === \"\") return false;\n\n // 不允许前导零\n if (!allowLeadingZeros && segment.length > 1 && segment[0] === \"0\") {\n return false;\n }\n\n const num = parseInt(segment, 10);\n return !isNaN(num) && num >= 0 && num <= 255 && num.toString() === segment;\n}\n\n/**\n * 验证 IPv4 地址\n */\nexport function isValidIPv4(ip: string, allowLeadingZeros: boolean = false): boolean {\n if (!ip || typeof ip !== \"string\") return false;\n\n const segments = ip.split(\".\");\n if (segments.length !== 4) return false;\n\n return segments.every((seg) => isValidIPv4Segment(seg, allowLeadingZeros));\n}\n\n/**\n * 验证 CIDR 掩码(IPv4: 0-32, IPv6: 0-128)\n */\nexport function isValidCIDRMask(mask: string, isIPv6: boolean = false): boolean {\n if (!mask || typeof mask !== \"string\") return false;\n\n const num = parseInt(mask, 10);\n if (isNaN(num)) return false;\n\n const max = isIPv6 ? 128 : 32;\n return num >= 0 && num <= max;\n}\n\n/**\n * 验证 IPv6 地址(简化版,使用正则)\n * 支持压缩表示法 :: 和混合 IPv4/IPv6\n */\nexport function isValidIPv6(ip: string): boolean {\n if (!ip || typeof ip !== \"string\") return false;\n\n // 简化的 IPv6 验证正则\n // 支持:\n // - 标准格式:2001:0db8:85a3:0000:0000:8a2e:0370:7334\n // - 压缩格式:2001:db8::1\n // - 混合格式:::ffff:192.168.0.1\n const ipv6Regex =\n /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\n\n return ipv6Regex.test(ip);\n}\n\n/**\n * 从文本中提取 IP 地址\n */\nexport function extractIPFromText(text: string): { ip: string; cidr?: string } | null {\n if (!text || typeof text !== \"string\") return null;\n\n // 尝试提取 IPv4\n const ipv4Regex = /(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(?:\\/(\\d{1,2}))?/;\n const ipv4Match = text.match(ipv4Regex);\n if (ipv4Match) {\n const ip = ipv4Match[1];\n const cidr = ipv4Match[2];\n if (isValidIPv4(ip, true)) {\n return { ip, cidr };\n }\n }\n\n // 尝试提取 IPv6\n const ipv6Regex = /([0-9a-fA-F:]+(?::[0-9a-fA-F:]+)*|::)(?:\\/(\\d{1,3}))?/;\n const ipv6Match = text.match(ipv6Regex);\n if (ipv6Match) {\n const ip = ipv6Match[1];\n const cidr = ipv6Match[2];\n if (isValidIPv6(ip)) {\n return { ip, cidr };\n }\n }\n\n return null;\n}\n\n/**\n * 解析 IP 地址为段数组(IPv4)\n */\nexport function parseIPv4ToSegments(ip: string): string[] {\n if (!ip) return [\"\", \"\", \"\", \"\"];\n const segments = ip.split(\".\");\n return [segments[0] || \"\", segments[1] || \"\", segments[2] || \"\", segments[3] || \"\"];\n}\n\n/**\n * 将段数组组合为 IP 地址(IPv4)\n */\nexport function segmentsToIPv4(segments: string[]): string {\n // 如果所有段都为空,返回空字符串\n if (segments.every((seg) => !seg || seg.trim() === \"\")) {\n return \"\";\n }\n return segments.join(\".\");\n}\n","import React, {\n useState,\n useRef,\n useEffect,\n useImperativeHandle,\n forwardRef,\n useCallback,\n KeyboardEvent,\n ClipboardEvent,\n ChangeEvent\n} from \"react\";\nimport classNames from \"classnames\";\nimport { IconClose } from \"@tendaui/icons\";\nimport { IPInputProps, IPInputRef } from \"./type\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useControlled from \"../hooks/useControlled\";\nimport useConfig from \"../hooks/useConfig\";\nimport { ipInputDefaultProps } from \"./defaultProps\";\nimport { extractIPFromText, parseIPv4ToSegments, segmentsToIPv4 } from \"./utils\";\nimport \"./style/index.js\";\n\nconst IPInput = forwardRef<IPInputRef, IPInputProps>((originalProps, ref) => {\n const props = useDefaultProps<IPInputProps>(originalProps, ipInputDefaultProps as Partial<IPInputProps>);\n const { classPrefix } = useConfig();\n\n const {\n onChange: onChangeProp,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n allowIPv6 = false,\n allowCIDR = false,\n placeholder,\n disabled,\n readOnly = false,\n showClear = false,\n autoFocus = false,\n showSegmentSeparators = true,\n formatter,\n id,\n name,\n ariaLabel,\n segmentClassName,\n inputStyle,\n separator,\n tips,\n className,\n style\n } = props;\n\n // 受控/非受控值管理\n const [value, onChange] = useControlled(props, \"value\", onChangeProp);\n\n // IPv4 模式:四个输入框的状态\n const [segments, setSegments] = useState<string[]>(() => {\n if (value) {\n const parsed = parseIPv4ToSegments(value.split(\"/\")[0]);\n return parsed;\n }\n return [\"\", \"\", \"\", \"\"];\n });\n\n // CIDR 掩码状态\n const [cidrMask, setCidrMask] = useState<string>(() => {\n if (value && value.includes(\"/\")) {\n return value.split(\"/\")[1] || \"\";\n }\n return \"\";\n });\n\n // IPv6 模式:单输入框状态\n const [ipv6Value, setIpv6Value] = useState<string>(() => {\n if (value && allowIPv6 && value.includes(\":\")) {\n return value.split(\"/\")[0];\n }\n return \"\";\n });\n\n // 输入框引用\n const segmentRefs = useRef<(HTMLInputElement | null)[]>([]);\n const cidrRef = useRef<HTMLInputElement | null>(null);\n const ipv6Ref = useRef<HTMLInputElement | null>(null);\n\n // UI 状态\n const [isFocused, setIsFocused] = useState(false);\n const [isHover, setIsHover] = useState(false);\n const [focusedSegmentIndex, setFocusedSegmentIndex] = useState<number>(-1);\n\n // 判断当前是否为 IPv6 模式\n const isIPv6Mode = allowIPv6 && (ipv6Value || (value && value.includes(\":\")));\n\n // 同步外部 value 到内部状态\n useEffect(() => {\n if (value !== undefined) {\n if (isIPv6Mode) {\n const ip = value.split(\"/\")[0];\n setIpv6Value(ip);\n if (value.includes(\"/\")) {\n setCidrMask(value.split(\"/\")[1] || \"\");\n } else {\n setCidrMask(\"\");\n }\n } else {\n const parsed = parseIPv4ToSegments(value.split(\"/\")[0]);\n setSegments(parsed);\n if (value.includes(\"/\")) {\n setCidrMask(value.split(\"/\")[1] || \"\");\n } else {\n setCidrMask(\"\");\n }\n }\n }\n }, [value, isIPv6Mode]);\n\n // 获取当前完整值\n const getCurrentValue = useCallback((): string => {\n if (isIPv6Mode) {\n if (cidrMask) {\n return `${ipv6Value}/${cidrMask}`;\n }\n return ipv6Value;\n } else {\n const ip = segmentsToIPv4(segments);\n\n if (cidrMask) {\n return `${ip}/${cidrMask}`;\n }\n return ip;\n }\n }, [isIPv6Mode, ipv6Value, segments, cidrMask]);\n\n // 触发 onChange\n const triggerChange = useCallback(\n (newValue: string) => {\n // 应用格式化函数(如果有)\n const formattedValue = formatter ? formatter(newValue) : newValue;\n onChange?.(formattedValue);\n },\n [formatter, onChange]\n );\n\n // IPv4 段输入处理\n const handleSegmentChange = useCallback(\n (index: number, newValue: string) => {\n // 只允许数字\n const numericValue = newValue.replace(/[^\\d]/g, \"\");\n\n // 限制长度\n let finalValue = numericValue;\n if (numericValue.length > 3) {\n finalValue = numericValue.slice(0, 3);\n }\n\n // 更新段\n const newSegments = [...segments];\n newSegments[index] = finalValue;\n setSegments(newSegments);\n\n // 自动跳转到下一段\n if (finalValue.length === 3 && index < 3) {\n segmentRefs.current[index + 1]?.focus();\n }\n\n // 组合完整 IP\n const ip = segmentsToIPv4(newSegments);\n const fullValue = cidrMask ? `${ip}/${cidrMask}` : ip;\n triggerChange(fullValue);\n },\n [segments, cidrMask, triggerChange]\n );\n\n // IPv4 段键盘事件\n const handleSegmentKeyDown = useCallback((index: number, e: KeyboardEvent<HTMLInputElement>) => {\n const input = e.currentTarget;\n const value = input.value;\n const cursorPos = input.selectionStart || 0;\n\n // 右箭头:移动到下一段或末尾\n if (e.key === \"ArrowRight\") {\n if (cursorPos === value.length && index < 3) {\n e.preventDefault();\n segmentRefs.current[index + 1]?.focus();\n }\n }\n\n // 左箭头:移动到上一段或开头\n if (e.key === \"ArrowLeft\") {\n if (cursorPos === 0 && index > 0) {\n e.preventDefault();\n segmentRefs.current[index - 1]?.focus();\n }\n }\n\n // Backspace:在开头时跳转到上一段\n if (e.key === \"Backspace\") {\n if (cursorPos === 0 && value === \"\" && index > 0) {\n e.preventDefault();\n const prevInput = segmentRefs.current[index - 1];\n if (prevInput) {\n prevInput.focus();\n prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n }\n }\n }\n\n // 点号或空格:跳转到下一段\n if ((e.key === \".\" || e.key === \" \") && index < 3) {\n e.preventDefault();\n segmentRefs.current[index + 1]?.focus();\n }\n\n // Delete:删除当前字符\n if (e.key === \"Delete\" && cursorPos === value.length && index < 3) {\n // 可以在这里添加特殊处理\n }\n }, []);\n\n // IPv4 段粘贴处理\n const handleSegmentPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n const pasteText = e.clipboardData.getData(\"text/plain\");\n const extracted = extractIPFromText(pasteText);\n\n if (extracted) {\n if (extracted.ip.includes(\":\")) {\n // IPv6\n if (allowIPv6) {\n setIpv6Value(extracted.ip);\n if (extracted.cidr) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n } else {\n // IPv4\n const parsed = parseIPv4ToSegments(extracted.ip);\n setSegments(parsed);\n if (extracted.cidr && allowCIDR) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr && allowCIDR ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n }\n },\n [allowIPv6, allowCIDR, triggerChange]\n );\n\n // CIDR 掩码输入处理\n const handleCIDRChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const newMask = e.target.value.replace(/[^\\d]/g, \"\");\n const maxLength = isIPv6Mode ? 3 : 2;\n const finalMask = newMask.slice(0, maxLength);\n\n setCidrMask(finalMask);\n\n const ip = isIPv6Mode ? ipv6Value : segmentsToIPv4(segments);\n const fullValue = finalMask ? `${ip}/${finalMask}` : ip;\n triggerChange(fullValue);\n },\n [isIPv6Mode, ipv6Value, segments, triggerChange]\n );\n\n // IPv6 输入处理\n const handleIPv6Change = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n setIpv6Value(newValue);\n\n const fullValue = cidrMask ? `${newValue}/${cidrMask}` : newValue;\n triggerChange(fullValue);\n },\n [cidrMask, triggerChange]\n );\n\n // IPv6 粘贴处理\n const handleIPv6Paste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n const pasteText = e.clipboardData.getData(\"text/plain\");\n const extracted = extractIPFromText(pasteText);\n\n if (extracted) {\n setIpv6Value(extracted.ip);\n if (extracted.cidr && allowCIDR) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr && allowCIDR ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n },\n [allowCIDR, triggerChange]\n );\n\n // 焦点处理\n const handleFocus = useCallback(\n (index?: number) => {\n setIsFocused(true);\n if (index !== undefined) {\n setFocusedSegmentIndex(index);\n }\n onFocusProp?.();\n },\n [onFocusProp]\n );\n\n // 失焦处理\n const handleBlur = useCallback(() => {\n setIsFocused(false);\n setFocusedSegmentIndex(-1);\n\n const currentValue = getCurrentValue();\n onBlurProp?.(currentValue);\n }, [getCurrentValue, onBlurProp]);\n\n // 清空处理\n const handleClear = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (disabled || readOnly) return;\n\n setSegments([\"\", \"\", \"\", \"\"]);\n setIpv6Value(\"\");\n setCidrMask(\"\");\n onChange?.(\"\");\n },\n [disabled, readOnly, onChange]\n );\n\n // 暴露给父组件的方法\n useImperativeHandle(ref, () => ({\n focus: () => {\n if (isIPv6Mode) {\n ipv6Ref.current?.focus();\n } else {\n segmentRefs.current[0]?.focus();\n }\n },\n blur: () => {\n if (isIPv6Mode) {\n ipv6Ref.current?.blur();\n } else {\n segmentRefs.current.forEach((ref) => ref?.blur());\n }\n cidrRef.current?.blur();\n },\n clear: () => {\n setSegments([\"\", \"\", \"\", \"\"]);\n setIpv6Value(\"\");\n setCidrMask(\"\");\n onChange?.(\"\");\n },\n getValue: () => getCurrentValue()\n }));\n\n // 自动聚焦\n useEffect(() => {\n if (autoFocus && !disabled && !readOnly) {\n if (isIPv6Mode) {\n ipv6Ref.current?.focus();\n } else {\n segmentRefs.current[0]?.focus();\n }\n }\n }, [autoFocus, disabled, readOnly, isIPv6Mode]);\n\n const showClearButton = showClear && isHover && getCurrentValue() && !disabled && !readOnly;\n\n // 分隔符\n const displaySeparator = separator || (isIPv6Mode ? \":\" : \".\");\n\n // 渲染 IPv4 模式\n const renderIPv4Input = () => {\n return (\n <div className={`${classPrefix}-ip-input__segments`}>\n {segments.map((segment, index) => {\n return (\n <React.Fragment key={index}>\n <input\n ref={(el) => {\n segmentRefs.current[index] = el;\n }}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={3}\n value={segment}\n onChange={(e) => handleSegmentChange(index, e.target.value)}\n onKeyDown={(e) => handleSegmentKeyDown(index, e)}\n onPaste={handleSegmentPaste}\n onFocus={() => handleFocus(index)}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder ? placeholder.split(\".\")[index] : undefined}\n className={classNames(`${classPrefix}-ip-input__segment`, segmentClassName, {\n [`${classPrefix}-ip-input__segment--focused`]: focusedSegmentIndex === index\n })}\n style={inputStyle}\n id={index === 0 ? id : undefined}\n name={index === 0 ? name : undefined}\n aria-label={ariaLabel ? `${ariaLabel} 第 ${index + 1} 段` : `IP 地址第 ${index + 1} 段`}\n />\n {index < 3 && showSegmentSeparators && (\n <span className={`${classPrefix}-ip-input__separator`}>{displaySeparator}</span>\n )}\n </React.Fragment>\n );\n })}\n {allowCIDR && (\n <>\n <span className={`${classPrefix}-ip-input__separator`}>/</span>\n <input\n ref={cidrRef}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={2}\n value={cidrMask}\n onChange={handleCIDRChange}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder=\"24\"\n className={classNames(`${classPrefix}-ip-input__cidr`, segmentClassName, {\n [`${classPrefix}-ip-input__cidr--error`]: cidrMask && !/^(0|[1-9]\\d?|3[0-2])$/.test(cidrMask)\n })}\n style={inputStyle}\n aria-label={ariaLabel ? `${ariaLabel} 掩码` : \"CIDR 掩码\"}\n />\n </>\n )}\n </div>\n );\n };\n\n // 渲染 IPv6 模式\n const renderIPv6Input = () => {\n return (\n <div className={`${classPrefix}-ip-input__ipv6-wrapper`}>\n <input\n ref={ipv6Ref}\n type=\"text\"\n value={ipv6Value}\n onChange={handleIPv6Change}\n onPaste={handleIPv6Paste}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder || \"2001:db8::1\"}\n className={classNames(`${classPrefix}-ip-input__ipv6`, segmentClassName)}\n style={inputStyle}\n id={id}\n name={name}\n aria-label={ariaLabel || \"IPv6 地址\"}\n />\n {allowCIDR && (\n <>\n <span className={`${classPrefix}-ip-input__separator`}>/</span>\n <input\n ref={cidrRef}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={3}\n value={cidrMask}\n onChange={handleCIDRChange}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder=\"64\"\n className={classNames(`${classPrefix}-ip-input__cidr`, segmentClassName)}\n style={inputStyle}\n aria-label={ariaLabel ? `${ariaLabel} 掩码` : \"CIDR 掩码\"}\n />\n </>\n )}\n </div>\n );\n };\n\n return (\n <div\n className={classNames(`${classPrefix}-ip-input`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-is-readonly`]: readOnly,\n [`${classPrefix}-is-focused`]: isFocused\n // 不在这里添加 is-error,因为每个段有自己的错误状态\n })}\n style={style}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n <div className={`${classPrefix}-ip-input__wrapper`}>\n {isIPv6Mode ? renderIPv6Input() : renderIPv4Input()}\n {showClearButton && (\n <IconClose\n className={`${classPrefix}-ip-input__clear ${classPrefix}-icon`}\n onClick={handleClear}\n onMouseDown={(e) => e.stopPropagation()}\n />\n )}\n </div>\n {tips && <div className={`${classPrefix}-ip-input__tips`}>{tips}</div>}\n </div>\n );\n});\n\nIPInput.displayName = \"IPInput\";\n\nexport default IPInput;\n"],"names":["ipInputDefaultProps","allowIPv6","allowCIDR","readOnly","showClear","autoFocus","showSegmentSeparators","defaultValue","isValidIPv4Segment","segment","allowLeadingZeros","arguments","length","undefined","trim","num","parseInt","isNaN","toString","isValidIPv4","ip","segments","split","every","seg","isValidCIDRMask","mask","isIPv6","max","isValidIPv6","ipv6Regex","test","extractIPFromText","text","ipv4Regex","ipv4Match","match","cidr","ipv6Match","parseIPv4ToSegments","segmentsToIPv4","join","IPInput","forwardRef","originalProps","ref","props","useDefaultProps","_useConfig","useConfig","classPrefix","onChangeProp","onChange","onBlurProp","onBlur","onFocusProp","onFocus","_props$allowIPv","_props$allowCIDR","placeholder","disabled","_props$readOnly","_props$showClear","_props$autoFocus","_props$showSegmentSep","formatter","id","name","ariaLabel","segmentClassName","inputStyle","separator","tips","className","style","_useControlled","useControlled","_useControlled2","_slicedToArray","value","_useState","useState","parsed","_useState2","setSegments","_useState3","includes","_useState4","cidrMask","setCidrMask","_useState5","_useState6","ipv6Value","setIpv6Value","segmentRefs","useRef","cidrRef","ipv6Ref","_useState7","_useState8","isFocused","setIsFocused","_useState9","_useState0","isHover","setIsHover","_useState1","_useState10","focusedSegmentIndex","setFocusedSegmentIndex","isIPv6Mode","useEffect","getCurrentValue","useCallback","concat","triggerChange","newValue","formattedValue","handleSegmentChange","index","numericValue","replace","finalValue","slice","newSegments","_toConsumableArray","_segmentRefs$current","current","focus","fullValue","handleSegmentKeyDown","e","input","currentTarget","cursorPos","selectionStart","key","_segmentRefs$current2","preventDefault","_segmentRefs$current3","prevInput","setSelectionRange","_segmentRefs$current4","handleSegmentPaste","pasteText","clipboardData","getData","extracted","handleCIDRChange","newMask","target","maxLength","finalMask","handleIPv6Change","handleIPv6Paste","handleFocus","handleBlur","currentValue","handleClear","stopPropagation","useImperativeHandle","_ipv6Ref$current","_segmentRefs$current$","blur","_cidrRef$current","_ipv6Ref$current2","forEach","clear","getValue","_ipv6Ref$current3","_segmentRefs$current$2","showClearButton","displaySeparator","renderIPv4Input","React","createElement","map","Fragment","el","type","inputMode","pattern","onKeyDown","onPaste","classNames","_defineProperty","renderIPv6Input","onMouseEnter","onMouseLeave","IconClose","onClick","onMouseDown","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"dep-BZdpKjaa.js","sources":["../../../components/ip-input/defaultProps.ts","../../../components/ip-input/utils.ts","../../../components/ip-input/IPInput.tsx"],"sourcesContent":["import { TdIPInputProps } from \"./type\";\n\nexport const ipInputDefaultProps: Partial<TdIPInputProps> = {\n allowIPv6: false,\n allowCIDR: false,\n readOnly: false,\n showClear: false,\n autoFocus: false,\n showSegmentSeparators: true,\n defaultValue: \"\"\n};\n","/**\n * IP 地址验证和解析工具函数\n */\n\n/**\n * 验证 IPv4 地址段(0-255)\n */\nexport function isValidIPv4Segment(segment: string, allowLeadingZeros: boolean = false): boolean {\n if (!segment || segment.trim() === \"\") return false;\n\n // 不允许前导零\n if (!allowLeadingZeros && segment.length > 1 && segment[0] === \"0\") {\n return false;\n }\n\n const num = parseInt(segment, 10);\n return !isNaN(num) && num >= 0 && num <= 255 && num.toString() === segment;\n}\n\n/**\n * 验证 IPv4 地址\n */\nexport function isValidIPv4(ip: string, allowLeadingZeros: boolean = false): boolean {\n if (!ip || typeof ip !== \"string\") return false;\n\n const segments = ip.split(\".\");\n if (segments.length !== 4) return false;\n\n return segments.every((seg) => isValidIPv4Segment(seg, allowLeadingZeros));\n}\n\n/**\n * 验证 CIDR 掩码(IPv4: 0-32, IPv6: 0-128)\n */\nexport function isValidCIDRMask(mask: string, isIPv6: boolean = false): boolean {\n if (!mask || typeof mask !== \"string\") return false;\n\n const num = parseInt(mask, 10);\n if (isNaN(num)) return false;\n\n const max = isIPv6 ? 128 : 32;\n return num >= 0 && num <= max;\n}\n\n/**\n * 验证 IPv6 地址(简化版,使用正则)\n * 支持压缩表示法 :: 和混合 IPv4/IPv6\n */\nexport function isValidIPv6(ip: string): boolean {\n if (!ip || typeof ip !== \"string\") return false;\n\n // 简化的 IPv6 验证正则\n // 支持:\n // - 标准格式:2001:0db8:85a3:0000:0000:8a2e:0370:7334\n // - 压缩格式:2001:db8::1\n // - 混合格式:::ffff:192.168.0.1\n const ipv6Regex =\n /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\n\n return ipv6Regex.test(ip);\n}\n\n/**\n * 从文本中提取 IP 地址\n */\nexport function extractIPFromText(text: string): { ip: string; cidr?: string } | null {\n if (!text || typeof text !== \"string\") return null;\n\n // 尝试提取 IPv4\n const ipv4Regex = /(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(?:\\/(\\d{1,2}))?/;\n const ipv4Match = text.match(ipv4Regex);\n if (ipv4Match) {\n const ip = ipv4Match[1];\n const cidr = ipv4Match[2];\n if (isValidIPv4(ip, true)) {\n return { ip, cidr };\n }\n }\n\n // 尝试提取 IPv6\n const ipv6Regex = /([0-9a-fA-F:]+(?::[0-9a-fA-F:]+)*|::)(?:\\/(\\d{1,3}))?/;\n const ipv6Match = text.match(ipv6Regex);\n if (ipv6Match) {\n const ip = ipv6Match[1];\n const cidr = ipv6Match[2];\n if (isValidIPv6(ip)) {\n return { ip, cidr };\n }\n }\n\n return null;\n}\n\n/**\n * 解析 IP 地址为段数组(IPv4)\n */\nexport function parseIPv4ToSegments(ip: string): string[] {\n if (!ip) return [\"\", \"\", \"\", \"\"];\n const segments = ip.split(\".\");\n return [segments[0] || \"\", segments[1] || \"\", segments[2] || \"\", segments[3] || \"\"];\n}\n\n/**\n * 将段数组组合为 IP 地址(IPv4)\n */\nexport function segmentsToIPv4(segments: string[]): string {\n // 如果所有段都为空,返回空字符串\n if (segments.every((seg) => !seg || seg.trim() === \"\")) {\n return \"\";\n }\n return segments.join(\".\");\n}\n","import React, {\n useState,\n useRef,\n useEffect,\n useImperativeHandle,\n forwardRef,\n useCallback,\n KeyboardEvent,\n ClipboardEvent,\n ChangeEvent\n} from \"react\";\nimport classNames from \"classnames\";\nimport { IconClose } from \"@tendaui/icons\";\nimport { IPInputProps, IPInputRef } from \"./type\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useControlled from \"../hooks/useControlled\";\nimport useConfig from \"../hooks/useConfig\";\nimport { ipInputDefaultProps } from \"./defaultProps\";\nimport { extractIPFromText, parseIPv4ToSegments, segmentsToIPv4 } from \"./utils\";\nimport \"./style/index.js\";\n\nconst IPInput = forwardRef<IPInputRef, IPInputProps>((originalProps, ref) => {\n const props = useDefaultProps<IPInputProps>(originalProps, ipInputDefaultProps as Partial<IPInputProps>);\n const { classPrefix } = useConfig();\n\n const {\n onChange: onChangeProp,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n allowIPv6 = false,\n allowCIDR = false,\n placeholder,\n disabled,\n readOnly = false,\n showClear = false,\n autoFocus = false,\n showSegmentSeparators = true,\n formatter,\n id,\n name,\n ariaLabel,\n segmentClassName,\n inputStyle,\n separator,\n tips,\n className,\n style\n } = props;\n\n // 受控/非受控值管理\n const [value, onChange] = useControlled(props, \"value\", onChangeProp);\n\n // IPv4 模式:四个输入框的状态\n const [segments, setSegments] = useState<string[]>(() => {\n if (value) {\n const parsed = parseIPv4ToSegments(value.split(\"/\")[0]);\n return parsed;\n }\n return [\"\", \"\", \"\", \"\"];\n });\n\n // CIDR 掩码状态\n const [cidrMask, setCidrMask] = useState<string>(() => {\n if (value && value.includes(\"/\")) {\n return value.split(\"/\")[1] || \"\";\n }\n return \"\";\n });\n\n // IPv6 模式:单输入框状态\n const [ipv6Value, setIpv6Value] = useState<string>(() => {\n if (value && allowIPv6 && value.includes(\":\")) {\n return value.split(\"/\")[0];\n }\n return \"\";\n });\n\n // 输入框引用\n const segmentRefs = useRef<(HTMLInputElement | null)[]>([]);\n const cidrRef = useRef<HTMLInputElement | null>(null);\n const ipv6Ref = useRef<HTMLInputElement | null>(null);\n\n // UI 状态\n const [isFocused, setIsFocused] = useState(false);\n const [isHover, setIsHover] = useState(false);\n const [focusedSegmentIndex, setFocusedSegmentIndex] = useState<number>(-1);\n\n // 判断当前是否为 IPv6 模式\n const isIPv6Mode = allowIPv6 && (ipv6Value || (value && value.includes(\":\")));\n\n // 同步外部 value 到内部状态\n useEffect(() => {\n if (value !== undefined) {\n if (isIPv6Mode) {\n const ip = value.split(\"/\")[0];\n setIpv6Value(ip);\n if (value.includes(\"/\")) {\n setCidrMask(value.split(\"/\")[1] || \"\");\n } else {\n setCidrMask(\"\");\n }\n } else {\n const parsed = parseIPv4ToSegments(value.split(\"/\")[0]);\n setSegments(parsed);\n if (value.includes(\"/\")) {\n setCidrMask(value.split(\"/\")[1] || \"\");\n } else {\n setCidrMask(\"\");\n }\n }\n }\n }, [value, isIPv6Mode]);\n\n // 获取当前完整值\n const getCurrentValue = useCallback((): string => {\n if (isIPv6Mode) {\n if (cidrMask) {\n return `${ipv6Value}/${cidrMask}`;\n }\n return ipv6Value;\n } else {\n const ip = segmentsToIPv4(segments);\n\n if (cidrMask) {\n return `${ip}/${cidrMask}`;\n }\n return ip;\n }\n }, [isIPv6Mode, ipv6Value, segments, cidrMask]);\n\n // 触发 onChange\n const triggerChange = useCallback(\n (newValue: string) => {\n // 应用格式化函数(如果有)\n const formattedValue = formatter ? formatter(newValue) : newValue;\n onChange?.(formattedValue);\n },\n [formatter, onChange]\n );\n\n // IPv4 段输入处理\n const handleSegmentChange = useCallback(\n (index: number, newValue: string) => {\n // 只允许数字\n const numericValue = newValue.replace(/[^\\d]/g, \"\");\n\n // 限制长度\n let finalValue = numericValue;\n if (numericValue.length > 3) {\n finalValue = numericValue.slice(0, 3);\n }\n\n // 更新段\n const newSegments = [...segments];\n newSegments[index] = finalValue;\n setSegments(newSegments);\n\n // 自动跳转到下一段\n if (finalValue.length === 3 && index < 3) {\n segmentRefs.current[index + 1]?.focus();\n }\n\n // 组合完整 IP\n const ip = segmentsToIPv4(newSegments);\n const fullValue = cidrMask ? `${ip}/${cidrMask}` : ip;\n triggerChange(fullValue);\n },\n [segments, cidrMask, triggerChange]\n );\n\n // IPv4 段键盘事件\n const handleSegmentKeyDown = useCallback((index: number, e: KeyboardEvent<HTMLInputElement>) => {\n const input = e.currentTarget;\n const value = input.value;\n const cursorPos = input.selectionStart || 0;\n\n // 右箭头:移动到下一段或末尾\n if (e.key === \"ArrowRight\") {\n if (cursorPos === value.length && index < 3) {\n e.preventDefault();\n segmentRefs.current[index + 1]?.focus();\n }\n }\n\n // 左箭头:移动到上一段或开头\n if (e.key === \"ArrowLeft\") {\n if (cursorPos === 0 && index > 0) {\n e.preventDefault();\n segmentRefs.current[index - 1]?.focus();\n }\n }\n\n // Backspace:在开头时跳转到上一段\n if (e.key === \"Backspace\") {\n if (cursorPos === 0 && value === \"\" && index > 0) {\n e.preventDefault();\n const prevInput = segmentRefs.current[index - 1];\n if (prevInput) {\n prevInput.focus();\n prevInput.setSelectionRange(prevInput.value.length, prevInput.value.length);\n }\n }\n }\n\n // 点号或空格:跳转到下一段\n if ((e.key === \".\" || e.key === \" \") && index < 3) {\n e.preventDefault();\n segmentRefs.current[index + 1]?.focus();\n }\n\n // Delete:删除当前字符\n if (e.key === \"Delete\" && cursorPos === value.length && index < 3) {\n // 可以在这里添加特殊处理\n }\n }, []);\n\n // IPv4 段粘贴处理\n const handleSegmentPaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n const pasteText = e.clipboardData.getData(\"text/plain\");\n const extracted = extractIPFromText(pasteText);\n\n if (extracted) {\n if (extracted.ip.includes(\":\")) {\n // IPv6\n if (allowIPv6) {\n setIpv6Value(extracted.ip);\n if (extracted.cidr) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n } else {\n // IPv4\n const parsed = parseIPv4ToSegments(extracted.ip);\n setSegments(parsed);\n if (extracted.cidr && allowCIDR) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr && allowCIDR ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n }\n },\n [allowIPv6, allowCIDR, triggerChange]\n );\n\n // CIDR 掩码输入处理\n const handleCIDRChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const newMask = e.target.value.replace(/[^\\d]/g, \"\");\n const maxLength = isIPv6Mode ? 3 : 2;\n const finalMask = newMask.slice(0, maxLength);\n\n setCidrMask(finalMask);\n\n const ip = isIPv6Mode ? ipv6Value : segmentsToIPv4(segments);\n const fullValue = finalMask ? `${ip}/${finalMask}` : ip;\n triggerChange(fullValue);\n },\n [isIPv6Mode, ipv6Value, segments, triggerChange]\n );\n\n // IPv6 输入处理\n const handleIPv6Change = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n setIpv6Value(newValue);\n\n const fullValue = cidrMask ? `${newValue}/${cidrMask}` : newValue;\n triggerChange(fullValue);\n },\n [cidrMask, triggerChange]\n );\n\n // IPv6 粘贴处理\n const handleIPv6Paste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault();\n const pasteText = e.clipboardData.getData(\"text/plain\");\n const extracted = extractIPFromText(pasteText);\n\n if (extracted) {\n setIpv6Value(extracted.ip);\n if (extracted.cidr && allowCIDR) {\n setCidrMask(extracted.cidr);\n }\n const fullValue = extracted.cidr && allowCIDR ? `${extracted.ip}/${extracted.cidr}` : extracted.ip;\n triggerChange(fullValue);\n }\n },\n [allowCIDR, triggerChange]\n );\n\n // 焦点处理\n const handleFocus = useCallback(\n (index?: number) => {\n setIsFocused(true);\n if (index !== undefined) {\n setFocusedSegmentIndex(index);\n }\n onFocusProp?.();\n },\n [onFocusProp]\n );\n\n // 失焦处理\n const handleBlur = useCallback(() => {\n setIsFocused(false);\n setFocusedSegmentIndex(-1);\n\n const currentValue = getCurrentValue();\n onBlurProp?.(currentValue);\n }, [getCurrentValue, onBlurProp]);\n\n // 清空处理\n const handleClear = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (disabled || readOnly) return;\n\n setSegments([\"\", \"\", \"\", \"\"]);\n setIpv6Value(\"\");\n setCidrMask(\"\");\n onChange?.(\"\");\n },\n [disabled, readOnly, onChange]\n );\n\n // 暴露给父组件的方法\n useImperativeHandle(ref, () => ({\n focus: () => {\n if (isIPv6Mode) {\n ipv6Ref.current?.focus();\n } else {\n segmentRefs.current[0]?.focus();\n }\n },\n blur: () => {\n if (isIPv6Mode) {\n ipv6Ref.current?.blur();\n } else {\n segmentRefs.current.forEach((ref) => ref?.blur());\n }\n cidrRef.current?.blur();\n },\n clear: () => {\n setSegments([\"\", \"\", \"\", \"\"]);\n setIpv6Value(\"\");\n setCidrMask(\"\");\n onChange?.(\"\");\n },\n getValue: () => getCurrentValue()\n }));\n\n // 自动聚焦\n useEffect(() => {\n if (autoFocus && !disabled && !readOnly) {\n if (isIPv6Mode) {\n ipv6Ref.current?.focus();\n } else {\n segmentRefs.current[0]?.focus();\n }\n }\n }, [autoFocus, disabled, readOnly, isIPv6Mode]);\n\n const showClearButton = showClear && isHover && getCurrentValue() && !disabled && !readOnly;\n\n // 分隔符\n const displaySeparator = separator || (isIPv6Mode ? \":\" : \".\");\n\n // 渲染 IPv4 模式\n const renderIPv4Input = () => {\n return (\n <div className={`${classPrefix}-ip-input__segments`}>\n {segments.map((segment, index) => {\n return (\n <React.Fragment key={index}>\n <input\n ref={(el) => {\n segmentRefs.current[index] = el;\n }}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={3}\n value={segment}\n onChange={(e) => handleSegmentChange(index, e.target.value)}\n onKeyDown={(e) => handleSegmentKeyDown(index, e)}\n onPaste={handleSegmentPaste}\n onFocus={() => handleFocus(index)}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder ? placeholder.split(\".\")[index] : undefined}\n className={classNames(`${classPrefix}-ip-input__segment`, segmentClassName, {\n [`${classPrefix}-ip-input__segment--focused`]: focusedSegmentIndex === index\n })}\n style={inputStyle}\n id={index === 0 ? id : undefined}\n name={index === 0 ? name : undefined}\n aria-label={ariaLabel ? `${ariaLabel} 第 ${index + 1} 段` : `IP 地址第 ${index + 1} 段`}\n />\n {index < 3 && showSegmentSeparators && (\n <span className={`${classPrefix}-ip-input__separator`}>{displaySeparator}</span>\n )}\n </React.Fragment>\n );\n })}\n {allowCIDR && (\n <>\n <span className={`${classPrefix}-ip-input__separator`}>/</span>\n <input\n ref={cidrRef}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={2}\n value={cidrMask}\n onChange={handleCIDRChange}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder=\"24\"\n className={classNames(`${classPrefix}-ip-input__cidr`, segmentClassName, {\n [`${classPrefix}-ip-input__cidr--error`]: cidrMask && !/^(0|[1-9]\\d?|3[0-2])$/.test(cidrMask)\n })}\n style={inputStyle}\n aria-label={ariaLabel ? `${ariaLabel} 掩码` : \"CIDR 掩码\"}\n />\n </>\n )}\n </div>\n );\n };\n\n // 渲染 IPv6 模式\n const renderIPv6Input = () => {\n return (\n <div className={`${classPrefix}-ip-input__ipv6-wrapper`}>\n <input\n ref={ipv6Ref}\n type=\"text\"\n value={ipv6Value}\n onChange={handleIPv6Change}\n onPaste={handleIPv6Paste}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder || \"2001:db8::1\"}\n className={classNames(`${classPrefix}-ip-input__ipv6`, segmentClassName)}\n style={inputStyle}\n id={id}\n name={name}\n aria-label={ariaLabel || \"IPv6 地址\"}\n />\n {allowCIDR && (\n <>\n <span className={`${classPrefix}-ip-input__separator`}>/</span>\n <input\n ref={cidrRef}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n maxLength={3}\n value={cidrMask}\n onChange={handleCIDRChange}\n onFocus={() => handleFocus()}\n onBlur={handleBlur}\n disabled={disabled}\n readOnly={readOnly}\n placeholder=\"64\"\n className={classNames(`${classPrefix}-ip-input__cidr`, segmentClassName)}\n style={inputStyle}\n aria-label={ariaLabel ? `${ariaLabel} 掩码` : \"CIDR 掩码\"}\n />\n </>\n )}\n </div>\n );\n };\n\n return (\n <div\n className={classNames(`${classPrefix}-ip-input`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-is-readonly`]: readOnly,\n [`${classPrefix}-is-focused`]: isFocused\n // 不在这里添加 is-error,因为每个段有自己的错误状态\n })}\n style={style}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n <div className={`${classPrefix}-ip-input__wrapper`}>\n {isIPv6Mode ? renderIPv6Input() : renderIPv4Input()}\n {showClearButton && (\n <IconClose\n className={`${classPrefix}-ip-input__clear ${classPrefix}-icon`}\n onClick={handleClear}\n onMouseDown={(e) => e.stopPropagation()}\n />\n )}\n </div>\n {tips && <div className={`${classPrefix}-ip-input__tips`}>{tips}</div>}\n </div>\n );\n});\n\nIPInput.displayName = \"IPInput\";\n\nexport default IPInput;\n"],"names":["ipInputDefaultProps","allowIPv6","allowCIDR","readOnly","showClear","autoFocus","showSegmentSeparators","defaultValue","isValidIPv4Segment","segment","allowLeadingZeros","arguments","length","undefined","trim","num","parseInt","isNaN","toString","isValidIPv4","ip","segments","split","every","seg","isValidCIDRMask","mask","isIPv6","max","isValidIPv6","ipv6Regex","test","extractIPFromText","text","ipv4Regex","ipv4Match","match","cidr","ipv6Match","parseIPv4ToSegments","segmentsToIPv4","join","IPInput","forwardRef","originalProps","ref","props","useDefaultProps","_useConfig","useConfig","classPrefix","onChangeProp","onChange","onBlurProp","onBlur","onFocusProp","onFocus","_props$allowIPv","_props$allowCIDR","placeholder","disabled","_props$readOnly","_props$showClear","_props$autoFocus","_props$showSegmentSep","formatter","id","name","ariaLabel","segmentClassName","inputStyle","separator","tips","className","style","_useControlled","useControlled","_useControlled2","_slicedToArray","value","_useState","useState","parsed","_useState2","setSegments","_useState3","includes","_useState4","cidrMask","setCidrMask","_useState5","_useState6","ipv6Value","setIpv6Value","segmentRefs","useRef","cidrRef","ipv6Ref","_useState7","_useState8","isFocused","setIsFocused","_useState9","_useState0","isHover","setIsHover","_useState1","_useState10","focusedSegmentIndex","setFocusedSegmentIndex","isIPv6Mode","useEffect","getCurrentValue","useCallback","concat","triggerChange","newValue","formattedValue","handleSegmentChange","index","numericValue","replace","finalValue","slice","newSegments","_toConsumableArray","_segmentRefs$current","current","focus","fullValue","handleSegmentKeyDown","e","input","currentTarget","cursorPos","selectionStart","key","_segmentRefs$current2","preventDefault","_segmentRefs$current3","prevInput","setSelectionRange","_segmentRefs$current4","handleSegmentPaste","pasteText","clipboardData","getData","extracted","handleCIDRChange","newMask","target","maxLength","finalMask","handleIPv6Change","handleIPv6Paste","handleFocus","handleBlur","currentValue","handleClear","stopPropagation","useImperativeHandle","_ipv6Ref$current","_segmentRefs$current$","blur","_cidrRef$current","_ipv6Ref$current2","forEach","clear","getValue","_ipv6Ref$current3","_segmentRefs$current$2","showClearButton","displaySeparator","renderIPv4Input","React","createElement","map","Fragment","el","type","inputMode","pattern","onKeyDown","onPaste","classNames","_defineProperty","renderIPv6Input","onMouseEnter","onMouseLeave","IconClose","onClick","onMouseDown","displayName"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { _ as _defineProperty } from './dep-Cwish4GD.js';
2
2
  import { _ as _typeof } from './dep-D-UKOauR.js';
3
- import React from 'react';
3
+ import React__default from 'react';
4
4
  import { isFunction } from 'lodash-es';
5
5
 
6
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -20,12 +20,12 @@ function parseContentTNode(tnode, props) {
20
20
  if (isFunction(tnode)) return tnode(props);
21
21
  if (!tnode || ["string", "number", "boolean"].includes(_typeof(tnode))) return tnode;
22
22
  try {
23
- return /*#__PURE__*/React.cloneElement(tnode, _objectSpread({}, props));
23
+ return /*#__PURE__*/React__default.cloneElement(tnode, _objectSpread({}, props));
24
24
  } catch (_unused) {
25
25
  console.warn("parseContentTNode", "".concat(tnode, " is not a valid ReactNode"));
26
26
  return null;
27
27
  }
28
28
  }
29
29
 
30
- export { parseContentTNode as a, parseTNode as p };
31
- //# sourceMappingURL=dep-aX8qrQpB.js.map
30
+ export { parseTNode as a, parseContentTNode as p };
31
+ //# sourceMappingURL=dep-BbOvNxhg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep-aX8qrQpB.js","sources":["../../../components/utils/parentTNode.ts"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\nimport { isFunction } from \"lodash-es\";\nimport { TNode } from \"../common\";\n\n// 解析 TNode 数据结构\nexport default function parseTNode<T = unknown>(\n renderNode: TNode | TNode<T> | undefined,\n renderParams?: T,\n defaultNode?: ReactNode\n): ReactNode {\n let node: ReactNode = null;\n\n if (typeof renderNode === \"function\") {\n node = renderNode(renderParams);\n } else if (renderNode === true) {\n node = defaultNode;\n } else if (renderNode !== null) {\n node = renderNode ?? defaultNode;\n }\n return node as ReactNode;\n}\n\n/**\n * 解析各种数据类型的 TNode\n * 函数类型:content={(props) => <Icon></Icon>}\n * 组件类型:content={<Button>click me</Button>} 这种方式可以避免函数重复渲染,对应的 props 已经注入\n * 字符类型\n */\nexport function parseContentTNode<T>(tnode: TNode<T>, props: T) {\n if (isFunction(tnode)) return tnode(props) as ReactNode;\n if (!tnode || [\"string\", \"number\", \"boolean\"].includes(typeof tnode)) return tnode as ReactNode;\n try {\n return React.cloneElement(tnode as ReactElement, { ...props });\n } catch {\n console.warn(\"parseContentTNode\", `${tnode} is not a valid ReactNode`);\n return null;\n }\n}\n"],"names":["parseTNode","renderNode","renderParams","defaultNode","node","parseContentTNode","tnode","props","isFunction","includes","_typeof","React","cloneElement","_objectSpread","_unused","console","warn","concat"],"mappings":";;;;;;;AAKA,SAAwBA,UAAAA,CACtBC,UAAA,EACAC,YAAA,EACAC,WAAA,EACW;EACX,IAAIC,IAAA,GAAkB,IAAA;AAEtB,EAAA,IAAI,OAAOH,eAAe,UAAA,EAAY;AACpCG,IAAAA,IAAA,GAAOH,WAAWC,YAAY,CAAA;AAChC,EAAA,CAAA,MAAA,IAAWD,eAAe,IAAA,EAAM;AAC9BG,IAAAA,IAAA,GAAOD,WAAA;AACT,EAAA,CAAA,MAAA,IAAWF,eAAe,IAAA,EAAM;AAC9BG,IAAAA,IAAA,GAAOH,UAAA,KAAA,IAAA,IAAAA,UAAA,KAAA,KAAA,CAAA,GAAAA,UAAA,GAAcE,WAAA;AACvB,EAAA;AACA,EAAA,OAAOC,IAAA;AACT;AAQO,SAASC,iBAAAA,CAAqBC,OAAiBC,KAAA,EAAU;EAC9D,IAAIC,UAAA,CAAWF,KAAK,CAAA,EAAG,OAAOA,MAAMC,KAAK,CAAA;AACzC,EAAA,IAAI,CAACD,KAAA,IAAS,CAAC,QAAA,EAAU,QAAA,EAAU,SAAS,CAAA,CAAEG,QAAA,CAAAC,OAAA,CAAgBJ,KAAK,CAAA,CAAA,EAAG,OAAOA,KAAA;EAC7E,IAAI;IACF,oBAAOK,MAAMC,YAAA,CAAaN,KAAA,EAAAO,aAAA,CAAA,EAAA,EAA4BN,MAAO,CAAA;EAC/D,CAAA,CAAA,OAAAO,OAAA,EAAQ;IACNC,OAAA,CAAQC,IAAA,CAAK,mBAAA,KAAAC,MAAA,CAAwBX,KAAK,EAAA,2BAAA,CAA2B,CAAA;AACrE,IAAA,OAAO,IAAA;AACT,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"dep-BbOvNxhg.js","sources":["../../../components/utils/parentTNode.ts"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\nimport { isFunction } from \"lodash-es\";\nimport { TNode } from \"../common\";\n\n// 解析 TNode 数据结构\nexport default function parseTNode<T = unknown>(\n renderNode: TNode | TNode<T> | undefined,\n renderParams?: T,\n defaultNode?: ReactNode\n): ReactNode {\n let node: ReactNode = null;\n\n if (typeof renderNode === \"function\") {\n node = renderNode(renderParams);\n } else if (renderNode === true) {\n node = defaultNode;\n } else if (renderNode !== null) {\n node = renderNode ?? defaultNode;\n }\n return node as ReactNode;\n}\n\n/**\n * 解析各种数据类型的 TNode\n * 函数类型:content={(props) => <Icon></Icon>}\n * 组件类型:content={<Button>click me</Button>} 这种方式可以避免函数重复渲染,对应的 props 已经注入\n * 字符类型\n */\nexport function parseContentTNode<T>(tnode: TNode<T>, props: T) {\n if (isFunction(tnode)) return tnode(props) as ReactNode;\n if (!tnode || [\"string\", \"number\", \"boolean\"].includes(typeof tnode)) return tnode as ReactNode;\n try {\n return React.cloneElement(tnode as ReactElement, { ...props });\n } catch {\n console.warn(\"parseContentTNode\", `${tnode} is not a valid ReactNode`);\n return null;\n }\n}\n"],"names":["parseTNode","renderNode","renderParams","defaultNode","node","parseContentTNode","tnode","props","isFunction","includes","_typeof","React","cloneElement","_objectSpread","_unused","console","warn","concat"],"mappings":";;;;;;;AAKA,SAAwBA,UAAAA,CACtBC,UAAA,EACAC,YAAA,EACAC,WAAA,EACW;EACX,IAAIC,IAAA,GAAkB,IAAA;AAEtB,EAAA,IAAI,OAAOH,eAAe,UAAA,EAAY;AACpCG,IAAAA,IAAA,GAAOH,WAAWC,YAAY,CAAA;AAChC,EAAA,CAAA,MAAA,IAAWD,eAAe,IAAA,EAAM;AAC9BG,IAAAA,IAAA,GAAOD,WAAA;AACT,EAAA,CAAA,MAAA,IAAWF,eAAe,IAAA,EAAM;AAC9BG,IAAAA,IAAA,GAAOH,UAAA,KAAA,IAAA,IAAAA,UAAA,KAAA,KAAA,CAAA,GAAAA,UAAA,GAAcE,WAAA;AACvB,EAAA;AACA,EAAA,OAAOC,IAAA;AACT;AAQO,SAASC,iBAAAA,CAAqBC,OAAiBC,KAAA,EAAU;EAC9D,IAAIC,UAAA,CAAWF,KAAK,CAAA,EAAG,OAAOA,MAAMC,KAAK,CAAA;AACzC,EAAA,IAAI,CAACD,KAAA,IAAS,CAAC,QAAA,EAAU,QAAA,EAAU,SAAS,CAAA,CAAEG,QAAA,CAAAC,OAAA,CAAgBJ,KAAK,CAAA,CAAA,EAAG,OAAOA,KAAA;EAC7E,IAAI;IACF,oBAAOK,eAAMC,YAAA,CAAaN,KAAA,EAAAO,aAAA,CAAA,EAAA,EAA4BN,MAAO,CAAA;EAC/D,CAAA,CAAA,OAAAO,OAAA,EAAQ;IACNC,OAAA,CAAQC,IAAA,CAAK,mBAAA,KAAAC,MAAA,CAAwBX,KAAK,EAAA,2BAAA,CAA2B,CAAA;AACrE,IAAA,OAAO,IAAA;AACT,EAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { u as useConfig } from './dep-gy8uvBaS.js';
1
+ import { u as useConfig } from './dep-u1x3x6MJ.js';
2
2
 
3
3
  var useClassNames = function useClassNames() {
4
4
  var _useConfig = useConfig(),
@@ -8,4 +8,4 @@ var useClassNames = function useClassNames() {
8
8
  };
9
9
 
10
10
  export { useClassNames as u };
11
- //# sourceMappingURL=dep-oUgTcXgm.js.map
11
+ //# sourceMappingURL=dep-Blkje0_M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep-oUgTcXgm.js","sources":["../../../components/color-picker/hooks/useClassNames.ts"],"sourcesContent":["import useConfig from \"../../hooks/useConfig\";\n\nconst useClassNames = () => {\n const { classPrefix } = useConfig();\n const baseClassName = `${classPrefix}-color-picker`;\n return baseClassName;\n};\n\nexport default useClassNames;\n"],"names":["useClassNames","_useConfig","useConfig","classPrefix","baseClassName","concat"],"mappings":";;AAEA,IAAMA,gBAAgB,SAAhBA,gBAAsB;AAC1B,EAAA,IAAAC,UAAA,GAAwBC,SAAA,EAAU;IAA1BC,WAAA,GAAAF,UAAA,CAAAE,WAAA;AACR,EAAA,IAAMC,aAAA,GAAA,EAAA,CAAAC,MAAA,CAAmBF,WAAW,EAAA,eAAA,CAAA;AACpC,EAAA,OAAOC,aAAA;AACT;;;;"}
1
+ {"version":3,"file":"dep-Blkje0_M.js","sources":["../../../components/color-picker/hooks/useClassNames.ts"],"sourcesContent":["import useConfig from \"../../hooks/useConfig\";\n\nconst useClassNames = () => {\n const { classPrefix } = useConfig();\n const baseClassName = `${classPrefix}-color-picker`;\n return baseClassName;\n};\n\nexport default useClassNames;\n"],"names":["useClassNames","_useConfig","useConfig","classPrefix","baseClassName","concat"],"mappings":";;AAEA,IAAMA,gBAAgB,SAAhBA,gBAAsB;AAC1B,EAAA,IAAAC,UAAA,GAAwBC,SAAA,EAAU;IAA1BC,WAAA,GAAAF,UAAA,CAAAE,WAAA;AACR,EAAA,IAAMC,aAAA,GAAA,EAAA,CAAAC,MAAA,CAAmBF,WAAW,EAAA,eAAA,CAAA;AACpC,EAAA,OAAOC,aAAA;AACT;;;;"}
@@ -760,5 +760,5 @@ var getColorObject = function getColorObject(color) {
760
760
  return colorObject;
761
761
  };
762
762
 
763
- export { ALPHA_FORMAT_MAP as A, Color as C, DEFAULT_COLOR as D, FORMATS as F, GRADIENT_SLIDER_DEFAULT_WIDTH as G, SATURATION_PANEL_DEFAULT_WIDTH as S, TD_COLOR_USED_COLORS_MAX_SIZE as T, DEFAULT_SYSTEM_SWATCH_COLORS as a, COLOR_FORMAT_INPUTS as b, cmyk2rgb as c, cmykInputToColor as d, gradientColors2string as e, getColorWithoutAlpha as f, getColorObject as g, genId as h, genGradientPoint as i, COLOR_MODES as j, DEFAULT_LINEAR_GRADIENT as k, SATURATION_PANEL_DEFAULT_HEIGHT as l, SLIDER_DEFAULT_WIDTH as m, isGradientColor as n, parseGradientString as p, rgb2cmyk as r };
764
- //# sourceMappingURL=dep-DJmE940f.js.map
763
+ export { ALPHA_FORMAT_MAP as A, Color as C, DEFAULT_COLOR as D, FORMATS as F, GRADIENT_SLIDER_DEFAULT_WIDTH as G, SATURATION_PANEL_DEFAULT_WIDTH as S, TD_COLOR_USED_COLORS_MAX_SIZE as T, DEFAULT_SYSTEM_SWATCH_COLORS as a, cmykInputToColor as b, cmyk2rgb as c, gradientColors2string as d, getColorWithoutAlpha as e, genId as f, getColorObject as g, genGradientPoint as h, COLOR_MODES as i, DEFAULT_LINEAR_GRADIENT as j, COLOR_FORMAT_INPUTS as k, SATURATION_PANEL_DEFAULT_HEIGHT as l, SLIDER_DEFAULT_WIDTH as m, isGradientColor as n, parseGradientString as p, rgb2cmyk as r };
764
+ //# sourceMappingURL=dep-CHpQ3xhh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-CHpQ3xhh.js","sources":["../../../components/color-picker/utils/color-picker/cmyk.ts","../../../components/color-picker/utils/color-picker/constants.ts","../../../components/color-picker/utils/color-picker/gradient.ts","../../../components/color-picker/utils/color-picker/color.ts"],"sourcesContent":["/**\n * rgb 转 cmyk\n * @param red\n * @param green\n * @param blue\n * @returns\n */\nexport const rgb2cmyk = (red: number, green: number, blue: number) => {\n let computedC = 0;\n let computedM = 0;\n let computedY = 0;\n let computedK = 0;\n\n const r = parseInt(`${red}`.replace(/\\s/g, \"\"), 10);\n const g = parseInt(`${green}`.replace(/\\s/g, \"\"), 10);\n const b = parseInt(`${blue}`.replace(/\\s/g, \"\"), 10);\n\n if (r === 0 && g === 0 && b === 0) {\n computedK = 1;\n return [0, 0, 0, 1];\n }\n\n computedC = 1 - r / 255;\n computedM = 1 - g / 255;\n computedY = 1 - b / 255;\n\n const minCMY = Math.min(computedC, Math.min(computedM, computedY));\n computedC = (computedC - minCMY) / (1 - minCMY);\n computedM = (computedM - minCMY) / (1 - minCMY);\n computedY = (computedY - minCMY) / (1 - minCMY);\n computedK = minCMY;\n\n return [computedC, computedM, computedY, computedK];\n};\n\n/**\n * cmyk 转 rgb\n * @param cyan\n * @param magenta\n * @param yellow\n * @param black\n * @returns\n */\nexport const cmyk2rgb = (cyan: number, magenta: number, yellow: number, black: number) => {\n let c = cyan / 100;\n let m = magenta / 100;\n let y = yellow / 100;\n const k = black / 100;\n\n c = c * (1 - k) + k;\n m = m * (1 - k) + k;\n y = y * (1 - k) + k;\n\n let r = 1 - c;\n let g = 1 - m;\n let b = 1 - y;\n\n r = Math.round(255 * r);\n g = Math.round(255 * g);\n b = Math.round(255 * b);\n return {\n r,\n g,\n b\n };\n};\n\nconst REG_CMYK_STRING = /cmyk\\((\\d+%?),(\\d+%?),(\\d+%?),(\\d+%?)\\)/;\n\nconst toNumber = (str: string) => Math.max(0, Math.min(255, parseInt(str, 10)));\n\n/**\n * 输入色转rgb\n * @param input\n * @returns\n */\nexport const cmykInputToColor = (input: string) => {\n if (/cmyk/i.test(input)) {\n const str = input.replace(/\\s/g, \"\");\n const match = str.match(REG_CMYK_STRING);\n const c = toNumber(match[1]);\n const m = toNumber(match[2]);\n const y = toNumber(match[3]);\n const k = toNumber(match[4]);\n const { r, g, b } = cmyk2rgb(c, m, y, k);\n return `rgb(${r}, ${g}, ${b})`;\n }\n return input;\n};\n","import type { BasicColorFormat, ColorInputProp } from \"./types\";\n\n// 最近使用颜色最大个数\nexport const TD_COLOR_USED_COLORS_MAX_SIZE = 100; // 每行10个\n\n// 颜色模式options配置\nexport const COLOR_MODES = {\n monochrome: \"singleColor\",\n \"linear-gradient\": \"gradientColor\"\n};\n\n// 默认颜色\nexport const DEFAULT_COLOR = \"#001F97\";\n\n// 默认渐变色\nexport const DEFAULT_LINEAR_GRADIENT = \"linear-gradient(90deg, rgba(241,29,0,1) 0%, rgba(73,106,220,1) 100%);\";\n\n// 默认系统色彩\nexport const DEFAULT_SYSTEM_SWATCH_COLORS = [\n \"#ECF2FE\",\n \"#D4E3FC\",\n \"#BBD3FB\",\n \"#96BBF8\",\n \"#699EF5\",\n \"#4787F0\",\n \"#266FE8\",\n \"#0052D9\",\n \"#0034B5\",\n \"#001F97\",\n \"#FDECEE\",\n \"#F9D7D9\",\n \"#F8B9BE\",\n \"#F78D94\",\n \"#F36D78\",\n \"#E34D59\",\n \"#C9353F\",\n \"#B11F26\",\n \"#951114\",\n \"#680506\",\n \"#FEF3E6\",\n \"#F9E0C7\",\n \"#F7C797\",\n \"#F2995F\",\n \"#ED7B2F\",\n \"#D35A21\",\n \"#BA431B\",\n \"#9E3610\",\n \"#842B0B\",\n \"#5A1907\",\n \"#E8F8F2\",\n \"#BCEBDC\",\n \"#85DBBE\",\n \"#48C79C\",\n \"#00A870\",\n \"#078D5C\",\n \"#067945\",\n \"#056334\",\n \"#044F2A\",\n \"#033017\"\n];\n\n/**\n * 非透明色格式化类型\n */\nexport const FORMATS = [\"HEX\", \"RGB\", \"HSL\", \"HSV\", \"CMYK\", \"CSS\"] as const;\n\n/**\n * 透明色格式化类型映射\n */\nexport const ALPHA_FORMAT_MAP = {\n HEX: \"HEX8\",\n RGB: \"RGBA\",\n HSL: \"HSLA\",\n HSV: \"HSVA\"\n} as const;\n\n/**\n * 不同格式对应的输入框\n */\nexport const COLOR_FORMAT_INPUTS: Record<BasicColorFormat, ColorInputProp[]> = {\n RGB: [\n {\n key: \"r\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n },\n {\n key: \"g\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n },\n {\n key: \"b\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n }\n ],\n HSV: [\n {\n key: \"h\",\n min: 0,\n max: 360,\n type: \"inputNumber\"\n },\n {\n key: \"s\",\n min: 0,\n max: 100,\n type: \"inputNumber\"\n },\n {\n key: \"v\",\n min: 0,\n max: 100,\n type: \"inputNumber\"\n }\n ],\n HSL: [\n {\n key: \"h\",\n min: 0,\n max: 360,\n type: \"inputNumber\"\n },\n {\n key: \"s\",\n min: 0,\n max: 100,\n type: \"inputNumber\"\n },\n {\n key: \"l\",\n min: 0,\n max: 100,\n type: \"inputNumber\"\n }\n ],\n CMYK: [\n {\n key: \"c\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n },\n {\n key: \"m\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n },\n {\n key: \"y\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n },\n {\n key: \"k\",\n min: 0,\n max: 255,\n type: \"inputNumber\"\n }\n ],\n CSS: [\n {\n key: \"css\",\n type: \"input\",\n flex: 3\n }\n ],\n HEX: [\n {\n key: \"hex\",\n type: \"input\",\n flex: 3\n }\n ]\n};\n\n// 色板尺寸\nexport const SATURATION_PANEL_DEFAULT_WIDTH = 230;\nexport const SATURATION_PANEL_DEFAULT_HEIGHT = 168;\nexport const SLIDER_DEFAULT_WIDTH = 186;\nexport const GRADIENT_SLIDER_DEFAULT_WIDTH = 176;\n","import { isString, isNull } from \"lodash-es\";\n\n/**\n * 用于反解析渐变字符串为对象\n * https://stackoverflow.com/questions/20215440/parse-css-gradient-rule-with-javascript-regex\n */\nimport tinyColor from \"tinycolor2\";\n\n/**\n * Utility combine multiple regular expressions.\n *\n * @param {RegExp[]|string[]} regexpList List of regular expressions or strings.\n * @param {string} flags Normal RegExp flags.\n */\nconst combineRegExp = (regexpList: (string | RegExp)[], flags: string): RegExp => {\n let source = \"\";\n for (let i = 0; i < regexpList.length; i++) {\n if (isString(regexpList[i])) {\n source += regexpList[i];\n } else {\n source += (regexpList[i] as RegExp).source;\n }\n }\n return new RegExp(source, flags);\n};\n\ninterface RegExpLib {\n gradientSearch: RegExp;\n colorStopSearch: RegExp;\n}\n\ninterface ColorStop {\n color: string;\n position?: string;\n}\n\ninterface ParseGradientResult {\n original: string;\n colorStopList?: ColorStop[];\n line?: string;\n angle?: string;\n sideCorner?: string;\n}\n\n/**\n * Generate the required regular expressions once.\n *\n * Regular Expressions are easier to manage this way and can be well described.\n *\n * @result {object} Object containing regular expressions.\n */\nconst generateRegExp = (): RegExpLib => {\n // Note any variables with \"Capture\" in name include capturing bracket set(s).\n const searchFlags = \"gi\"; // ignore case for angles, \"rgb\" etc\n const rAngle = /(?:[+-]?\\d*\\.?\\d+)(?:deg|grad|rad|turn)/; // Angle +ive, -ive and angle types\n // optional 2nd part\n const rSideCornerCapture = /to\\s+((?:(?:left|right|top|bottom)(?:\\s+(?:top|bottom|left|right))?))/;\n const rComma = /\\s*,\\s*/; // Allow space around comma.\n const rColorHex = /#(?:[a-f0-9]{6}|[a-f0-9]{3})/; // 3 or 6 character form\n const rDigits3 = /\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)/;\n const // \"(1, 2, 3)\"\n rDigits4 = /\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)/;\n const // \"(1, 2, 3, 4)\"\n rValue = /(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?/;\n const // \".9\", \"-5px\", \"100%\".\n rKeyword = /[_a-z-][_a-z0-9-]*/;\n const // \"red\", \"transparent\".\n rColor = combineRegExp(\n [\"(?:\", rColorHex, \"|\", \"(?:rgb|hsl)\", rDigits3, \"|\", \"(?:rgba|hsla)\", rDigits4, \"|\", rKeyword, \")\"],\n \"\"\n );\n const rColorStop = combineRegExp([rColor, \"(?:\\\\s+\", rValue, \"(?:\\\\s+\", rValue, \")?)?\"], \"\");\n const // Single Color Stop, optional %, optional length.\n rColorStopList = combineRegExp([\"(?:\", rColorStop, rComma, \")*\", rColorStop], \"\");\n const // List of color stops min 1.\n rLineCapture = combineRegExp([\"(?:(\", rAngle, \")|\", rSideCornerCapture, \")\"], \"\");\n const // Angle or SideCorner\n rGradientSearch = combineRegExp([\"(?:(\", rLineCapture, \")\", rComma, \")?(\", rColorStopList, \")\"], searchFlags);\n const // Capture 1:\"line\", 2:\"angle\" (optional), 3:\"side corner\" (optional) and 4:\"stop list\".\n rColorStopSearch = combineRegExp(\n [\"\\\\s*(\", rColor, \")\", \"(?:\\\\s+\", \"(\", rValue, \"))?\", \"(?:\", rComma, \"\\\\s*)?\"],\n searchFlags\n ); // Capture 1:\"color\" and 2:\"position\" (optional).\n\n return {\n gradientSearch: rGradientSearch,\n colorStopSearch: rColorStopSearch\n };\n};\n\n/**\n * Actually parse the input gradient parameters string into an object for reusability.\n *\n *\n * @note Really this only supports the standard syntax not historical versions, see MDN for details\n * https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\n *\n * @param regExpLib\n * @param {string} input\n * @returns {object|undefined}\n */\nconst parseGradient = (regExpLib: RegExpLib, input: string) => {\n let result: ParseGradientResult;\n let matchColorStop: any;\n let stopResult: ColorStop;\n\n // reset search position, because we reuse regex.\n regExpLib.gradientSearch.lastIndex = 0;\n\n const matchGradient = regExpLib.gradientSearch.exec(input);\n if (!isNull(matchGradient)) {\n result = {\n original: matchGradient[0],\n colorStopList: []\n };\n\n // Line (Angle or Side-Corner).\n if (matchGradient[1]) {\n result.line = matchGradient[1];\n }\n // Angle or undefined if side-corner.\n if (matchGradient[2]) {\n result.angle = matchGradient[2];\n }\n // Side-corner or undefined if angle.\n if (matchGradient[3]) {\n result.sideCorner = matchGradient[3];\n }\n\n // reset search position, because we reuse regex.\n regExpLib.colorStopSearch.lastIndex = 0;\n\n // Loop though all the color-stops.\n matchColorStop = regExpLib.colorStopSearch.exec(matchGradient[4]);\n while (!isNull(matchColorStop)) {\n stopResult = {\n color: matchColorStop[1]\n };\n\n // Position (optional).\n if (matchColorStop[2]) {\n stopResult.position = matchColorStop[2];\n }\n result.colorStopList.push(stopResult);\n\n // Continue searching from previous position.\n matchColorStop = regExpLib.colorStopSearch.exec(matchGradient[4]);\n }\n }\n\n // Can be undefined if match not found.\n return result;\n};\n\nexport interface GradientColorPoint {\n id?: string;\n color?: string;\n left?: number;\n}\n\nexport interface GradientColors {\n points: GradientColorPoint[];\n degree: number;\n}\n\nconst REGEXP_LIB = generateRegExp();\nconst REG_GRADIENT = /.*gradient\\s*\\(((?:\\([^)]*\\)|[^)(]*)*)\\)/gim;\n\n/**\n * 验证是否是渐变字符串\n * @param input\n * @returns\n */\nexport const isGradientColor = (input: string): null | RegExpExecArray => {\n REG_GRADIENT.lastIndex = 0;\n return REG_GRADIENT.exec(input);\n};\n\n// 边界字符串和角度关系\nconst sideCornerDegreeMap = {\n top: 0,\n right: 90,\n bottom: 180,\n left: 270,\n \"top left\": 315,\n \"left top\": 315,\n \"top right\": 45,\n \"right top\": 45,\n \"bottom left\": 225,\n \"left bottom\": 225,\n \"bottom right\": 135,\n \"right bottom\": 135\n};\n\n/**\n * 解析渐变字符串为 GradientColors 对象\n * @param input\n * @returns\n */\nexport const parseGradientString = (input: string): GradientColors | false => {\n const match = isGradientColor(input);\n if (!match) return false;\n\n const gradientColors: GradientColors = {\n points: [],\n degree: 0\n };\n\n const result: ParseGradientResult = parseGradient(REGEXP_LIB, match[1]);\n if (result.original.trim() !== match[1].trim()) return false;\n\n const points: GradientColorPoint[] = result.colorStopList.map(({ color, position }, index, array) => {\n const point = Object.create(null);\n point.color = tinyColor(color).toRgbString();\n\n let left = parseFloat(position);\n if (Number.isNaN(left)) {\n left = (index / (array.length - 1)) * 100;\n }\n\n point.left = left;\n return point;\n });\n gradientColors.points = points;\n\n let degree = parseInt(result.angle, 10);\n if (Number.isNaN(degree)) {\n /* 如果角度不存在,使用 CSS 渐变的默认逻辑(180 deg)\n https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_images/Using_CSS_gradients */\n degree = sideCornerDegreeMap[result.sideCorner as keyof typeof sideCornerDegreeMap] || 180;\n }\n gradientColors.degree = degree;\n\n return gradientColors;\n};\n\nexport default parseGradientString;\n","import tinyColor from \"tinycolor2\";\nimport { cmykInputToColor, rgb2cmyk } from \"./cmyk\";\nimport { ALPHA_FORMAT_MAP } from \"./constants\";\nimport { GradientColorPoint, GradientColors, isGradientColor, parseGradientString } from \"./gradient\";\nimport type { AlphaConvertibleFormat, ColorFormat } from \"./types\";\n\nexport interface ColorObject {\n alpha: number;\n css: string;\n hex: string;\n hex8: string;\n hsl: string;\n hsla: string;\n hsv: string;\n hsva: string;\n rgb: string;\n rgba: string;\n saturation: number;\n value: number;\n isGradient: boolean;\n linearGradient?: string;\n}\n\ninterface ColorStates {\n s: number;\n v: number;\n h: number;\n a: number;\n}\n\ninterface GradientStates {\n colors: GradientColorPoint[];\n degree: number;\n selectedId: string;\n css?: string;\n}\n\nconst mathRound = Math.round;\nconst hsv2rgba = (states: ColorStates): tinyColor.ColorFormats.RGBA => tinyColor(states).toRgb();\nconst hsv2hsva = (states: ColorStates): tinyColor.ColorFormats.HSVA => tinyColor(states).toHsv();\nconst hsv2hsla = (states: ColorStates): tinyColor.ColorFormats.HSLA => tinyColor(states).toHsl();\n\n/**\n * 将渐变对象转换成字符串\n */\nexport const gradientColors2string = (object: GradientColors): string => {\n const { points, degree } = object;\n const colorsStop = points\n .sort((pA, pB) => pA.left - pB.left)\n .map((p) => `${p.color} ${Math.round(p.left * 100) / 100}%`);\n\n return `linear-gradient(${degree}deg,${colorsStop.join(\",\")})`;\n};\n\n/**\n * 去除颜色的透明度\n */\nexport const getColorWithoutAlpha = (color: string) => tinyColor(color).setAlpha(1).toHexString();\n\n// 生成一个随机ID\nexport const genId = () => (1 + Math.random() * 4294967295).toString(16);\n\n/**\n * 生成一个渐变颜色\n * @param left\n * @param color\n * @returns\n */\nexport const genGradientPoint = (left: number, color: string, id?: string): GradientColorPoint => ({\n id: id || genId(),\n left,\n color\n});\n\nexport class Color {\n states: ColorStates = {\n s: 100,\n v: 100,\n h: 100,\n a: 1\n };\n\n originColor: string;\n\n isGradient: boolean;\n\n gradientStates: GradientStates = {\n colors: [],\n degree: 0,\n selectedId: null,\n css: \"\"\n };\n\n constructor(input: string) {\n this.update(input);\n }\n\n update(input: string) {\n if (input === this.originColor) return;\n const gradientColors = parseGradientString(input);\n\n if (this.isGradient && !gradientColors) {\n /* case 1: 渐变模式单独修改某个位置点的色值 */\n const colorHsv = tinyColor(input).toHsv();\n this.states = colorHsv;\n this.updateCurrentGradientColor();\n return;\n }\n this.originColor = input;\n this.isGradient = false;\n let colorInput = input;\n\n /* case 2: 修改整个渐变,生成一套新的颜色点 */\n if (gradientColors) {\n this.isGradient = true;\n const object = gradientColors as GradientColors;\n const points = object.points.map((c, index) =>\n genGradientPoint(c.left, c.color, this.gradientStates.colors[index]?.id)\n );\n this.gradientStates = {\n colors: points,\n degree: object.degree,\n selectedId: this.gradientStates.selectedId || points[0]?.id || null\n };\n this.gradientStates.css = this.linearGradient;\n colorInput = this.gradientSelectedPoint?.color;\n }\n\n this.updateStates(colorInput);\n }\n\n get saturation() {\n return this.states.s;\n }\n\n set saturation(value) {\n this.states.s = Math.max(0, Math.min(100, value));\n this.updateCurrentGradientColor();\n }\n\n get value() {\n return this.states.v;\n }\n\n set value(value) {\n this.states.v = Math.max(0, Math.min(100, value));\n this.updateCurrentGradientColor();\n }\n\n get hue() {\n return this.states.h;\n }\n\n set hue(value) {\n this.states.h = Math.max(0, Math.min(360, value));\n this.updateCurrentGradientColor();\n }\n\n get alpha() {\n return this.states.a;\n }\n\n set alpha(value) {\n this.states.a = Math.max(0, Math.min(1, Math.round(value * 100) / 100));\n this.updateCurrentGradientColor();\n }\n\n get rgb() {\n const { r, g, b } = hsv2rgba(this.states);\n return `rgb(${mathRound(r)}, ${mathRound(g)}, ${mathRound(b)})`;\n }\n\n get rgba() {\n const { r, g, b, a } = hsv2rgba(this.states);\n return `rgba(${mathRound(r)}, ${mathRound(g)}, ${mathRound(b)}, ${a})`;\n }\n\n get hsv() {\n const { h, s, v } = this.getHsva();\n return `hsv(${h}, ${s}%, ${v}%)`;\n }\n\n get hsva() {\n const { h, s, v, a } = this.getHsva();\n return `hsva(${h}, ${s}%, ${v}%, ${a})`;\n }\n\n get hsl() {\n const { h, s, l } = this.getHsla();\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n\n get hsla() {\n const { h, s, l, a } = this.getHsla();\n return `hsla(${h}, ${s}%, ${l}%, ${a})`;\n }\n\n get hex() {\n return tinyColor(this.states).toHexString();\n }\n\n get hex8() {\n return tinyColor(this.states).toHex8String();\n }\n\n get cmyk() {\n const { c, m, y, k } = this.getCmyk();\n return `cmyk(${c}, ${m}, ${y}, ${k})`;\n }\n\n get css() {\n if (this.isGradient) {\n return this.linearGradient;\n }\n return this.rgba;\n }\n\n get linearGradient() {\n const { gradientColors, gradientDegree } = this;\n return gradientColors2string({\n points: gradientColors,\n degree: gradientDegree\n });\n }\n\n get gradientColors() {\n return this.gradientStates.colors;\n }\n\n set gradientColors(colors: GradientColorPoint[]) {\n this.gradientStates.colors = colors;\n this.gradientStates.css = this.linearGradient;\n }\n\n get gradientSelectedId() {\n return this.gradientStates.selectedId;\n }\n\n set gradientSelectedId(id: string) {\n if (id === this.gradientSelectedId) {\n return;\n }\n this.gradientStates.selectedId = id;\n this.updateStates(this.gradientSelectedPoint?.color);\n }\n\n get gradientDegree() {\n return this.gradientStates.degree;\n }\n\n set gradientDegree(degree: number) {\n this.gradientStates.degree = Math.max(0, Math.min(360, degree));\n this.gradientStates.css = this.linearGradient;\n }\n\n get gradientSelectedPoint() {\n const { gradientColors, gradientSelectedId } = this;\n return gradientColors.find((color) => color.id === gradientSelectedId);\n }\n\n getFormatsColorMap() {\n return {\n HEX: this.hex,\n CMYK: this.cmyk,\n RGB: this.rgb,\n RGBA: this.rgba,\n HSL: this.hsl,\n HSLA: this.hsla,\n HSV: this.hsv,\n HSVA: this.hsva,\n CSS: this.css,\n HEX8: this.hex8\n };\n }\n\n getFormattedColor(format: ColorFormat, enableAlpha: boolean) {\n if (this.isGradient) return this.linearGradient;\n const finalFormat = (\n enableAlpha && format in ALPHA_FORMAT_MAP ? ALPHA_FORMAT_MAP[format as AlphaConvertibleFormat] : format\n ) as keyof ReturnType<Color[\"getFormatsColorMap\"]>;\n return this.getFormatsColorMap()[finalFormat];\n }\n\n updateCurrentGradientColor() {\n const { isGradient, gradientColors, gradientSelectedId } = this;\n const { length } = gradientColors;\n const current = this.gradientSelectedPoint;\n if (!isGradient || length === 0 || !current) {\n return false;\n }\n const index = gradientColors.findIndex((color) => color.id === gradientSelectedId);\n const newColor = {\n ...current,\n color: this.rgba\n };\n gradientColors.splice(index, 1, newColor);\n this.gradientColors = gradientColors.slice();\n return this;\n }\n\n updateStates(input: string) {\n const color = tinyColor(cmykInputToColor(input));\n const hsva = color.toHsv();\n this.states = hsva;\n }\n\n getRgba() {\n const { r, g, b, a } = hsv2rgba(this.states);\n return {\n r: mathRound(r),\n g: mathRound(g),\n b: mathRound(b),\n a\n };\n }\n\n getCmyk() {\n const { r, g, b } = this.getRgba();\n const [c, m, y, k] = rgb2cmyk(r, g, b);\n return {\n c: mathRound(c * 100),\n m: mathRound(m * 100),\n y: mathRound(y * 100),\n k: mathRound(k * 100)\n };\n }\n\n getHsva(): tinyColor.ColorFormats.HSVA {\n let { h, s, v, a } = hsv2hsva(this.states);\n h = mathRound(h);\n s = mathRound(s * 100);\n v = mathRound(v * 100);\n a *= 1;\n return {\n h,\n s,\n v,\n a\n };\n }\n\n getHsla(): tinyColor.ColorFormats.HSLA {\n let { h, s, l, a } = hsv2hsla(this.states);\n h = mathRound(h);\n s = mathRound(s * 100);\n l = mathRound(l * 100);\n a *= 1;\n return {\n h,\n s,\n l,\n a\n };\n }\n\n /**\n * 判断输入色是否与当前色相同\n */\n equals(color: string): boolean {\n return tinyColor.equals(this.rgba, color);\n }\n\n /**\n * 校验输入色是否是一个有效颜色\n * @param color\n * @returns\n */\n static isValid(color: string): boolean {\n if (parseGradientString(color)) {\n return true;\n }\n return tinyColor(color).isValid();\n }\n\n /**\n * 对象转颜色字符串\n */\n static object2color(object: any, format: ColorFormat) {\n if (format === \"CMYK\") {\n const { c, m, y, k } = object;\n return `cmyk(${c}, ${m}, ${y}, ${k})`;\n }\n\n if (format === \"RGB\" || format === \"RGBA\") {\n return tinyColor(object).toRgbString();\n }\n\n if (format === \"HSL\" || format === \"HSLA\") {\n return tinyColor(object).toHslString();\n }\n\n if (format === \"HSV\" || format === \"HSVA\") {\n return tinyColor(object).toHsvString();\n }\n\n return tinyColor(object).toHexString();\n }\n\n /**\n * 是否是渐变色\n * @param input\n * @returns\n */\n static isGradientColor = (input: string) => !!isGradientColor(input);\n\n /**\n * 比较两个颜色是否相同\n * @param color1\n * @param color2\n * @returns\n */\n static compare = (color1: string, color2: string): boolean => {\n const isGradientColor1 = Color.isGradientColor(color1);\n const isGradientColor2 = Color.isGradientColor(color2);\n if (isGradientColor1 && isGradientColor2) {\n const gradientStr1 = parseGradientString(color1);\n const gradientStr2 = parseGradientString(color2);\n if (!gradientStr1 || !gradientStr2) return false;\n\n const gradientColor1 = gradientColors2string(gradientStr1);\n const gradientColor2 = gradientColors2string(gradientStr2);\n return gradientColor1 === gradientColor2;\n }\n if (!isGradientColor1 && !isGradientColor2) {\n return tinyColor.equals(color1, color2);\n }\n return false;\n };\n}\n\nconst COLOR_OBJECT_OUTPUT_KEYS = [\n \"alpha\",\n \"css\",\n \"hex\",\n \"hex8\",\n \"hsl\",\n \"hsla\",\n \"hsv\",\n \"hsva\",\n \"rgb\",\n \"rgba\",\n \"saturation\",\n \"value\",\n \"isGradient\"\n];\n\n/**\n * 获取对外输出的color对象\n * @param color\n * @returns\n */\nexport const getColorObject = (color: Color): ColorObject | null => {\n if (!color) {\n return null;\n }\n console.log(color);\n const colorObject = Object.create(null);\n COLOR_OBJECT_OUTPUT_KEYS.forEach((key) => {\n colorObject[key] = (color as { [key: string]: any })[key];\n });\n if (color.isGradient) {\n colorObject.linearGradient = color.linearGradient;\n }\n return colorObject;\n};\n\nexport default Color;\n"],"names":["rgb2cmyk","red","green","blue","computedC","computedM","computedY","computedK","r","parseInt","concat","replace","g","b","minCMY","Math","min","cmyk2rgb","cyan","magenta","yellow","black","c","m","y","k","round","REG_CMYK_STRING","toNumber","str","max","cmykInputToColor","input","test","match","_cmyk2rgb","TD_COLOR_USED_COLORS_MAX_SIZE","COLOR_MODES","monochrome","DEFAULT_COLOR","DEFAULT_LINEAR_GRADIENT","DEFAULT_SYSTEM_SWATCH_COLORS","FORMATS","ALPHA_FORMAT_MAP","HEX","RGB","HSL","HSV","COLOR_FORMAT_INPUTS","key","type","CMYK","CSS","flex","SATURATION_PANEL_DEFAULT_WIDTH","SATURATION_PANEL_DEFAULT_HEIGHT","SLIDER_DEFAULT_WIDTH","GRADIENT_SLIDER_DEFAULT_WIDTH","combineRegExp","regexpList","flags","source","i","length","isString","RegExp","generateRegExp","searchFlags","rAngle","rSideCornerCapture","rComma","rColorHex","rDigits3","rDigits4","rValue","rKeyword","rColor","rColorStop","rColorStopList","rLineCapture","rGradientSearch","rColorStopSearch","gradientSearch","colorStopSearch","parseGradient","regExpLib","result","matchColorStop","stopResult","lastIndex","matchGradient","exec","isNull","original","colorStopList","line","angle","sideCorner","color","position","push","REGEXP_LIB","REG_GRADIENT","isGradientColor","sideCornerDegreeMap","top","right","bottom","left","parseGradientString","gradientColors","points","degree","trim","map","_ref","index","array","point","Object","create","tinyColor","toRgbString","parseFloat","Number","isNaN","mathRound","hsv2rgba","states","toRgb","hsv2hsva","toHsv","hsv2hsla","toHsl","gradientColors2string","object","colorsStop","sort","pA","pB","p","join","getColorWithoutAlpha","setAlpha","toHexString","genId","random","toString","genGradientPoint","id","Color","_classCallCheck","_defineProperty","s","v","h","a","colors","selectedId","css","update","_createClass","value","_this","originColor","isGradient","colorHsv","updateCurrentGradientColor","colorInput","_points$","_this$gradientSelecte","_this$gradientStates$","gradientStates","linearGradient","gradientSelectedPoint","updateStates","get","set","_hsv2rgba","_hsv2rgba2","_this$getHsva","getHsva","_this$getHsva2","_this$getHsla","getHsla","l","_this$getHsla2","toHex8String","_this$getCmyk","getCmyk","rgba","gradientDegree","_this$gradientSelecte2","gradientSelectedId","find","getFormatsColorMap","hex","cmyk","rgb","RGBA","hsl","HSLA","hsla","hsv","HSVA","hsva","HEX8","hex8","getFormattedColor","format","enableAlpha","finalFormat","current","findIndex","newColor","_objectSpread","splice","slice","getRgba","_hsv2rgba3","_this$getRgba","_rgb2cmyk","_rgb2cmyk2","_slicedToArray","_hsv2hsva","_hsv2hsla","equals","isValid","object2color","toHslString","toHsvString","_Color","color1","color2","isGradientColor1","isGradientColor2","gradientStr1","gradientStr2","gradientColor1","gradientColor2","COLOR_OBJECT_OUTPUT_KEYS","getColorObject","console","log","colorObject","forEach"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from './dep-5U9UjDaf.js';
1
+ import { g as getDefaultExportFromCjs } from './dep--nQ-cjme.js';
2
2
 
3
3
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
4
4
  try {
@@ -396,4 +396,4 @@ var regeneratorExports = requireRegenerator();
396
396
  var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regeneratorExports);
397
397
 
398
398
  export { _asyncToGenerator as _, _regeneratorRuntime as a };
399
- //# sourceMappingURL=dep-DX65P8M9.js.map
399
+ //# sourceMappingURL=dep-CPjkUfQu.js.map