@xhsreds/reds-rn-next 0.11.1-premode-test.1 → 0.11.1-web202512221520

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 (174) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-1.json +1 -1
  3. package/coverage/.tmp/coverage-10.json +1 -1
  4. package/coverage/.tmp/coverage-11.json +1 -1
  5. package/coverage/.tmp/coverage-12.json +1 -1
  6. package/coverage/.tmp/coverage-13.json +1 -1
  7. package/coverage/.tmp/coverage-14.json +1 -1
  8. package/coverage/.tmp/coverage-15.json +1 -1
  9. package/coverage/.tmp/coverage-16.json +1 -1
  10. package/coverage/.tmp/coverage-17.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-3.json +1 -1
  19. package/coverage/.tmp/coverage-34.json +1 -1
  20. package/coverage/.tmp/coverage-35.json +1 -1
  21. package/coverage/.tmp/coverage-37.json +1 -1
  22. package/coverage/.tmp/coverage-38.json +1 -1
  23. package/coverage/.tmp/coverage-39.json +1 -1
  24. package/coverage/.tmp/coverage-4.json +1 -1
  25. package/coverage/.tmp/coverage-40.json +1 -1
  26. package/coverage/.tmp/coverage-41.json +1 -1
  27. package/coverage/.tmp/coverage-5.json +1 -1
  28. package/coverage/.tmp/coverage-6.json +1 -1
  29. package/coverage/.tmp/coverage-7.json +1 -1
  30. package/coverage/.tmp/coverage-8.json +1 -1
  31. package/coverage/.tmp/coverage-9.json +1 -1
  32. package/lib/cjs/_chunks/BiKD1VTc.js.map +1 -1
  33. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
  34. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +3 -0
  35. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  36. package/lib/cjs/components/Alert/Alert.js +12 -9
  37. package/lib/cjs/components/Alert/Alert.js.map +1 -1
  38. package/lib/cjs/components/Alert/hooks/alert.js +1 -0
  39. package/lib/cjs/components/Alert/hooks/alert.js.map +1 -1
  40. package/lib/cjs/components/Alert/index.js +1 -0
  41. package/lib/cjs/components/Alert/index.js.map +1 -1
  42. package/lib/cjs/components/Button/Viewable.web.js +47 -0
  43. package/lib/cjs/components/Button/Viewable.web.js.map +1 -0
  44. package/lib/cjs/components/Collapse/Item/Item.web.js +164 -0
  45. package/lib/cjs/components/Collapse/Item/Item.web.js.map +1 -0
  46. package/lib/cjs/components/Image/index.js +1 -1
  47. package/lib/cjs/components/Image/index.js.map +1 -1
  48. package/lib/cjs/components/NoticeBar/NoticeBar.js +12 -6
  49. package/lib/cjs/components/NoticeBar/NoticeBar.js.map +1 -1
  50. package/lib/cjs/components/PickerView/PickerView.js +2 -1
  51. package/lib/cjs/components/PickerView/PickerView.js.map +1 -1
  52. package/lib/cjs/components/PickerView/Wheel.js +22 -2
  53. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  54. package/lib/cjs/components/Popover/Popover.js +24 -28
  55. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  56. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +3 -3
  57. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  58. package/lib/cjs/components/Radio/Radio.js +1 -0
  59. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  60. package/lib/cjs/components/Radio/index.js +1 -0
  61. package/lib/cjs/components/Radio/index.js.map +1 -1
  62. package/lib/cjs/components/Sheets/AnimatedSheets.js +13 -2
  63. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  64. package/lib/cjs/components/SlimAlert/Alert.js +12 -8
  65. package/lib/cjs/components/SlimAlert/Alert.js.map +1 -1
  66. package/lib/cjs/components/SlimAlert/PortalHost.js +28 -0
  67. package/lib/cjs/components/SlimAlert/PortalHost.js.map +1 -0
  68. package/lib/cjs/components/SlimAlert/PortalHost.web.js +12171 -0
  69. package/lib/cjs/components/SlimAlert/PortalHost.web.js.map +1 -0
  70. package/lib/cjs/components/SlimAlert/index.js +1 -0
  71. package/lib/cjs/components/SlimAlert/index.js.map +1 -1
  72. package/lib/cjs/components/Tag/Tag.js +10 -3
  73. package/lib/cjs/components/Tag/Tag.js.map +1 -1
  74. package/lib/cjs/components/TextField/TextField.js +22 -12
  75. package/lib/cjs/components/TextField/TextField.js.map +1 -1
  76. package/lib/cjs/components/TextView/TextView.js +4 -2
  77. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  78. package/lib/cjs/components/Toast/Toast.js +1 -1
  79. package/lib/cjs/components/Toast/Toast.js.map +1 -1
  80. package/lib/cjs/index.js +1 -0
  81. package/lib/cjs/index.js.map +1 -1
  82. package/lib/cjs/pvCount/pvData.js +11 -6
  83. package/lib/cjs/pvCount/pvData.js.map +1 -1
  84. package/lib/esm/_chunks/Dr5vetot.js.map +1 -1
  85. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
  86. package/lib/esm/components/ActionablePopover/ActionablePopover.js +3 -0
  87. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  88. package/lib/esm/components/Alert/Alert.js +12 -9
  89. package/lib/esm/components/Alert/Alert.js.map +1 -1
  90. package/lib/esm/components/Alert/hooks/alert.js +1 -0
  91. package/lib/esm/components/Alert/hooks/alert.js.map +1 -1
  92. package/lib/esm/components/Alert/index.js +1 -0
  93. package/lib/esm/components/Alert/index.js.map +1 -1
  94. package/lib/esm/components/Button/Viewable.web.js +43 -0
  95. package/lib/esm/components/Button/Viewable.web.js.map +1 -0
  96. package/lib/esm/components/Collapse/Item/Item.web.js +160 -0
  97. package/lib/esm/components/Collapse/Item/Item.web.js.map +1 -0
  98. package/lib/esm/components/Image/index.js +1 -1
  99. package/lib/esm/components/Image/index.js.map +1 -1
  100. package/lib/esm/components/NoticeBar/NoticeBar.js +13 -7
  101. package/lib/esm/components/NoticeBar/NoticeBar.js.map +1 -1
  102. package/lib/esm/components/PickerView/PickerView.js +2 -1
  103. package/lib/esm/components/PickerView/PickerView.js.map +1 -1
  104. package/lib/esm/components/PickerView/Wheel.js +23 -3
  105. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  106. package/lib/esm/components/Popover/Popover.js +24 -28
  107. package/lib/esm/components/Popover/Popover.js.map +1 -1
  108. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +4 -4
  109. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  110. package/lib/esm/components/Radio/Radio.js +1 -0
  111. package/lib/esm/components/Radio/Radio.js.map +1 -1
  112. package/lib/esm/components/Radio/index.js +1 -0
  113. package/lib/esm/components/Radio/index.js.map +1 -1
  114. package/lib/esm/components/Sheets/AnimatedSheets.js +13 -2
  115. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  116. package/lib/esm/components/SlimAlert/Alert.js +12 -8
  117. package/lib/esm/components/SlimAlert/Alert.js.map +1 -1
  118. package/lib/esm/components/SlimAlert/PortalHost.js +24 -0
  119. package/lib/esm/components/SlimAlert/PortalHost.js.map +1 -0
  120. package/lib/esm/components/SlimAlert/PortalHost.web.js +12167 -0
  121. package/lib/esm/components/SlimAlert/PortalHost.web.js.map +1 -0
  122. package/lib/esm/components/SlimAlert/index.js +1 -0
  123. package/lib/esm/components/SlimAlert/index.js.map +1 -1
  124. package/lib/esm/components/Tag/Tag.js +12 -5
  125. package/lib/esm/components/Tag/Tag.js.map +1 -1
  126. package/lib/esm/components/TextField/TextField.js +22 -12
  127. package/lib/esm/components/TextField/TextField.js.map +1 -1
  128. package/lib/esm/components/TextView/TextView.js +4 -2
  129. package/lib/esm/components/TextView/TextView.js.map +1 -1
  130. package/lib/esm/components/Toast/Toast.js +2 -2
  131. package/lib/esm/components/Toast/Toast.js.map +1 -1
  132. package/lib/esm/index.js +1 -0
  133. package/lib/esm/index.js.map +1 -1
  134. package/lib/esm/pvCount/pvData.js +11 -6
  135. package/lib/esm/pvCount/pvData.js.map +1 -1
  136. package/lib/src/components/Button/Viewable.web.d.ts +3 -0
  137. package/lib/src/components/Collapse/Item/Item.web.d.ts +7 -0
  138. package/lib/src/components/Form/interface/index.d.ts +0 -1
  139. package/lib/src/components/Image/interface/index.d.ts +0 -2
  140. package/lib/src/components/Search/interface/index.d.ts +0 -2
  141. package/lib/src/components/Slider/interface/index.d.ts +0 -2
  142. package/lib/src/components/SlimAlert/Alert.d.ts +1 -1
  143. package/lib/src/components/SlimAlert/PortalHost.d.ts +6 -0
  144. package/lib/src/components/SlimAlert/PortalHost.web.d.ts +6 -0
  145. package/lib/src/components/Video/interface/index.d.ts +0 -2
  146. package/lib/types/components/Button/Viewable.web.d.ts +3 -0
  147. package/lib/types/components/Collapse/Item/Item.web.d.ts +7 -0
  148. package/lib/types/components/SlimAlert/Alert.d.ts +1 -1
  149. package/lib/types/components/SlimAlert/PortalHost.d.ts +6 -0
  150. package/lib/types/components/SlimAlert/PortalHost.web.d.ts +6 -0
  151. package/package.json +9 -5
  152. package/src/components/ActionSheets/ActionSheets.tsx +0 -1
  153. package/src/components/ActionablePopover/ActionablePopover.tsx +3 -0
  154. package/src/components/Alert/Alert.tsx +5 -5
  155. package/src/components/Button/Viewable.web.tsx +44 -0
  156. package/src/components/Collapse/Item/Item.web.tsx +150 -0
  157. package/src/components/DatePicker/interface/index.ts +1 -0
  158. package/src/components/Image/index.ts +1 -1
  159. package/src/components/NoticeBar/NoticeBar.tsx +29 -5
  160. package/src/components/PickerView/PickerView.tsx +1 -1
  161. package/src/components/PickerView/Wheel.tsx +32 -3
  162. package/src/components/Popover/Popover.tsx +24 -26
  163. package/src/components/ProgressIndicator/ProgressIndicator.tsx +4 -12
  164. package/src/components/Sheets/AnimatedSheets.tsx +7 -3
  165. package/src/components/SlimAlert/Alert.tsx +9 -7
  166. package/src/components/SlimAlert/PortalHost.tsx +7 -0
  167. package/src/components/SlimAlert/PortalHost.web.tsx +11 -0
  168. package/src/components/Tag/Tag.tsx +7 -3
  169. package/src/components/TextField/TextField.tsx +19 -8
  170. package/src/components/TextView/TextView.tsx +15 -3
  171. package/src/components/Toast/Toast.tsx +2 -2
  172. package/src/i18n/@types/resources.d.ts +27 -27
  173. package/src/i18n/index.json +31 -31
  174. package/tsconfig.dts.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n View,\n Text,\n Modal,\n Image,\n ScrollView,\n TouchableWithoutFeedback,\n StyleSheet,\n GestureResponderEvent,\n Animated,\n TouchableOpacity,\n} from \"react-native\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert, AlertDefaultProps } from \"./interface\";\nimport { Button } from \"../Button\";\nimport { Divider } from \"../Divider\";\nimport { Portal } from \"../Portal\";\nimport { style } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n// const AlertView: React.FC<RedsAlert> = (props) => {\n// const finalProps = { ...AlertDefaultProps, ...props };\n// const {\n// show,\n// title,\n// message,\n// confirmText,\n// cancelText,\n// onConfirm,\n// onCancel,\n// onOpen,\n// onClose,\n// align,\n// // showScrollOverlay,\n// footerLayout,\n// showConfirmButton,\n// showCancelButton,\n// mask,\n// footerType,\n// header,\n// footer,\n// children,\n// onMask,\n// confirmBtnStyle,\n// } = finalProps;\n// const themeColor = useThemeColor(\"Alert\");\n// const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n// const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n// const styles = style(props);\n// // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n// const fadeAnim = useRef(new Animated.Value(0)).current;\n\n// useEffect(() => {\n// if (show && onOpen) onOpen();\n// if (!show && onClose) onClose();\n// }, [show]);\n\n// const handleConfirm = (e: GestureResponderEvent) => {\n// if (onConfirm) onConfirm(e);\n// };\n\n// const handleCancel = (e: GestureResponderEvent) => {\n// if (onCancel) onCancel(e);\n// };\n// return show ? (\n// <>\n// <Animated.View\n// style={[\n// styles.centeredView,\n// {\n// transform: [\n// {\n// scale: fadeAnim.interpolate({\n// inputRange: [0, 1],\n// outputRange: [1, 1],\n// }),\n// },\n// ],\n// },\n// ]}\n// >\n// {mask && (\n// <TouchableOpacity onPress={() => { console.log('onMask xxxx')}} activeOpacity={1}>\n// <View style={styles.modalOverlay} />\n// </TouchableOpacity>\n// )}\n\n// </Animated.View>\n// </>\n// ) : null;\n// };\n\nconst Alert: React.FC<RedsAlert> = (props) => {\n const finalProps = { ...AlertDefaultProps, ...props };\n const typography = useThemeTypography(\"Button\");\n const {\n show,\n title,\n message,\n confirmText,\n cancelText,\n onConfirm,\n onCancel,\n onOpen,\n onClose,\n align,\n // showScrollOverlay,\n footerLayout,\n showConfirmButton,\n showCancelButton,\n mask,\n footerType,\n header,\n footer,\n children,\n confirmBtnStyle,\n cancelBtnStyle,\n confirmBtnTextStyle,\n hostName,\n onMask,\n } = finalProps;\n\n const styles = style(props);\n // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n const fadeAnim = useRef(new Animated.Value(0)).current;\n\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n\n const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n\n useEffect(() => {\n if (show && onOpen) onOpen();\n if (!show && onClose) onClose();\n }, [show]);\n\n const handleConfirm = (e: GestureResponderEvent) => {\n if (onConfirm) onConfirm(e);\n };\n\n const handleCancel = (e: GestureResponderEvent) => {\n if (onCancel) onCancel(e);\n };\n useMounted(\"Alert\");\n return show ? (\n <Portal hostName={hostName}>\n <View style={styles.centeredView}>\n {mask && (\n <TouchableWithoutFeedback onPress={onMask}>\n <View style={styles.modalOverlay} />\n </TouchableWithoutFeedback>\n )}\n <Animated.View\n style={[\n {\n transform: [\n {\n scale: fadeAnim.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 1],\n }),\n },\n ],\n },\n ]}\n >\n <View style={[styles.alertContainer, { top: props.offset?.y || 0, left: props.offset?.x || 0 }]}>\n {header}\n <View style={[styles.alertContent, props.contentStyle]}>\n <Text style={styles.title}>{title}</Text>\n {message ? (\n <ScrollView\n // onContentSizeChange={handleContentSizeChange}\n // onScroll={handleScrollView}\n style={[styles.message]}\n scrollEventThrottle={16}\n >\n <Text style={[styles.messageText, align === \"left\" && styles.messageLeft]}>{message}</Text>\n </ScrollView>\n ) : (\n children\n )}\n {/* {showScrollOverlay && hasScrollToBottom && canScroll ? (\n <Image source={{ uri: scrollViewMask.default }} style={styles.scrollOverlay} />\n ) : null} */}\n </View>\n {footer ? (\n footer\n ) : (\n <View\n style={[\n styles.footer,\n footerLayout === \"vertical\" ? styles.footerVertical : styles.footerHorizontal,\n footerType === \"text\" && styles.footerText,\n props.footerStyle,\n ]}\n >\n {showCancelButton && (\n <Button\n variant={footerType === \"text\" ? \"text\" : \"outline\"}\n onClick={handleCancel}\n style={{\n ...(footerLayout === \"vertical\" ? styles.verCancelButton : styles.cancelButton),\n ...cancelBtnStyle,\n }}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.cancelBtnProps || {})}\n textStyle={styles.cancelText}\n >\n {cancelText || cancelKey}\n </Button>\n )}\n {footerType === \"text\" &&\n showCancelButton &&\n (footerLayout === \"vertical\" ? (\n // @ts-ignore\n <View direction={\"horizontal\"} style={styles.horizontalLine} />\n ) : (\n // @ts-ignore\n <View direction={\"vertical\"} style={styles.verticalLine} />\n ))}\n {showConfirmButton && (\n <Button\n type=\"primary\"\n variant={footerType === \"text\" ? \"text\" : \"fill\"}\n onClick={handleConfirm}\n style={{\n ...(footerType === \"text\" ? styles.button : styles.confirmButton),\n ...(footerLayout === \"vertical\" ? styles.verButton : styles.confirmButton),\n ...confirmBtnStyle,\n }}\n textStyle={confirmBtnTextStyle}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.confirmBtnProps || {})}\n >\n {confirmText || confirmKey}\n </Button>\n )}\n </View>\n )}\n </View>\n </Animated.View>\n </View>\n </Portal>\n ) : null;\n};\n\nexport default Alert;\n"],"names":["Alert","props","_props$offset","_props$offset2","finalProps","_objectSpread","AlertDefaultProps","useThemeTypography","show","title","message","confirmText","cancelText","onConfirm","onCancel","onOpen","onClose","align","footerLayout","showConfirmButton","showCancelButton","mask","footerType","header","footer","children","confirmBtnStyle","cancelBtnStyle","confirmBtnTextStyle","hostName","onMask","styles","style","fadeAnim","useRef","Animated","Value","current","cancelKey","useLanguage","confirmKey","useEffect","handleConfirm","e","handleCancel","useMounted","Portal","View","centeredView","TouchableWithoutFeedback","onPress","React","createElement","modalOverlay","transform","scale","interpolate","inputRange","outputRange","alertContainer","top","offset","y","left","x","alertContent","contentStyle","Text","ScrollView","scrollEventThrottle","messageText","messageLeft","footerVertical","footerHorizontal","footerText","footerStyle","Button","variant","onClick","verCancelButton","cancelButton","size","cancelBtnProps","textStyle","direction","horizontalLine","verticalLine","type","button","confirmButton","verButton","confirmBtnProps"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n View,\n Text,\n Modal,\n Image,\n ScrollView,\n TouchableWithoutFeedback,\n StyleSheet,\n GestureResponderEvent,\n Animated,\n TouchableOpacity,\n ViewStyle,\n} from \"react-native\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert, AlertDefaultProps } from \"./interface\";\nimport { Button } from \"../Button\";\nimport PortalHost from \"../SlimAlert/PortalHost\";\nimport { style } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n// const AlertView: React.FC<RedsAlert> = (props) => {\n// const finalProps = { ...AlertDefaultProps, ...props };\n// const {\n// show,\n// title,\n// message,\n// confirmText,\n// cancelText,\n// onConfirm,\n// onCancel,\n// onOpen,\n// onClose,\n// align,\n// // showScrollOverlay,\n// footerLayout,\n// showConfirmButton,\n// showCancelButton,\n// mask,\n// footerType,\n// header,\n// footer,\n// children,\n// onMask,\n// confirmBtnStyle,\n// } = finalProps;\n// const themeColor = useThemeColor(\"Alert\");\n// const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n// const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n// const styles = style(props);\n// // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n// const fadeAnim = useRef(new Animated.Value(0)).current;\n\n// useEffect(() => {\n// if (show && onOpen) onOpen();\n// if (!show && onClose) onClose();\n// }, [show]);\n\n// const handleConfirm = (e: GestureResponderEvent) => {\n// if (onConfirm) onConfirm(e);\n// };\n\n// const handleCancel = (e: GestureResponderEvent) => {\n// if (onCancel) onCancel(e);\n// };\n// return show ? (\n// <>\n// <Animated.View\n// style={[\n// styles.centeredView,\n// {\n// transform: [\n// {\n// scale: fadeAnim.interpolate({\n// inputRange: [0, 1],\n// outputRange: [1, 1],\n// }),\n// },\n// ],\n// },\n// ]}\n// >\n// {mask && (\n// <TouchableOpacity onPress={() => { console.log('onMask xxxx')}} activeOpacity={1}>\n// <View style={styles.modalOverlay} />\n// </TouchableOpacity>\n// )}\n\n// </Animated.View>\n// </>\n// ) : null;\n// };\n\nconst Alert: React.FC<RedsAlert> = (props) => {\n const finalProps = { ...AlertDefaultProps, ...props };\n const typography = useThemeTypography(\"Button\");\n const {\n show,\n title,\n message,\n confirmText,\n cancelText,\n onConfirm,\n onCancel,\n onOpen,\n onClose,\n align,\n // showScrollOverlay,\n footerLayout,\n showConfirmButton,\n showCancelButton,\n mask,\n footerType,\n header,\n footer,\n children,\n confirmBtnStyle,\n cancelBtnStyle,\n confirmBtnTextStyle,\n hostName,\n onMask,\n } = finalProps;\n\n const styles = style(props);\n // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n const fadeAnim = useRef(new Animated.Value(0)).current;\n\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n\n const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n\n useEffect(() => {\n if (show && onOpen) onOpen();\n if (!show && onClose) onClose();\n }, [show]);\n\n const handleConfirm = (e: GestureResponderEvent) => {\n if (onConfirm) onConfirm(e);\n };\n\n const handleCancel = (e: GestureResponderEvent) => {\n if (onCancel) onCancel(e);\n };\n useMounted(\"Alert\");\n return show ? (\n <PortalHost hostName={props.hostName}>\n <View style={[styles.centeredView, { position: props.hostName ? \"absolute\" : \"fixed\" } as ViewStyle]}>\n {mask && (\n <TouchableWithoutFeedback onPress={onMask}>\n <View style={styles.modalOverlay} />\n </TouchableWithoutFeedback>\n )}\n <Animated.View\n style={[\n {\n transform: [\n {\n scale: fadeAnim.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 1],\n }),\n },\n ],\n },\n ]}\n >\n <View style={[styles.alertContainer, { top: props.offset?.y || 0, left: props.offset?.x || 0 }]}>\n {header}\n <View style={[styles.alertContent, props.contentStyle]}>\n <Text style={styles.title}>{title}</Text>\n {message ? (\n <ScrollView\n // onContentSizeChange={handleContentSizeChange}\n // onScroll={handleScrollView}\n style={[styles.message]}\n scrollEventThrottle={16}\n >\n <Text style={[styles.messageText, align === \"left\" && styles.messageLeft]}>{message}</Text>\n </ScrollView>\n ) : (\n children\n )}\n {/* {showScrollOverlay && hasScrollToBottom && canScroll ? (\n <Image source={{ uri: scrollViewMask.default }} style={styles.scrollOverlay} />\n ) : null} */}\n </View>\n {footer ? (\n footer\n ) : (\n <View\n style={[\n styles.footer,\n footerLayout === \"vertical\" ? styles.footerVertical : styles.footerHorizontal,\n footerType === \"text\" && styles.footerText,\n props.footerStyle,\n ]}\n >\n {showCancelButton && (\n <Button\n variant={footerType === \"text\" ? \"text\" : \"outline\"}\n onClick={handleCancel}\n style={{\n ...(footerLayout === \"vertical\" ? styles.verCancelButton : styles.cancelButton),\n ...cancelBtnStyle,\n }}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.cancelBtnProps || {})}\n textStyle={styles.cancelText}\n >\n {cancelText || cancelKey}\n </Button>\n )}\n {footerType === \"text\" &&\n showCancelButton &&\n (footerLayout === \"vertical\" ? (\n // @ts-ignore\n <View direction={\"horizontal\"} style={styles.horizontalLine} />\n ) : (\n // @ts-ignore\n <View direction={\"vertical\"} style={styles.verticalLine} />\n ))}\n {showConfirmButton && (\n <Button\n type=\"primary\"\n variant={footerType === \"text\" ? \"text\" : \"fill\"}\n onClick={handleConfirm}\n style={{\n ...(footerType === \"text\" ? styles.button : styles.confirmButton),\n ...(footerLayout === \"vertical\" ? styles.verButton : styles.confirmButton),\n ...confirmBtnStyle,\n }}\n textStyle={confirmBtnTextStyle}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.confirmBtnProps || {})}\n >\n {confirmText || confirmKey}\n </Button>\n )}\n </View>\n )}\n </View>\n </Animated.View>\n </View>\n </PortalHost>\n ) : null;\n};\n\nexport default Alert;\n"],"names":["Alert","props","_props$offset","_props$offset2","finalProps","_objectSpread","AlertDefaultProps","useThemeTypography","show","title","message","confirmText","cancelText","onConfirm","onCancel","onOpen","onClose","align","footerLayout","showConfirmButton","showCancelButton","mask","footerType","header","footer","children","confirmBtnStyle","cancelBtnStyle","confirmBtnTextStyle","hostName","onMask","styles","style","fadeAnim","useRef","Animated","Value","current","cancelKey","useLanguage","confirmKey","useEffect","handleConfirm","e","handleCancel","useMounted","React","createElement","PortalHost","View","centeredView","position","TouchableWithoutFeedback","onPress","modalOverlay","transform","scale","interpolate","inputRange","outputRange","alertContainer","top","offset","y","left","x","alertContent","contentStyle","Text","ScrollView","scrollEventThrottle","messageText","messageLeft","footerVertical","footerHorizontal","footerText","footerStyle","Button","variant","onClick","verCancelButton","cancelButton","size","cancelBtnProps","textStyle","direction","horizontalLine","verticalLine","type","button","confirmButton","verButton","confirmBtnProps"],"mappings":"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"}
@@ -43,6 +43,7 @@ require('../../ProgressIndicator/lottie/loading_primary.js');
43
43
  require('../../ConfigProvider/hooks/themeToken/useColorMode.js');
44
44
  require('../../ProgressIndicator/styles.js');
45
45
  require('@xhs/lottie-react-native');
46
+ require('../../SlimAlert/PortalHost.js');
46
47
  require('../styles.js');
47
48
  require('../../LanguageProvider/LanguageProvider.js');
48
49
  require('../../../_chunks/DoNqsT5m.js');
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../../../../src/components/Alert/hooks/alert.tsx"],"sourcesContent":["import { RedsAlert, AlertDefaultProps } from \"../interface\";\nimport { stateDispatch } from \"../../Portal\";\nimport { ACTIONS } from \"../../Portal/interface\";\nimport React from \"react\";\nimport AlertView from \"../Alert\";\n\nclass AlertFunc {\n private alertId = 0;\n\n show = (props: RedsAlert, hostName: string = \"root\") => {\n const finalProps = { ...AlertDefaultProps, ...props };\n this.alertId++;\n const key = `reds-alert-${this.alertId}`;\n stateDispatch[hostName].dispatch({\n type: ACTIONS.ADD_UPDATE_PORTAL,\n hostName: hostName,\n portalName: key,\n node: <AlertView {...finalProps} hostName={hostName} show={true} />,\n });\n return key;\n };\n\n destory = (id: any = `reds-alert-${this.alertId}`, hostName: string = \"root\") => {\n stateDispatch[hostName].dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName: id,\n });\n };\n\n destroy = (id: any = `reds-alert-${this.alertId}`, hostName: string = \"root\") => {\n stateDispatch[hostName].dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName: id,\n });\n };\n}\n\nexport default new AlertFunc();\n"],"names":["AlertFunc","_createClass","_this","_classCallCheck","__publicField","props","hostName","arguments","length","undefined","finalProps","_objectSpread","AlertDefaultProps","alertId","key","concat","stateDispatch","dispatch","type","ACTIONS","ADD_UPDATE_PORTAL","portalName","node","React","createElement","AlertView","show","id","REMOVE_PORTAL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIsB,IAEhBA,SAAU,gBAAAC,sCAAA,CAAhB,SAAAD,YAAA;AAAA,EAAA,IAAAE,KAAA,GAAA,IAAA,CAAA;AAAAC,EAAAA,yCAAA,OAAAH,SAAA,CAAA,CAAA;AACEI,EAAAA,aAAA,CAAA,IAAA,EAAQ,SAAU,EAAA,CAAA,CAAA,CAAA;AAEXA,EAAAA,aAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAACC,KAAkB,EAA8B;AAAA,IAAA,IAA9BC,QAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAmB,MAAW,CAAA;IACtD,IAAMG,UAAa,GAAAC,wCAAA,CAAAA,wCAAA,CAAKC,EAAAA,EAAAA,kDAAA,CAAsBP,EAAAA,KAAM,CAAA,CAAA;IAC/CH,KAAA,CAAAW,OAAA,EAAA,CAAA;AACC,IAAA,IAAAC,GAAA,GAAAC,aAAAA,CAAAA,MAAA,CAAoBb,KAAA,CAAKW,OAAO,CAAA,CAAA;AACxBG,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAC,iBAAA;AACdd,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAP,GAAA;AACZQ,MAAAA,qBAAOC,KAAA,CAAAC,aAAA,CAAAC,8BAAA,EAAAd,wCAAA,CAAAA,wCAAA,CAAA,EAAA,EAAcD,UAAY,CAAA,EAAA,EAAA,EAAA;AAAAJ,QAAAA,QAAA,EAAAA,QAAA;AAAoBoB,QAAAA,MAAM,IAAA;OAAM,CAAA,CAAA;AACnE,KAAC,CAAA,CAAA;AACM,IAAA,OAAAZ,GAAA,CAAA;AACT,GAAA,CAAA,CAAA;AAEAV,EAAAA,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,YAAuE;AAAA,IAAA,IAAtEuB,EAAU,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAAQ,CAAAA,CAAAA,GAAAA,aAAAA,CAAAA,MAAA,CAAcb,MAAKW,OAAO,CAAA,CAAA;AAAA,IAAA,IAAIP,+EAAmB,MAAW,CAAA;AACjEU,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAS,aAAA;AACdtB,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAM,EAAAA;AACd,KAAC,CAAA,CAAA;AACH,GAAA,CAAA,CAAA;AAEAvB,EAAAA,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,YAAuE;AAAA,IAAA,IAAtEuB,EAAU,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAAQ,CAAAA,CAAAA,GAAAA,aAAAA,CAAAA,MAAA,CAAcb,MAAKW,OAAO,CAAA,CAAA;AAAA,IAAA,IAAIP,+EAAmB,MAAW,CAAA;AACjEU,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAS,aAAA;AACdtB,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAM,EAAAA;AACd,KAAC,CAAA,CAAA;AACH,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGF,YAAe,IAAI3B,SAAU,EAAA;;;;"}
1
+ {"version":3,"file":"alert.js","sources":["../../../../../src/components/Alert/hooks/alert.tsx"],"sourcesContent":["import { RedsAlert, AlertDefaultProps } from \"../interface\";\nimport { stateDispatch } from \"../../Portal\";\nimport { ACTIONS } from \"../../Portal/interface\";\nimport React from \"react\";\nimport AlertView from \"../Alert\";\n\nclass AlertFunc {\n private alertId = 0;\n\n show = (props: RedsAlert, hostName: string = \"root\") => {\n const finalProps = { ...AlertDefaultProps, ...props };\n this.alertId++;\n const key = `reds-alert-${this.alertId}`;\n stateDispatch[hostName].dispatch({\n type: ACTIONS.ADD_UPDATE_PORTAL,\n hostName: hostName,\n portalName: key,\n node: <AlertView {...finalProps} hostName={hostName} show={true} />,\n });\n return key;\n };\n\n destory = (id: any = `reds-alert-${this.alertId}`, hostName: string = \"root\") => {\n stateDispatch[hostName].dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName: id,\n });\n };\n\n destroy = (id: any = `reds-alert-${this.alertId}`, hostName: string = \"root\") => {\n stateDispatch[hostName].dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName: id,\n });\n };\n}\n\nexport default new AlertFunc();\n"],"names":["AlertFunc","_createClass","_this","_classCallCheck","__publicField","props","hostName","arguments","length","undefined","finalProps","_objectSpread","AlertDefaultProps","alertId","key","concat","stateDispatch","dispatch","type","ACTIONS","ADD_UPDATE_PORTAL","portalName","node","React","createElement","AlertView","show","id","REMOVE_PORTAL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIsB,IAEhBA,SAAU,gBAAAC,sCAAA,CAAhB,SAAAD,YAAA;AAAA,EAAA,IAAAE,KAAA,GAAA,IAAA,CAAA;AAAAC,EAAAA,yCAAA,OAAAH,SAAA,CAAA,CAAA;AACEI,EAAAA,aAAA,CAAA,IAAA,EAAQ,SAAU,EAAA,CAAA,CAAA,CAAA;AAEXA,EAAAA,aAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAACC,KAAkB,EAA8B;AAAA,IAAA,IAA9BC,QAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAmB,MAAW,CAAA;IACtD,IAAMG,UAAa,GAAAC,wCAAA,CAAAA,wCAAA,CAAKC,EAAAA,EAAAA,kDAAA,CAAsBP,EAAAA,KAAM,CAAA,CAAA;IAC/CH,KAAA,CAAAW,OAAA,EAAA,CAAA;AACC,IAAA,IAAAC,GAAA,GAAAC,aAAAA,CAAAA,MAAA,CAAoBb,KAAA,CAAKW,OAAO,CAAA,CAAA;AACxBG,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAC,iBAAA;AACdd,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAP,GAAA;AACZQ,MAAAA,qBAAOC,KAAA,CAAAC,aAAA,CAAAC,8BAAA,EAAAd,wCAAA,CAAAA,wCAAA,CAAA,EAAA,EAAcD,UAAY,CAAA,EAAA,EAAA,EAAA;AAAAJ,QAAAA,QAAA,EAAAA,QAAA;AAAoBoB,QAAAA,MAAM,IAAA;OAAM,CAAA,CAAA;AACnE,KAAC,CAAA,CAAA;AACM,IAAA,OAAAZ,GAAA,CAAA;AACT,GAAA,CAAA,CAAA;AAEAV,EAAAA,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,YAAuE;AAAA,IAAA,IAAtEuB,EAAU,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAAQ,CAAAA,CAAAA,GAAAA,aAAAA,CAAAA,MAAA,CAAcb,MAAKW,OAAO,CAAA,CAAA;AAAA,IAAA,IAAIP,+EAAmB,MAAW,CAAA;AACjEU,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAS,aAAA;AACdtB,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAM,EAAAA;AACd,KAAC,CAAA,CAAA;AACH,GAAA,CAAA,CAAA;AAEAvB,EAAAA,aAAA,CAAA,IAAA,EAAA,SAAA,EAAU,YAAuE;AAAA,IAAA,IAAtEuB,EAAU,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAAQ,CAAAA,CAAAA,GAAAA,aAAAA,CAAAA,MAAA,CAAcb,MAAKW,OAAO,CAAA,CAAA;AAAA,IAAA,IAAIP,+EAAmB,MAAW,CAAA;AACjEU,IAAAA,mDAAA,CAAAV,QAAQ,EAAEW,QAAS,CAAA;MAC/BC,MAAMC,yCAAQ,CAAAS,aAAA;AACdtB,MAAAA,QAAA,EAAAA,QAAA;AACAe,MAAAA,UAAY,EAAAM,EAAAA;AACd,KAAC,CAAA,CAAA;AACH,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGF,YAAe,IAAI3B,SAAU,EAAA;;;;"}
@@ -37,6 +37,7 @@ require('../ProgressIndicator/lottie/loading_primary.js');
37
37
  require('../ConfigProvider/hooks/themeToken/useColorMode.js');
38
38
  require('../ProgressIndicator/styles.js');
39
39
  require('@xhs/lottie-react-native');
40
+ require('../SlimAlert/PortalHost.js');
40
41
  require('../Portal/core/Portal.js');
41
42
  require('../Portal/core/hooks/usePortal.js');
42
43
  require('../../_chunks/D1Q6Re0a.js');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../_chunks/nlVjgQi5.js');
6
+ var React = require('react');
7
+ var reactNative = require('react-native');
8
+
9
+ var _excluded = ["style", "percent", "callback"];
10
+ var Viewable = function Viewable(props) {
11
+ var style = props.style,
12
+ _props$percent = props.percent,
13
+ percent = _props$percent === void 0 ? 1 : _props$percent,
14
+ callback = props.callback,
15
+ rest = _rollupPluginBabelHelpers._objectWithoutProperties(props, _excluded);
16
+ var targetRef = React.useRef(null);
17
+ var hasLoggedExposure = React.useRef(false);
18
+ React.useEffect(function () {
19
+ if (typeof window === "undefined") return;
20
+ var observer = new IntersectionObserver(function (entries) {
21
+ entries.forEach(function (entry) {
22
+ if (entry.isIntersecting && entry.intersectionRatio >= (percent || 1)) {
23
+ if (!hasLoggedExposure.current) {
24
+ hasLoggedExposure.current = true;
25
+ callback === null || callback === void 0 || callback();
26
+ }
27
+ }
28
+ });
29
+ }, {
30
+ threshold: percent || 1
31
+ });
32
+ var domNode = targetRef.current;
33
+ if (domNode) {
34
+ observer.observe(domNode);
35
+ }
36
+ return function () {
37
+ return observer.disconnect();
38
+ };
39
+ }, [callback, percent]);
40
+ return /* @__PURE__ */React.createElement(reactNative.View, _rollupPluginBabelHelpers._objectSpread2({
41
+ ref: targetRef,
42
+ style: style
43
+ }, rest), props.children);
44
+ };
45
+
46
+ exports.default = Viewable;
47
+ //# sourceMappingURL=Viewable.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewable.web.js","sources":["../../../../src/components/Button/Viewable.web.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { View, Dimensions } from \"react-native\";\n\nconst Viewable = (props: any) => {\n const { style, percent = 1, callback, ...rest } = props;\n const targetRef = useRef<View>(null);\n const hasLoggedExposure = useRef(false);\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting && entry.intersectionRatio >= (percent || 1)) {\n if (!hasLoggedExposure.current) {\n hasLoggedExposure.current = true;\n callback?.();\n }\n }\n });\n },\n {\n threshold: percent || 1,\n },\n );\n\n // 获取实际的 DOM 元素\n const domNode = targetRef.current as any;\n if (domNode) {\n observer.observe(domNode);\n }\n\n return () => observer.disconnect();\n }, [callback, percent]);\n\n return (\n <View ref={targetRef} style={style} {...rest}>\n {props.children}\n </View>\n );\n};\n\nexport default Viewable;\n"],"names":["Viewable","props","style","_props$percent","percent","callback","rest","_excluded","targetRef","useRef","hasLoggedExposure","useEffect","window","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","intersectionRatio","current","threshold","domNode","observe","disconnect","React","createElement","View","ref","children"],"mappings":";;;;;;;;;AAGA,IAAMA,QAAA,GAAW,SAAXA,QAAAA,CAAYC,KAAe,EAAA;AAC/B,EAAA,IAAQC,KAAO,GAAmCD,KAAA,CAA1CC,KAAO;IAAAC,cAAA,GAAmCF,KAAA,CAAnCG,OAAA;AAAAA,IAAAA,OAAA,GAAAD,cAAA,KAAU,KAAA,CAAA,GAAA;IAAGE,QAAU,GAAYJ,KAAA,CAAtBI,QAAU;AAAGC,IAAAA,0DAASL,KAAA,EAAAM,SAAA,CAAA,CAAA;AAC5C,EAAA,IAAAC,SAAA,GAAYC,aAAa,IAAI,CAAA,CAAA;AAC7B,EAAA,IAAAC,iBAAA,GAAoBD,aAAO,KAAK,CAAA,CAAA;AAEtCE,EAAAA,eAAA,CAAU,YAAM;AACV,IAAA,IAAA,OAAOC,WAAW,WAAa,EAAA,OAAA;AAEnC,IAAA,IAAMC,WAAW,IAAIC,oBAAA,CACnB,UAACC,OAAY,EAAA;AACHA,MAAAA,OAAA,CAAAC,OAAA,CAAQ,UAACC,KAAU,EAAA;AACzB,QAAA,IAAIA,KAAM,CAAAC,cAAA,IAAkBD,KAAM,CAAAE,iBAAA,KAAsBf,WAAW,CAAI,CAAA,EAAA;AACjE,UAAA,IAAA,CAACM,kBAAkBU,OAAS,EAAA;YAC9BV,iBAAA,CAAkBU,OAAU,GAAA,IAAA,CAAA;AACjBf,YAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,EAAA,CAAA;AACb,WAAA;AACF,SAAA;AACF,OAAC,CAAA,CAAA;AACH,KAAA,EACA;MACEgB,WAAWjB,OAAW,IAAA,CAAA;AACxB,KACF,CAAA,CAAA;AAGA,IAAA,IAAMkB,UAAUd,SAAU,CAAAY,OAAA,CAAA;AAC1B,IAAA,IAAIE,OAAS,EAAA;AACXT,MAAAA,QAAA,CAASU,QAAQD,OAAO,CAAA,CAAA;AAC1B,KAAA;IAEO,OAAA,YAAA;AAAA,MAAA,OAAMT,SAASW,UAAW,EAAA,CAAA;AAAA,KAAA,CAAA;AACnC,GAAG,EAAA,CAACnB,QAAU,EAAAD,OAAO,CAAC,CAAA,CAAA;AAGpB,EAAA,sBAAAqB,KAAA,CAAAC,aAAA,CAACC;AAAKC,IAAAA,GAAK,EAAApB,SAAA;AAAWN,IAAAA,OAAAA,KAAAA;KAAkBI,IAAA,CAAA,EACrCL,MAAM4B,QACT,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,164 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_chunks/nlVjgQi5.js');
6
+ var React = require('react');
7
+ var reactNative = require('react-native');
8
+ var components_Collapse_Item_interface_index = require('./interface/index.js');
9
+ var components_Collapse_Item_styles = require('./styles.js');
10
+ var components_Icon_Icon = require('../../Icon/Icon.js');
11
+ var rederIconSvgReDs_icon = require('@xhs/reder-icon-svg-ReDs_icon');
12
+ var components_Collapse_hooks_useCollapseContext = require('../hooks/useCollapseContext.js');
13
+ require('../../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
14
+ require('@xhs/reds-apm/src/index.native');
15
+ var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../../ConfigProvider/hooks/themeToken/useThemeToken.js');
16
+ require('@xhsreds/reds-token-next');
17
+ require('../../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
18
+ require('../../../_chunks/NjAxlnfB.js');
19
+ require('../../../pvCount/useUnmountedProcess.js');
20
+ require('../../../pvCount/pvData.js');
21
+
22
+ var Item = function Item(_ref) {
23
+ var value = _ref.value,
24
+ title = _ref.title,
25
+ lazyRender = _ref.lazyRender,
26
+ children = _ref.children,
27
+ onClick = _ref.onClick;
28
+ var _React$useContext = React.useContext(components_Collapse_hooks_useCollapseContext.CollapseContext),
29
+ addActiveValue = _React$useContext.addActiveValue,
30
+ isActiveValue = _React$useContext.isActiveValue,
31
+ removeActiveValue = _React$useContext.removeActiveValue,
32
+ size = _React$useContext.size,
33
+ registerChild = _React$useContext.registerChild,
34
+ unregisterChild = _React$useContext.unregisterChild;
35
+ var styles = components_Collapse_Item_styles.default(size || "Medium");
36
+ var _useState = React.useState(false),
37
+ _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
38
+ visible = _useState2[0],
39
+ setVisible = _useState2[1];
40
+ var _useState3 = React.useState(!lazyRender),
41
+ _useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2);
42
+ _useState4[0];
43
+ var setShouldMount = _useState4[1];
44
+ var _useState5 = React.useState(0),
45
+ _useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
46
+ contentHeight = _useState6[0],
47
+ setContentHeight = _useState6[1];
48
+ var firstRender = React.useRef(false);
49
+ var measureRef = React.useRef(null);
50
+ var contentRef = React.useRef(null);
51
+ var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor();
52
+ var _useState7 = React.useState(false),
53
+ _useState8 = _rollupPluginBabelHelpers._slicedToArray(_useState7, 2),
54
+ lineItem = _useState8[0],
55
+ setLineItem = _useState8[1];
56
+ var childInfo = {
57
+ setLine: function setLine(value2) {
58
+ return setLineItem(value2);
59
+ }
60
+ };
61
+ React.useEffect(function () {
62
+ registerChild(childInfo);
63
+ return function () {
64
+ return unregisterChild(childInfo);
65
+ };
66
+ }, []);
67
+ var _useState9 = React.useState(false),
68
+ _useState0 = _rollupPluginBabelHelpers._slicedToArray(_useState9, 2);
69
+ _useState0[0];
70
+ var setInitialMeasureDone = _useState0[1];
71
+ var setFirstRenderTag = function setFirstRenderTag() {
72
+ firstRender.current = true;
73
+ setShouldMount(true);
74
+ };
75
+ var handleContentLayout = function handleContentLayout(event) {
76
+ var measuredHeight = event.nativeEvent.layout.height;
77
+ if (measuredHeight !== contentHeight) {
78
+ setContentHeight(measuredHeight);
79
+ setInitialMeasureDone(true);
80
+ }
81
+ };
82
+ React.useEffect(function () {
83
+ var isActive = !!(isActiveValue !== null && isActiveValue !== void 0 && isActiveValue(value));
84
+ if (isActive) {
85
+ var _measureRef$current, _measureRef$current$m;
86
+ (_measureRef$current = measureRef.current) === null || _measureRef$current === void 0 || (_measureRef$current$m = _measureRef$current.measure) === null || _measureRef$current$m === void 0 || _measureRef$current$m.call(_measureRef$current, function (x, y, width, height) {
87
+ setContentHeight(height);
88
+ setInitialMeasureDone(true);
89
+ });
90
+ }
91
+ setVisible(isActive);
92
+ if (!firstRender.current && isActive) {
93
+ setFirstRenderTag();
94
+ }
95
+ }, [isActiveValue === null || isActiveValue === void 0 ? void 0 : isActiveValue(value)]);
96
+ var onPress = function onPress() {
97
+ var nextActive = !(isActiveValue !== null && isActiveValue !== void 0 && isActiveValue(value));
98
+ if (nextActive) {
99
+ addActiveValue === null || addActiveValue === void 0 || addActiveValue(value);
100
+ if (!firstRender.current) setFirstRenderTag();
101
+ } else {
102
+ removeActiveValue === null || removeActiveValue === void 0 || removeActiveValue(value);
103
+ }
104
+ setVisible(nextActive);
105
+ onClick === null || onClick === void 0 || onClick(value);
106
+ };
107
+ var cloneChildren = React.useMemo(function () {
108
+ return React.Children.map(children, function (child) {
109
+ return /*#__PURE__*/React.cloneElement(child, _rollupPluginBabelHelpers._objectSpread2({
110
+ style: {
111
+ color: themeColor.Paragraph
112
+ }
113
+ }, child.props));
114
+ });
115
+ }, [children]);
116
+ return /* @__PURE__ */React.createElement(reactNative.View, null, /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
117
+ onPress: onPress
118
+ }, /* @__PURE__ */React.createElement(reactNative.View, {
119
+ style: styles.header
120
+ }, /* @__PURE__ */React.createElement(reactNative.Text, {
121
+ style: styles.title
122
+ }, title), /* @__PURE__ */React.createElement(reactNative.View, {
123
+ style: {
124
+ transform: "rotate(".concat(visible ? 180 : 0, "deg)"),
125
+ transition: "transform 200ms ease-in-out"
126
+ }
127
+ }, /* @__PURE__ */React.createElement(components_Icon_Icon.default, {
128
+ icon: rederIconSvgReDs_icon.ArrowDownCenterB,
129
+ size: 16,
130
+ fill: themeColor.Title
131
+ })))), /* @__PURE__ */React.createElement(reactNative.View, {
132
+ ref: measureRef,
133
+ onLayout: handleContentLayout,
134
+ style: _rollupPluginBabelHelpers._objectSpread2({
135
+ position: "absolute",
136
+ opacity: 0,
137
+ paddingHorizontal: 16,
138
+ paddingBottom: 12,
139
+ top: -9999,
140
+ width: "100%"
141
+ }, styles.content)
142
+ }, cloneChildren), /* @__PURE__ */React.createElement(reactNative.View, {
143
+ ref: contentRef,
144
+ style: _rollupPluginBabelHelpers._objectSpread2({
145
+ overflow: "hidden",
146
+ height: visible ? contentHeight : 0,
147
+ paddingHorizontal: 16,
148
+ paddingBottom: visible ? 12 : 0,
149
+ minHeight: visible ? 1 : 0,
150
+ // @ts-expect-error
151
+ transition: "height 200ms ease-in-out, padding 200ms ease-in-out, opacity 200ms ease-in-out"
152
+ }, styles.content)
153
+ }, cloneChildren), lineItem && /* @__PURE__ */React.createElement(reactNative.View, {
154
+ style: {
155
+ backgroundColor: themeColor.Separator,
156
+ height: 0.5,
157
+ marginHorizontal: 16
158
+ }
159
+ }));
160
+ };
161
+ Item.defaultProps = components_Collapse_Item_interface_index.ItemDefaultProps;
162
+
163
+ exports.default = Item;
164
+ //# sourceMappingURL=Item.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.web.js","sources":["../../../../../src/components/Collapse/Item/Item.web.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, Text, TouchableWithoutFeedback, LayoutChangeEvent, ViewStyle } from \"react-native\";\nimport { IItem, ItemDefaultProps } from \"./interface/index\";\nimport createStyles from \"./styles\";\nimport { Icon } from \"../../Icon\";\nimport { ArrowUpM, ArrowDownCenterB } from \"@xhs/reder-icon-svg-ReDs_icon\";\nimport { CollapseContext } from \"../hooks/useCollapseContext\";\nimport { useThemeColor } from \"../../ConfigProvider\";\n\nconst Item = ({ value, title, lazyRender, children, onClick }: IItem) => {\n const { addActiveValue, isActiveValue, removeActiveValue, size, registerChild, unregisterChild } =\n React.useContext(CollapseContext);\n const styles = createStyles(size || \"Medium\");\n const [visible, setVisible] = useState(false);\n const [shouldMount, setShouldMount] = useState(!lazyRender);\n const [contentHeight, setContentHeight] = useState(0);\n const firstRender = useRef(false);\n const measureRef = useRef<View>(null);\n const contentRef = useRef<View>(null);\n\n const themeColor = useThemeColor();\n const [lineItem, setLineItem] = useState(false);\n\n const childInfo = {\n setLine: (value: boolean) => setLineItem(value),\n };\n\n useEffect(() => {\n registerChild(childInfo);\n return () => unregisterChild(childInfo);\n }, []);\n\n const [initialMeasureDone, setInitialMeasureDone] = useState(false);\n\n const setFirstRenderTag = () => {\n firstRender.current = true;\n setShouldMount(true);\n };\n\n const handleContentLayout = (event: LayoutChangeEvent) => {\n const measuredHeight = event.nativeEvent.layout.height;\n if (measuredHeight !== contentHeight) {\n setContentHeight(measuredHeight);\n setInitialMeasureDone(true);\n }\n };\n\n // 初始可见状态同步逻辑\n useEffect(() => {\n const isActive = !!isActiveValue?.(value);\n if (isActive) {\n measureRef.current?.measure?.((x, y, width, height) => {\n setContentHeight(height);\n setInitialMeasureDone(true);\n });\n }\n setVisible(isActive);\n if (!firstRender.current && isActive) {\n setFirstRenderTag();\n }\n }, [isActiveValue?.(value)]);\n\n const onPress = () => {\n const nextActive = !isActiveValue?.(value);\n\n if (nextActive) {\n addActiveValue?.(value);\n if (!firstRender.current) setFirstRenderTag();\n } else {\n removeActiveValue?.(value);\n }\n\n setVisible(nextActive);\n onClick?.(value);\n };\n\n const cloneChildren = useMemo(() => {\n return React.Children.map(children, (child: any) => {\n return React.cloneElement(child, {\n style: { color: themeColor.Paragraph },\n ...child.props,\n });\n });\n }, [children]);\n\n return (\n <View>\n <TouchableWithoutFeedback onPress={onPress}>\n <View style={styles.header}>\n <Text style={styles.title}>{title}</Text>\n <View\n style={\n { transform: `rotate(${visible ? 180 : 0}deg)`, transition: \"transform 200ms ease-in-out\" } as ViewStyle\n }\n >\n <Icon icon={ArrowDownCenterB} size={16} fill={themeColor.Title} />\n </View>\n </View>\n </TouchableWithoutFeedback>\n\n {/* 测量视图 */}\n <View\n ref={measureRef}\n onLayout={handleContentLayout}\n style={{\n position: \"absolute\",\n opacity: 0,\n paddingHorizontal: 16,\n paddingBottom: 12,\n top: -9999,\n width: \"100%\",\n ...styles.content,\n }}\n >\n {cloneChildren}\n </View>\n\n {/* Web 内容视图 */}\n <View\n ref={contentRef}\n style={{\n overflow: \"hidden\",\n height: visible ? contentHeight : 0,\n paddingHorizontal: 16,\n paddingBottom: visible ? 12 : 0,\n minHeight: visible ? 1 : 0,\n // @ts-expect-error\n transition: \"height 200ms ease-in-out, padding 200ms ease-in-out, opacity 200ms ease-in-out\",\n ...styles.content,\n }}\n >\n {cloneChildren}\n </View>\n\n {/* 分割线 */}\n {lineItem && (\n <View\n style={{\n backgroundColor: themeColor.Separator,\n height: 0.5,\n marginHorizontal: 16,\n }}\n />\n )}\n </View>\n );\n};\n\nItem.defaultProps = ItemDefaultProps;\nexport default Item;\n"],"names":["Item","_ref","value","title","lazyRender","children","onClick","_React$useContext","React","useContext","CollapseContext","addActiveValue","isActiveValue","removeActiveValue","size","registerChild","unregisterChild","styles","createStyles","_useState","useState","_useState2","_slicedToArray","visible","setVisible","_useState3","_useState4","shouldMount","setShouldMount","_useState5","_useState6","contentHeight","setContentHeight","firstRender","useRef","measureRef","contentRef","themeColor","useThemeColor","_useState7","_useState8","lineItem","setLineItem","childInfo","setLine","useEffect","_useState9","_useState0","initialMeasureDone","setInitialMeasureDone","setFirstRenderTag","current","handleContentLayout","event","measuredHeight","nativeEvent","layout","height","isActive","_measureRef$current","_measureRef$current$m","measure","call","x","y","width","onPress","nextActive","cloneChildren","useMemo","Children","map","child","cloneElement","_objectSpread","style","color","Paragraph","props","View","createElement","TouchableWithoutFeedback","header","Text","transform","concat","transition","Icon","icon","ArrowDownCenterB","fill","Title","ref","onLayout","position","opacity","paddingHorizontal","paddingBottom","top","content","overflow","minHeight","backgroundColor","Separator","marginHorizontal","defaultProps","ItemDefaultProps"],"mappings":"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"}
@@ -25,7 +25,7 @@ require('../../pvCount/pvData.js');
25
25
  require('./VisibilitySensor.js');
26
26
 
27
27
  var _Platform$constants;
28
- var ImageComponent = ((_Platform$constants = reactNative.Platform.constants) === null || _Platform$constants === void 0 || (_Platform$constants = _Platform$constants.reactNativeVersion) === null || _Platform$constants === void 0 ? void 0 : _Platform$constants.minor) === 72 ? components_Image_Image.default : components_Image_Image69.default;
28
+ var ImageComponent = ((_Platform$constants = reactNative.Platform.constants) === null || _Platform$constants === void 0 || (_Platform$constants = _Platform$constants.reactNativeVersion) === null || _Platform$constants === void 0 ? void 0 : _Platform$constants.minor) === 72 || reactNative.Platform.OS === "web" ? components_Image_Image.default : components_Image_Image69.default;
29
29
 
30
30
  exports.Image69 = components_Image_Image69.default;
31
31
  exports.ImageType = components_Image_interface_index.index;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Image/index.ts"],"sourcesContent":["import { Platform } from \"react-native\";\nimport Image from \"./Image\";\nimport Image69 from \"./Image69\";\nimport * as ImageType from \"./interface\";\n\nconst ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 ? Image : Image69;\nexport default ImageComponent;\nexport { ImageComponent as Image, ImageType, Image69 };\n"],"names":["ImageComponent","_Platform$constants","Platform","constants","reactNativeVersion","minor","Image","Image69"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKMA,IAAAA,iBAAiB,CAAA,CAAAC,mBAAA,GAAAC,oBAAS,CAAAC,SAAA,MAAA,IAAA,IAAAF,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAATA,mBAAA,CAAoBG,kBAAoB,MAAA,IAAA,IAAAH,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxCA,mBAAA,CAAwCI,KAAA,MAAU,KAAKC,8BAAQ,GAAAC;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Image/index.ts"],"sourcesContent":["import { Platform } from \"react-native\";\nimport Image from \"./Image\";\nimport Image69 from \"./Image69\";\nimport * as ImageType from \"./interface\";\n\nconst ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 || Platform.OS === \"web\" ? Image : Image69;\nexport default ImageComponent;\nexport { ImageComponent as Image, ImageType, Image69 };\n"],"names":["ImageComponent","_Platform$constants","Platform","constants","reactNativeVersion","minor","OS","Image","Image69"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,cAAA,GAAiB,CAAAC,CAAAA,mBAAA,GAAAC,qBAASC,SAAW,MAAA,IAAA,IAAAF,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAApBA,mBAAA,CAAoBG,kBAAA,MAAAH,IAAAA,IAAAA,mBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAwCI,WAAU,EAAM,IAAAH,oBAAA,CAASI,EAAO,KAAA,KAAA,GAAQC,8BAAQ,GAAAC;;;;;;;"}
@@ -20,6 +20,11 @@ require('../../_chunks/DoNqsT5m.js');
20
20
  require('../LanguageProvider/hooks/LanguageContext.js');
21
21
  require('../../i18n/index.js');
22
22
 
23
+ var AnimatedTextStyle = reactNative.Platform.OS === "web" ? {
24
+ textOverflow: "initial",
25
+ overflow: "initial",
26
+ maxWidth: "auto"
27
+ } : {};
23
28
  var NoticeBar = function NoticeBar(props) {
24
29
  pvCount_useUnmountedProcess.default("NoticeBar");
25
30
  var _useState = React.useState(true),
@@ -70,7 +75,7 @@ var NoticeBar = function NoticeBar(props) {
70
75
  return Math.max(textWidth - containerWidth, 0);
71
76
  }, [textWidth, containerWidth]);
72
77
  React.useEffect(function () {
73
- if (props.type === components_NoticeBar_interface_index.NoticeBarType.SCROLLABLE && textWidth > 0) {
78
+ if (props.type === components_NoticeBar_interface_index.NoticeBarType.SCROLLABLE && textWidth > 0 && scrollDistance > 0) {
74
79
  var _startScrolling = function startScrolling() {
75
80
  scrollX.setValue(0);
76
81
  reactNative.Animated.timing(scrollX, {
@@ -100,6 +105,9 @@ var NoticeBar = function NoticeBar(props) {
100
105
  React.useEffect(function () {
101
106
  setVisible(!!props.visible);
102
107
  }, [props.visible]);
108
+ var handleAnimatedTextLayout = function handleAnimatedTextLayout(e) {
109
+ setTextWidth(e.nativeEvent.layout.width);
110
+ };
103
111
  return _visible ? /* @__PURE__ */React.createElement(reactNative.View, {
104
112
  style: [styles.container, {
105
113
  backgroundColor: color,
@@ -120,7 +128,7 @@ var NoticeBar = function NoticeBar(props) {
120
128
  }, props.type === components_NoticeBar_interface_index.NoticeBarType.SCROLLABLE ? /* @__PURE__ */React.createElement(reactNative.View, {
121
129
  style: {
122
130
  minHeight: 18,
123
- overflow: "scroll",
131
+ overflow: reactNative.Platform.OS === "web" ? "hidden" : "scroll",
124
132
  flexDirection: "row"
125
133
  }
126
134
  }, /* @__PURE__ */React.createElement(reactNative.Animated.Text, {
@@ -129,10 +137,8 @@ var NoticeBar = function NoticeBar(props) {
129
137
  transform: [{
130
138
  translateX: scrollX
131
139
  }]
132
- }],
133
- onLayout: function onLayout(e) {
134
- return setTextWidth(e.nativeEvent.layout.width);
135
- }
140
+ }, AnimatedTextStyle],
141
+ onLayout: handleAnimatedTextLayout
136
142
  }, /* @__PURE__ */React.createElement(reactNative.Text, {
137
143
  style: styles.text
138
144
  }, props.content), /* @__PURE__ */React.createElement(reactNative.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"NoticeBar.js","sources":["../../../../src/components/NoticeBar/NoticeBar.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, Image, Animated, Easing } from \"react-native\";\nimport { RedsNoticeBar, NoticeBarDefaultProps, NoticeBarType, NoticeBarActionType } from \"./interface/index\";\nimport getStyles from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nconst NoticeBar = (props: RedsNoticeBar) => {\n useMounted(\"NoticeBar\");\n const [_visible, setVisible] = useState(true);\n\n const themeColor = useThemeColor();\n\n const styles = getStyles(themeColor);\n\n const jumpKey = useLanguage(\"componentKey\", \"jumpKey\");\n\n const icon = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n case \"success\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c62ce17c572dff50aa28209bedf635fc303d18f8.png\";\n case \"warning\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/11b33735cbfddd621d1163dec26a5c240bc407f1.png\";\n case \"danger\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/4df0100d42449186672e3c4d9863ec4bce4bb23a.png\";\n default:\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n }\n }, [props.theme]);\n\n const color = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return themeColor.Info2;\n case \"success\":\n return themeColor.Success2;\n case \"warning\":\n return themeColor.Warning2;\n case \"danger\":\n return themeColor.Primary2;\n default:\n return themeColor.Info2;\n }\n }, [props.theme, themeColor]);\n\n const [textWidth, setTextWidth] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const scrollX = useRef(new Animated.Value(0)).current;\n\n const scrollDistance = useMemo(() => Math.max(textWidth - containerWidth, 0), [textWidth, containerWidth]);\n\n useEffect(() => {\n if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0) {\n const startScrolling = () => {\n scrollX.setValue(0);\n Animated.timing(scrollX, {\n toValue: -scrollDistance,\n duration: scrollDistance * 30,\n easing: Easing.linear,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n startScrolling();\n }\n });\n };\n\n startScrolling();\n }\n }, [textWidth, containerWidth, props.type, scrollDistance]);\n\n const handleLink = () => {\n props.onClick?.();\n };\n\n const handleClose = () => {\n setVisible(false);\n props.onClose?.();\n };\n\n useEffect(() => {\n setVisible(!!props.visible);\n }, [props.visible]);\n\n return _visible ? (\n <View\n style={[\n styles.container,\n { backgroundColor: color, alignItems: props.type === NoticeBarType.MUTILINE ? \"flex-start\" : \"center\" },\n props.style,\n ]}\n >\n {props.withIcon ? <Image source={{ uri: icon }} style={styles.icon} testID=\"notice-icon\" /> : <></>}\n {props.children}\n <View\n style={styles.textWrapper}\n testID=\"text-wrapper\"\n onLayout={(e) => setContainerWidth(e.nativeEvent.layout.width)}\n >\n {props.type === NoticeBarType.SCROLLABLE ? (\n <View style={{ minHeight: 18, overflow: \"scroll\", flexDirection: \"row\" }}>\n <Animated.Text\n numberOfLines={1}\n style={[{ transform: [{ translateX: scrollX }] }]}\n onLayout={(e) => setTextWidth(e.nativeEvent.layout.width)}\n >\n <Text style={styles.text}>{props.content}</Text>\n <Text style={styles.text}>{\" \"}</Text>\n <Text style={styles.text}>{props.content}</Text>\n </Animated.Text>\n </View>\n ) : (\n <Text\n style={[styles.text]}\n numberOfLines={props.type === NoticeBarType.BASIC ? 1 : undefined}\n ellipsizeMode=\"tail\"\n >\n {props.content}\n </Text>\n )}\n </View>\n {props.actionType === NoticeBarActionType.TEXTACTION ? (\n <Text style={styles.linkText} onPress={handleLink}>\n {props.actionText || jumpKey}\n </Text>\n ) : (\n <></>\n )}\n {/* 跳转icon */}\n {props.actionType === NoticeBarActionType.ICONACTION ? (\n <TouchableWithoutFeedback onPress={handleLink}>\n <Image\n testID=\"action-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/2708eed5e1ec88c28d5358d1496e6c8d28eaf819.png\",\n }}\n style={styles.link}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n {/* 关闭icon */}\n {props.closable ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <Image\n testID=\"close-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/0792412fe36bc5bed739e0a62c504b3b83caeedb.png\",\n }}\n style={styles.close}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n );\n};\n\nNoticeBar.defaultProps = NoticeBarDefaultProps;\n\nexport default NoticeBar;\n"],"names":["NoticeBar","props","useMounted","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","themeColor","useThemeColor","styles","getStyles","jumpKey","useLanguage","icon","useMemo","theme","color","Info2","Success2","Warning2","Primary2","_useState3","_useState4","textWidth","setTextWidth","_useState5","_useState6","containerWidth","setContainerWidth","scrollX","useRef","Animated","Value","current","scrollDistance","Math","max","useEffect","type","NoticeBarType","SCROLLABLE","startScrolling","setValue","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","_ref","finished","handleLink","_props$onClick","onClick","call","handleClose","_props$onClose","onClose","visible","React","createElement","View","style","container","backgroundColor","alignItems","MUTILINE","withIcon","Image","source","uri","testID","Fragment","children","textWrapper","onLayout","e","nativeEvent","layout","width","minHeight","overflow","flexDirection","Text","numberOfLines","transform","translateX","text","content","BASIC","ellipsizeMode","actionType","NoticeBarActionType","TEXTACTION","linkText","onPress","actionText","ICONACTION","TouchableWithoutFeedback","link","closable","close","defaultProps","NoticeBarDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"NoticeBar.js","sources":["../../../../src/components/NoticeBar/NoticeBar.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Image,\n Animated,\n Easing,\n LayoutChangeEvent,\n Platform,\n TextStyle,\n} from \"react-native\";\nimport { RedsNoticeBar, NoticeBarDefaultProps, NoticeBarType, NoticeBarActionType } from \"./interface/index\";\nimport getStyles from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst AnimatedTextStyle =\n Platform.OS === \"web\"\n ? {\n textOverflow: \"initial\",\n overflow: \"initial\",\n maxWidth: \"auto\",\n }\n : {};\n\nconst NoticeBar = (props: RedsNoticeBar) => {\n useMounted(\"NoticeBar\");\n const [_visible, setVisible] = useState(true);\n\n const themeColor = useThemeColor();\n\n const styles = getStyles(themeColor);\n\n const jumpKey = useLanguage(\"componentKey\", \"jumpKey\");\n\n const icon = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n case \"success\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c62ce17c572dff50aa28209bedf635fc303d18f8.png\";\n case \"warning\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/11b33735cbfddd621d1163dec26a5c240bc407f1.png\";\n case \"danger\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/4df0100d42449186672e3c4d9863ec4bce4bb23a.png\";\n default:\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n }\n }, [props.theme]);\n\n const color = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return themeColor.Info2;\n case \"success\":\n return themeColor.Success2;\n case \"warning\":\n return themeColor.Warning2;\n case \"danger\":\n return themeColor.Primary2;\n default:\n return themeColor.Info2;\n }\n }, [props.theme, themeColor]);\n\n const [textWidth, setTextWidth] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const scrollX = useRef(new Animated.Value(0)).current;\n\n const scrollDistance = useMemo(() => Math.max(textWidth - containerWidth, 0), [textWidth, containerWidth]);\n\n useEffect(() => {\n if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0 && scrollDistance > 0) {\n const startScrolling = () => {\n scrollX.setValue(0);\n Animated.timing(scrollX, {\n toValue: -scrollDistance,\n duration: scrollDistance * 30,\n easing: Easing.linear,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n startScrolling();\n }\n });\n };\n\n startScrolling();\n }\n }, [textWidth, containerWidth, props.type, scrollDistance]);\n\n const handleLink = () => {\n props.onClick?.();\n };\n\n const handleClose = () => {\n setVisible(false);\n props.onClose?.();\n };\n\n useEffect(() => {\n setVisible(!!props.visible);\n }, [props.visible]);\n\n const handleAnimatedTextLayout = (e: LayoutChangeEvent) => {\n setTextWidth(e.nativeEvent.layout.width);\n };\n\n return _visible ? (\n <View\n style={[\n styles.container,\n { backgroundColor: color, alignItems: props.type === NoticeBarType.MUTILINE ? \"flex-start\" : \"center\" },\n props.style,\n ]}\n >\n {props.withIcon ? <Image source={{ uri: icon }} style={styles.icon} testID=\"notice-icon\" /> : <></>}\n {props.children}\n <View\n style={styles.textWrapper}\n testID=\"text-wrapper\"\n onLayout={(e) => setContainerWidth(e.nativeEvent.layout.width)}\n >\n {props.type === NoticeBarType.SCROLLABLE ? (\n <View style={{ minHeight: 18, overflow: Platform.OS === \"web\" ? \"hidden\" : \"scroll\", flexDirection: \"row\" }}>\n <Animated.Text\n numberOfLines={1}\n style={[{ transform: [{ translateX: scrollX }] }, AnimatedTextStyle as TextStyle]}\n onLayout={handleAnimatedTextLayout}\n >\n <Text style={styles.text}>{props.content}</Text>\n <Text style={styles.text}>{\" \"}</Text>\n <Text style={styles.text}>{props.content}</Text>\n </Animated.Text>\n </View>\n ) : (\n <Text\n style={[styles.text]}\n numberOfLines={props.type === NoticeBarType.BASIC ? 1 : undefined}\n ellipsizeMode=\"tail\"\n >\n {props.content}\n </Text>\n )}\n </View>\n {props.actionType === NoticeBarActionType.TEXTACTION ? (\n <Text style={styles.linkText} onPress={handleLink}>\n {props.actionText || jumpKey}\n </Text>\n ) : (\n <></>\n )}\n {/* 跳转icon */}\n {props.actionType === NoticeBarActionType.ICONACTION ? (\n <TouchableWithoutFeedback onPress={handleLink}>\n <Image\n testID=\"action-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/2708eed5e1ec88c28d5358d1496e6c8d28eaf819.png\",\n }}\n style={styles.link}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n {/* 关闭icon */}\n {props.closable ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <Image\n testID=\"close-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/0792412fe36bc5bed739e0a62c504b3b83caeedb.png\",\n }}\n style={styles.close}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n );\n};\n\nNoticeBar.defaultProps = NoticeBarDefaultProps;\n\nexport default NoticeBar;\n"],"names":["AnimatedTextStyle","Platform","OS","textOverflow","overflow","maxWidth","NoticeBar","props","useMounted","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","themeColor","useThemeColor","styles","getStyles","jumpKey","useLanguage","icon","useMemo","theme","color","Info2","Success2","Warning2","Primary2","_useState3","_useState4","textWidth","setTextWidth","_useState5","_useState6","containerWidth","setContainerWidth","scrollX","useRef","Animated","Value","current","scrollDistance","Math","max","useEffect","type","NoticeBarType","SCROLLABLE","startScrolling","setValue","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","_ref","finished","handleLink","_props$onClick","onClick","call","handleClose","_props$onClose","onClose","visible","handleAnimatedTextLayout","e","nativeEvent","layout","width","React","createElement","View","style","container","backgroundColor","alignItems","MUTILINE","withIcon","Image","source","uri","testID","Fragment","children","textWrapper","onLayout","minHeight","flexDirection","Text","numberOfLines","transform","translateX","text","content","BASIC","ellipsizeMode","actionType","NoticeBarActionType","TEXTACTION","linkText","onPress","actionText","ICONACTION","TouchableWithoutFeedback","link","closable","close","defaultProps","NoticeBarDefaultProps"],"mappings":"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"}
@@ -91,7 +91,8 @@ var PickerView = function PickerView(props) {
91
91
  type: "default"
92
92
  })) : /* @__PURE__ */React.createElement(reactNative.View, {
93
93
  style: [components_PickerView_styles.default.wheelWrapper, {
94
- backgroundColor: themeColor.Bg2
94
+ backgroundColor: themeColor.Bg2,
95
+ overflow: "scroll"
95
96
  }]
96
97
  }, columns.map(function (column, colIndex) {
97
98
  return /* @__PURE__ */React.createElement(components_PickerView_Wheel.default, {
@@ -1 +1 @@
1
- {"version":3,"file":"PickerView.js","sources":["../../../../src/components/PickerView/PickerView.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { View } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport ProgressIndicator from \"../ProgressIndicator\";\nimport { RedsPickerView } from \"./interface/index\";\nimport styles from \"./styles\";\nimport Wheel from \"./Wheel\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst itemHeight = 40;\n\nconst PickerView = (props: RedsPickerView) => {\n useMounted(\"PickerView\");\n const { loading, columns = [], value = [], onChange = () => {}, accessibility = {} } = props;\n\n const themeColor = useThemeColor(\"Picker\");\n\n const [currentValue, setCurrentValue] = useState<string[]>([]);\n\n const [lastValue, setLastValue] = useState<string[]>([]);\n\n const handleSelect = (val: string, index: number) => {\n const newVal = currentValue.map((i, idx) => {\n return idx === index ? val : i;\n });\n if (newVal.join() !== currentValue.join()) {\n setCurrentValue(newVal);\n onChange(newVal);\n }\n };\n\n useEffect(() => {\n if (!value?.length) {\n const newVal = columns?.map?.((col) => col?.[0]?.value);\n setCurrentValue(newVal);\n } else if (value.join(\"\") !== lastValue.join(\"\")) {\n setCurrentValue(value);\n }\n setLastValue(value);\n }, [value]);\n\n return (\n <View style={[styles.wrapper, { backgroundColor: themeColor.Bg2 }]}>\n <View style={[{ height: 5 * itemHeight }]}>\n {loading || columns?.length === 0 ? (\n <View style={styles.progressIndicator} testID=\"progress-indicator\">\n <ProgressIndicator type=\"default\" />\n </View>\n ) : (\n <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2 }]}>\n {columns.map((column, colIndex) => (\n <Wheel\n key={colIndex}\n index={colIndex}\n column={column}\n value={currentValue?.[colIndex]}\n onSelect={handleSelect}\n accessibility={accessibility}\n />\n ))}\n </View>\n )}\n </View>\n {/* mask */}\n {!loading ? (\n <View style={styles.mask} pointerEvents=\"none\">\n <View style={[styles.maskTop, { backgroundColor: themeColor.Bg2 }]} />\n <View\n style={[\n styles.maskMiddle,\n { height: itemHeight, borderTopColor: themeColor.Separator, borderBottomColor: themeColor.Separator },\n ]}\n />\n <View style={[styles.maskBottom, { backgroundColor: themeColor.Bg2 }]} />\n </View>\n ) : (\n <></>\n )}\n </View>\n );\n};\n\nexport default React.memo(PickerView);\n"],"names":["itemHeight","PickerView","props","useMounted","loading","columns","_props$columns","value","_props$value","_props$onChange","onChange","_props$accessibility","accessibility","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","currentValue","setCurrentValue","_useState3","_useState4","lastValue","setLastValue","handleSelect","val","index","newVal","map","i","idx","join","useEffect","length","_columns$map","call","col","_col$","React","createElement","View","style","styles","wrapper","backgroundColor","Bg2","height","progressIndicator","testID","ProgressIndicator","type","wheelWrapper","column","colIndex","Wheel","key","onSelect","mask","pointerEvents","maskTop","maskMiddle","borderTopColor","Separator","borderBottomColor","maskBottom","memo"],"mappings":"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"}
1
+ {"version":3,"file":"PickerView.js","sources":["../../../../src/components/PickerView/PickerView.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { View } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport ProgressIndicator from \"../ProgressIndicator\";\nimport { RedsPickerView } from \"./interface/index\";\nimport styles from \"./styles\";\nimport Wheel from \"./Wheel\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst itemHeight = 40;\n\nconst PickerView = (props: RedsPickerView) => {\n useMounted(\"PickerView\");\n const { loading, columns = [], value = [], onChange = () => {}, accessibility = {} } = props;\n\n const themeColor = useThemeColor(\"Picker\");\n\n const [currentValue, setCurrentValue] = useState<string[]>([]);\n\n const [lastValue, setLastValue] = useState<string[]>([]);\n\n const handleSelect = (val: string, index: number) => {\n const newVal = currentValue.map((i, idx) => {\n return idx === index ? val : i;\n });\n if (newVal.join() !== currentValue.join()) {\n setCurrentValue(newVal);\n onChange(newVal);\n }\n };\n\n useEffect(() => {\n if (!value?.length) {\n const newVal = columns?.map?.((col) => col?.[0]?.value);\n setCurrentValue(newVal);\n } else if (value.join(\"\") !== lastValue.join(\"\")) {\n setCurrentValue(value);\n }\n setLastValue(value);\n }, [value]);\n\n return (\n <View style={[styles.wrapper, { backgroundColor: themeColor.Bg2 }]}>\n <View style={[{ height: 5 * itemHeight }]}>\n {loading || columns?.length === 0 ? (\n <View style={styles.progressIndicator} testID=\"progress-indicator\">\n <ProgressIndicator type=\"default\" />\n </View>\n ) : (\n <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2, overflow: \"scroll\" }]}>\n {columns.map((column, colIndex) => (\n <Wheel\n key={colIndex}\n index={colIndex}\n column={column}\n value={currentValue?.[colIndex]}\n onSelect={handleSelect}\n accessibility={accessibility}\n />\n ))}\n </View>\n )}\n </View>\n {/* mask */}\n {!loading ? (\n <View style={styles.mask} pointerEvents=\"none\">\n <View style={[styles.maskTop, { backgroundColor: themeColor.Bg2 }]} />\n <View\n style={[\n styles.maskMiddle,\n { height: itemHeight, borderTopColor: themeColor.Separator, borderBottomColor: themeColor.Separator },\n ]}\n />\n <View style={[styles.maskBottom, { backgroundColor: themeColor.Bg2 }]} />\n </View>\n ) : (\n <></>\n )}\n </View>\n );\n};\n\nexport default React.memo(PickerView);\n"],"names":["itemHeight","PickerView","props","useMounted","loading","columns","_props$columns","value","_props$value","_props$onChange","onChange","_props$accessibility","accessibility","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","currentValue","setCurrentValue","_useState3","_useState4","lastValue","setLastValue","handleSelect","val","index","newVal","map","i","idx","join","useEffect","length","_columns$map","call","col","_col$","React","createElement","View","style","styles","wrapper","backgroundColor","Bg2","height","progressIndicator","testID","ProgressIndicator","type","wheelWrapper","overflow","column","colIndex","Wheel","key","onSelect","mask","pointerEvents","maskTop","maskMiddle","borderTopColor","Separator","borderBottomColor","maskBottom","memo"],"mappings":"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"}
@@ -116,7 +116,11 @@ var Wheel = function Wheel(props) {
116
116
  onPress: function onPress() {
117
117
  return handleClick(index2);
118
118
  },
119
- key: item.value
119
+ key: item.value,
120
+ style: reactNative.Platform.OS === "web" ? {
121
+ border: "none",
122
+ alignSelf: "inherit"
123
+ } : {}
120
124
  }, /* @__PURE__ */React.createElement(reactNative.View, _rollupPluginBabelHelpers._objectSpread2({
121
125
  style: [components_PickerView_styles.default.wheel, {
122
126
  height: itemHeight,
@@ -131,9 +135,25 @@ var Wheel = function Wheel(props) {
131
135
  }), item.label)));
132
136
  });
133
137
  };
138
+ React.useEffect(function () {
139
+ var _scrollerRef$current2;
140
+ if (reactNative.Platform.OS !== "web") {
141
+ return;
142
+ }
143
+ var handleScrollEnd = function handleScrollEnd(e) {
144
+ var selectIndex = Math.round(e.target.scrollTop / itemHeight);
145
+ setIndex(selectIndex);
146
+ };
147
+ (_scrollerRef$current2 = scrollerRef.current) === null || _scrollerRef$current2 === void 0 || _scrollerRef$current2.addEventListener("scrollend", handleScrollEnd);
148
+ return function () {
149
+ var _scrollerRef$current3;
150
+ (_scrollerRef$current3 = scrollerRef.current) === null || _scrollerRef$current3 === void 0 || _scrollerRef$current3.removeEventListener("scrollend", handleScrollEnd);
151
+ };
152
+ }, [scrollerRef.current, itemHeight]);
134
153
  return /* @__PURE__ */React.createElement(reactNative.ScrollView, _rollupPluginBabelHelpers._objectSpread2({
135
154
  style: {
136
- flex: 1
155
+ flex: 1,
156
+ height: "100%"
137
157
  },
138
158
  nestedScrollEnabled: true,
139
159
  horizontal: false,