@xhsreds/reds-rn-next 0.2.2 → 0.2.3-beta202411091721

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 (250) hide show
  1. package/coverage/.tmp/coverage-10.json +1 -1
  2. package/coverage/.tmp/coverage-11.json +1 -1
  3. package/coverage/.tmp/coverage-12.json +1 -1
  4. package/coverage/.tmp/coverage-13.json +1 -1
  5. package/coverage/.tmp/coverage-14.json +1 -1
  6. package/coverage/.tmp/coverage-16.json +1 -1
  7. package/coverage/.tmp/coverage-17.json +1 -1
  8. package/coverage/.tmp/coverage-18.json +1 -1
  9. package/coverage/.tmp/coverage-19.json +1 -1
  10. package/coverage/.tmp/coverage-20.json +1 -1
  11. package/coverage/.tmp/coverage-21.json +1 -1
  12. package/coverage/.tmp/coverage-22.json +1 -1
  13. package/coverage/.tmp/coverage-23.json +1 -1
  14. package/coverage/.tmp/coverage-24.json +1 -1
  15. package/coverage/.tmp/coverage-25.json +1 -1
  16. package/coverage/.tmp/coverage-26.json +1 -1
  17. package/coverage/.tmp/coverage-27.json +1 -1
  18. package/coverage/.tmp/coverage-28.json +1 -1
  19. package/coverage/.tmp/coverage-29.json +1 -1
  20. package/coverage/.tmp/coverage-30.json +1 -1
  21. package/coverage/.tmp/coverage-31.json +1 -1
  22. package/coverage/.tmp/coverage-32.json +1 -1
  23. package/coverage/.tmp/coverage-33.json +1 -1
  24. package/coverage/.tmp/coverage-34.json +1 -1
  25. package/coverage/.tmp/coverage-36.json +1 -1
  26. package/coverage/.tmp/coverage-37.json +1 -1
  27. package/coverage/.tmp/coverage-38.json +1 -1
  28. package/coverage/.tmp/coverage-5.json +1 -1
  29. package/coverage/.tmp/coverage-8.json +1 -1
  30. package/coverage/.tmp/coverage-9.json +1 -1
  31. package/lib/cjs/_chunks/1m42z2Mz.js.map +1 -1
  32. package/lib/cjs/_chunks/{BZY8fLHP.js → BRcYv_kj.js} +3 -2
  33. package/lib/cjs/_chunks/BRcYv_kj.js.map +1 -0
  34. package/lib/cjs/_chunks/{G5T1hGVo.js → BmmacXcR.js} +4 -2
  35. package/lib/cjs/_chunks/BmmacXcR.js.map +1 -0
  36. package/lib/cjs/_chunks/{ZbRoGP_k.js → DY75DWu0.js} +4 -2
  37. package/lib/cjs/_chunks/DY75DWu0.js.map +1 -0
  38. package/lib/cjs/_chunks/{CnvQUDZP.js → SPLAvS-C.js} +3 -2
  39. package/lib/cjs/_chunks/SPLAvS-C.js.map +1 -0
  40. package/lib/cjs/_chunks/{SEcsCrAk.js → aU6iuR1W.js} +2 -2
  41. package/lib/cjs/_chunks/aU6iuR1W.js.map +1 -0
  42. package/lib/cjs/_chunks/{CbnkUMH9.js → dM-QhrnE.js} +11 -9
  43. package/lib/cjs/_chunks/dM-QhrnE.js.map +1 -0
  44. package/lib/cjs/components/ActionSheets/ActionSheets.js +13 -7
  45. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
  46. package/lib/cjs/components/ActionSheets/index.js +1 -1
  47. package/lib/cjs/components/ActionSheets/styles.js +6 -3
  48. package/lib/cjs/components/ActionSheets/styles.js.map +1 -1
  49. package/lib/cjs/components/Alert/Alert.js +6 -6
  50. package/lib/cjs/components/Alert/hooks/alert.js +6 -6
  51. package/lib/cjs/components/Alert/index.js +6 -6
  52. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +6 -6
  53. package/lib/cjs/components/AvatarGroup/index.js +6 -6
  54. package/lib/cjs/components/CheckBoxGroup/CheckBox.js +5 -1
  55. package/lib/cjs/components/CheckBoxGroup/CheckBox.js.map +1 -1
  56. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +2 -1
  57. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  58. package/lib/cjs/components/DatePicker/DatePicker.js +1 -1
  59. package/lib/cjs/components/DatePicker/index.js +1 -1
  60. package/lib/cjs/components/Form/Form.js +21 -17
  61. package/lib/cjs/components/Form/Form.js.map +1 -1
  62. package/lib/cjs/components/Form/FormItem.js +4 -4
  63. package/lib/cjs/components/Form/FormItem.js.map +1 -1
  64. package/lib/cjs/components/Form/index.js +2 -2
  65. package/lib/cjs/components/Form/interface/index.js +1 -1
  66. package/lib/cjs/components/Form/styles.js +1 -1
  67. package/lib/cjs/components/Icon/Icon.js +3 -1
  68. package/lib/cjs/components/Icon/Icon.js.map +1 -1
  69. package/lib/cjs/components/ImagePreview/ImagePreview.js +6 -6
  70. package/lib/cjs/components/ImagePreview/index.js +6 -6
  71. package/lib/cjs/components/List/ListItem/ListItem.js +6 -6
  72. package/lib/cjs/components/List/index.js +6 -6
  73. package/lib/cjs/components/Picker/Picker.js +1 -1
  74. package/lib/cjs/components/Picker/index.js +1 -1
  75. package/lib/cjs/components/Radio/Radio.js +6 -6
  76. package/lib/cjs/components/Radio/RadioGroup.js +4 -2
  77. package/lib/cjs/components/Radio/RadioGroup.js.map +1 -1
  78. package/lib/cjs/components/Radio/index.js +6 -6
  79. package/lib/cjs/components/Radio/interface/index.js +1 -1
  80. package/lib/cjs/components/Rate/Rate.js +2 -2
  81. package/lib/cjs/components/Rate/Rate.js.map +1 -1
  82. package/lib/cjs/components/Rate/index.js +1 -1
  83. package/lib/cjs/components/Rate/interface/index.js +1 -1
  84. package/lib/cjs/components/Sheets/AnimatedSheets.js +4 -2
  85. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  86. package/lib/cjs/components/Sheets/Sheets.js +22 -13
  87. package/lib/cjs/components/Sheets/Sheets.js.map +1 -1
  88. package/lib/cjs/components/Sheets/api.js +1 -1
  89. package/lib/cjs/components/Sheets/index.js +1 -1
  90. package/lib/cjs/components/Sheets/interface/index.js +1 -1
  91. package/lib/cjs/components/Stepper/Stepper.js +4 -2
  92. package/lib/cjs/components/Stepper/Stepper.js.map +1 -1
  93. package/lib/cjs/components/Stepper/index.js +1 -1
  94. package/lib/cjs/components/Stepper/interface/index.js +1 -1
  95. package/lib/cjs/components/Tab/Tabs.js +98 -35
  96. package/lib/cjs/components/Tab/Tabs.js.map +1 -1
  97. package/lib/cjs/components/Tab/styles.js +11 -10
  98. package/lib/cjs/components/Tab/styles.js.map +1 -1
  99. package/lib/cjs/components/Uploader/Uploader.js +6 -6
  100. package/lib/cjs/components/Uploader/Uploader.js.map +1 -1
  101. package/lib/cjs/components/Uploader/styles.js +8 -5
  102. package/lib/cjs/components/Uploader/styles.js.map +1 -1
  103. package/lib/cjs/index.js +6 -6
  104. package/lib/esm/_chunks/{BKfYslcc.js → B92MXD-p.js} +3 -2
  105. package/lib/esm/_chunks/B92MXD-p.js.map +1 -0
  106. package/lib/esm/_chunks/{DIXhEK8L.js → B_rJA32w.js} +11 -9
  107. package/lib/esm/_chunks/B_rJA32w.js.map +1 -0
  108. package/lib/esm/_chunks/{DGYdiQBr.js → BaWeXDzj.js} +4 -2
  109. package/lib/esm/_chunks/BaWeXDzj.js.map +1 -0
  110. package/lib/esm/_chunks/CC8nLpzS.js.map +1 -1
  111. package/lib/esm/_chunks/{ClyMQ8-p.js → CQDVLUyF.js} +3 -3
  112. package/lib/esm/_chunks/CQDVLUyF.js.map +1 -0
  113. package/lib/esm/_chunks/{CQokOKfj.js → CqcNLT67.js} +4 -2
  114. package/lib/esm/_chunks/CqcNLT67.js.map +1 -0
  115. package/lib/esm/_chunks/{DR1NAacd.js → DGI1A77J.js} +3 -2
  116. package/lib/esm/_chunks/DGI1A77J.js.map +1 -0
  117. package/lib/esm/components/ActionSheets/ActionSheets.js +13 -7
  118. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
  119. package/lib/esm/components/ActionSheets/index.js +1 -1
  120. package/lib/esm/components/ActionSheets/styles.js +6 -3
  121. package/lib/esm/components/ActionSheets/styles.js.map +1 -1
  122. package/lib/esm/components/Alert/Alert.js +6 -6
  123. package/lib/esm/components/Alert/hooks/alert.js +6 -6
  124. package/lib/esm/components/Alert/index.js +7 -7
  125. package/lib/esm/components/AvatarGroup/AvatarGroup.js +6 -6
  126. package/lib/esm/components/AvatarGroup/index.js +6 -6
  127. package/lib/esm/components/CheckBoxGroup/CheckBox.js +5 -1
  128. package/lib/esm/components/CheckBoxGroup/CheckBox.js.map +1 -1
  129. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +2 -1
  130. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  131. package/lib/esm/components/DatePicker/DatePicker.js +1 -1
  132. package/lib/esm/components/DatePicker/index.js +1 -1
  133. package/lib/esm/components/Form/Form.js +22 -18
  134. package/lib/esm/components/Form/Form.js.map +1 -1
  135. package/lib/esm/components/Form/FormItem.js +4 -4
  136. package/lib/esm/components/Form/FormItem.js.map +1 -1
  137. package/lib/esm/components/Form/index.js +2 -2
  138. package/lib/esm/components/Form/interface/index.js +1 -1
  139. package/lib/esm/components/Form/styles.js +1 -1
  140. package/lib/esm/components/Icon/Icon.js +4 -2
  141. package/lib/esm/components/Icon/Icon.js.map +1 -1
  142. package/lib/esm/components/ImagePreview/ImagePreview.js +6 -6
  143. package/lib/esm/components/ImagePreview/index.js +6 -6
  144. package/lib/esm/components/List/ListItem/ListItem.js +6 -6
  145. package/lib/esm/components/List/index.js +6 -6
  146. package/lib/esm/components/Picker/Picker.js +1 -1
  147. package/lib/esm/components/Picker/index.js +1 -1
  148. package/lib/esm/components/Radio/Radio.js +6 -6
  149. package/lib/esm/components/Radio/RadioGroup.js +4 -2
  150. package/lib/esm/components/Radio/RadioGroup.js.map +1 -1
  151. package/lib/esm/components/Radio/index.js +6 -6
  152. package/lib/esm/components/Radio/interface/index.js +1 -1
  153. package/lib/esm/components/Rate/Rate.js +2 -2
  154. package/lib/esm/components/Rate/Rate.js.map +1 -1
  155. package/lib/esm/components/Rate/index.js +1 -1
  156. package/lib/esm/components/Rate/interface/index.js +1 -1
  157. package/lib/esm/components/Sheets/AnimatedSheets.js +4 -2
  158. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  159. package/lib/esm/components/Sheets/Sheets.js +22 -13
  160. package/lib/esm/components/Sheets/Sheets.js.map +1 -1
  161. package/lib/esm/components/Sheets/api.js +1 -1
  162. package/lib/esm/components/Sheets/index.js +1 -1
  163. package/lib/esm/components/Sheets/interface/index.js +1 -1
  164. package/lib/esm/components/Stepper/Stepper.js +4 -2
  165. package/lib/esm/components/Stepper/Stepper.js.map +1 -1
  166. package/lib/esm/components/Stepper/index.js +1 -1
  167. package/lib/esm/components/Stepper/interface/index.js +1 -1
  168. package/lib/esm/components/Tab/Tabs.js +100 -37
  169. package/lib/esm/components/Tab/Tabs.js.map +1 -1
  170. package/lib/esm/components/Tab/styles.js +11 -10
  171. package/lib/esm/components/Tab/styles.js.map +1 -1
  172. package/lib/esm/components/Uploader/Uploader.js +6 -6
  173. package/lib/esm/components/Uploader/Uploader.js.map +1 -1
  174. package/lib/esm/components/Uploader/styles.js +8 -5
  175. package/lib/esm/components/Uploader/styles.js.map +1 -1
  176. package/lib/esm/index.js +6 -6
  177. package/lib/types/components/ActionSheets/styles.d.ts +4 -1
  178. package/lib/types/components/CheckBoxGroup/interface/index.d.ts +1 -0
  179. package/lib/types/components/Form/Form.d.ts +1 -7
  180. package/lib/types/components/Form/interface/index.d.ts +15 -3
  181. package/lib/types/components/Radio/interface/index.d.ts +7 -0
  182. package/lib/types/components/Rate/Rate.d.ts +1 -0
  183. package/lib/types/components/Rate/interface/index.d.ts +2 -0
  184. package/lib/types/components/Sheets/AnimatedSheets.d.ts +2 -4
  185. package/lib/types/components/Sheets/Sheets.d.ts +1 -1
  186. package/lib/types/components/Sheets/interface/index.d.ts +2 -2
  187. package/lib/types/components/Stepper/Stepper.d.ts +1 -0
  188. package/lib/types/components/Stepper/interface/index.d.ts +2 -0
  189. package/lib/types/components/Tab/styles.d.ts +7 -6
  190. package/lib/types/components/Uploader/styles.d.ts +5 -2
  191. package/package.json +1 -1
  192. package/src/components/ActionSheets/ActionSheets.tsx +12 -9
  193. package/src/components/ActionSheets/demo/index.tsx +27 -1
  194. package/src/components/ActionSheets/styles.ts +4 -1
  195. package/src/components/CheckBoxGroup/CheckBox.tsx +5 -1
  196. package/src/components/CheckBoxGroup/CheckBoxGroup.tsx +1 -0
  197. package/src/components/CheckBoxGroup/interface/index.ts +1 -0
  198. package/src/components/Form/Form.tsx +24 -13
  199. package/src/components/Form/FormItem.tsx +8 -3
  200. package/src/components/Form/demo/index.tsx +63 -7
  201. package/src/components/Form/doc/index.mdx +9 -7
  202. package/src/components/Form/interface/index.ts +15 -3
  203. package/src/components/Icon/Icon.tsx +5 -3
  204. package/src/components/Icon/demo/index.tsx +0 -1
  205. package/src/components/Radio/Radio.tsx +8 -2
  206. package/src/components/Radio/RadioGroup.tsx +2 -1
  207. package/src/components/Radio/doc/index.mdx +11 -8
  208. package/src/components/Radio/interface/index.ts +7 -0
  209. package/src/components/Rate/Rate.tsx +1 -1
  210. package/src/components/Rate/doc/index.mdx +10 -9
  211. package/src/components/Rate/interface/index.ts +2 -0
  212. package/src/components/Sheets/AnimatedSheets.tsx +1 -1
  213. package/src/components/Sheets/Sheets.tsx +27 -13
  214. package/src/components/Sheets/demo/index.tsx +23 -0
  215. package/src/components/Sheets/doc/index.mdx +1 -1
  216. package/src/components/Sheets/interface/index.ts +2 -2
  217. package/src/components/Stepper/Stepper.tsx +11 -9
  218. package/src/components/Stepper/doc/index.mdx +7 -6
  219. package/src/components/Stepper/interface/index.ts +2 -0
  220. package/src/components/Tab/Tabs.tsx +147 -88
  221. package/src/components/Tab/demo/index.tsx +33 -11
  222. package/src/components/Tab/styles.ts +8 -6
  223. package/src/components/Uploader/Uploader.tsx +6 -6
  224. package/src/components/Uploader/styles.ts +5 -2
  225. package/types/src/components/ActionSheets/styles.d.ts +4 -1
  226. package/types/src/components/CheckBoxGroup/interface/index.d.ts +1 -0
  227. package/types/src/components/Form/Form.d.ts +1 -7
  228. package/types/src/components/Form/interface/index.d.ts +15 -3
  229. package/types/src/components/Radio/interface/index.d.ts +7 -0
  230. package/types/src/components/Rate/Rate.d.ts +1 -0
  231. package/types/src/components/Rate/interface/index.d.ts +2 -0
  232. package/types/src/components/Sheets/AnimatedSheets.d.ts +2 -4
  233. package/types/src/components/Sheets/Sheets.d.ts +1 -1
  234. package/types/src/components/Sheets/interface/index.d.ts +2 -2
  235. package/types/src/components/Stepper/Stepper.d.ts +1 -0
  236. package/types/src/components/Stepper/interface/index.d.ts +2 -0
  237. package/types/src/components/Tab/styles.d.ts +7 -6
  238. package/types/src/components/Uploader/styles.d.ts +5 -2
  239. package/lib/cjs/_chunks/BZY8fLHP.js.map +0 -1
  240. package/lib/cjs/_chunks/CbnkUMH9.js.map +0 -1
  241. package/lib/cjs/_chunks/CnvQUDZP.js.map +0 -1
  242. package/lib/cjs/_chunks/G5T1hGVo.js.map +0 -1
  243. package/lib/cjs/_chunks/SEcsCrAk.js.map +0 -1
  244. package/lib/cjs/_chunks/ZbRoGP_k.js.map +0 -1
  245. package/lib/esm/_chunks/BKfYslcc.js.map +0 -1
  246. package/lib/esm/_chunks/CQokOKfj.js.map +0 -1
  247. package/lib/esm/_chunks/ClyMQ8-p.js.map +0 -1
  248. package/lib/esm/_chunks/DGYdiQBr.js.map +0 -1
  249. package/lib/esm/_chunks/DIXhEK8L.js.map +0 -1
  250. package/lib/esm/_chunks/DR1NAacd.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedSheets.js","sources":["../../../../src/components/Sheets/AnimatedSheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { Portal } from \"../Portal\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\n\nconst Sheets = (props: RedsSheets) => {\n const {\n visible,\n onCancel,\n onConfirm,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n /**\n * Sheets容器高度动画\n */\n const [sheetsHeight] = useState(new Animated.Value(0));\n\n /**\n * Sheets容器child内容高度\n */\n const childHeightRef = useRef(0);\n\n /**\n * 底部操作区高度\n */\n const [actionHeight, setActionHeight] = useState(0);\n\n /**\n * 标题区域高度\n */\n const [labelHeight, setLabelHeight] = useState(0);\n\n /**\n * child高度\n */\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n handleClose();\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n handleClose();\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n handleClose();\n onCancel?.();\n };\n\n /**\n * 计算子容器高度\n * @param evt LayoutChangeEvent\n */\n const handleLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setChildHeight(height);\n };\n\n /**\n * 计算底部操作区高度\n * @param evt\n */\n const handleActionLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setActionHeight(height);\n };\n\n /**\n * 计算标题高度\n * @param evt\n */\n const handleLabelLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setLabelHeight(height);\n };\n\n /**\n * 外层容器高度变化\n */\n useEffect(() => {\n const factHeight = actionHeight + labelHeight + childHeight + 34;\n const fullScreenHeight = Dimensions.get(\"screen\").height - 34;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2) - 34;\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75) - 34;\n const calculateHeight =\n sheetsType !== SheetsType.dragable\n ? size === SheetsSize.auto\n ? factHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight\n : factHeight;\n childHeightRef.current = calculateHeight;\n Animated.timing(sheetsHeight, {\n toValue: calculateHeight,\n duration: 100, // 动画持续时间 (毫秒)\n useNativeDriver: false, // `height` 不支持 useNativeDriver\n }).start();\n }, [actionHeight, labelHeight, childHeight]);\n\n /**\n * 关闭容器取消动画\n * @param evt LayoutChangeEvent\n */\n const handleClose = () => {\n Animated.timing(sheetsHeight, { toValue: 0, useNativeDriver: false }).start();\n sheetsHeight.setValue(0);\n };\n\n /**\n * 手势监听\n */\n const panResponder = useRef(\n PanResponder.create({\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (event, gestureState) => {\n if (sheetsType !== SheetsType.dragable) return;\n const fullScreenHeight = Dimensions.get(\"screen\").height - 34;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2) - 34;\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75) - 34;\n const maxHeight =\n size === SheetsSize.auto\n ? fullScreenHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n const newHeight = Math.min(\n maxHeight,\n Math.max(childHeightRef.current, childHeightRef.current - gestureState.dy),\n );\n sheetsHeight.setValue(newHeight);\n },\n }),\n ).current;\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n <View style={[styles.iconBg, { backgroundColor: themeColor.Fill1 }]}>\n {type === \"confirm\" ? (\n <Icon icon={Close} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon icon={Close} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n );\n };\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, []);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n return visible ? (\n <View style={styles.wrapper} testID=\"Sheets\">\n {mask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <View\n testID=\"mask\"\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n ]}\n ></View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <Animated.View style={[styles.picker, { backgroundColor: themeColor.Bg2 }, { height: sheetsHeight }]}>\n {/** normal */}\n {showLabel ? (\n <View style={[styles.labelContainer, { backgroundColor: themeColor.Bg2 }]} onLayout={handleLabelLayout}>\n {cancel ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Description }]} testID=\"cancel\">\n {cancelText}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n {label ? <Text style={[styles.label, { color: themeColor.Title }]}>{label}</Text> : <></>}\n {close ? (\n <TouchableWithoutFeedback onPress={handleConfirm}>\n {closeType === SheetsActionType.text ? (\n <Text style={[styles.confirm, { color: themeColor.Primary }]} testID=\"close\">\n {closeText}\n </Text>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n </View>\n ) : (\n <></>\n )}\n\n {/** 拖拽按钮 */}\n {sheetsType === SheetsType.dragable ? (\n <Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={\"draggable\"}>\n <View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />\n </Animated.View>\n ) : (\n <></>\n )}\n\n <View onLayout={handleLayout}>{children}</View>\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]} onLayout={handleActionLayout}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </Animated.View>\n </View>\n ) : (\n <></>\n );\n};\n\nSheets.defaultProps = SheetsDefaultProps;\n\nexport default Sheets;\n"],"names":["Sheets","props","visible","onCancel","onConfirm","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","Animated","Value","_useState2","_slicedToArray","sheetsHeight","childHeightRef","useRef","_useState3","_useState4","actionHeight","setActionHeight","_useState5","_useState6","labelHeight","setLabelHeight","_useState7","_useState8","childHeight","setChildHeight","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleClose","handleConfirm","handleCancel","handleLayout","evt","height","nativeEvent","layout","handleActionLayout","handleLabelLayout","useEffect","factHeight","fullScreenHeight","Dimensions","get","halfScreenHeight","Math","floor","threeQuaterScreenHeight","calculateHeight","dragable","SheetsSize","auto","half","threeQuater","current","timing","toValue","duration","useNativeDriver","start","setValue","panResponder","PanResponder","create","onMoveShouldSetPanResponder","onPanResponderMove","event","gestureState","maxHeight","newHeight","min","max","dy","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","backgroundColor","Fill1","Icon","icon","Close","IconType","image","onClick","ArrowLeft","Block","block","wrapper","testID","SheetsMaskMode","light","alwaysColor","MaskBg","Fragment","picker","Bg2","labelContainer","onLayout","SheetsActionType","text","Text","color","Description","Title","confirm","Primary","_objectSpread","dragableContainer","panHandlers","Fill3","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"AnimatedSheets.js","sources":["../../../../src/components/Sheets/AnimatedSheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { Portal } from \"../Portal\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\n\nconst Sheets = (props: RedsSheets) => {\n const {\n visible,\n onCancel,\n onConfirm,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n /**\n * Sheets容器高度动画\n */\n const [sheetsHeight] = useState(new Animated.Value(0));\n\n /**\n * Sheets容器child内容高度\n */\n const childHeightRef = useRef(0);\n\n /**\n * 底部操作区高度\n */\n const [actionHeight, setActionHeight] = useState(0);\n\n /**\n * 标题区域高度\n */\n const [labelHeight, setLabelHeight] = useState(0);\n\n /**\n * child高度\n */\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n handleClose();\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n handleClose();\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n handleClose();\n onCancel?.();\n };\n\n /**\n * 计算子容器高度\n * @param evt LayoutChangeEvent\n */\n const handleLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setChildHeight(height);\n };\n\n /**\n * 计算底部操作区高度\n * @param evt\n */\n const handleActionLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setActionHeight(height);\n };\n\n /**\n * 计算标题高度\n * @param evt\n */\n const handleLabelLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setLabelHeight(height);\n };\n\n /**\n * 外层容器高度变化\n */\n useEffect(() => {\n const factHeight = actionHeight + labelHeight + childHeight + 34;\n const fullScreenHeight = Dimensions.get(\"screen\").height - 34;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2) - 34;\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75) - 34;\n const calculateHeight =\n sheetsType !== SheetsType.dragable\n ? size === SheetsSize.auto\n ? factHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight\n : factHeight;\n childHeightRef.current = calculateHeight;\n Animated.timing(sheetsHeight, {\n toValue: calculateHeight,\n duration: 100, // 动画持续时间 (毫秒)\n useNativeDriver: false, // `height` 不支持 useNativeDriver\n }).start();\n }, [actionHeight, labelHeight, childHeight]);\n\n /**\n * 关闭容器取消动画\n * @param evt LayoutChangeEvent\n */\n const handleClose = () => {\n Animated.timing(sheetsHeight, { toValue: 0, useNativeDriver: false }).start();\n sheetsHeight.setValue(0);\n };\n\n /**\n * 手势监听\n */\n const panResponder = useRef(\n PanResponder.create({\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (event, gestureState) => {\n if (sheetsType !== SheetsType.dragable) return;\n const fullScreenHeight = Dimensions.get(\"screen\").height - 34;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2) - 34;\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75) - 34;\n const maxHeight =\n size === SheetsSize.auto\n ? fullScreenHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n const newHeight = Math.min(\n maxHeight,\n Math.max(childHeightRef.current, childHeightRef.current - gestureState.dy),\n );\n sheetsHeight.setValue(newHeight);\n },\n }),\n ).current;\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n <View style={[styles.iconBg, { backgroundColor: themeColor.Fill1 }]}>\n {type === \"confirm\" ? (\n <Icon icon={Close} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon icon={Close} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n );\n };\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, []);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n return visible ? (\n <View style={[styles.wrapper, { zIndex: props.zIndex }]} testID=\"Sheets\">\n {mask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <View\n testID=\"mask\"\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n ]}\n ></View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <Animated.View style={[styles.picker, { backgroundColor: themeColor.Bg2 }, { height: sheetsHeight }]}>\n {/** normal */}\n {showLabel ? (\n <View style={[styles.labelContainer, { backgroundColor: themeColor.Bg2 }]} onLayout={handleLabelLayout}>\n {cancel ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Description }]} testID=\"cancel\">\n {cancelText}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n {label ? <Text style={[styles.label, { color: themeColor.Title }]}>{label}</Text> : <></>}\n {close ? (\n <TouchableWithoutFeedback onPress={handleConfirm}>\n {closeType === SheetsActionType.text ? (\n <Text style={[styles.confirm, { color: themeColor.Primary }]} testID=\"close\">\n {closeText}\n </Text>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n </View>\n ) : (\n <></>\n )}\n\n {/** 拖拽按钮 */}\n {sheetsType === SheetsType.dragable ? (\n <Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={\"draggable\"}>\n <View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />\n </Animated.View>\n ) : (\n <></>\n )}\n\n <View onLayout={handleLayout}>{children}</View>\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]} onLayout={handleActionLayout}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </Animated.View>\n </View>\n ) : (\n <></>\n );\n};\n\nSheets.defaultProps = SheetsDefaultProps;\n\nexport default Sheets;\n"],"names":["Sheets","props","visible","onCancel","onConfirm","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","Animated","Value","_useState2","_slicedToArray","sheetsHeight","childHeightRef","useRef","_useState3","_useState4","actionHeight","setActionHeight","_useState5","_useState6","labelHeight","setLabelHeight","_useState7","_useState8","childHeight","setChildHeight","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleClose","handleConfirm","handleCancel","handleLayout","evt","height","nativeEvent","layout","handleActionLayout","handleLabelLayout","useEffect","factHeight","fullScreenHeight","Dimensions","get","halfScreenHeight","Math","floor","threeQuaterScreenHeight","calculateHeight","dragable","SheetsSize","auto","half","threeQuater","current","timing","toValue","duration","useNativeDriver","start","setValue","panResponder","PanResponder","create","onMoveShouldSetPanResponder","onPanResponderMove","event","gestureState","maxHeight","newHeight","min","max","dy","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","backgroundColor","Fill1","Icon","icon","Close","IconType","image","onClick","ArrowLeft","Block","block","wrapper","zIndex","testID","SheetsMaskMode","light","alwaysColor","MaskBg","Fragment","picker","Bg2","labelContainer","onLayout","SheetsActionType","text","Text","color","Description","Title","confirm","Primary","_objectSpread","dragableContainer","panHandlers","Fill3","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { b as _slicedToArray } from '../../_chunks/wvaDNdQL.js';
2
2
  import React__default, { useState, useMemo } from 'react';
3
3
  import { alwaysColor } from '@xhsreds/reds-token-next';
4
4
  import { Dimensions, View, TouchableWithoutFeedback, Text } from 'react-native';
5
- import { S as SheetsType, a as SheetsSize, b as SheetsMaskMode, c as SheetsActionType, d as SheetsDefaultProps, e as SheetsIconType } from '../../_chunks/ClyMQ8-p.js';
5
+ import { a as SheetsType, S as SheetsSize, b as SheetsMaskMode, c as SheetsActionType, d as SheetsDefaultProps, e as SheetsIconType } from '../../_chunks/CQDVLUyF.js';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
7
7
  import { useThemeColor } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
8
8
  import { useColorMode } from '../ConfigProvider/hooks/themeToken/useColorMode.js';
@@ -37,7 +37,7 @@ var Sheets = function Sheets(props) {
37
37
  var _useState = useState(0),
38
38
  _useState2 = _slicedToArray(_useState, 2);
39
39
  _useState2[0];
40
- var setChildHeight = _useState2[1];
40
+ _useState2[1];
41
41
  var showLabel = useMemo(function () {
42
42
  return sheetsType === SheetsType.normal && (cancel || close || label);
43
43
  }, [sheetsType, cancel, close, label]);
@@ -65,25 +65,37 @@ var Sheets = function Sheets(props) {
65
65
  fill: themeColor.Bg,
66
66
  size: 20,
67
67
  onClick: handleCancel,
68
- type: iconType.image
68
+ type: iconType.image,
69
+ styles: {
70
+ borderRadius: 10
71
+ }
69
72
  }) : /* @__PURE__ */React__default.createElement(Icon, {
70
73
  icon: ArrowLeft,
71
74
  fill: themeColor.Bg,
72
75
  size: 20,
73
76
  onClick: handleCancel,
74
- type: iconType.image
77
+ type: iconType.image,
78
+ styles: {
79
+ borderRadius: 10
80
+ }
75
81
  }))) : type === "confirm" ? /* @__PURE__ */React__default.createElement(Icon, {
76
82
  icon: Close,
77
83
  fill: themeColor.Title,
78
84
  size: 20,
79
85
  onClick: handleCancel,
80
- type: iconType.image
86
+ type: iconType.image,
87
+ styles: {
88
+ borderRadius: 10
89
+ }
81
90
  }) : /* @__PURE__ */React__default.createElement(Icon, {
82
91
  icon: ArrowLeft,
83
92
  fill: themeColor.Title,
84
93
  size: 20,
85
94
  onClick: handleCancel,
86
- type: iconType.image
95
+ type: iconType.image,
96
+ styles: {
97
+ borderRadius: 10
98
+ }
87
99
  });
88
100
  };
89
101
  var Block = function Block() {
@@ -112,7 +124,9 @@ var Sheets = function Sheets(props) {
112
124
  return props.size === SheetsSize.half ? halfScreenHeight : props.size === SheetsSize.threeQuater ? threeQuaterScreenHeight : fullScreenHeight;
113
125
  }, [props.size]);
114
126
  return visible ? /* @__PURE__ */React__default.createElement(View, {
115
- style: styles.wrapper,
127
+ style: [styles.wrapper, {
128
+ zIndex: props.zIndex
129
+ }],
116
130
  testID: "Sheets"
117
131
  }, mask ? /* @__PURE__ */React__default.createElement(TouchableWithoutFeedback, {
118
132
  onPress: handleMask
@@ -148,12 +162,7 @@ var Sheets = function Sheets(props) {
148
162
  color: themeColor.Primary
149
163
  }],
150
164
  testID: "close"
151
- }, closeText) : iconWrapper("confirm")) : /* @__PURE__ */React__default.createElement(Block, null)) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), /* @__PURE__ */React__default.createElement(View, {
152
- onLayout: function onLayout(e) {
153
- console.log("e.nativeEvent.layout.height", e.nativeEvent.layout.height);
154
- setChildHeight(e.nativeEvent.layout.height);
155
- }
156
- }, children), showAction ? /* @__PURE__ */React__default.createElement(View, {
165
+ }, closeText) : iconWrapper("confirm")) : /* @__PURE__ */React__default.createElement(Block, null)) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), children, showAction ? /* @__PURE__ */React__default.createElement(View, {
157
166
  style: [styles.actionContainer]
158
167
  }, cancel ? /* @__PURE__ */React__default.createElement(View, {
159
168
  style: styles.action
@@ -1 +1 @@
1
- {"version":3,"file":"Sheets.js","sources":["../../../../src/components/Sheets/Sheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { Portal } from \"../Portal\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\n\nconst Sheets = (props: RedsSheets) => {\n const {\n visible,\n onCancel,\n onConfirm,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n onCancel?.();\n };\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n <View style={[styles.iconBg, { backgroundColor: themeColor.Fill1 }]}>\n {type === \"confirm\" ? (\n <Icon icon={Close} fill={themeColor.Bg} size={20} onClick={handleCancel} type={IconType.iconType.image} />\n ) : (\n <Icon\n icon={ArrowLeft}\n fill={themeColor.Bg}\n size={20}\n onClick={handleCancel}\n type={IconType.iconType.image}\n />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon icon={Close} fill={themeColor.Title} size={20} onClick={handleCancel} type={IconType.iconType.image} />\n ) : (\n <Icon icon={ArrowLeft} fill={themeColor.Title} size={20} onClick={handleCancel} type={IconType.iconType.image} />\n );\n };\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, []);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n /**\n * 最大高度\n */\n const maxHeight = useMemo(() => {\n const fullScreenHeight = Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n return props.size === SheetsSize.half\n ? halfScreenHeight\n : props.size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n }, [props.size]);\n\n return visible ? (\n <View style={styles.wrapper} testID=\"Sheets\">\n {mask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <View\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n ]}\n ></View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <View\n style={[\n styles.picker,\n { backgroundColor: themeColor.Bg2 },\n props.size === SheetsSize.auto ? {} : { maxHeight: maxHeight },\n ]}\n >\n {/** normal */}\n {showLabel ? (\n <View style={[styles.labelContainer, { backgroundColor: themeColor.Bg2 }]}>\n {cancel ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Description }]} testID=\"cancel\">\n {cancelText}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n {label ? <Text style={[styles.label, { color: themeColor.Title }]}>{label}</Text> : <></>}\n {close ? (\n <TouchableWithoutFeedback onPress={handleConfirm}>\n {closeType === SheetsActionType.text ? (\n <Text style={[styles.confirm, { color: themeColor.Primary }]} testID=\"close\">\n {closeText}\n </Text>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n </View>\n ) : (\n <></>\n )}\n\n <View\n onLayout={(e) => {\n console.log(\"e.nativeEvent.layout.height\", e.nativeEvent.layout.height);\n setChildHeight(e.nativeEvent.layout.height);\n }}\n >\n {children}\n </View>\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </View>\n </View>\n ) : (\n <></>\n );\n};\n\nSheets.defaultProps = SheetsDefaultProps;\n\nexport default Sheets;\n"],"names":["Sheets","props","visible","onCancel","onConfirm","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","_useState2","_slicedToArray","childHeight","setChildHeight","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleConfirm","handleCancel","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","backgroundColor","Fill1","Icon","icon","Close","fill","Bg","onClick","IconType","image","ArrowLeft","Title","Block","block","maxHeight","fullScreenHeight","Dimensions","get","height","halfScreenHeight","Math","floor","threeQuaterScreenHeight","SheetsSize","half","threeQuater","wrapper","testID","SheetsMaskMode","light","alwaysColor","MaskBg","Fragment","picker","Bg2","auto","labelContainer","SheetsActionType","text","Text","color","Description","confirm","Primary","onLayout","e","console","log","nativeEvent","layout","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Sheets.js","sources":["../../../../src/components/Sheets/Sheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { Portal } from \"../Portal\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\n\nconst Sheets = (props: RedsSheets) => {\n const {\n visible,\n onCancel,\n onConfirm,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n onCancel?.();\n };\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n <View style={[styles.iconBg, { backgroundColor: themeColor.Fill1 }]}>\n {type === \"confirm\" ? (\n <Icon\n icon={Close}\n fill={themeColor.Bg}\n size={20}\n onClick={handleCancel}\n type={IconType.iconType.image}\n styles={{ borderRadius: 10 }}\n />\n ) : (\n <Icon\n icon={ArrowLeft}\n fill={themeColor.Bg}\n size={20}\n onClick={handleCancel}\n type={IconType.iconType.image}\n styles={{ borderRadius: 10 }}\n />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon\n icon={Close}\n fill={themeColor.Title}\n size={20}\n onClick={handleCancel}\n type={IconType.iconType.image}\n styles={{ borderRadius: 10 }}\n />\n ) : (\n <Icon\n icon={ArrowLeft}\n fill={themeColor.Title}\n size={20}\n onClick={handleCancel}\n type={IconType.iconType.image}\n styles={{ borderRadius: 10 }}\n />\n );\n };\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, []);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n /**\n * 最大高度\n */\n const maxHeight = useMemo(() => {\n const fullScreenHeight = Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n return props.size === SheetsSize.half\n ? halfScreenHeight\n : props.size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n }, [props.size]);\n\n return visible ? (\n <View style={[styles.wrapper, { zIndex: props.zIndex }]} testID=\"Sheets\">\n {mask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <View\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n ]}\n ></View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <View\n style={[\n styles.picker,\n { backgroundColor: themeColor.Bg2 },\n props.size === SheetsSize.auto ? {} : { maxHeight: maxHeight },\n ]}\n >\n {/** normal */}\n {showLabel ? (\n <View style={[styles.labelContainer, { backgroundColor: themeColor.Bg2 }]}>\n {cancel ? (\n <TouchableWithoutFeedback onPress={handleCancel}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Description }]} testID=\"cancel\">\n {cancelText}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n {label ? <Text style={[styles.label, { color: themeColor.Title }]}>{label}</Text> : <></>}\n {close ? (\n <TouchableWithoutFeedback onPress={handleConfirm}>\n {closeType === SheetsActionType.text ? (\n <Text style={[styles.confirm, { color: themeColor.Primary }]} testID=\"close\">\n {closeText}\n </Text>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableWithoutFeedback>\n ) : (\n <Block />\n )}\n </View>\n ) : (\n <></>\n )}\n {children}\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </View>\n </View>\n ) : (\n <></>\n );\n};\n\nSheets.defaultProps = SheetsDefaultProps;\n\nexport default Sheets;\n"],"names":["Sheets","props","visible","onCancel","onConfirm","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","_useState2","_slicedToArray","childHeight","setChildHeight","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleConfirm","handleCancel","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","backgroundColor","Fill1","Icon","icon","Close","fill","Bg","onClick","IconType","image","borderRadius","ArrowLeft","Title","Block","block","maxHeight","fullScreenHeight","Dimensions","get","height","halfScreenHeight","Math","floor","threeQuaterScreenHeight","SheetsSize","half","threeQuater","wrapper","zIndex","testID","SheetsMaskMode","light","alwaysColor","MaskBg","Fragment","picker","Bg2","auto","labelContainer","SheetsActionType","text","Text","color","Description","confirm","Primary","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { _ as _objectSpread2 } from '../../_chunks/wvaDNdQL.js';
2
2
  import React__default from 'react';
3
3
  import Sheets from './AnimatedSheets.js';
4
4
  import Sheets$1 from './Sheets.js';
5
- import { d as SheetsDefaultProps } from '../../_chunks/ClyMQ8-p.js';
5
+ import { d as SheetsDefaultProps } from '../../_chunks/CQDVLUyF.js';
6
6
  import '../Portal/core/Portal.js';
7
7
  import '../Portal/core/PortalHost.js';
8
8
  import '../Portal/core/PortalProvider.js';
@@ -1,6 +1,6 @@
1
1
  import Sheets from './AnimatedSheets.js';
2
2
  export { default as Sheets } from './Sheets.js';
3
- export { i as SheetsType } from '../../_chunks/ClyMQ8-p.js';
3
+ export { i as SheetsType } from '../../_chunks/CQDVLUyF.js';
4
4
  export { default as useAnimatedSheets, useSheets } from './api.js';
5
5
  import '../../_chunks/wvaDNdQL.js';
6
6
  import 'react';
@@ -1,2 +1,2 @@
1
- export { c as SheetsActionType, d as SheetsDefaultProps, e as SheetsIconType, b as SheetsMaskMode, a as SheetsSize, S as SheetsType } from '../../../_chunks/ClyMQ8-p.js';
1
+ export { c as SheetsActionType, d as SheetsDefaultProps, e as SheetsIconType, b as SheetsMaskMode, S as SheetsSize, a as SheetsType } from '../../../_chunks/CQDVLUyF.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import { b as _slicedToArray } from '../../_chunks/wvaDNdQL.js';
2
2
  import React__default, { useState, useMemo, useEffect } from 'react';
3
3
  import { View, TouchableWithoutFeedback, Text } from 'react-native';
4
- import { S as StepperDefaultProps } from '../../_chunks/BKfYslcc.js';
4
+ import { S as StepperDefaultProps } from '../../_chunks/B92MXD-p.js';
5
5
  import { getStyles } from './styles.js';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
7
7
  import { useThemeColor } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
@@ -50,7 +50,9 @@ var Stepper = function Stepper(props) {
50
50
  props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newValue);
51
51
  };
52
52
  useEffect(function () {
53
- setValue(props.value >= props.min && props.value <= props.max ? props.value : props.value < props.min ? props.min : props.value > props.max ? props.max : props.value);
53
+ if (props.isControl) {
54
+ setValue(props.value >= props.min && props.value <= props.max ? props.value : props.value < props.min ? props.min : props.value > props.max ? props.max : props.value);
55
+ }
54
56
  }, [props.value, props.max, props.min]);
55
57
  return /* @__PURE__ */React__default.createElement(View, {
56
58
  style: styles.container
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sources":["../../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport { View, TouchableWithoutFeedback, Text } from \"react-native\";\nimport { RedsStepper, StepperDefaultProps } from \"./interface/index\";\nimport { getStyles } from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst Stepper = (props: RedsStepper) => {\n const themeColor = useThemeColor();\n\n const [_value, setValue] = useState(0);\n\n const styles = getStyles(themeColor);\n\n const minus = useMemo(() => {\n if (props.disable || (props.min !== undefined && props.min >= props.value!)) {\n return getStyles(themeColor).opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, props.value]);\n\n const add = useMemo(() => {\n if (props.disable || (props.max !== undefined && props.max <= props.value!)) {\n return styles.opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, props.value]);\n\n const handleNumber = (type: string) => {\n if (props.disable) return;\n let newValue = 0;\n if (type === \"min\") {\n if (props.min && props.min >= props.value! - 1) {\n newValue = props.min;\n } else {\n newValue = props.value! - 1;\n }\n } else {\n if (props.max && props.max <= props.value! + 1) {\n newValue = props.max;\n } else {\n newValue = props.value! + 1;\n }\n }\n setValue(newValue);\n props?.onChange?.(newValue);\n };\n\n useEffect(() => {\n setValue(\n props.value! >= props.min! && props.value! <= props.max!\n ? props.value!\n : props.value! < props.min!\n ? props.min!\n : props.value! > props.max!\n ? props.max!\n : props.value!,\n );\n }, [props.value, props.max, props.min]);\n\n return (\n <View style={styles.container}>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"min\")}>\n <View style={[styles.icon, minus]}>\n <Text style={[styles.iconText]}>-</Text>\n </View>\n </TouchableWithoutFeedback>\n <Text style={styles.text}>{_value}</Text>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"add\")}>\n <View style={[styles.icon, add]}>\n <Text style={[styles.iconText]}>+</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n );\n};\n\nStepper.defaultProps = StepperDefaultProps;\n\nexport default Stepper;\n"],"names":["Stepper","props","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","_value","setValue","styles","getStyles","minus","useMemo","disable","min","value","opacity","max","add","handleNumber","type","_props$onChange","newValue","onChange","call","useEffect","React","createElement","View","style","container","TouchableWithoutFeedback","onPress","icon","Text","iconText","text","defaultProps","StepperDefaultProps"],"mappings":";;;;;;;;;;AAMA,IAAMA,OAAA,GAAU,SAAVA,OAAAA,CAAWC,KAAuB,EAAA;AACtC,EAAA,IAAMC,aAAaC,aAAc,EAAA,CAAA;AAEjC,EAAA,IAAAC,SAAA,GAA2BC,SAAS,CAAC,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9BI,IAAAA,MAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAQG,IAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEjB,EAAA,IAAAI,MAAA,GAASC,UAAUT,UAAU,CAAA,CAAA;AAE7B,EAAA,IAAAU,KAAA,GAAQC,QAAQ,YAAM;AACtB,IAAA,IAAAZ,KAAA,CAAMa,WAAYb,KAAM,CAAAc,GAAA,KAAQ,UAAad,KAAM,CAAAc,GAAA,IAAOd,MAAMe,KAAS,EAAA;AACpE,MAAA,OAAAL,SAAA,CAAUT,UAAU,CAAE,CAAAe,OAAA,CAAA;AAC/B,KAAO,MAAA;AACL,MAAA,OAAO,EAAC,CAAA;AACV,KAAA;AACF,GAAA,EAAG,CAAChB,KAAM,CAAAa,OAAA,EAASb,MAAMiB,GAAK,EAAAjB,KAAA,CAAMe,KAAK,CAAC,CAAA,CAAA;AAEpC,EAAA,IAAAG,GAAA,GAAMN,QAAQ,YAAM;AACpB,IAAA,IAAAZ,KAAA,CAAMa,WAAYb,KAAM,CAAAiB,GAAA,KAAQ,UAAajB,KAAM,CAAAiB,GAAA,IAAOjB,MAAMe,KAAS,EAAA;MAC3E,OAAON,MAAO,CAAAO,OAAA,CAAA;AAChB,KAAO,MAAA;AACL,MAAA,OAAO,EAAC,CAAA;AACV,KAAA;AACF,GAAA,EAAG,CAAChB,KAAM,CAAAa,OAAA,EAASb,MAAMiB,GAAK,EAAAjB,KAAA,CAAMe,KAAK,CAAC,CAAA,CAAA;AAEpC,EAAA,IAAAI,YAAA,GAAe,SAAfA,YAAAA,CAAgBC,IAAiB,EAAA;AAAA,IAAA,IAAAC,eAAA,CAAA;IACrC,IAAIrB,MAAMa,OAAS,EAAA,OAAA;IACnB,IAAIS,QAAW,GAAA,CAAA,CAAA;IACf,IAAIF,SAAS,KAAO,EAAA;AAClB,MAAA,IAAIpB,MAAMc,GAAO,IAAAd,KAAA,CAAMc,GAAO,IAAAd,KAAA,CAAMe,QAAS,CAAG,EAAA;QAC9CO,QAAA,GAAWtB,KAAM,CAAAc,GAAA,CAAA;AACnB,OAAO,MAAA;AACLQ,QAAAA,QAAA,GAAWtB,MAAMe,KAAS,GAAA,CAAA,CAAA;AAC5B,OAAA;AACF,KAAO,MAAA;AACL,MAAA,IAAIf,MAAMiB,GAAO,IAAAjB,KAAA,CAAMiB,GAAO,IAAAjB,KAAA,CAAMe,QAAS,CAAG,EAAA;QAC9CO,QAAA,GAAWtB,KAAM,CAAAiB,GAAA,CAAA;AACnB,OAAO,MAAA;AACLK,QAAAA,QAAA,GAAWtB,MAAMe,KAAS,GAAA,CAAA,CAAA;AAC5B,OAAA;AACF,KAAA;IACAP,QAAA,CAASc,QAAQ,CAAA,CAAA;AACjBtB,IAAAA,KAAA,aAAAA,KAAA,KAAA,KAAA,CAAA,IAAA,CAAAqB,eAAA,GAAArB,KAAA,CAAOuB,oDAAPF,eAAA,CAAAG,IAAA,CAAAxB,KAAA,EAAkBsB,QAAQ,CAAA,CAAA;GAC5B,CAAA;AAEAG,EAAAA,SAAA,CAAU,YAAM;IACdjB,QAAA,CACER,KAAA,CAAMe,SAAUf,KAAM,CAAAc,GAAA,IAAQd,MAAMe,KAAU,IAAAf,KAAA,CAAMiB,GAChD,GAAAjB,KAAA,CAAMe,KACN,GAAAf,KAAA,CAAMe,QAASf,KAAM,CAAAc,GAAA,GACnBd,MAAMc,GACN,GAAAd,KAAA,CAAMe,QAASf,KAAM,CAAAiB,GAAA,GACnBjB,KAAM,CAAAiB,GAAA,GACNjB,KAAM,CAAAe,KAChB,CAAA,CAAA;AACF,GAAA,EAAG,CAACf,KAAM,CAAAe,KAAA,EAAOf,MAAMiB,GAAK,EAAAjB,KAAA,CAAMc,GAAG,CAAC,CAAA,CAAA;AAEtC,EAAA,sBACGY,cAAA,CAAAC,aAAA,CAAAC,IAAA,EAAA;IAAKC,KAAO,EAAApB,MAAA,CAAOqB,SAAAA;AAClB,GAAA,iBAAAJ,cAAA,CAAAC,aAAA,CAACI,wBAAyB,EAAA;IAAAC,OAAA,EAAS,SAATA,OAAAA,GAAA;MAAA,OAAeb,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,iBACxDO,cAAA,CAAAC,aAAA,CAAAC,IAAA,EAAA;AAAKC,IAAAA,KAAO,EAAA,CAACpB,MAAO,CAAAwB,IAAA,EAAMtB,KAAK,CAAA;AAAA,GAAA,iBAC7Be,cAAA,CAAAC,aAAA,CAAAO,IAAA,EAAA;AAAKL,IAAAA,KAAO,EAAA,CAACpB,MAAO,CAAA0B,QAAQ,CAAA;AAAG,GAAA,EAAA,GAAC,CACnC,CACF,CAAA,iBACCT,cAAA,CAAAC,aAAA,CAAAO,IAAA,EAAA;IAAKL,KAAO,EAAApB,MAAA,CAAO2B,IAAAA;GAAO,EAAA7B,MAAO,CAClC,iBAAAmB,cAAA,CAAAC,aAAA,CAACI,wBAAyB,EAAA;IAAAC,OAAA,EAAS,SAATA,OAAAA,GAAA;MAAA,OAAeb,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,8CACxDS,IAAK,EAAA;AAAAC,IAAAA,KAAA,EAAO,CAACpB,MAAA,CAAOwB,IAAM,EAAAf,GAAG,CAAA;AAC5B,GAAA,iBAAAQ,cAAA,CAAAC,aAAA,CAACO,IAAK,EAAA;AAAAL,IAAAA,KAAA,EAAO,CAACpB,MAAA,CAAO0B,QAAQ,CAAA;AAAA,GAAA,EAAG,GAAC,CACnC,CACF,CACF,CAAA,CAAA;AAEJ,EAAA;AAEApC,OAAA,CAAQsC,YAAe,GAAAC,mBAAA;;;;"}
1
+ {"version":3,"file":"Stepper.js","sources":["../../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport { View, TouchableWithoutFeedback, Text } from \"react-native\";\nimport { RedsStepper, StepperDefaultProps } from \"./interface/index\";\nimport { getStyles } from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst Stepper = (props: RedsStepper) => {\n const themeColor = useThemeColor();\n\n const [_value, setValue] = useState(0);\n\n const styles = getStyles(themeColor);\n\n const minus = useMemo(() => {\n if (props.disable || (props.min !== undefined && props.min >= props.value!)) {\n return getStyles(themeColor).opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, props.value]);\n\n const add = useMemo(() => {\n if (props.disable || (props.max !== undefined && props.max <= props.value!)) {\n return styles.opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, props.value]);\n\n const handleNumber = (type: string) => {\n if (props.disable) return;\n let newValue = 0;\n if (type === \"min\") {\n if (props.min && props.min >= props.value! - 1) {\n newValue = props.min;\n } else {\n newValue = props.value! - 1;\n }\n } else {\n if (props.max && props.max <= props.value! + 1) {\n newValue = props.max;\n } else {\n newValue = props.value! + 1;\n }\n }\n setValue(newValue);\n props?.onChange?.(newValue);\n };\n\n useEffect(() => {\n if (props.isControl) {\n setValue(\n props.value! >= props.min! && props.value! <= props.max!\n ? props.value!\n : props.value! < props.min!\n ? props.min!\n : props.value! > props.max!\n ? props.max!\n : props.value!,\n );\n }\n }, [props.value, props.max, props.min]);\n\n return (\n <View style={styles.container}>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"min\")}>\n <View style={[styles.icon, minus]}>\n <Text style={[styles.iconText]}>-</Text>\n </View>\n </TouchableWithoutFeedback>\n <Text style={styles.text}>{_value}</Text>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"add\")}>\n <View style={[styles.icon, add]}>\n <Text style={[styles.iconText]}>+</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n );\n};\n\nStepper.defaultProps = StepperDefaultProps;\n\nexport default Stepper;\n"],"names":["Stepper","props","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","_value","setValue","styles","getStyles","minus","useMemo","disable","min","value","opacity","max","add","handleNumber","type","_props$onChange","newValue","onChange","call","useEffect","isControl","React","createElement","View","style","container","TouchableWithoutFeedback","onPress","icon","Text","iconText","text","defaultProps","StepperDefaultProps"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import Stepper from './Stepper.js';
2
- export { i as StepperType } from '../../_chunks/BKfYslcc.js';
2
+ export { i as StepperType } from '../../_chunks/B92MXD-p.js';
3
3
  import '../../_chunks/wvaDNdQL.js';
4
4
  import 'react';
5
5
  import 'react-native';
@@ -1,2 +1,2 @@
1
- export { S as StepperDefaultProps } from '../../../_chunks/BKfYslcc.js';
1
+ export { S as StepperDefaultProps } from '../../../_chunks/B92MXD-p.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import { b as _slicedToArray, _ as _objectSpread2, e as _toConsumableArray } from '../../_chunks/wvaDNdQL.js';
2
- import React__default, { useState, useMemo, useEffect } from 'react';
3
- import { View, TouchableWithoutFeedback, Text, ScrollView } from 'react-native';
2
+ import React__default, { useState, useRef, useMemo, useEffect } from 'react';
3
+ import { Animated, View, TouchableWithoutFeedback, Text, ScrollView } from 'react-native';
4
4
  import { b as TabLayoutType, a as TabThemeType, c as TabDefaultProps } from '../../_chunks/1AfhncAQ.js';
5
5
  import styles, { getRedsDropDownVariantStyles } from './styles.js';
6
6
  import Icon from '../Icon/Icon.js';
@@ -22,6 +22,17 @@ var Tabs = function Tabs(props) {
22
22
  _useState2 = _slicedToArray(_useState, 2),
23
23
  activeIndex = _useState2[0],
24
24
  setActiveIndex = _useState2[1];
25
+ var childRefs = useRef([]);
26
+ var parentRef = useRef(null);
27
+ var _useState3 = useState([]),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ offsets = _useState4[0],
30
+ setOffsets = _useState4[1];
31
+ var _useState5 = useState([]),
32
+ _useState6 = _slicedToArray(_useState5, 2),
33
+ widths = _useState6[0],
34
+ setWidths = _useState6[1];
35
+ var offset = useRef(new Animated.Value(0)).current;
25
36
  var list = useMemo(function () {
26
37
  return React__default.Children.map(props.children, function (child) {
27
38
  if (/*#__PURE__*/React__default.isValidElement(child)) {
@@ -32,9 +43,6 @@ var Tabs = function Tabs(props) {
32
43
  var containerStyle = useMemo(function () {
33
44
  return [getRedsDropDownVariantStyles().backgroundColor.bg, (props === null || props === void 0 ? void 0 : props.layout) === TabLayoutType.left ? styles.tabLeftContainer : (props === null || props === void 0 ? void 0 : props.layout) === TabLayoutType.middle ? styles.tabCenterContainer : styles.tabSpaceContainer];
34
45
  }, [props === null || props === void 0 ? void 0 : props.layout]);
35
- var tabItemStyle = function tabItemStyle(item) {
36
- return (props === null || props === void 0 ? void 0 : props.theme) === TabThemeType.capsule && props.active === item.value ? [styles.tabItem, styles.capsule, getRedsDropDownVariantStyles().backgroundColor.fill1] : [styles.tabItem];
37
- };
38
46
  var tabItemStyles = useMemo(function () {
39
47
  return _objectSpread2({
40
48
  paddingLeft: props.tabPadding,
@@ -44,6 +52,18 @@ var Tabs = function Tabs(props) {
44
52
  marginLeft: Math.floor(props.spaceWidth / 2)
45
53
  } : {});
46
54
  }, [props.tabPadding, props.spaceWidth]);
55
+ useEffect(function () {
56
+ var activeIdx = 0;
57
+ list.forEach(function (i, idx) {
58
+ if (i.value === props.active) {
59
+ activeIdx = idx;
60
+ }
61
+ });
62
+ setActiveIndex(activeIdx);
63
+ }, [list, props.active]);
64
+ var tabItemStyle = function tabItemStyle(item) {
65
+ return (props === null || props === void 0 ? void 0 : props.theme) === TabThemeType.capsule && props.active === item.value ? [styles.tabItem, styles.capsule, getRedsDropDownVariantStyles().backgroundColor.fill1] : [styles.tabItem];
66
+ };
47
67
  var showIcon = function showIcon(iconPosition, item) {
48
68
  var _item$iconProps;
49
69
  return (props === null || props === void 0 ? void 0 : props.labelType) === iconPosition && ((_item$iconProps = item.iconProps) === null || _item$iconProps === void 0 ? void 0 : _item$iconProps.icon);
@@ -55,41 +75,61 @@ var Tabs = function Tabs(props) {
55
75
  height: ((_item$iconProps3 = item.iconProps) === null || _item$iconProps3 === void 0 ? void 0 : _item$iconProps3.size) || 12
56
76
  };
57
77
  };
78
+ var iconColor = function iconColor(item) {
79
+ var _item$iconProps4;
80
+ return props.active === item.value ? (_item$iconProps4 = item.iconProps) === null || _item$iconProps4 === void 0 ? void 0 : _item$iconProps4.fill : "";
81
+ };
58
82
  var Wrapper = function Wrapper(wrapperProps) {
59
83
  return (props === null || props === void 0 ? void 0 : props.layout) === TabLayoutType.left ? /* @__PURE__ */React__default.createElement(ScrollView, {
60
- style: [wrapperProps.style],
61
84
  horizontal: true,
62
85
  testID: wrapperProps.testID,
63
86
  showsHorizontalScrollIndicator: false
64
- }, wrapperProps.children) : /* @__PURE__ */React__default.createElement(View, {
65
- style: wrapperProps.style,
66
- testID: wrapperProps.testID
67
- }, wrapperProps.children);
87
+ }, wrapperProps.children) : wrapperProps.children;
68
88
  };
69
89
  var BadgeContainer = function BadgeContainer(badgeProps) {
70
- return props !== null && props !== void 0 && props.badge ? /* @__PURE__ */React__default.createElement(Badge, _objectSpread2({}, badgeProps.badgeProps), /* @__PURE__ */React__default.createElement(View, {
90
+ return props !== null && props !== void 0 && props.badge ? /* @__PURE__ */React__default.createElement(Badge, _objectSpread2(_objectSpread2({}, badgeProps.badgeProps), {}, {
91
+ key: badgeProps.key
92
+ }), /* @__PURE__ */React__default.createElement(View, {
71
93
  style: [styles.flexCenter, {
72
94
  height: "100%"
73
- }]
95
+ }],
96
+ key: badgeProps.key
74
97
  }, badgeProps.children)) : badgeProps.children;
75
98
  };
76
99
  useEffect(function () {
77
- var activeIdx = 0;
78
- list.forEach(function (i, idx) {
79
- if (i.value === props.active) {
80
- activeIdx = idx;
81
- }
82
- });
83
- setActiveIndex(activeIdx);
84
- }, [list, props.active]);
85
- return /* @__PURE__ */React__default.createElement(View, null, /* @__PURE__ */React__default.createElement(Wrapper, {
86
- style: [].concat(_toConsumableArray(containerStyle), [props.containerStyle]),
100
+ console.log("offsets?.[activeIndex]", offsets === null || offsets === void 0 ? void 0 : offsets[activeIndex]);
101
+ if (offsets !== null && offsets !== void 0 && offsets[activeIndex]) {
102
+ Animated.timing(offset, {
103
+ toValue: ((offsets === null || offsets === void 0 ? void 0 : offsets[activeIndex]) || 0) + 1,
104
+ duration: 500,
105
+ useNativeDriver: false
106
+ }).start(function () {
107
+ offset.setValue(((offsets === null || offsets === void 0 ? void 0 : offsets[activeIndex]) || 0) + 1);
108
+ });
109
+ }
110
+ }, [activeIndex, offsets, offset]);
111
+ return /* @__PURE__ */React__default.createElement(React__default.Fragment, null, /* @__PURE__ */React__default.createElement(Wrapper, {
87
112
  testID: "TabContainer"
113
+ }, /* @__PURE__ */React__default.createElement(View, {
114
+ style: {
115
+ position: "relative"
116
+ }
117
+ }, props.theme === TabThemeType.underline ? /* @__PURE__ */React__default.createElement(Animated.View, {
118
+ style: [styles.underline, {
119
+ width: ((widths === null || widths === void 0 ? void 0 : widths[activeIndex]) || 0) - 2
120
+ }, {
121
+ transform: [{
122
+ translateX: offset
123
+ }]
124
+ }, getRedsDropDownVariantStyles().backgroundColor.primary]
125
+ }) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), /* @__PURE__ */React__default.createElement(View, {
126
+ style: [].concat(_toConsumableArray(containerStyle), [props.containerStyle]),
127
+ ref: parentRef
88
128
  }, list.map(function (item, index) {
89
129
  var _item$iconProps5, _item$iconProps6, _item$iconProps7, _item$iconProps8, _item$iconProps9, _item$iconProps10;
90
130
  return /* @__PURE__ */React__default.createElement(BadgeContainer, {
91
- key: item.value,
92
- badgeProps: item === null || item === void 0 ? void 0 : item.badgeProps
131
+ badgeProps: item === null || item === void 0 ? void 0 : item.badgeProps,
132
+ key: "".concat(item.name).concat(item.value)
93
133
  }, /* @__PURE__ */React__default.createElement(TouchableWithoutFeedback, {
94
134
  onPress: function onPress() {
95
135
  var _props$onChange;
@@ -104,32 +144,55 @@ var Tabs = function Tabs(props) {
104
144
  style: [styles.leftIcon, iconStyle(item)]
105
145
  }, /* @__PURE__ */React__default.createElement(Icon, {
106
146
  icon: (_item$iconProps5 = item.iconProps) === null || _item$iconProps5 === void 0 ? void 0 : _item$iconProps5.icon,
147
+ fill: iconColor(item),
107
148
  size: ((_item$iconProps6 = item.iconProps) === null || _item$iconProps6 === void 0 ? void 0 : _item$iconProps6.size) || 12,
108
149
  type: (_item$iconProps7 = item.iconProps) === null || _item$iconProps7 === void 0 ? void 0 : _item$iconProps7.type
109
- })) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), /* @__PURE__ */React__default.createElement(View, {
110
- style: styles.columnFlex
111
- }, /* @__PURE__ */React__default.createElement(View, {
112
- style: styles.flexCenter
113
- }, /* @__PURE__ */React__default.createElement(View, {
114
- style: styles.tabItemTextWrapper
115
- }, /* @__PURE__ */React__default.createElement(Text, {
116
- style: props.active === item.value ? [styles.activeText, getRedsDropDownVariantStyles().color.title] : [styles.normalText, getRedsDropDownVariantStyles().color.description]
117
- }, item.name)), item.labelNumber ? /* @__PURE__ */React__default.createElement(View, {
150
+ })) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), /* @__PURE__ */React__default.createElement(Text, {
151
+ ref: function ref(el) {
152
+ return childRefs.current[index] = el;
153
+ },
154
+ style: [styles.tabItemTextWrapper, props.active === item.value ? [styles.activeText, getRedsDropDownVariantStyles().color.title] : [styles.normalText, getRedsDropDownVariantStyles().color.description]],
155
+ onLayout: function onLayout() {
156
+ childRefs.current[index].measureLayout(parentRef.current, function (x, y, width, height) {
157
+ if (offsets.filter(function (i) {
158
+ return i;
159
+ }).length !== list.length) {
160
+ setOffsets(function (offsets2) {
161
+ if (!offsets2[index]) {
162
+ offsets2[index] = x;
163
+ }
164
+ return _toConsumableArray(offsets2);
165
+ });
166
+ }
167
+ if (widths.filter(function (i) {
168
+ return i;
169
+ }).length !== list.length) {
170
+ setWidths(function (widths2) {
171
+ if (!widths2[index]) {
172
+ widths2[index] = width;
173
+ }
174
+ return _toConsumableArray(widths2);
175
+ });
176
+ }
177
+ }, function (error) {
178
+ console.error("error", error);
179
+ });
180
+ }
181
+ }, item.name), item.labelNumber ? /* @__PURE__ */React__default.createElement(View, {
118
182
  style: styles.labelNumber
119
183
  }, /* @__PURE__ */React__default.createElement(View, {
120
184
  style: props.active === item.value ? [styles.activeLabelDot, getRedsDropDownVariantStyles().backgroundColor.title] : [styles.normalLabelDot, getRedsDropDownVariantStyles().backgroundColor.description]
121
185
  }), /* @__PURE__ */React__default.createElement(Text, {
122
186
  style: props.active === item.value ? [styles.activeText, getRedsDropDownVariantStyles().color.title] : [styles.normalText, getRedsDropDownVariantStyles().color.description]
123
- }, item.labelNumber)) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null)), props.theme === TabThemeType.underline && props.active === item.value ? /* @__PURE__ */React__default.createElement(View, {
124
- style: [styles.underline, getRedsDropDownVariantStyles().backgroundColor.primary]
125
- }) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null)), showIcon("rightIcon", item) ? /* @__PURE__ */React__default.createElement(View, {
187
+ }, item.labelNumber)) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null), showIcon("rightIcon", item) ? /* @__PURE__ */React__default.createElement(View, {
126
188
  style: [styles.rightIcon, iconStyle(item)]
127
189
  }, /* @__PURE__ */React__default.createElement(Icon, {
128
190
  icon: (_item$iconProps8 = item.iconProps) === null || _item$iconProps8 === void 0 ? void 0 : _item$iconProps8.icon,
191
+ fill: iconColor(item),
129
192
  size: ((_item$iconProps9 = item.iconProps) === null || _item$iconProps9 === void 0 ? void 0 : _item$iconProps9.size) || 12,
130
193
  type: (_item$iconProps10 = item.iconProps) === null || _item$iconProps10 === void 0 ? void 0 : _item$iconProps10.type
131
194
  })) : /* @__PURE__ */React__default.createElement(React__default.Fragment, null))));
132
- })), props.children[activeIndex]);
195
+ })))), props.children[activeIndex]);
133
196
  };
134
197
  Tabs.defaultProps = TabDefaultProps;
135
198