tdesign-react 0.31.2-alpha.1 → 0.31.2-alpha.2

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 (277) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/tdesign.css +498 -0
  3. package/dist/tdesign.css.map +1 -1
  4. package/dist/tdesign.js +26543 -20076
  5. package/dist/tdesign.js.map +1 -1
  6. package/dist/tdesign.min.css +1 -1
  7. package/dist/tdesign.min.css.map +1 -1
  8. package/dist/tdesign.min.js +9 -3
  9. package/dist/tdesign.min.js.map +1 -1
  10. package/es/_chunks/{dep-5d29cc59.js → dep-7e7b26b4.js} +1 -1
  11. package/es/_chunks/{dep-5d29cc59.js.map → dep-7e7b26b4.js.map} +1 -1
  12. package/es/_common/js/color-picker/cmyk.d.ts +27 -0
  13. package/es/_common/js/color-picker/color.d.ts +154 -0
  14. package/es/_common/js/color-picker/gradient.d.ts +22 -0
  15. package/es/_util/useClickOutside.d.ts +1 -1
  16. package/es/_util/useClickOutside.js +51 -3
  17. package/es/_util/useClickOutside.js.map +1 -1
  18. package/es/_util/useDrag.d.ts +16 -0
  19. package/es/_util/useDrag.js +74 -0
  20. package/es/_util/useDrag.js.map +1 -0
  21. package/es/avatar/AvararGroup.js +1 -1
  22. package/es/avatar/Avatar.js +1 -1
  23. package/es/avatar/index.js +1 -1
  24. package/es/color-picker/ColorPicker.d.ts +4 -0
  25. package/es/color-picker/ColorPicker.js +241 -0
  26. package/es/color-picker/ColorPicker.js.map +1 -0
  27. package/es/color-picker/ColorPickerPanel.d.ts +7 -0
  28. package/es/color-picker/ColorPickerPanel.js +179 -0
  29. package/es/color-picker/ColorPickerPanel.js.map +1 -0
  30. package/es/color-picker/components/panel/alpha.d.ts +4 -0
  31. package/es/color-picker/components/panel/alpha.js +48 -0
  32. package/es/color-picker/components/panel/alpha.js.map +1 -0
  33. package/es/color-picker/components/panel/format/config.d.ts +19 -0
  34. package/es/color-picker/components/panel/format/config.js +90 -0
  35. package/es/color-picker/components/panel/format/config.js.map +1 -0
  36. package/es/color-picker/components/panel/format/index.d.ts +11 -0
  37. package/es/color-picker/components/panel/format/index.js +197 -0
  38. package/es/color-picker/components/panel/format/index.js.map +1 -0
  39. package/es/color-picker/components/panel/format/inputs.d.ts +3 -0
  40. package/es/color-picker/components/panel/format/inputs.js +223 -0
  41. package/es/color-picker/components/panel/format/inputs.js.map +1 -0
  42. package/es/color-picker/components/panel/header.d.ts +14 -0
  43. package/es/color-picker/components/panel/header.js +100 -0
  44. package/es/color-picker/components/panel/header.js.map +1 -0
  45. package/es/color-picker/components/panel/hue.d.ts +4 -0
  46. package/es/color-picker/components/panel/hue.js +32 -0
  47. package/es/color-picker/components/panel/hue.js.map +1 -0
  48. package/es/color-picker/components/panel/index.d.ts +4 -0
  49. package/es/color-picker/components/panel/index.js +456 -0
  50. package/es/color-picker/components/panel/index.js.map +1 -0
  51. package/es/color-picker/components/panel/linear-gradient.d.ts +3 -0
  52. package/es/color-picker/components/panel/linear-gradient.js +360 -0
  53. package/es/color-picker/components/panel/linear-gradient.js.map +1 -0
  54. package/es/color-picker/components/panel/saturation.d.ts +4 -0
  55. package/es/color-picker/components/panel/saturation.js +124 -0
  56. package/es/color-picker/components/panel/saturation.js.map +1 -0
  57. package/es/color-picker/components/panel/slider.d.ts +10 -0
  58. package/es/color-picker/components/panel/slider.js +106 -0
  59. package/es/color-picker/components/panel/slider.js.map +1 -0
  60. package/es/color-picker/components/panel/style/css.d.ts +1 -0
  61. package/es/color-picker/components/panel/style/css.js +1 -0
  62. package/es/color-picker/components/panel/style/index.d.ts +1 -0
  63. package/es/color-picker/components/panel/style/index.js +7 -0
  64. package/es/color-picker/components/panel/style/index.js.map +1 -0
  65. package/es/color-picker/components/panel/swatches.d.ts +11 -0
  66. package/es/color-picker/components/panel/swatches.js +134 -0
  67. package/es/color-picker/components/panel/swatches.js.map +1 -0
  68. package/es/color-picker/components/style/css.d.ts +1 -0
  69. package/es/color-picker/components/style/css.js +1 -0
  70. package/es/color-picker/components/style/index.d.ts +1 -0
  71. package/es/color-picker/components/style/index.js +7 -0
  72. package/es/color-picker/components/style/index.js.map +1 -0
  73. package/es/color-picker/components/trigger.d.ts +9 -0
  74. package/es/color-picker/components/trigger.js +125 -0
  75. package/es/color-picker/components/trigger.js.map +1 -0
  76. package/es/color-picker/const.d.ts +15 -0
  77. package/es/color-picker/const.js +22 -0
  78. package/es/color-picker/const.js.map +1 -0
  79. package/es/color-picker/hooks/useClassname.d.ts +2 -0
  80. package/es/color-picker/hooks/useClassname.js +46 -0
  81. package/es/color-picker/hooks/useClassname.js.map +1 -0
  82. package/es/color-picker/index.d.ts +10 -0
  83. package/es/color-picker/index.js +172 -0
  84. package/es/color-picker/index.js.map +1 -0
  85. package/es/color-picker/interface.d.ts +23 -0
  86. package/es/color-picker/interface.js +7 -0
  87. package/es/color-picker/interface.js.map +1 -0
  88. package/es/color-picker/style/css.d.ts +1 -0
  89. package/es/color-picker/style/css.js +1 -0
  90. package/es/color-picker/style/index.css +497 -0
  91. package/es/color-picker/style/index.d.ts +1 -0
  92. package/es/color-picker/style/index.js +7 -0
  93. package/es/color-picker/style/index.js.map +1 -0
  94. package/es/color-picker/type.d.ts +109 -0
  95. package/es/color-picker/type.js +7 -0
  96. package/es/color-picker/type.js.map +1 -0
  97. package/es/index.d.ts +1 -0
  98. package/es/index.js +24 -1
  99. package/es/index.js.map +1 -1
  100. package/es/input/Input.js +1 -1
  101. package/es/input/Input.js.map +1 -1
  102. package/es/popup/hooks/useTriggerProps.js +28 -0
  103. package/es/popup/hooks/useTriggerProps.js.map +1 -1
  104. package/esm/_chunks/{dep-5d29cc59.js → dep-7e7b26b4.js} +1 -1
  105. package/esm/_chunks/{dep-5d29cc59.js.map → dep-7e7b26b4.js.map} +1 -1
  106. package/esm/_common/js/color-picker/cmyk.d.ts +27 -0
  107. package/esm/_common/js/color-picker/color.d.ts +154 -0
  108. package/esm/_common/js/color-picker/gradient.d.ts +22 -0
  109. package/esm/_util/useClickOutside.d.ts +1 -1
  110. package/esm/_util/useClickOutside.js +51 -3
  111. package/esm/_util/useClickOutside.js.map +1 -1
  112. package/esm/_util/useDrag.d.ts +16 -0
  113. package/esm/_util/useDrag.js +74 -0
  114. package/esm/_util/useDrag.js.map +1 -0
  115. package/esm/avatar/AvararGroup.js +1 -1
  116. package/esm/avatar/Avatar.js +1 -1
  117. package/esm/avatar/index.js +1 -1
  118. package/esm/color-picker/ColorPicker.d.ts +4 -0
  119. package/esm/color-picker/ColorPicker.js +250 -0
  120. package/esm/color-picker/ColorPicker.js.map +1 -0
  121. package/esm/color-picker/ColorPickerPanel.d.ts +7 -0
  122. package/esm/color-picker/ColorPickerPanel.js +188 -0
  123. package/esm/color-picker/ColorPickerPanel.js.map +1 -0
  124. package/esm/color-picker/components/panel/alpha.d.ts +4 -0
  125. package/esm/color-picker/components/panel/alpha.js +48 -0
  126. package/esm/color-picker/components/panel/alpha.js.map +1 -0
  127. package/esm/color-picker/components/panel/format/config.d.ts +19 -0
  128. package/esm/color-picker/components/panel/format/config.js +90 -0
  129. package/esm/color-picker/components/panel/format/config.js.map +1 -0
  130. package/esm/color-picker/components/panel/format/index.d.ts +11 -0
  131. package/esm/color-picker/components/panel/format/index.js +205 -0
  132. package/esm/color-picker/components/panel/format/index.js.map +1 -0
  133. package/esm/color-picker/components/panel/format/inputs.d.ts +3 -0
  134. package/esm/color-picker/components/panel/format/inputs.js +226 -0
  135. package/esm/color-picker/components/panel/format/inputs.js.map +1 -0
  136. package/esm/color-picker/components/panel/header.d.ts +14 -0
  137. package/esm/color-picker/components/panel/header.js +100 -0
  138. package/esm/color-picker/components/panel/header.js.map +1 -0
  139. package/esm/color-picker/components/panel/hue.d.ts +4 -0
  140. package/esm/color-picker/components/panel/hue.js +32 -0
  141. package/esm/color-picker/components/panel/hue.js.map +1 -0
  142. package/esm/color-picker/components/panel/index.d.ts +4 -0
  143. package/esm/color-picker/components/panel/index.js +465 -0
  144. package/esm/color-picker/components/panel/index.js.map +1 -0
  145. package/esm/color-picker/components/panel/linear-gradient.d.ts +3 -0
  146. package/esm/color-picker/components/panel/linear-gradient.js +363 -0
  147. package/esm/color-picker/components/panel/linear-gradient.js.map +1 -0
  148. package/esm/color-picker/components/panel/saturation.d.ts +4 -0
  149. package/esm/color-picker/components/panel/saturation.js +124 -0
  150. package/esm/color-picker/components/panel/saturation.js.map +1 -0
  151. package/esm/color-picker/components/panel/slider.d.ts +10 -0
  152. package/esm/color-picker/components/panel/slider.js +106 -0
  153. package/esm/color-picker/components/panel/slider.js.map +1 -0
  154. package/esm/color-picker/components/panel/style/css.d.ts +1 -0
  155. package/esm/color-picker/components/panel/style/index.d.ts +1 -0
  156. package/esm/color-picker/components/panel/style/index.js +1 -0
  157. package/esm/color-picker/components/panel/swatches.d.ts +11 -0
  158. package/esm/color-picker/components/panel/swatches.js +134 -0
  159. package/esm/color-picker/components/panel/swatches.js.map +1 -0
  160. package/esm/color-picker/components/style/css.d.ts +1 -0
  161. package/esm/color-picker/components/style/index.d.ts +1 -0
  162. package/esm/color-picker/components/style/index.js +1 -0
  163. package/esm/color-picker/components/trigger.d.ts +9 -0
  164. package/esm/color-picker/components/trigger.js +125 -0
  165. package/esm/color-picker/components/trigger.js.map +1 -0
  166. package/esm/color-picker/const.d.ts +15 -0
  167. package/esm/color-picker/const.js +22 -0
  168. package/esm/color-picker/const.js.map +1 -0
  169. package/esm/color-picker/hooks/useClassname.d.ts +2 -0
  170. package/esm/color-picker/hooks/useClassname.js +46 -0
  171. package/esm/color-picker/hooks/useClassname.js.map +1 -0
  172. package/esm/color-picker/index.d.ts +10 -0
  173. package/esm/color-picker/index.js +182 -0
  174. package/esm/color-picker/index.js.map +1 -0
  175. package/esm/color-picker/interface.d.ts +23 -0
  176. package/esm/color-picker/interface.js +7 -0
  177. package/esm/color-picker/interface.js.map +1 -0
  178. package/esm/color-picker/style/css.d.ts +1 -0
  179. package/esm/color-picker/style/index.d.ts +1 -0
  180. package/esm/color-picker/style/index.js +1 -0
  181. package/esm/color-picker/type.d.ts +109 -0
  182. package/esm/color-picker/type.js +7 -0
  183. package/esm/color-picker/type.js.map +1 -0
  184. package/esm/index.d.ts +1 -0
  185. package/esm/index.js +25 -1
  186. package/esm/index.js.map +1 -1
  187. package/esm/input/Input.js +1 -1
  188. package/esm/input/Input.js.map +1 -1
  189. package/esm/popup/hooks/useTriggerProps.js +28 -0
  190. package/esm/popup/hooks/useTriggerProps.js.map +1 -1
  191. package/lib/_chunks/{dep-1c7ceac8.js → dep-9d6a55ed.js} +1 -1
  192. package/lib/_chunks/{dep-1c7ceac8.js.map → dep-9d6a55ed.js.map} +1 -1
  193. package/lib/_common/js/color-picker/cmyk.d.ts +27 -0
  194. package/lib/_common/js/color-picker/color.d.ts +154 -0
  195. package/lib/_common/js/color-picker/gradient.d.ts +22 -0
  196. package/lib/_util/useClickOutside.d.ts +1 -1
  197. package/lib/_util/useClickOutside.js +47 -3
  198. package/lib/_util/useClickOutside.js.map +1 -1
  199. package/lib/_util/useDrag.d.ts +16 -0
  200. package/lib/_util/useDrag.js +78 -0
  201. package/lib/_util/useDrag.js.map +1 -0
  202. package/lib/avatar/AvararGroup.js +1 -1
  203. package/lib/avatar/Avatar.js +1 -1
  204. package/lib/avatar/index.js +1 -1
  205. package/lib/color-picker/ColorPicker.d.ts +4 -0
  206. package/lib/color-picker/ColorPicker.js +232 -0
  207. package/lib/color-picker/ColorPicker.js.map +1 -0
  208. package/lib/color-picker/ColorPickerPanel.d.ts +7 -0
  209. package/lib/color-picker/ColorPickerPanel.js +170 -0
  210. package/lib/color-picker/ColorPickerPanel.js.map +1 -0
  211. package/lib/color-picker/components/panel/alpha.d.ts +4 -0
  212. package/lib/color-picker/components/panel/alpha.js +57 -0
  213. package/lib/color-picker/components/panel/alpha.js.map +1 -0
  214. package/lib/color-picker/components/panel/format/config.d.ts +19 -0
  215. package/lib/color-picker/components/panel/format/config.js +95 -0
  216. package/lib/color-picker/components/panel/format/config.js.map +1 -0
  217. package/lib/color-picker/components/panel/format/index.d.ts +11 -0
  218. package/lib/color-picker/components/panel/format/index.js +189 -0
  219. package/lib/color-picker/components/panel/format/index.js.map +1 -0
  220. package/lib/color-picker/components/panel/format/inputs.d.ts +3 -0
  221. package/lib/color-picker/components/panel/format/inputs.js +220 -0
  222. package/lib/color-picker/components/panel/format/inputs.js.map +1 -0
  223. package/lib/color-picker/components/panel/header.d.ts +14 -0
  224. package/lib/color-picker/components/panel/header.js +103 -0
  225. package/lib/color-picker/components/panel/header.js.map +1 -0
  226. package/lib/color-picker/components/panel/hue.d.ts +4 -0
  227. package/lib/color-picker/components/panel/hue.js +40 -0
  228. package/lib/color-picker/components/panel/hue.js.map +1 -0
  229. package/lib/color-picker/components/panel/index.d.ts +4 -0
  230. package/lib/color-picker/components/panel/index.js +448 -0
  231. package/lib/color-picker/components/panel/index.js.map +1 -0
  232. package/lib/color-picker/components/panel/linear-gradient.d.ts +3 -0
  233. package/lib/color-picker/components/panel/linear-gradient.js +358 -0
  234. package/lib/color-picker/components/panel/linear-gradient.js.map +1 -0
  235. package/lib/color-picker/components/panel/saturation.d.ts +4 -0
  236. package/lib/color-picker/components/panel/saturation.js +132 -0
  237. package/lib/color-picker/components/panel/saturation.js.map +1 -0
  238. package/lib/color-picker/components/panel/slider.d.ts +10 -0
  239. package/lib/color-picker/components/panel/slider.js +115 -0
  240. package/lib/color-picker/components/panel/slider.js.map +1 -0
  241. package/lib/color-picker/components/panel/style/css.d.ts +1 -0
  242. package/lib/color-picker/components/panel/style/index.d.ts +1 -0
  243. package/lib/color-picker/components/panel/swatches.d.ts +11 -0
  244. package/lib/color-picker/components/panel/swatches.js +139 -0
  245. package/lib/color-picker/components/panel/swatches.js.map +1 -0
  246. package/lib/color-picker/components/style/css.d.ts +1 -0
  247. package/lib/color-picker/components/style/index.d.ts +1 -0
  248. package/lib/color-picker/components/trigger.d.ts +9 -0
  249. package/lib/color-picker/components/trigger.js +126 -0
  250. package/lib/color-picker/components/trigger.js.map +1 -0
  251. package/lib/color-picker/const.d.ts +15 -0
  252. package/lib/color-picker/const.js +35 -0
  253. package/lib/color-picker/const.js.map +1 -0
  254. package/lib/color-picker/hooks/useClassname.d.ts +2 -0
  255. package/lib/color-picker/hooks/useClassname.js +46 -0
  256. package/lib/color-picker/hooks/useClassname.js.map +1 -0
  257. package/lib/color-picker/index.d.ts +10 -0
  258. package/lib/color-picker/index.js +160 -0
  259. package/lib/color-picker/index.js.map +1 -0
  260. package/lib/color-picker/interface.d.ts +23 -0
  261. package/lib/color-picker/interface.js +9 -0
  262. package/lib/color-picker/interface.js.map +1 -0
  263. package/lib/color-picker/style/css.d.ts +1 -0
  264. package/lib/color-picker/style/index.d.ts +1 -0
  265. package/lib/color-picker/type.d.ts +109 -0
  266. package/lib/color-picker/type.js +9 -0
  267. package/lib/color-picker/type.js.map +1 -0
  268. package/lib/index-lib.js +25 -1
  269. package/lib/index-lib.js.map +1 -1
  270. package/lib/index.d.ts +1 -0
  271. package/lib/index.js +25 -1
  272. package/lib/index.js.map +1 -1
  273. package/lib/input/Input.js +1 -1
  274. package/lib/input/Input.js.map +1 -1
  275. package/lib/popup/hooks/useTriggerProps.js +24 -0
  276. package/lib/popup/hooks/useTriggerProps.js.map +1 -1
  277. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useTriggerProps.js","sources":["../../../src/popup/hooks/useTriggerProps.ts"],"sourcesContent":["import React, { HTMLAttributes, MutableRefObject, useRef } from 'react';\nimport useClickOutside from '../../_util/useClickOutside';\nimport { TdPopupProps, PopupVisibleChangeContext, PopupTriggerEvent } from '../type';\nimport { ChangeHandler } from '../../_util/useDefault';\n\nexport type TriggerProps = HTMLAttributes<HTMLDivElement>;\nexport type PopupProps = HTMLAttributes<HTMLDivElement>;\ntype HandleTrigger = (e: PopupTriggerEvent, trigger: PopupVisibleChangeContext['trigger']) => void;\nconst ESC_KEY = 'Escape';\n\nexport default function useTriggerProps(\n ref: MutableRefObject<HTMLElement>,\n triggerNode: MutableRefObject<HTMLElement>,\n triggers: Array<TdPopupProps['trigger']>,\n visible: boolean,\n setVisible: ChangeHandler<boolean, [PopupVisibleChangeContext]>,\n disabled = false,\n originTrigger: React.ReactElement<HTMLAttributes<HTMLElement>>,\n): [TriggerProps, PopupProps] {\n const triggerProps: TriggerProps = {};\n const popupProps: PopupProps = {};\n const hasPopupMouseDown = useRef(false);\n const mouseDownTimer = useRef<number>();\n const toggle: HandleTrigger = (e, trigger) => setVisible(!visible, { e, trigger });\n const show: HandleTrigger = (e, trigger) => setVisible(true, { e, trigger });\n const hide: HandleTrigger = (e, trigger) => setVisible(false, { e, trigger });\n\n // click outside 用于处理点击其他地方隐藏\n useClickOutside([ref, triggerNode], (e: any) => {\n if (visible && (triggers.includes('click') || triggers.includes('context-menu')) && !hasPopupMouseDown.current) {\n hide(e, 'trigger-element-blur');\n }\n });\n\n if (disabled) return [triggerProps, popupProps];\n\n // eslint-disable-next-line no-restricted-syntax\n for (const trigger of triggers) {\n const { onClick, onMouseEnter, onMouseLeave, onMouseDown, onFocus, onBlur, onContextMenu, onKeyDown } =\n originTrigger.props;\n // 点击触发\n if (trigger === 'click') {\n triggerProps.onClick = (e) => {\n toggle(e, 'trigger-element-click');\n onClick && onClick(e);\n };\n }\n\n // hover 触发\n if (trigger === 'hover') {\n triggerProps.onMouseEnter = (e) => {\n show(e, 'trigger-element-hover');\n onMouseEnter && onMouseEnter(e);\n };\n popupProps.onMouseEnter = (e) => {\n // 如果当前弹出框本身没有展示 hover时不应该展示\n visible && show(e, 'trigger-element-hover');\n }; // 兼容鼠标移入弹出框\n triggerProps.onMouseLeave = (e) => {\n hide(e, 'trigger-element-hover');\n onMouseLeave && onMouseLeave(e);\n };\n popupProps.onMouseLeave = (e) => hide(e, 'trigger-element-hover');\n }\n\n // focus 触发\n if (trigger === 'focus') {\n triggerProps.onFocus = (e) => {\n show(e, 'trigger-element-focus');\n onFocus && onFocus(e);\n };\n triggerProps.onBlur = (e) => {\n hide(e, 'trigger-element-blur');\n onBlur && onBlur(e);\n };\n }\n\n // contextMenu 触发\n if (trigger === 'context-menu') {\n triggerProps.onContextMenu = (e) => {\n show(e, 'context-menu');\n onContextMenu && onContextMenu(e);\n };\n }\n\n popupProps.onMouseDown = (e) => {\n clearTimeout(mouseDownTimer.current);\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n hasPopupMouseDown.current = false;\n });\n onMouseDown?.(e);\n };\n\n triggerProps.onKeyDown = (e) => {\n if (e.key === ESC_KEY) hide(e, 'keydown-esc');\n onKeyDown && onKeyDown(e);\n };\n }\n\n return [triggerProps, popupProps];\n}\n"],"names":["ESC_KEY","useTriggerProps","ref","triggerNode","triggers","visible","setVisible","disabled","originTrigger","triggerProps","popupProps","hasPopupMouseDown","useRef","mouseDownTimer","toggle","e","trigger","show","hide","useClickOutside","includes","current","props","onClick","onMouseEnter","onMouseLeave","onMouseDown","onFocus","onBlur","onContextMenu","onKeyDown","clearTimeout","window","setTimeout","key"],"mappings":";;;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAG,QAAhB,CAAA;AACe,SAASC,eAAT,CAAyBC,GAAzB,EAA8BC,WAA9B,EAA2CC,QAA3C,EAAqDC,OAArD,EAA8DC,UAA9D,EAA2G;AAAA,EAAjCC,IAAAA,QAAiC,uEAAtB,KAAsB,CAAA;AAAA,EAAA,IAAfC,aAAe,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAA,SAAA,CAAA;AACxH,EAAMC,IAAAA,YAAY,GAAG,EAArB,CAAA;AACA,EAAMC,IAAAA,UAAU,GAAG,EAAnB,CAAA;AACA,EAAA,IAAMC,iBAAiB,GAAGC,MAAM,CAAC,KAAD,CAAhC,CAAA;AACA,EAAMC,IAAAA,cAAc,GAAGD,MAAM,EAA7B,CAAA;;AACA,EAAA,IAAME,MAAM,GAAG,SAATA,MAAS,CAACC,CAAD,EAAIC,OAAJ,EAAA;AAAA,IAAA,OAAgBV,UAAU,CAAC,CAACD,OAAF,EAAW;AAAEU,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,OAAO,EAAPA,OAAAA;AAAL,KAAX,CAA1B,CAAA;AAAA,GAAf,CAAA;;AACA,EAAA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACF,CAAD,EAAIC,OAAJ,EAAA;AAAA,IAAgBV,OAAAA,UAAU,CAAC,IAAD,EAAO;AAAES,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,OAAO,EAAPA,OAAAA;AAAL,KAAP,CAA1B,CAAA;AAAA,GAAb,CAAA;;AACA,EAAA,IAAME,IAAI,GAAG,SAAPA,IAAO,CAACH,CAAD,EAAIC,OAAJ,EAAA;AAAA,IAAgBV,OAAAA,UAAU,CAAC,KAAD,EAAQ;AAAES,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,OAAO,EAAPA,OAAAA;AAAL,KAAR,CAA1B,CAAA;AAAA,GAAb,CAAA;;AACAG,EAAAA,eAAe,CAAC,CAACjB,GAAD,EAAMC,WAAN,CAAD,EAAqB,UAACY,CAAD,EAAO;AACzC,IAAIV,IAAAA,OAAO,KAAKD,QAAQ,CAACgB,QAAT,CAAkB,OAAlB,KAA8BhB,QAAQ,CAACgB,QAAT,CAAkB,cAAlB,CAAnC,CAAP,IAAgF,CAACT,iBAAiB,CAACU,OAAvG,EAAgH;AAC9GH,MAAAA,IAAI,CAACH,CAAD,EAAI,sBAAJ,CAAJ,CAAA;AACD,KAAA;AACF,GAJc,CAAf,CAAA;AAKA,EAAA,IAAIR,QAAJ,EACE,OAAO,CAACE,YAAD,EAAeC,UAAf,CAAP,CAAA;;AAdsH,EAAA,IAAA,SAAA,GAAA,0BAAA,CAelGN,QAfkG,CAAA;AAAA,MAAA,KAAA,CAAA;;AAAA,EAAA,IAAA;AAAA,IAAA,IAAA,KAAA,GAAA,SAAA,KAAA,GAAA;AAAA,MAAA,IAe7GY,OAf6G,GAAA,KAAA,CAAA,KAAA,CAAA;AAgBtH,MAAwGR,IAAAA,oBAAAA,GAAAA,aAAa,CAACc,KAAtH;AAAA,UAAQC,OAAR,wBAAQA,OAAR;AAAA,UAAiBC,YAAjB,wBAAiBA,YAAjB;AAAA,UAA+BC,YAA/B,wBAA+BA,YAA/B;AAAA,UAA6CC,WAA7C,wBAA6CA,WAA7C;AAAA,UAA0DC,OAA1D,wBAA0DA,OAA1D;AAAA,UAAmEC,MAAnE,wBAAmEA,MAAnE;AAAA,UAA2EC,aAA3E,wBAA2EA,aAA3E;AAAA,UAA0FC,SAA1F,wBAA0FA,SAA1F,CAAA;;AACA,MAAId,IAAAA,OAAO,KAAK,OAAhB,EAAyB;AACvBP,QAAAA,YAAY,CAACc,OAAb,GAAuB,UAACR,CAAD,EAAO;AAC5BD,UAAAA,MAAM,CAACC,CAAD,EAAI,uBAAJ,CAAN,CAAA;AACAQ,UAAAA,OAAO,IAAIA,OAAO,CAACR,CAAD,CAAlB,CAAA;AACD,SAHD,CAAA;AAID,OAAA;;AACD,MAAIC,IAAAA,OAAO,KAAK,OAAhB,EAAyB;AACvBP,QAAAA,YAAY,CAACe,YAAb,GAA4B,UAACT,CAAD,EAAO;AACjCE,UAAAA,IAAI,CAACF,CAAD,EAAI,uBAAJ,CAAJ,CAAA;AACAS,UAAAA,YAAY,IAAIA,YAAY,CAACT,CAAD,CAA5B,CAAA;AACD,SAHD,CAAA;;AAIAL,QAAAA,UAAU,CAACc,YAAX,GAA0B,UAACT,CAAD,EAAO;AAC/BV,UAAAA,OAAO,IAAIY,IAAI,CAACF,CAAD,EAAI,uBAAJ,CAAf,CAAA;AACD,SAFD,CAAA;;AAGAN,QAAAA,YAAY,CAACgB,YAAb,GAA4B,UAACV,CAAD,EAAO;AACjCG,UAAAA,IAAI,CAACH,CAAD,EAAI,uBAAJ,CAAJ,CAAA;AACAU,UAAAA,YAAY,IAAIA,YAAY,CAACV,CAAD,CAA5B,CAAA;AACD,SAHD,CAAA;;AAIAL,QAAAA,UAAU,CAACe,YAAX,GAA0B,UAACV,CAAD,EAAA;AAAA,UAAA,OAAOG,IAAI,CAACH,CAAD,EAAI,uBAAJ,CAAX,CAAA;AAAA,SAA1B,CAAA;AACD,OAAA;;AACD,MAAIC,IAAAA,OAAO,KAAK,OAAhB,EAAyB;AACvBP,QAAAA,YAAY,CAACkB,OAAb,GAAuB,UAACZ,CAAD,EAAO;AAC5BE,UAAAA,IAAI,CAACF,CAAD,EAAI,uBAAJ,CAAJ,CAAA;AACAY,UAAAA,OAAO,IAAIA,OAAO,CAACZ,CAAD,CAAlB,CAAA;AACD,SAHD,CAAA;;AAIAN,QAAAA,YAAY,CAACmB,MAAb,GAAsB,UAACb,CAAD,EAAO;AAC3BG,UAAAA,IAAI,CAACH,CAAD,EAAI,sBAAJ,CAAJ,CAAA;AACAa,UAAAA,MAAM,IAAIA,MAAM,CAACb,CAAD,CAAhB,CAAA;AACD,SAHD,CAAA;AAID,OAAA;;AACD,MAAIC,IAAAA,OAAO,KAAK,cAAhB,EAAgC;AAC9BP,QAAAA,YAAY,CAACoB,aAAb,GAA6B,UAACd,CAAD,EAAO;AAClCE,UAAAA,IAAI,CAACF,CAAD,EAAI,cAAJ,CAAJ,CAAA;AACAc,UAAAA,aAAa,IAAIA,aAAa,CAACd,CAAD,CAA9B,CAAA;AACD,SAHD,CAAA;AAID,OAAA;;AACDL,MAAAA,UAAU,CAACgB,WAAX,GAAyB,UAACX,CAAD,EAAO;AAC9BgB,QAAAA,YAAY,CAAClB,cAAc,CAACQ,OAAhB,CAAZ,CAAA;AACAV,QAAAA,iBAAiB,CAACU,OAAlB,GAA4B,IAA5B,CAAA;AACAR,QAAAA,cAAc,CAACQ,OAAf,GAAyBW,MAAM,CAACC,UAAP,CAAkB,YAAM;AAC/CtB,UAAAA,iBAAiB,CAACU,OAAlB,GAA4B,KAA5B,CAAA;AACD,SAFwB,CAAzB,CAAA;AAGAK,QAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAGX,CAAH,CAAX,CAAA;AACD,OAPD,CAAA;;AAQAN,MAAAA,YAAY,CAACqB,SAAb,GAAyB,UAACf,CAAD,EAAO;AAC9B,QAAIA,IAAAA,CAAC,CAACmB,GAAF,KAAUlC,OAAd,EACEkB,IAAI,CAACH,CAAD,EAAI,aAAJ,CAAJ,CAAA;AACFe,QAAAA,SAAS,IAAIA,SAAS,CAACf,CAAD,CAAtB,CAAA;AACD,OAJD,CAAA;AA7DsH,KAAA,CAAA;;AAexH,IAAgC,KAAA,SAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,KAAA,GAAA,SAAA,CAAA,CAAA,EAAA,EAAA,IAAA,GAAA;AAAA,MAAA,KAAA,EAAA,CAAA;AAmD/B,KAAA;AAlEuH,GAAA,CAAA,OAAA,GAAA,EAAA;AAAA,IAAA,SAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA,SAAA;AAAA,IAAA,SAAA,CAAA,CAAA,EAAA,CAAA;AAAA,GAAA;;AAmExH,EAAA,OAAO,CAACN,YAAD,EAAeC,UAAf,CAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useTriggerProps.js","sources":["../../../src/popup/hooks/useTriggerProps.ts"],"sourcesContent":["import React, { HTMLAttributes, MutableRefObject, useRef } from 'react';\nimport useClickOutside from '../../_util/useClickOutside';\nimport { TdPopupProps, PopupVisibleChangeContext, PopupTriggerEvent } from '../type';\nimport { ChangeHandler } from '../../_util/useDefault';\n\nexport type TriggerProps = HTMLAttributes<HTMLDivElement>;\nexport type PopupProps = HTMLAttributes<HTMLDivElement>;\ntype HandleTrigger = (e: PopupTriggerEvent, trigger: PopupVisibleChangeContext['trigger']) => void;\nconst ESC_KEY = 'Escape';\n\nexport default function useTriggerProps(\n ref: MutableRefObject<HTMLElement>,\n triggerNode: MutableRefObject<HTMLElement>,\n triggers: Array<TdPopupProps['trigger']>,\n visible: boolean,\n setVisible: ChangeHandler<boolean, [PopupVisibleChangeContext]>,\n disabled = false,\n originTrigger: React.ReactElement<HTMLAttributes<HTMLElement>>,\n): [TriggerProps, PopupProps] {\n const triggerProps: TriggerProps = {};\n const popupProps: PopupProps = {};\n const hasPopupMouseDown = useRef(false);\n const mouseDownTimer = useRef<number>();\n const toggle: HandleTrigger = (e, trigger) => setVisible(!visible, { e, trigger });\n const show: HandleTrigger = (e, trigger) => setVisible(true, { e, trigger });\n const hide: HandleTrigger = (e, trigger) => setVisible(false, { e, trigger });\n\n // click outside 用于处理点击其他地方隐藏\n useClickOutside([ref, triggerNode], (e: any) => {\n if (visible && (triggers.includes('click') || triggers.includes('context-menu')) && !hasPopupMouseDown.current) {\n hide(e, 'trigger-element-blur');\n }\n });\n\n if (disabled) return [triggerProps, popupProps];\n\n // eslint-disable-next-line no-restricted-syntax\n for (const trigger of triggers) {\n const { onClick, onMouseEnter, onMouseLeave, onMouseDown, onFocus, onBlur, onContextMenu, onKeyDown } =\n originTrigger.props;\n // 点击触发\n if (trigger === 'click') {\n triggerProps.onClick = (e) => {\n toggle(e, 'trigger-element-click');\n onClick && onClick(e);\n };\n }\n\n // hover 触发\n if (trigger === 'hover') {\n triggerProps.onMouseEnter = (e) => {\n show(e, 'trigger-element-hover');\n onMouseEnter && onMouseEnter(e);\n };\n popupProps.onMouseEnter = (e) => {\n // 如果当前弹出框本身没有展示 hover时不应该展示\n visible && show(e, 'trigger-element-hover');\n }; // 兼容鼠标移入弹出框\n triggerProps.onMouseLeave = (e) => {\n hide(e, 'trigger-element-hover');\n onMouseLeave && onMouseLeave(e);\n };\n popupProps.onMouseLeave = (e) => hide(e, 'trigger-element-hover');\n }\n\n // focus 触发\n if (trigger === 'focus') {\n triggerProps.onFocus = (e) => {\n show(e, 'trigger-element-focus');\n onFocus && onFocus(e);\n };\n triggerProps.onBlur = (e) => {\n hide(e, 'trigger-element-blur');\n onBlur && onBlur(e);\n };\n }\n\n // contextMenu 触发\n if (trigger === 'context-menu') {\n triggerProps.onContextMenu = (e) => {\n show(e, 'context-menu');\n onContextMenu && onContextMenu(e);\n };\n }\n\n popupProps.onMouseDown = (e) => {\n clearTimeout(mouseDownTimer.current);\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n hasPopupMouseDown.current = false;\n });\n onMouseDown?.(e);\n };\n\n triggerProps.onKeyDown = (e) => {\n if (e.key === ESC_KEY) hide(e, 'keydown-esc');\n onKeyDown && onKeyDown(e);\n };\n }\n\n return [triggerProps, popupProps];\n}\n"],"names":["ESC_KEY","useTriggerProps","ref","triggerNode","triggers","visible","setVisible","disabled","originTrigger","triggerProps","popupProps","hasPopupMouseDown","useRef","mouseDownTimer","toggle","e","trigger","show","hide","useClickOutside","includes","current","props","onClick","onMouseEnter","onMouseLeave","onMouseDown","onFocus","onBlur","onContextMenu","onKeyDown","clearTimeout","window","setTimeout","key"],"mappings":"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"}
@@ -227,4 +227,4 @@ Avatar.displayName = "Avatar";
227
227
 
228
228
  exports.Avatar = Avatar;
229
229
  exports.Group = Group;
230
- //# sourceMappingURL=dep-1c7ceac8.js.map
230
+ //# sourceMappingURL=dep-9d6a55ed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dep-1c7ceac8.js","sources":["../../src/avatar/AvararGroup.tsx","../../src/avatar/Avatar.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport Avatar from './Avatar';\nimport Popup from '../popup/Popup';\nimport useConfig from '../_util/useConfig';\nimport { AvatarContextProvider } from './AvatarContext';\nimport { TdAvatarGroupProps } from './type';\nimport { StyledProps } from '../common';\n\nexport interface AvatarGroupProps extends TdAvatarGroupProps, StyledProps {\n children?: React.ReactNode;\n}\nconst Group: React.FC<AvatarGroupProps> = (props) => {\n const { classPrefix } = useConfig();\n const preClass = `${classPrefix}-avatar`;\n const {\n className,\n cascading = 'right-up',\n collapseAvatar,\n max,\n placement,\n popupProps,\n size = 'medium',\n children,\n ...avatarGroupProps\n } = props;\n\n const childrenList = React.Children.toArray(children);\n let allChildrenList;\n if (childrenList.length > 0) {\n allChildrenList = childrenList.map((child: JSX.Element, index: number) =>\n React.cloneElement(child, { key: `avatar-group-item-${index}`, ...child.props }),\n );\n }\n const groupClass = classNames(`${preClass}-group`, className, {\n [`${preClass}--offset-right`]: cascading === 'right-up',\n [`${preClass}--offset-left`]: cascading === 'left-up',\n });\n const childrenCount = childrenList.length;\n if (max && childrenCount > max) {\n const showList = allChildrenList.slice(0, max);\n const hiddenList = allChildrenList.slice(max, childrenCount);\n const popupNum = `+${childrenCount - max}`;\n const popupMergeProps = { ...popupProps, placement };\n const popupNodes = popupProps ? (\n <Popup {...popupMergeProps}>\n {collapseAvatar ? <Avatar size={size}>{collapseAvatar}</Avatar> : <Avatar size={size}>{popupNum}</Avatar>}\n </Popup>\n ) : (\n <Popup key=\"avatar-popup-key\" placement={placement} content={hiddenList} trigger=\"hover\" showArrow>\n {collapseAvatar ? <Avatar size={size}>{collapseAvatar}</Avatar> : <Avatar size={size}>{popupNum}</Avatar>}\n </Popup>\n );\n showList.push(popupNodes);\n return (\n <AvatarContextProvider size={size}>\n <div className={groupClass}>{showList}</div>\n </AvatarContextProvider>\n );\n }\n return (\n <AvatarContextProvider size={size}>\n <div className={groupClass} {...avatarGroupProps}>\n {allChildrenList}\n </div>\n </AvatarContextProvider>\n );\n};\nexport default Group;\n","import React, { useRef, useState, useEffect, useContext, Ref } from 'react';\nimport useResizeObserver from 'use-resize-observer';\nimport classNames from 'classnames';\nimport useConfig from '../_util/useConfig';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport useCommonClassName from '../_util/useCommonClassName';\nimport composeRefs from '../_util/composeRefs';\nimport { TdAvatarProps } from './type';\nimport { StyledProps } from '../common';\nimport AvatarContext from './AvatarContext';\nimport AvatarGroup from './AvararGroup';\n\nexport interface AvatarProps extends TdAvatarProps, StyledProps {\n children?: React.ReactNode;\n}\n\nconst Avatar = forwardRefWithStatics(\n (props: AvatarProps, ref: Ref<HTMLElement>) => {\n const {\n alt,\n hideOnLoadFailed = false,\n icon,\n image,\n shape = 'circle',\n size: avatarSize = 'default',\n onError,\n children,\n style,\n className,\n ...avatarProps\n } = props;\n const groupSize = useContext(AvatarContext);\n const { classPrefix } = useConfig();\n const [scale, setScale] = useState(1);\n const [isImgExist, setIsImgExist] = useState(true);\n const avatarRef = useRef<HTMLElement>(null);\n const avatarChildrenRef = useRef<HTMLElement>(null);\n const size = avatarSize === 'default' ? groupSize : avatarSize;\n const gap = 4;\n const handleScale = () => {\n if (!avatarChildrenRef.current || !avatarRef.current) {\n return;\n }\n const childrenWidth = avatarChildrenRef.current.offsetWidth;\n const avatarWidth = avatarRef.current.offsetWidth;\n\n if (childrenWidth !== 0 && avatarWidth !== 0) {\n if (gap * 2 < avatarWidth) {\n setScale(avatarWidth - gap * 2 < childrenWidth ? (avatarWidth - gap * 2) / childrenWidth : 1);\n }\n }\n };\n const { ref: observerRef } = useResizeObserver<HTMLDivElement>({\n onResize: handleScale,\n });\n\n const handleImgLoadError = () => {\n onError && onError();\n !hideOnLoadFailed && setIsImgExist(false);\n };\n\n useEffect(() => {\n setIsImgExist(true);\n setScale(1);\n }, [props.image]);\n\n useEffect(() => {\n handleScale();\n }, []);\n\n const { SIZE } = useCommonClassName();\n const numSizeStyle: React.CSSProperties =\n size && !SIZE[size]\n ? {\n width: size,\n height: size,\n fontSize: `${Number.parseInt(size, 10) / 2}px`,\n }\n : {};\n const imageStyle: React.CSSProperties =\n size && !SIZE[size]\n ? {\n width: size,\n height: size,\n }\n : {};\n\n const preClass = `${classPrefix}-avatar`;\n\n const avatarClass = classNames(preClass, className, {\n [SIZE[size]]: !!SIZE[size],\n [`${preClass}--${shape}`]: !!shape,\n [`${preClass}-icon`]: !!icon,\n });\n\n let content;\n if (image && isImgExist) {\n content = <img src={image} alt={alt} style={imageStyle} onError={handleImgLoadError} />;\n } else if (icon) {\n content = icon;\n } else {\n const childrenStyle: React.CSSProperties = {\n transform: `scale(${scale})`,\n };\n content = (\n <span ref={composeRefs(ref, avatarChildrenRef, observerRef) as any} style={childrenStyle}>\n {children}\n </span>\n );\n }\n return (\n <div\n ref={composeRefs(ref, avatarRef) as any}\n className={avatarClass}\n style={{ ...numSizeStyle, ...style }}\n {...avatarProps}\n >\n {content}\n </div>\n );\n },\n { Group: AvatarGroup },\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"names":["Group","props","useConfig","classPrefix","preClass","className","cascading","collapseAvatar","max","placement","popupProps","size","children","avatarGroupProps","_excluded","childrenList","React","Children","toArray","allChildrenList","length","map","child","index","cloneElement","_objectSpread","key","groupClass","classNames","childrenCount","showList","slice","hiddenList","popupNum","popupMergeProps","popupNodes","createElement","Popup","Avatar","content","trigger","showArrow","push","AvatarContextProvider","forwardRefWithStatics","ref","alt","hideOnLoadFailed","icon","image","shape","avatarSize","onError","style","avatarProps","groupSize","useContext","AvatarContext","useState","_slicedToArray","scale","setScale","isImgExist","setIsImgExist","avatarRef","useRef","avatarChildrenRef","gap","handleScale","current","childrenWidth","offsetWidth","avatarWidth","useResizeObserver","onResize","observerRef","handleImgLoadError","useEffect","useCommonClassName","SIZE","numSizeStyle","width","height","fontSize","Number","parseInt","imageStyle","avatarClass","_defineProperty","src","childrenStyle","transform","composeRefs","AvatarGroup","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"dep-9d6a55ed.js","sources":["../../src/avatar/AvararGroup.tsx","../../src/avatar/Avatar.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport Avatar from './Avatar';\nimport Popup from '../popup/Popup';\nimport useConfig from '../_util/useConfig';\nimport { AvatarContextProvider } from './AvatarContext';\nimport { TdAvatarGroupProps } from './type';\nimport { StyledProps } from '../common';\n\nexport interface AvatarGroupProps extends TdAvatarGroupProps, StyledProps {\n children?: React.ReactNode;\n}\nconst Group: React.FC<AvatarGroupProps> = (props) => {\n const { classPrefix } = useConfig();\n const preClass = `${classPrefix}-avatar`;\n const {\n className,\n cascading = 'right-up',\n collapseAvatar,\n max,\n placement,\n popupProps,\n size = 'medium',\n children,\n ...avatarGroupProps\n } = props;\n\n const childrenList = React.Children.toArray(children);\n let allChildrenList;\n if (childrenList.length > 0) {\n allChildrenList = childrenList.map((child: JSX.Element, index: number) =>\n React.cloneElement(child, { key: `avatar-group-item-${index}`, ...child.props }),\n );\n }\n const groupClass = classNames(`${preClass}-group`, className, {\n [`${preClass}--offset-right`]: cascading === 'right-up',\n [`${preClass}--offset-left`]: cascading === 'left-up',\n });\n const childrenCount = childrenList.length;\n if (max && childrenCount > max) {\n const showList = allChildrenList.slice(0, max);\n const hiddenList = allChildrenList.slice(max, childrenCount);\n const popupNum = `+${childrenCount - max}`;\n const popupMergeProps = { ...popupProps, placement };\n const popupNodes = popupProps ? (\n <Popup {...popupMergeProps}>\n {collapseAvatar ? <Avatar size={size}>{collapseAvatar}</Avatar> : <Avatar size={size}>{popupNum}</Avatar>}\n </Popup>\n ) : (\n <Popup key=\"avatar-popup-key\" placement={placement} content={hiddenList} trigger=\"hover\" showArrow>\n {collapseAvatar ? <Avatar size={size}>{collapseAvatar}</Avatar> : <Avatar size={size}>{popupNum}</Avatar>}\n </Popup>\n );\n showList.push(popupNodes);\n return (\n <AvatarContextProvider size={size}>\n <div className={groupClass}>{showList}</div>\n </AvatarContextProvider>\n );\n }\n return (\n <AvatarContextProvider size={size}>\n <div className={groupClass} {...avatarGroupProps}>\n {allChildrenList}\n </div>\n </AvatarContextProvider>\n );\n};\nexport default Group;\n","import React, { useRef, useState, useEffect, useContext, Ref } from 'react';\nimport useResizeObserver from 'use-resize-observer';\nimport classNames from 'classnames';\nimport useConfig from '../_util/useConfig';\nimport forwardRefWithStatics from '../_util/forwardRefWithStatics';\nimport useCommonClassName from '../_util/useCommonClassName';\nimport composeRefs from '../_util/composeRefs';\nimport { TdAvatarProps } from './type';\nimport { StyledProps } from '../common';\nimport AvatarContext from './AvatarContext';\nimport AvatarGroup from './AvararGroup';\n\nexport interface AvatarProps extends TdAvatarProps, StyledProps {\n children?: React.ReactNode;\n}\n\nconst Avatar = forwardRefWithStatics(\n (props: AvatarProps, ref: Ref<HTMLElement>) => {\n const {\n alt,\n hideOnLoadFailed = false,\n icon,\n image,\n shape = 'circle',\n size: avatarSize = 'default',\n onError,\n children,\n style,\n className,\n ...avatarProps\n } = props;\n const groupSize = useContext(AvatarContext);\n const { classPrefix } = useConfig();\n const [scale, setScale] = useState(1);\n const [isImgExist, setIsImgExist] = useState(true);\n const avatarRef = useRef<HTMLElement>(null);\n const avatarChildrenRef = useRef<HTMLElement>(null);\n const size = avatarSize === 'default' ? groupSize : avatarSize;\n const gap = 4;\n const handleScale = () => {\n if (!avatarChildrenRef.current || !avatarRef.current) {\n return;\n }\n const childrenWidth = avatarChildrenRef.current.offsetWidth;\n const avatarWidth = avatarRef.current.offsetWidth;\n\n if (childrenWidth !== 0 && avatarWidth !== 0) {\n if (gap * 2 < avatarWidth) {\n setScale(avatarWidth - gap * 2 < childrenWidth ? (avatarWidth - gap * 2) / childrenWidth : 1);\n }\n }\n };\n const { ref: observerRef } = useResizeObserver<HTMLDivElement>({\n onResize: handleScale,\n });\n\n const handleImgLoadError = () => {\n onError && onError();\n !hideOnLoadFailed && setIsImgExist(false);\n };\n\n useEffect(() => {\n setIsImgExist(true);\n setScale(1);\n }, [props.image]);\n\n useEffect(() => {\n handleScale();\n }, []);\n\n const { SIZE } = useCommonClassName();\n const numSizeStyle: React.CSSProperties =\n size && !SIZE[size]\n ? {\n width: size,\n height: size,\n fontSize: `${Number.parseInt(size, 10) / 2}px`,\n }\n : {};\n const imageStyle: React.CSSProperties =\n size && !SIZE[size]\n ? {\n width: size,\n height: size,\n }\n : {};\n\n const preClass = `${classPrefix}-avatar`;\n\n const avatarClass = classNames(preClass, className, {\n [SIZE[size]]: !!SIZE[size],\n [`${preClass}--${shape}`]: !!shape,\n [`${preClass}-icon`]: !!icon,\n });\n\n let content;\n if (image && isImgExist) {\n content = <img src={image} alt={alt} style={imageStyle} onError={handleImgLoadError} />;\n } else if (icon) {\n content = icon;\n } else {\n const childrenStyle: React.CSSProperties = {\n transform: `scale(${scale})`,\n };\n content = (\n <span ref={composeRefs(ref, avatarChildrenRef, observerRef) as any} style={childrenStyle}>\n {children}\n </span>\n );\n }\n return (\n <div\n ref={composeRefs(ref, avatarRef) as any}\n className={avatarClass}\n style={{ ...numSizeStyle, ...style }}\n {...avatarProps}\n >\n {content}\n </div>\n );\n },\n { Group: AvatarGroup },\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"names":["Group","props","useConfig","classPrefix","preClass","className","cascading","collapseAvatar","max","placement","popupProps","size","children","avatarGroupProps","_excluded","childrenList","React","Children","toArray","allChildrenList","length","map","child","index","cloneElement","_objectSpread","key","groupClass","classNames","childrenCount","showList","slice","hiddenList","popupNum","popupMergeProps","popupNodes","createElement","Popup","Avatar","content","trigger","showArrow","push","AvatarContextProvider","forwardRefWithStatics","ref","alt","hideOnLoadFailed","icon","image","shape","avatarSize","onError","style","avatarProps","groupSize","useContext","AvatarContext","useState","_slicedToArray","scale","setScale","isImgExist","setIsImgExist","avatarRef","useRef","avatarChildrenRef","gap","handleScale","current","childrenWidth","offsetWidth","avatarWidth","useResizeObserver","onResize","observerRef","handleImgLoadError","useEffect","useCommonClassName","SIZE","numSizeStyle","width","height","fontSize","Number","parseInt","imageStyle","avatarClass","_defineProperty","src","childrenStyle","transform","composeRefs","AvatarGroup","displayName"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * rgb 转 cmyk
3
+ * @param red
4
+ * @param green
5
+ * @param blue
6
+ * @returns
7
+ */
8
+ export declare const rgb2cmyk: (red: number, green: number, blue: number) => number[];
9
+ /**
10
+ * cmyk 转 rgb
11
+ * @param cyan
12
+ * @param magenta
13
+ * @param yellow
14
+ * @param black
15
+ * @returns
16
+ */
17
+ export declare const cmyk2rgb: (cyan: number, magenta: number, yellow: number, black: number) => {
18
+ r: number;
19
+ g: number;
20
+ b: number;
21
+ };
22
+ /**
23
+ * 输入色转rgb
24
+ * @param input
25
+ * @returns
26
+ */
27
+ export declare const cmykInputToColor: (input: string) => string;
@@ -0,0 +1,154 @@
1
+ import tinyColor from 'tinycolor2';
2
+ import { GradientColors, GradientColorPoint } from './gradient';
3
+ export interface ColorObject {
4
+ alpha: number;
5
+ css: string;
6
+ hex: string;
7
+ hex8: string;
8
+ hsl: string;
9
+ hsla: string;
10
+ hsv: string;
11
+ hsva: string;
12
+ rgb: string;
13
+ rgba: string;
14
+ saturation: number;
15
+ value: number;
16
+ isGradient: boolean;
17
+ linearGradient?: string;
18
+ }
19
+ interface ColorStates {
20
+ s: number;
21
+ v: number;
22
+ h: number;
23
+ a: number;
24
+ }
25
+ interface GradientStates {
26
+ colors: GradientColorPoint[];
27
+ degree: number;
28
+ selectedId: string;
29
+ css?: string;
30
+ }
31
+ /**
32
+ * 将渐变对象转换成字符串
33
+ * @param object
34
+ * @returns
35
+ */
36
+ export declare const gradientColors2string: (object: GradientColors) => string;
37
+ /**
38
+ * 去除颜色的透明度
39
+ * @param color
40
+ * @returns
41
+ */
42
+ export declare const getColorWithoutAlpha: (color: string) => string;
43
+ export declare const genId: () => string;
44
+ /**
45
+ * 生成一个渐变颜色
46
+ * @param left
47
+ * @param color
48
+ * @returns
49
+ */
50
+ export declare const genGradientPoint: (left: number, color: string) => GradientColorPoint;
51
+ export declare class Color {
52
+ states: ColorStates;
53
+ originColor: string;
54
+ isGradient: boolean;
55
+ gradientStates: GradientStates;
56
+ constructor(input: string);
57
+ update(input: string): void;
58
+ get saturation(): number;
59
+ set saturation(value: number);
60
+ get value(): number;
61
+ set value(value: number);
62
+ get hue(): number;
63
+ set hue(value: number);
64
+ get alpha(): number;
65
+ set alpha(value: number);
66
+ get rgb(): string;
67
+ get rgba(): string;
68
+ get hsv(): string;
69
+ get hsva(): string;
70
+ get hsl(): string;
71
+ get hsla(): string;
72
+ get hex(): string;
73
+ get hex8(): string;
74
+ get cmyk(): string;
75
+ get css(): string;
76
+ get linearGradient(): string;
77
+ get gradientColors(): GradientColorPoint[];
78
+ set gradientColors(colors: GradientColorPoint[]);
79
+ get gradientSelectedId(): string;
80
+ set gradientSelectedId(id: string);
81
+ get gradientDegree(): number;
82
+ set gradientDegree(degree: number);
83
+ get gradientSelectedPoint(): GradientColorPoint;
84
+ getFormatsColorMap(): {
85
+ HEX: string;
86
+ CMYK: string;
87
+ RGB: string;
88
+ RGBA: string;
89
+ HSL: string;
90
+ HSLA: string;
91
+ HSV: string;
92
+ HSVA: string;
93
+ CSS: string;
94
+ };
95
+ updateCurrentGradientColor(): false | this;
96
+ updateStates(input: string): void;
97
+ getRgba(): {
98
+ r: number;
99
+ g: number;
100
+ b: number;
101
+ a: number;
102
+ };
103
+ getCmyk(): {
104
+ c: number;
105
+ m: number;
106
+ y: number;
107
+ k: number;
108
+ };
109
+ getHsva(): tinyColor.ColorFormats.HSVA;
110
+ getHsla(): tinyColor.ColorFormats.HSLA;
111
+ /**
112
+ * 判断输入色是否与当前色相同
113
+ * @param color
114
+ * @returns
115
+ */
116
+ equals(color: string): boolean;
117
+ /**
118
+ * 校验输入色是否是一个有效颜色
119
+ * @param color
120
+ * @returns
121
+ */
122
+ static isValid(color: string): boolean;
123
+ static hsva2color(h: number, s: number, v: number, a: number): string;
124
+ static hsla2color(h: number, s: number, l: number, a: number): string;
125
+ static rgba2color(r: number, g: number, b: number, a: number): string;
126
+ static hex2color(hex: string, a: number): string;
127
+ /**
128
+ * 对象转颜色字符串
129
+ * @param object
130
+ * @param format
131
+ * @returns
132
+ */
133
+ static object2color(object: any, format: string): string;
134
+ /**
135
+ * 是否是渐变色
136
+ * @param input
137
+ * @returns
138
+ */
139
+ static isGradientColor: (input: string) => boolean;
140
+ /**
141
+ * 比较两个颜色是否相同
142
+ * @param color1
143
+ * @param color2
144
+ * @returns
145
+ */
146
+ static compare: (color1: string, color2: string) => boolean;
147
+ }
148
+ /**
149
+ * 获取对外输出的color对象
150
+ * @param color
151
+ * @returns
152
+ */
153
+ export declare const getColorObject: (color: Color) => ColorObject;
154
+ export default Color;
@@ -0,0 +1,22 @@
1
+ export interface GradientColorPoint {
2
+ id?: string;
3
+ color?: string;
4
+ left?: number;
5
+ }
6
+ export interface GradientColors {
7
+ points: GradientColorPoint[];
8
+ degree: number;
9
+ }
10
+ /**
11
+ * 验证是否是渐变字符串
12
+ * @param input
13
+ * @returns
14
+ */
15
+ export declare const isGradientColor: (input: string) => null | RegExpExecArray;
16
+ /**
17
+ * 解析渐变字符串为 GradientColors 对象
18
+ * @param input
19
+ * @returns
20
+ */
21
+ export declare const parseGradientString: (input: string) => GradientColors | boolean;
22
+ export default parseGradientString;
@@ -1,2 +1,2 @@
1
1
  import { MutableRefObject } from 'react';
2
- export default function useClickOutside<T extends HTMLElement>(refs: MutableRefObject<T>[], handler: (event: MouseEvent | TouchEvent) => void): void;
2
+ export default function useClickOutside<T extends HTMLElement>(refs: MutableRefObject<T>[], handler: (event: MouseEvent | TouchEvent) => void, includePopup?: boolean): void;
@@ -9,14 +9,58 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var React = require('react');
12
+ var _util_useConfig = require('./useConfig.js');
13
+ require('../_chunks/dep-360d6b7f.js');
14
+ require('../_chunks/dep-3698c913.js');
15
+ require('../_chunks/dep-f1535ead.js');
16
+ require('../_chunks/dep-1717cdf1.js');
17
+ require('../_chunks/dep-48820d0f.js');
18
+ require('../_chunks/dep-97e5708c.js');
19
+ require('../_chunks/dep-b5416abb.js');
20
+ require('../_chunks/dep-927824d3.js');
21
+ require('../_chunks/dep-49701a36.js');
22
+ require('../_chunks/dep-d11b4401.js');
23
+ require('../_chunks/dep-a57e90f3.js');
24
+ require('../_chunks/dep-3dc60caf.js');
25
+ require('../_chunks/dep-b2e56ab4.js');
26
+ require('../_chunks/dep-670e8110.js');
27
+ require('../_chunks/dep-95793ccd.js');
28
+ require('../_chunks/dep-9025380b.js');
29
+ require('../_chunks/dep-987d705b.js');
30
+ require('../_chunks/dep-fc4dab29.js');
31
+ require('../_chunks/dep-98e0931c.js');
32
+ require('../_chunks/dep-8e0a758c.js');
33
+ require('../_chunks/dep-83b2f1b6.js');
34
+ require('../_common/js/global-config/locale/zh_CN.js');
35
+ require('../config-provider/zh_CN_config.js');
12
36
 
13
- function useClickOutside(refs, handler) {
37
+ function useClickOutside(refs, handler, includePopup) {
38
+ var _useConfig = _util_useConfig["default"](),
39
+ classPrefix = _useConfig.classPrefix;
40
+
41
+ var POPUP_SELECTOR = ".".concat(classPrefix, "-popup");
14
42
  React.useEffect(function () {
15
43
  var listener = function listener(event) {
16
- if (!Array.isArray(refs) || refs.find(function (ref) {
44
+ if (!Array.isArray(refs)) {
45
+ return;
46
+ }
47
+
48
+ var elements = [];
49
+
50
+ if (includePopup) {
51
+ document.querySelectorAll(POPUP_SELECTOR).forEach(function (ele) {
52
+ elements.push(ele);
53
+ });
54
+ }
55
+
56
+ elements = Array.from(new Set(elements));
57
+
58
+ if (refs.find(function (ref) {
17
59
  var _ref$current;
18
60
 
19
61
  return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.contains(event.target);
62
+ }) || elements.find(function (el) {
63
+ return el === null || el === void 0 ? void 0 : el.contains(event.target);
20
64
  })) {
21
65
  return;
22
66
  }
@@ -30,7 +74,7 @@ function useClickOutside(refs, handler) {
30
74
  document.removeEventListener("mousedown", listener);
31
75
  document.removeEventListener("touchstart", listener);
32
76
  };
33
- }, [refs, handler]);
77
+ }, [refs, handler, includePopup]);
34
78
  }
35
79
 
36
80
  exports["default"] = useClickOutside;
@@ -1 +1 @@
1
- {"version":3,"file":"useClickOutside.js","sources":["../../src/_util/useClickOutside.ts"],"sourcesContent":["import { MutableRefObject, useEffect } from 'react';\n\nexport default function useClickOutside<T extends HTMLElement>(\n refs: MutableRefObject<T>[],\n handler: (event: MouseEvent | TouchEvent) => void,\n) {\n useEffect(() => {\n const listener = (event) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!Array.isArray(refs) || refs.find((ref) => ref.current?.contains(event.target))) {\n return;\n }\n handler(event);\n };\n // todo: pointerdown, jsdom 暂未实现 pointer 事件,后续加上后可以改进.\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [refs, handler]);\n}\n"],"names":["useClickOutside","refs","handler","useEffect","listener","event","Array","isArray","find","ref","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;;;;;;;;;;;AACe,SAASA,eAAT,CAAyBC,IAAzB,EAA+BC,OAA/B,EAAwC;AACrDC,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;AAC1B,MAAA,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcN,IAAd,CAAD,IAAwBA,IAAI,CAACO,IAAL,CAAU,UAACC,GAAD,EAAA;AAAA,QAAA,IAAA,YAAA,CAAA;;AAAA,QAASA,OAAAA,CAAAA,YAAAA,GAAAA,GAAG,CAACC,OAAb,MAAS,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAaC,QAAb,CAAsBN,KAAK,CAACO,MAA5B,CAAT,CAAA;AAAA,OAAV,CAA5B,EAAqF;AACnF,QAAA,OAAA;AACD,OAAA;;AACDV,MAAAA,OAAO,CAACG,KAAD,CAAP,CAAA;AACD,KALD,CAAA;;AAMAQ,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCV,QAAvC,CAAA,CAAA;AACAS,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCV,QAAxC,CAAA,CAAA;AACA,IAAA,OAAO,YAAM;AACXS,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0CX,QAA1C,CAAA,CAAA;AACAS,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CX,QAA3C,CAAA,CAAA;AACD,KAHD,CAAA;AAID,GAbQ,EAaN,CAACH,IAAD,EAAOC,OAAP,CAbM,CAAT,CAAA;AAcD;;;;"}
1
+ {"version":3,"file":"useClickOutside.js","sources":["../../src/_util/useClickOutside.ts"],"sourcesContent":["import { MutableRefObject, useEffect } from 'react';\nimport useConfig from './useConfig';\n\nexport default function useClickOutside<T extends HTMLElement>(\n refs: MutableRefObject<T>[],\n handler: (event: MouseEvent | TouchEvent) => void,\n includePopup?: boolean,\n) {\n const { classPrefix } = useConfig();\n const POPUP_SELECTOR = `.${classPrefix}-popup`;\n\n useEffect(() => {\n const listener = (event) => {\n if (!Array.isArray(refs)) {\n return;\n }\n\n let elements = [];\n if (includePopup) {\n document.querySelectorAll(POPUP_SELECTOR).forEach((ele: Element) => {\n elements.push(ele as HTMLElement);\n });\n }\n elements = Array.from(new Set(elements));\n\n // Do nothing if clicking ref's element or descendent elements\n if (\n refs.find((ref) => ref.current?.contains(event.target)) ||\n elements.find((el) => el?.contains(event.target))\n ) {\n return;\n }\n handler(event);\n };\n // todo: pointerdown, jsdom 暂未实现 pointer 事件,后续加上后可以改进.\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [refs, handler, includePopup]);\n}\n"],"names":["useClickOutside","refs","handler","includePopup","useConfig","classPrefix","POPUP_SELECTOR","useEffect","listener","event","Array","isArray","elements","document","querySelectorAll","forEach","ele","push","from","Set","find","ref","current","contains","target","el","addEventListener","removeEventListener"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,eAAT,CAAyBC,IAAzB,EAA+BC,OAA/B,EAAwCC,YAAxC,EAAsD;AACnE,EAAA,IAAA,UAAA,GAAwBC,0BAAS,EAAjC;AAAA,MAAQC,WAAR,cAAQA,WAAR,CAAA;;AACA,EAAMC,IAAAA,cAAc,GAAOD,GAAAA,CAAAA,MAAAA,CAAAA,WAAP,EAApB,QAAA,CAAA,CAAA;AACAE,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;AAC1B,MAAA,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcV,IAAd,CAAL,EAA0B;AACxB,QAAA,OAAA;AACD,OAAA;;AACD,MAAIW,IAAAA,QAAQ,GAAG,EAAf,CAAA;;AACA,MAAA,IAAIT,YAAJ,EAAkB;AAChBU,QAAAA,QAAQ,CAACC,gBAAT,CAA0BR,cAA1B,EAA0CS,OAA1C,CAAkD,UAACC,GAAD,EAAS;AACzDJ,UAAAA,QAAQ,CAACK,IAAT,CAAcD,GAAd,CAAA,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAAA;;AACDJ,MAAAA,QAAQ,GAAGF,KAAK,CAACQ,IAAN,CAAW,IAAIC,GAAJ,CAAQP,QAAR,CAAX,CAAX,CAAA;;AACA,MAAA,IAAIX,IAAI,CAACmB,IAAL,CAAU,UAACC,GAAD,EAAA;AAAA,QAAA,IAAA,YAAA,CAAA;;AAAA,QAASA,OAAAA,CAAAA,YAAAA,GAAAA,GAAG,CAACC,OAAb,MAAS,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAaC,QAAb,CAAsBd,KAAK,CAACe,MAA5B,CAAT,CAAA;AAAA,OAAV,KAA2DZ,QAAQ,CAACQ,IAAT,CAAc,UAACK,EAAD,EAAA;AAAA,QAAQA,OAAAA,EAAR,KAAQA,IAAAA,IAAAA,EAAR,KAAQA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAE,CAAEF,QAAJ,CAAad,KAAK,CAACe,MAAnB,CAAR,CAAA;AAAA,OAAd,CAA/D,EAAkH;AAChH,QAAA,OAAA;AACD,OAAA;;AACDtB,MAAAA,OAAO,CAACO,KAAD,CAAP,CAAA;AACD,KAfD,CAAA;;AAgBAI,IAAAA,QAAQ,CAACa,gBAAT,CAA0B,WAA1B,EAAuClB,QAAvC,CAAA,CAAA;AACAK,IAAAA,QAAQ,CAACa,gBAAT,CAA0B,YAA1B,EAAwClB,QAAxC,CAAA,CAAA;AACA,IAAA,OAAO,YAAM;AACXK,MAAAA,QAAQ,CAACc,mBAAT,CAA6B,WAA7B,EAA0CnB,QAA1C,CAAA,CAAA;AACAK,MAAAA,QAAQ,CAACc,mBAAT,CAA6B,YAA7B,EAA2CnB,QAA3C,CAAA,CAAA;AACD,KAHD,CAAA;AAID,GAvBQ,EAuBN,CAACP,IAAD,EAAOC,OAAP,EAAgBC,YAAhB,CAvBM,CAAT,CAAA;AAwBD;;;;"}
@@ -0,0 +1,16 @@
1
+ export interface Coordinate {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ interface DraggableCallback {
6
+ (coordinate: Coordinate, event?: MouseEvent): void;
7
+ }
8
+ interface DraggableProps {
9
+ start?: DraggableCallback;
10
+ drag?: DraggableCallback;
11
+ end?: DraggableCallback;
12
+ }
13
+ declare const useDrag: (ref: any, options: DraggableProps) => {
14
+ isDragging: boolean;
15
+ };
16
+ export default useDrag;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * tdesign v0.31.1
3
+ * (c) 2022 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
11
+ var React = require('react');
12
+
13
+ var useDrag = function useDrag(ref, options) {
14
+ var start = options.start,
15
+ end = options.end,
16
+ drag = options.drag;
17
+ var isDraggingRef = React.useRef(false);
18
+
19
+ var getCoordinate = function getCoordinate(event) {
20
+ try {
21
+ var _ref$current;
22
+
23
+ var rect = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
24
+ var left = event.clientX - rect.left;
25
+ var top = event.clientY - rect.top;
26
+ return {
27
+ y: Math.min(Math.max(0, top), rect.height),
28
+ x: Math.min(Math.max(0, left), rect.width)
29
+ };
30
+ } catch (error) {
31
+ return {
32
+ y: null,
33
+ x: null
34
+ };
35
+ }
36
+ };
37
+
38
+ var handlePointerMove = function handlePointerMove(e) {
39
+ if (isDraggingRef.current) drag(getCoordinate(e), e);
40
+ };
41
+
42
+ var handlePointerUp = function handlePointerUp(e) {
43
+ isDraggingRef.current = false;
44
+ end(getCoordinate(e), e);
45
+ window.removeEventListener("mouseup", handlePointerUp);
46
+ window.removeEventListener("mousemove", handlePointerMove);
47
+ };
48
+
49
+ var handlePointerDown = function handlePointerDown(e) {
50
+ isDraggingRef.current = true;
51
+ start(getCoordinate(e), e);
52
+ window.addEventListener("mouseup", handlePointerUp);
53
+ window.addEventListener("mousemove", handlePointerMove);
54
+ };
55
+
56
+ React.useEffect(function () {
57
+ var element = ref.current;
58
+
59
+ if (element) {
60
+ element.addEventListener("mousedown", handlePointerDown);
61
+ }
62
+
63
+ return function () {
64
+ if (element) {
65
+ element.removeEventListener("mousedown", handlePointerDown);
66
+ }
67
+
68
+ window.removeEventListener("mouseup", handlePointerUp);
69
+ window.removeEventListener("mousemove", handlePointerMove);
70
+ };
71
+ }, []);
72
+ return {
73
+ isDragging: isDraggingRef.current
74
+ };
75
+ };
76
+
77
+ exports["default"] = useDrag;
78
+ //# sourceMappingURL=useDrag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrag.js","sources":["../../src/_util/useDrag.ts"],"sourcesContent":["import { useRef, useEffect } from 'react';\n\nexport interface Coordinate {\n x: number;\n y: number;\n}\n\ninterface DraggableCallback {\n (coordinate: Coordinate, event?: MouseEvent): void;\n}\n\ninterface DraggableProps {\n start?: DraggableCallback;\n drag?: DraggableCallback;\n end?: DraggableCallback;\n}\n\nconst useDrag = (ref, options: DraggableProps) => {\n const { start, end, drag } = options;\n\n const isDraggingRef = useRef(false);\n\n const getCoordinate = (event: MouseEvent) => {\n try {\n const rect = ref.current?.getBoundingClientRect();\n const left = event.clientX - rect.left;\n const top = event.clientY - rect.top;\n return {\n y: Math.min(Math.max(0, top), rect.height),\n x: Math.min(Math.max(0, left), rect.width),\n };\n } catch (error) {\n return {\n y: null,\n x: null,\n };\n }\n };\n\n const handlePointerMove = (e: MouseEvent) => {\n if (isDraggingRef.current) drag(getCoordinate(e), e);\n };\n\n const handlePointerUp = (e: MouseEvent) => {\n isDraggingRef.current = false;\n end(getCoordinate(e), e);\n window.removeEventListener('mouseup', handlePointerUp);\n window.removeEventListener('mousemove', handlePointerMove);\n };\n\n const handlePointerDown = (e: MouseEvent) => {\n isDraggingRef.current = true;\n start(getCoordinate(e), e);\n window.addEventListener('mouseup', handlePointerUp);\n window.addEventListener('mousemove', handlePointerMove);\n };\n\n useEffect(() => {\n const element = ref.current;\n if (element) {\n element.addEventListener('mousedown', handlePointerDown);\n }\n return () => {\n if (element) {\n element.removeEventListener('mousedown', handlePointerDown);\n }\n window.removeEventListener('mouseup', handlePointerUp);\n window.removeEventListener('mousemove', handlePointerMove);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n isDragging: isDraggingRef.current,\n };\n};\n\nexport default useDrag;\n"],"names":["useDrag","ref","options","start","end","drag","isDraggingRef","useRef","getCoordinate","event","rect","current","getBoundingClientRect","left","clientX","top","clientY","y","Math","min","max","height","x","width","error","handlePointerMove","e","handlePointerUp","window","removeEventListener","handlePointerDown","addEventListener","useEffect","element","isDragging"],"mappings":"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"}
@@ -12,7 +12,7 @@ require('../_chunks/dep-3698c913.js');
12
12
  require('../_chunks/dep-b60bba5d.js');
13
13
  require('react');
14
14
  require('classnames');
15
- var avatar_AvararGroup = require('../_chunks/dep-1c7ceac8.js');
15
+ var avatar_AvararGroup = require('../_chunks/dep-9d6a55ed.js');
16
16
  require('../popup/Popup.js');
17
17
  require('../_util/useConfig.js');
18
18
  require('./AvatarContext.js');
@@ -19,7 +19,7 @@ require('../_util/forwardRefWithStatics.js');
19
19
  require('../_util/useCommonClassName.js');
20
20
  require('../_util/composeRefs.js');
21
21
  require('./AvatarContext.js');
22
- var avatar_AvararGroup = require('../_chunks/dep-1c7ceac8.js');
22
+ var avatar_AvararGroup = require('../_chunks/dep-9d6a55ed.js');
23
23
  require('../_chunks/dep-5d0f89c3.js');
24
24
  require('../_chunks/dep-360d6b7f.js');
25
25
  require('../_chunks/dep-f1535ead.js');
@@ -8,7 +8,7 @@
8
8
 
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
- var avatar_AvararGroup = require('../_chunks/dep-1c7ceac8.js');
11
+ var avatar_AvararGroup = require('../_chunks/dep-9d6a55ed.js');
12
12
  require('../_chunks/dep-3698c913.js');
13
13
  require('../_chunks/dep-58293904.js');
14
14
  require('../_chunks/dep-5d0f89c3.js');
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ColorPickerProps } from './interface';
3
+ declare const _default: React.NamedExoticComponent<ColorPickerProps>;
4
+ export default _default;