@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.
- package/coverage/.tmp/coverage-10.json +1 -1
- package/coverage/.tmp/coverage-11.json +1 -1
- package/coverage/.tmp/coverage-12.json +1 -1
- package/coverage/.tmp/coverage-13.json +1 -1
- package/coverage/.tmp/coverage-14.json +1 -1
- package/coverage/.tmp/coverage-16.json +1 -1
- package/coverage/.tmp/coverage-17.json +1 -1
- package/coverage/.tmp/coverage-18.json +1 -1
- package/coverage/.tmp/coverage-19.json +1 -1
- package/coverage/.tmp/coverage-20.json +1 -1
- package/coverage/.tmp/coverage-21.json +1 -1
- package/coverage/.tmp/coverage-22.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-26.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-28.json +1 -1
- package/coverage/.tmp/coverage-29.json +1 -1
- package/coverage/.tmp/coverage-30.json +1 -1
- package/coverage/.tmp/coverage-31.json +1 -1
- package/coverage/.tmp/coverage-32.json +1 -1
- package/coverage/.tmp/coverage-33.json +1 -1
- package/coverage/.tmp/coverage-34.json +1 -1
- package/coverage/.tmp/coverage-36.json +1 -1
- package/coverage/.tmp/coverage-37.json +1 -1
- package/coverage/.tmp/coverage-38.json +1 -1
- package/coverage/.tmp/coverage-5.json +1 -1
- package/coverage/.tmp/coverage-8.json +1 -1
- package/coverage/.tmp/coverage-9.json +1 -1
- package/lib/cjs/_chunks/1m42z2Mz.js.map +1 -1
- package/lib/cjs/_chunks/{BZY8fLHP.js → BRcYv_kj.js} +3 -2
- package/lib/cjs/_chunks/BRcYv_kj.js.map +1 -0
- package/lib/cjs/_chunks/{G5T1hGVo.js → BmmacXcR.js} +4 -2
- package/lib/cjs/_chunks/BmmacXcR.js.map +1 -0
- package/lib/cjs/_chunks/{ZbRoGP_k.js → DY75DWu0.js} +4 -2
- package/lib/cjs/_chunks/DY75DWu0.js.map +1 -0
- package/lib/cjs/_chunks/{CnvQUDZP.js → SPLAvS-C.js} +3 -2
- package/lib/cjs/_chunks/SPLAvS-C.js.map +1 -0
- package/lib/cjs/_chunks/{SEcsCrAk.js → aU6iuR1W.js} +2 -2
- package/lib/cjs/_chunks/aU6iuR1W.js.map +1 -0
- package/lib/cjs/_chunks/{CbnkUMH9.js → dM-QhrnE.js} +11 -9
- package/lib/cjs/_chunks/dM-QhrnE.js.map +1 -0
- package/lib/cjs/components/ActionSheets/ActionSheets.js +13 -7
- package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
- package/lib/cjs/components/ActionSheets/index.js +1 -1
- package/lib/cjs/components/ActionSheets/styles.js +6 -3
- package/lib/cjs/components/ActionSheets/styles.js.map +1 -1
- package/lib/cjs/components/Alert/Alert.js +6 -6
- package/lib/cjs/components/Alert/hooks/alert.js +6 -6
- package/lib/cjs/components/Alert/index.js +6 -6
- package/lib/cjs/components/AvatarGroup/AvatarGroup.js +6 -6
- package/lib/cjs/components/AvatarGroup/index.js +6 -6
- package/lib/cjs/components/CheckBoxGroup/CheckBox.js +5 -1
- package/lib/cjs/components/CheckBoxGroup/CheckBox.js.map +1 -1
- package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +2 -1
- package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/lib/cjs/components/DatePicker/DatePicker.js +1 -1
- package/lib/cjs/components/DatePicker/index.js +1 -1
- package/lib/cjs/components/Form/Form.js +21 -17
- package/lib/cjs/components/Form/Form.js.map +1 -1
- package/lib/cjs/components/Form/FormItem.js +4 -4
- package/lib/cjs/components/Form/FormItem.js.map +1 -1
- package/lib/cjs/components/Form/index.js +2 -2
- package/lib/cjs/components/Form/interface/index.js +1 -1
- package/lib/cjs/components/Form/styles.js +1 -1
- package/lib/cjs/components/Icon/Icon.js +3 -1
- package/lib/cjs/components/Icon/Icon.js.map +1 -1
- package/lib/cjs/components/ImagePreview/ImagePreview.js +6 -6
- package/lib/cjs/components/ImagePreview/index.js +6 -6
- package/lib/cjs/components/List/ListItem/ListItem.js +6 -6
- package/lib/cjs/components/List/index.js +6 -6
- package/lib/cjs/components/Picker/Picker.js +1 -1
- package/lib/cjs/components/Picker/index.js +1 -1
- package/lib/cjs/components/Radio/Radio.js +6 -6
- package/lib/cjs/components/Radio/RadioGroup.js +4 -2
- package/lib/cjs/components/Radio/RadioGroup.js.map +1 -1
- package/lib/cjs/components/Radio/index.js +6 -6
- package/lib/cjs/components/Radio/interface/index.js +1 -1
- package/lib/cjs/components/Rate/Rate.js +2 -2
- package/lib/cjs/components/Rate/Rate.js.map +1 -1
- package/lib/cjs/components/Rate/index.js +1 -1
- package/lib/cjs/components/Rate/interface/index.js +1 -1
- package/lib/cjs/components/Sheets/AnimatedSheets.js +4 -2
- package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
- package/lib/cjs/components/Sheets/Sheets.js +22 -13
- package/lib/cjs/components/Sheets/Sheets.js.map +1 -1
- package/lib/cjs/components/Sheets/api.js +1 -1
- package/lib/cjs/components/Sheets/index.js +1 -1
- package/lib/cjs/components/Sheets/interface/index.js +1 -1
- package/lib/cjs/components/Stepper/Stepper.js +4 -2
- package/lib/cjs/components/Stepper/Stepper.js.map +1 -1
- package/lib/cjs/components/Stepper/index.js +1 -1
- package/lib/cjs/components/Stepper/interface/index.js +1 -1
- package/lib/cjs/components/Tab/Tabs.js +98 -35
- package/lib/cjs/components/Tab/Tabs.js.map +1 -1
- package/lib/cjs/components/Tab/styles.js +11 -10
- package/lib/cjs/components/Tab/styles.js.map +1 -1
- package/lib/cjs/components/Uploader/Uploader.js +6 -6
- package/lib/cjs/components/Uploader/Uploader.js.map +1 -1
- package/lib/cjs/components/Uploader/styles.js +8 -5
- package/lib/cjs/components/Uploader/styles.js.map +1 -1
- package/lib/cjs/index.js +6 -6
- package/lib/esm/_chunks/{BKfYslcc.js → B92MXD-p.js} +3 -2
- package/lib/esm/_chunks/B92MXD-p.js.map +1 -0
- package/lib/esm/_chunks/{DIXhEK8L.js → B_rJA32w.js} +11 -9
- package/lib/esm/_chunks/B_rJA32w.js.map +1 -0
- package/lib/esm/_chunks/{DGYdiQBr.js → BaWeXDzj.js} +4 -2
- package/lib/esm/_chunks/BaWeXDzj.js.map +1 -0
- package/lib/esm/_chunks/CC8nLpzS.js.map +1 -1
- package/lib/esm/_chunks/{ClyMQ8-p.js → CQDVLUyF.js} +3 -3
- package/lib/esm/_chunks/CQDVLUyF.js.map +1 -0
- package/lib/esm/_chunks/{CQokOKfj.js → CqcNLT67.js} +4 -2
- package/lib/esm/_chunks/CqcNLT67.js.map +1 -0
- package/lib/esm/_chunks/{DR1NAacd.js → DGI1A77J.js} +3 -2
- package/lib/esm/_chunks/DGI1A77J.js.map +1 -0
- package/lib/esm/components/ActionSheets/ActionSheets.js +13 -7
- package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
- package/lib/esm/components/ActionSheets/index.js +1 -1
- package/lib/esm/components/ActionSheets/styles.js +6 -3
- package/lib/esm/components/ActionSheets/styles.js.map +1 -1
- package/lib/esm/components/Alert/Alert.js +6 -6
- package/lib/esm/components/Alert/hooks/alert.js +6 -6
- package/lib/esm/components/Alert/index.js +7 -7
- package/lib/esm/components/AvatarGroup/AvatarGroup.js +6 -6
- package/lib/esm/components/AvatarGroup/index.js +6 -6
- package/lib/esm/components/CheckBoxGroup/CheckBox.js +5 -1
- package/lib/esm/components/CheckBoxGroup/CheckBox.js.map +1 -1
- package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +2 -1
- package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/lib/esm/components/DatePicker/DatePicker.js +1 -1
- package/lib/esm/components/DatePicker/index.js +1 -1
- package/lib/esm/components/Form/Form.js +22 -18
- package/lib/esm/components/Form/Form.js.map +1 -1
- package/lib/esm/components/Form/FormItem.js +4 -4
- package/lib/esm/components/Form/FormItem.js.map +1 -1
- package/lib/esm/components/Form/index.js +2 -2
- package/lib/esm/components/Form/interface/index.js +1 -1
- package/lib/esm/components/Form/styles.js +1 -1
- package/lib/esm/components/Icon/Icon.js +4 -2
- package/lib/esm/components/Icon/Icon.js.map +1 -1
- package/lib/esm/components/ImagePreview/ImagePreview.js +6 -6
- package/lib/esm/components/ImagePreview/index.js +6 -6
- package/lib/esm/components/List/ListItem/ListItem.js +6 -6
- package/lib/esm/components/List/index.js +6 -6
- package/lib/esm/components/Picker/Picker.js +1 -1
- package/lib/esm/components/Picker/index.js +1 -1
- package/lib/esm/components/Radio/Radio.js +6 -6
- package/lib/esm/components/Radio/RadioGroup.js +4 -2
- package/lib/esm/components/Radio/RadioGroup.js.map +1 -1
- package/lib/esm/components/Radio/index.js +6 -6
- package/lib/esm/components/Radio/interface/index.js +1 -1
- package/lib/esm/components/Rate/Rate.js +2 -2
- package/lib/esm/components/Rate/Rate.js.map +1 -1
- package/lib/esm/components/Rate/index.js +1 -1
- package/lib/esm/components/Rate/interface/index.js +1 -1
- package/lib/esm/components/Sheets/AnimatedSheets.js +4 -2
- package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
- package/lib/esm/components/Sheets/Sheets.js +22 -13
- package/lib/esm/components/Sheets/Sheets.js.map +1 -1
- package/lib/esm/components/Sheets/api.js +1 -1
- package/lib/esm/components/Sheets/index.js +1 -1
- package/lib/esm/components/Sheets/interface/index.js +1 -1
- package/lib/esm/components/Stepper/Stepper.js +4 -2
- package/lib/esm/components/Stepper/Stepper.js.map +1 -1
- package/lib/esm/components/Stepper/index.js +1 -1
- package/lib/esm/components/Stepper/interface/index.js +1 -1
- package/lib/esm/components/Tab/Tabs.js +100 -37
- package/lib/esm/components/Tab/Tabs.js.map +1 -1
- package/lib/esm/components/Tab/styles.js +11 -10
- package/lib/esm/components/Tab/styles.js.map +1 -1
- package/lib/esm/components/Uploader/Uploader.js +6 -6
- package/lib/esm/components/Uploader/Uploader.js.map +1 -1
- package/lib/esm/components/Uploader/styles.js +8 -5
- package/lib/esm/components/Uploader/styles.js.map +1 -1
- package/lib/esm/index.js +6 -6
- package/lib/types/components/ActionSheets/styles.d.ts +4 -1
- package/lib/types/components/CheckBoxGroup/interface/index.d.ts +1 -0
- package/lib/types/components/Form/Form.d.ts +1 -7
- package/lib/types/components/Form/interface/index.d.ts +15 -3
- package/lib/types/components/Radio/interface/index.d.ts +7 -0
- package/lib/types/components/Rate/Rate.d.ts +1 -0
- package/lib/types/components/Rate/interface/index.d.ts +2 -0
- package/lib/types/components/Sheets/AnimatedSheets.d.ts +2 -4
- package/lib/types/components/Sheets/Sheets.d.ts +1 -1
- package/lib/types/components/Sheets/interface/index.d.ts +2 -2
- package/lib/types/components/Stepper/Stepper.d.ts +1 -0
- package/lib/types/components/Stepper/interface/index.d.ts +2 -0
- package/lib/types/components/Tab/styles.d.ts +7 -6
- package/lib/types/components/Uploader/styles.d.ts +5 -2
- package/package.json +1 -1
- package/src/components/ActionSheets/ActionSheets.tsx +12 -9
- package/src/components/ActionSheets/demo/index.tsx +27 -1
- package/src/components/ActionSheets/styles.ts +4 -1
- package/src/components/CheckBoxGroup/CheckBox.tsx +5 -1
- package/src/components/CheckBoxGroup/CheckBoxGroup.tsx +1 -0
- package/src/components/CheckBoxGroup/interface/index.ts +1 -0
- package/src/components/Form/Form.tsx +24 -13
- package/src/components/Form/FormItem.tsx +8 -3
- package/src/components/Form/demo/index.tsx +63 -7
- package/src/components/Form/doc/index.mdx +9 -7
- package/src/components/Form/interface/index.ts +15 -3
- package/src/components/Icon/Icon.tsx +5 -3
- package/src/components/Icon/demo/index.tsx +0 -1
- package/src/components/Radio/Radio.tsx +8 -2
- package/src/components/Radio/RadioGroup.tsx +2 -1
- package/src/components/Radio/doc/index.mdx +11 -8
- package/src/components/Radio/interface/index.ts +7 -0
- package/src/components/Rate/Rate.tsx +1 -1
- package/src/components/Rate/doc/index.mdx +10 -9
- package/src/components/Rate/interface/index.ts +2 -0
- package/src/components/Sheets/AnimatedSheets.tsx +1 -1
- package/src/components/Sheets/Sheets.tsx +27 -13
- package/src/components/Sheets/demo/index.tsx +23 -0
- package/src/components/Sheets/doc/index.mdx +1 -1
- package/src/components/Sheets/interface/index.ts +2 -2
- package/src/components/Stepper/Stepper.tsx +11 -9
- package/src/components/Stepper/doc/index.mdx +7 -6
- package/src/components/Stepper/interface/index.ts +2 -0
- package/src/components/Tab/Tabs.tsx +147 -88
- package/src/components/Tab/demo/index.tsx +33 -11
- package/src/components/Tab/styles.ts +8 -6
- package/src/components/Uploader/Uploader.tsx +6 -6
- package/src/components/Uploader/styles.ts +5 -2
- package/types/src/components/ActionSheets/styles.d.ts +4 -1
- package/types/src/components/CheckBoxGroup/interface/index.d.ts +1 -0
- package/types/src/components/Form/Form.d.ts +1 -7
- package/types/src/components/Form/interface/index.d.ts +15 -3
- package/types/src/components/Radio/interface/index.d.ts +7 -0
- package/types/src/components/Rate/Rate.d.ts +1 -0
- package/types/src/components/Rate/interface/index.d.ts +2 -0
- package/types/src/components/Sheets/AnimatedSheets.d.ts +2 -4
- package/types/src/components/Sheets/Sheets.d.ts +1 -1
- package/types/src/components/Sheets/interface/index.d.ts +2 -2
- package/types/src/components/Stepper/Stepper.d.ts +1 -0
- package/types/src/components/Stepper/interface/index.d.ts +2 -0
- package/types/src/components/Tab/styles.d.ts +7 -6
- package/types/src/components/Uploader/styles.d.ts +5 -2
- package/lib/cjs/_chunks/BZY8fLHP.js.map +0 -1
- package/lib/cjs/_chunks/CbnkUMH9.js.map +0 -1
- package/lib/cjs/_chunks/CnvQUDZP.js.map +0 -1
- package/lib/cjs/_chunks/G5T1hGVo.js.map +0 -1
- package/lib/cjs/_chunks/SEcsCrAk.js.map +0 -1
- package/lib/cjs/_chunks/ZbRoGP_k.js.map +0 -1
- package/lib/esm/_chunks/BKfYslcc.js.map +0 -1
- package/lib/esm/_chunks/CQokOKfj.js.map +0 -1
- package/lib/esm/_chunks/ClyMQ8-p.js.map +0 -1
- package/lib/esm/_chunks/DGYdiQBr.js.map +0 -1
- package/lib/esm/_chunks/DIXhEK8L.js.map +0 -1
- package/lib/esm/_chunks/DR1NAacd.js.map +0 -1
|
@@ -22,7 +22,9 @@ var RadioGroup = function RadioGroup(_ref) {
|
|
|
22
22
|
position = _ref.position,
|
|
23
23
|
children = _ref.children,
|
|
24
24
|
onChange = _ref.onChange,
|
|
25
|
-
type = _ref.type
|
|
25
|
+
type = _ref.type,
|
|
26
|
+
_ref$style = _ref.style,
|
|
27
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
|
26
28
|
var updateValue = function updateValue(value) {
|
|
27
29
|
onChange === null || onChange === void 0 || onChange(value);
|
|
28
30
|
};
|
|
@@ -42,7 +44,7 @@ var RadioGroup = function RadioGroup(_ref) {
|
|
|
42
44
|
return /* @__PURE__ */React.createElement(RadioGroupContext.Provider, {
|
|
43
45
|
value: contextValue
|
|
44
46
|
}, /* @__PURE__ */React.createElement(reactNative.View, {
|
|
45
|
-
style: components_Radio_styles.getRadioGroupStyle(direction)
|
|
47
|
+
style: [components_Radio_styles.getRadioGroupStyle(direction), style]
|
|
46
48
|
}, childArray.map(function (child, index) {
|
|
47
49
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
48
50
|
isLast: index === childArray.length - 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/Radio/RadioGroup.tsx"],"sourcesContent":["import React, { createContext, FC, ReactNode, Children } from \"react\";\nimport { View } from \"react-native\";\nimport { RedsRadioGroup, RadioGroupContextProps } from \"./interface\";\nimport { getRadioGroupStyle } from \"./styles\";\n\nexport const RadioGroupContext = createContext<RadioGroupContextProps | null>(null);\n\nconst RadioGroup: FC<RedsRadioGroup> = ({\n modelValue,\n disabled,\n direction = \"horizontal\",\n checkedColor,\n size,\n position,\n children,\n onChange,\n type,\n}) => {\n const updateValue = (value: string | number) => {\n onChange?.(value);\n };\n\n const contextValue = {\n modelValue,\n disabled,\n checkedColor,\n size,\n updateValue,\n direction,\n position,\n type,\n };\n\n const childArray = React.Children.toArray(children).filter((child) =>\n React.isValidElement(child),\n ) as React.ReactElement[];\n\n return (\n <RadioGroupContext.Provider value={contextValue}>\n <View style={getRadioGroupStyle(direction)}>\n {childArray.map((child: React.ReactElement, index: number) => {\n return React.cloneElement(child, {\n isLast: index === childArray.length - 1,\n });\n })}\n </View>\n </RadioGroupContext.Provider>\n );\n};\n\nexport default RadioGroup;\n"],"names":["RadioGroupContext","createContext","RadioGroup","modelValue","_ref","disabled","_ref$direction","direction","checkedColor","size","position","children","onChange","type","updateValue","value","contextValue","childArray","React","Children","toArray","filter","child","isValidElement","Provider","
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/Radio/RadioGroup.tsx"],"sourcesContent":["import React, { createContext, FC, ReactNode, Children } from \"react\";\nimport { View } from \"react-native\";\nimport { RedsRadioGroup, RadioGroupContextProps } from \"./interface\";\nimport { getRadioGroupStyle } from \"./styles\";\n\nexport const RadioGroupContext = createContext<RadioGroupContextProps | null>(null);\n\nconst RadioGroup: FC<RedsRadioGroup> = ({\n modelValue,\n disabled,\n direction = \"horizontal\",\n checkedColor,\n size,\n position,\n children,\n onChange,\n type,\n style = {},\n}) => {\n const updateValue = (value: string | number) => {\n onChange?.(value);\n };\n\n const contextValue = {\n modelValue,\n disabled,\n checkedColor,\n size,\n updateValue,\n direction,\n position,\n type,\n };\n\n const childArray = React.Children.toArray(children).filter((child) =>\n React.isValidElement(child),\n ) as React.ReactElement[];\n\n return (\n <RadioGroupContext.Provider value={contextValue}>\n <View style={[getRadioGroupStyle(direction), style]}>\n {childArray.map((child: React.ReactElement, index: number) => {\n return React.cloneElement(child, {\n isLast: index === childArray.length - 1,\n });\n })}\n </View>\n </RadioGroupContext.Provider>\n );\n};\n\nexport default RadioGroup;\n"],"names":["RadioGroupContext","createContext","RadioGroup","modelValue","_ref","disabled","_ref$direction","direction","checkedColor","size","position","children","onChange","type","_ref$style","style","updateValue","value","contextValue","childArray","React","Children","toArray","filter","child","isValidElement","Provider","View","getRadioGroupStyle","map","index","cloneElement","isLast","length"],"mappings":";;;;;;;;;;;;;IAKaA,iBAAA,gBAAoBC,oBAA6C,IAAI,EAAA;AAElF,IAAMC,aAAiC,SAAjCA,iBAWA;AAAA,EAAA,IAVJC,UAAA,GAAAC,IAAA,CAAAD,UAAA;IACAE,QAAA,GAAAD,IAAA,CAAAC,QAAA;IAAAC,cAAA,GAAAF,IAAA,CACAG,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,YAAA,GAAAA,cAAA;IACZE,YAAA,GAAAJ,IAAA,CAAAI,YAAA;IACAC,IAAA,GAAAL,IAAA,CAAAK,IAAA;IACAC,QAAA,GAAAN,IAAA,CAAAM,QAAA;IACAC,QAAA,GAAAP,IAAA,CAAAO,QAAA;IACAC,QAAA,GAAAR,IAAA,CAAAQ,QAAA;IACAC,IAAA,GAAAT,IAAA,CAAAS,IAAA;IAAAC,UAAA,GAAAV,IAAA,CACAW;AAAAA,IAAAA,gCAAQ,EAAC,GAAAD,UAAA,CAAA;AAEH,EAAA,IAAAE,WAAA,GAAc,SAAdA,WAAAA,CAAeC,KAA2B,EAAA;AAC9CL,IAAAA,QAAA,aAAAA,QAAA,KAAA,KAAA,CAAA,IAAAA,QAAA,CAAWK,KAAK,CAAA,CAAA;GAClB,CAAA;AAEA,EAAA,IAAMC,YAAe,GAAA;AACnBf,IAAAA,UAAA,EAAAA,UAAA;AACAE,IAAAA,QAAA,EAAAA,QAAA;AACAG,IAAAA,YAAA,EAAAA,YAAA;AACAC,IAAAA,IAAA,EAAAA,IAAA;AACAO,IAAAA,WAAA,EAAAA,WAAA;AACAT,IAAAA,SAAA,EAAAA,SAAA;AACAG,IAAAA,QAAA,EAAAA,QAAA;AACAG,IAAAA,IAAA,EAAAA,IAAAA;GACF,CAAA;AAEA,EAAA,IAAMM,UAAa,GAAAC,KAAA,CAAMC,QAAS,CAAAC,OAAA,CAAQX,QAAQ,CAAE,CAAAY,MAAA,CAAO,UAACC,KAAA,EAAA;AAAA,IAAA,oBAC1DJ,KAAM,CAAAK,cAAA,CAAeD,KAAK,CAAA,CAAA;AAAA,GAC5B,CAAA,CAAA;EAEA,0CACGxB,iBAAkB,CAAA0B,QAAA,EAAlB;AAA2BT,IAAAA,KAAO,EAAAC,YAAAA;AAAA,GAAA,qCAChCS,gBAAK,EAAA;AAAAZ,IAAAA,KAAA,EAAO,CAACa,0CAAmB,CAAArB,SAAS,GAAGQ,KAAK,CAAA;GAAA,EAC/CI,WAAWU,GAAI,CAAA,UAACL,OAA2BM,KAAkB,EAAA;AACrD,IAAA,oBAAAV,KAAA,CAAMW,aAAaP,KAAO,EAAA;AAC/BQ,MAAAA,MAAA,EAAQF,KAAU,KAAAX,UAAA,CAAWc,MAAS,GAAA,CAAA;AACxC,KAAC,CAAA,CAAA;GACF,CACH,CACF,CAAA,CAAA;AAEJ;;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var components_Radio_Radio = require('../../_chunks/
|
|
5
|
+
var components_Radio_Radio = require('../../_chunks/dM-QhrnE.js');
|
|
6
6
|
var components_Radio_RadioGroup = require('./RadioGroup.js');
|
|
7
|
-
var components_Radio_interface_index = require('../../_chunks/
|
|
7
|
+
var components_Radio_interface_index = require('../../_chunks/DY75DWu0.js');
|
|
8
8
|
require('../SnackBar/SnackBar.js');
|
|
9
9
|
require('../../_chunks/DX9K7QnD.js');
|
|
10
10
|
require('react');
|
|
@@ -58,18 +58,18 @@ require('react-native-fs');
|
|
|
58
58
|
require('../Uploader/utils.js');
|
|
59
59
|
require('../Uploader/styles.js');
|
|
60
60
|
require('../Stepper/Stepper.js');
|
|
61
|
-
require('../../_chunks/
|
|
61
|
+
require('../../_chunks/BRcYv_kj.js');
|
|
62
62
|
require('../Stepper/styles.js');
|
|
63
63
|
require('../Rate/Rate.js');
|
|
64
64
|
require('../Rate/styles.js');
|
|
65
|
-
require('../../_chunks/
|
|
65
|
+
require('../../_chunks/SPLAvS-C.js');
|
|
66
66
|
require('../CheckBoxGroup/CheckBoxGroup.js');
|
|
67
67
|
require('../../_chunks/1m42z2Mz.js');
|
|
68
68
|
require('../CheckBoxGroup/styles.js');
|
|
69
69
|
require('../CheckBoxGroup/CheckBox.js');
|
|
70
70
|
require('../CheckBoxGroup/hooks/useCheckBoxGroupContext.js');
|
|
71
71
|
require('../Form/Form.js');
|
|
72
|
-
require('../../_chunks/
|
|
72
|
+
require('../../_chunks/BmmacXcR.js');
|
|
73
73
|
require('../Button/Button.js');
|
|
74
74
|
require('../../_chunks/DLNitpMY.js');
|
|
75
75
|
require('../Button/styleMap.js');
|
|
@@ -83,7 +83,7 @@ require('../PickerView/PickerView.js');
|
|
|
83
83
|
require('../PickerView/styles.js');
|
|
84
84
|
require('../PickerView/Wheel.js');
|
|
85
85
|
require('../Sheets/AnimatedSheets.js');
|
|
86
|
-
require('../../_chunks/
|
|
86
|
+
require('../../_chunks/aU6iuR1W.js');
|
|
87
87
|
require('../Sheets/styles.js');
|
|
88
88
|
require('../Sheets/Sheets.js');
|
|
89
89
|
require('../DatePicker/utils.js');
|
|
@@ -9,7 +9,7 @@ var components_Rate_styles = require('./styles.js');
|
|
|
9
9
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
10
10
|
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
11
11
|
var components_ConfigProvider_hooks_themeToken_useColorMode = require('../ConfigProvider/hooks/themeToken/useColorMode.js');
|
|
12
|
-
var components_Rate_interface_index = require('../../_chunks/
|
|
12
|
+
var components_Rate_interface_index = require('../../_chunks/SPLAvS-C.js');
|
|
13
13
|
require('@xhsreds/reds-token-next');
|
|
14
14
|
require('../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
|
|
15
15
|
|
|
@@ -80,7 +80,7 @@ var Rate = function Rate(props) {
|
|
|
80
80
|
props === null || props === void 0 || (_props$onChange4 = props.onChange) === null || _props$onChange4 === void 0 || _props$onChange4.call(props, index + 1);
|
|
81
81
|
};
|
|
82
82
|
React.useEffect(function () {
|
|
83
|
-
setRate(props.value || 0);
|
|
83
|
+
props.isControl && setRate(props.value || 0);
|
|
84
84
|
}, []);
|
|
85
85
|
return /* @__PURE__ */React.createElement(reactNative.View, {
|
|
86
86
|
style: components_Rate_styles.default.container
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport styles, { getRateDescStyle, getTextStyles } from \"./styles\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = 10;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + 10)));\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n setRate(props.value || 0);\n }, []);\n return (\n <View style={styles.container}>\n {props.pattern === RatePattern.Star ? (\n <>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text style={getRateDescStyle(themeColor)}>{description}</Text>\n </>\n ) : (\n emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: rate === index + 1 ? activeEmoji[index] : item }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n {rate === index + 1 ? <Text style={getTextStyles(themeColor)}>{props?.texts?.[index]}</Text> : <></>}\n </View>\n </TouchableWithoutFeedback>\n ))\n )}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","width","height","px","_props$onChange","margin","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","View","style","styles","container","pattern","RatePattern","Star","React","createElement","Fragment","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","getRateDescStyle","item","_props$texts2","TouchableWithoutFeedback","onPress","getTextStyles","defaultProps","RateDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport styles, { getRateDescStyle, getTextStyles } from \"./styles\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = 10;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + 10)));\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n props.isControl && setRate(props.value || 0);\n }, []);\n return (\n <View style={styles.container}>\n {props.pattern === RatePattern.Star ? (\n <>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text style={getRateDescStyle(themeColor)}>{description}</Text>\n </>\n ) : (\n emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: rate === index + 1 ? activeEmoji[index] : item }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n {rate === index + 1 ? <Text style={getTextStyles(themeColor)}>{props?.texts?.[index]}</Text> : <></>}\n </View>\n </TouchableWithoutFeedback>\n ))\n )}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","width","height","px","_props$onChange","margin","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","isControl","View","style","styles","container","pattern","RatePattern","Star","React","createElement","Fragment","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","getRateDescStyle","item","_props$texts2","TouchableWithoutFeedback","onPress","getTextStyles","defaultProps","RateDefaultProps"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var components_Rate_Rate = require('./Rate.js');
|
|
6
|
-
var components_Rate_interface_index = require('../../_chunks/
|
|
6
|
+
var components_Rate_interface_index = require('../../_chunks/SPLAvS-C.js');
|
|
7
7
|
require('../../_chunks/DX9K7QnD.js');
|
|
8
8
|
require('react');
|
|
9
9
|
require('react-native');
|
|
@@ -6,7 +6,7 @@ var _rollupPluginBabelHelpers = require('../../_chunks/DX9K7QnD.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var redsTokenNext = require('@xhsreds/reds-token-next');
|
|
8
8
|
var reactNative = require('react-native');
|
|
9
|
-
var components_Sheets_interface_index = require('../../_chunks/
|
|
9
|
+
var components_Sheets_interface_index = require('../../_chunks/aU6iuR1W.js');
|
|
10
10
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
11
11
|
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
12
12
|
var components_ConfigProvider_hooks_themeToken_useColorMode = require('../ConfigProvider/hooks/themeToken/useColorMode.js');
|
|
@@ -169,7 +169,9 @@ var Sheets = function Sheets(props) {
|
|
|
169
169
|
}
|
|
170
170
|
}, [colorMode]);
|
|
171
171
|
return visible ? /* @__PURE__ */React.createElement(reactNative.View, {
|
|
172
|
-
style: components_Sheets_styles.default.wrapper,
|
|
172
|
+
style: [components_Sheets_styles.default.wrapper, {
|
|
173
|
+
zIndex: props.zIndex
|
|
174
|
+
}],
|
|
173
175
|
testID: "Sheets"
|
|
174
176
|
}, mask ? /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
|
|
175
177
|
onPress: handleMask
|
|
@@ -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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"}
|
|
@@ -6,7 +6,7 @@ var _rollupPluginBabelHelpers = require('../../_chunks/DX9K7QnD.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var redsTokenNext = require('@xhsreds/reds-token-next');
|
|
8
8
|
var reactNative = require('react-native');
|
|
9
|
-
var components_Sheets_interface_index = require('../../_chunks/
|
|
9
|
+
var components_Sheets_interface_index = require('../../_chunks/aU6iuR1W.js');
|
|
10
10
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
11
11
|
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
12
12
|
var components_ConfigProvider_hooks_themeToken_useColorMode = require('../ConfigProvider/hooks/themeToken/useColorMode.js');
|
|
@@ -41,7 +41,7 @@ var Sheets = function Sheets(props) {
|
|
|
41
41
|
var _useState = React.useState(0),
|
|
42
42
|
_useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2);
|
|
43
43
|
_useState2[0];
|
|
44
|
-
|
|
44
|
+
_useState2[1];
|
|
45
45
|
var showLabel = React.useMemo(function () {
|
|
46
46
|
return sheetsType === components_Sheets_interface_index.SheetsType.normal && (cancel || close || label);
|
|
47
47
|
}, [sheetsType, cancel, close, label]);
|
|
@@ -69,25 +69,37 @@ var Sheets = function Sheets(props) {
|
|
|
69
69
|
fill: themeColor.Bg,
|
|
70
70
|
size: 20,
|
|
71
71
|
onClick: handleCancel,
|
|
72
|
-
type: components_Icon_interface_index.iconType.image
|
|
72
|
+
type: components_Icon_interface_index.iconType.image,
|
|
73
|
+
styles: {
|
|
74
|
+
borderRadius: 10
|
|
75
|
+
}
|
|
73
76
|
}) : /* @__PURE__ */React.createElement(components_Icon_Icon.default, {
|
|
74
77
|
icon: ArrowLeft,
|
|
75
78
|
fill: themeColor.Bg,
|
|
76
79
|
size: 20,
|
|
77
80
|
onClick: handleCancel,
|
|
78
|
-
type: components_Icon_interface_index.iconType.image
|
|
81
|
+
type: components_Icon_interface_index.iconType.image,
|
|
82
|
+
styles: {
|
|
83
|
+
borderRadius: 10
|
|
84
|
+
}
|
|
79
85
|
}))) : type === "confirm" ? /* @__PURE__ */React.createElement(components_Icon_Icon.default, {
|
|
80
86
|
icon: Close,
|
|
81
87
|
fill: themeColor.Title,
|
|
82
88
|
size: 20,
|
|
83
89
|
onClick: handleCancel,
|
|
84
|
-
type: components_Icon_interface_index.iconType.image
|
|
90
|
+
type: components_Icon_interface_index.iconType.image,
|
|
91
|
+
styles: {
|
|
92
|
+
borderRadius: 10
|
|
93
|
+
}
|
|
85
94
|
}) : /* @__PURE__ */React.createElement(components_Icon_Icon.default, {
|
|
86
95
|
icon: ArrowLeft,
|
|
87
96
|
fill: themeColor.Title,
|
|
88
97
|
size: 20,
|
|
89
98
|
onClick: handleCancel,
|
|
90
|
-
type: components_Icon_interface_index.iconType.image
|
|
99
|
+
type: components_Icon_interface_index.iconType.image,
|
|
100
|
+
styles: {
|
|
101
|
+
borderRadius: 10
|
|
102
|
+
}
|
|
91
103
|
});
|
|
92
104
|
};
|
|
93
105
|
var Block = function Block() {
|
|
@@ -116,7 +128,9 @@ var Sheets = function Sheets(props) {
|
|
|
116
128
|
return props.size === components_Sheets_interface_index.SheetsSize.half ? halfScreenHeight : props.size === components_Sheets_interface_index.SheetsSize.threeQuater ? threeQuaterScreenHeight : fullScreenHeight;
|
|
117
129
|
}, [props.size]);
|
|
118
130
|
return visible ? /* @__PURE__ */React.createElement(reactNative.View, {
|
|
119
|
-
style: components_Sheets_styles.default.wrapper,
|
|
131
|
+
style: [components_Sheets_styles.default.wrapper, {
|
|
132
|
+
zIndex: props.zIndex
|
|
133
|
+
}],
|
|
120
134
|
testID: "Sheets"
|
|
121
135
|
}, mask ? /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
|
|
122
136
|
onPress: handleMask
|
|
@@ -152,12 +166,7 @@ var Sheets = function Sheets(props) {
|
|
|
152
166
|
color: themeColor.Primary
|
|
153
167
|
}],
|
|
154
168
|
testID: "close"
|
|
155
|
-
}, closeText) : iconWrapper("confirm")) : /* @__PURE__ */React.createElement(Block, null)) : /* @__PURE__ */React.createElement(React.Fragment, null), /* @__PURE__ */React.createElement(reactNative.View, {
|
|
156
|
-
onLayout: function onLayout(e) {
|
|
157
|
-
console.log("e.nativeEvent.layout.height", e.nativeEvent.layout.height);
|
|
158
|
-
setChildHeight(e.nativeEvent.layout.height);
|
|
159
|
-
}
|
|
160
|
-
}, children), showAction ? /* @__PURE__ */React.createElement(reactNative.View, {
|
|
169
|
+
}, closeText) : iconWrapper("confirm")) : /* @__PURE__ */React.createElement(Block, null)) : /* @__PURE__ */React.createElement(React.Fragment, null), children, showAction ? /* @__PURE__ */React.createElement(reactNative.View, {
|
|
161
170
|
style: [components_Sheets_styles.default.actionContainer]
|
|
162
171
|
}, cancel ? /* @__PURE__ */React.createElement(reactNative.View, {
|
|
163
172
|
style: components_Sheets_styles.default.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":";;;;;;;;;;;;;;;;;;;;;AA0BA,IAAMA,MAAA,GAAS,SAATA,MAAAA,CAAUC,KAAsB,EAAA;AAC9B,EAAA,IACJC,OAAA,GAgBED,KAAA,CAhBFC,OAAA,CAAA;IACAC,QAAA,GAeEF,KAAA,CAfFE,QAAA,CAAA;IACAC,SAAA,GAcEH,KAAA,CAdFG,SAAA,CAAA;IACAC,QAAA,GAaEJ,KAAA,CAbFI,QAAA,CAAA;IACAC,KAAA,GAYEL,KAAA,CAZFK,KAAA,CAAA;IACAC,IAAA,GAWEN,KAAA,CAXFM,IAAA,CAAA;IACAC,QAAA,GAUEP,KAAA,CAVFO,QAAA,CAAA;IACAC,UAAA,GASER,KAAA,CATFQ,UAAA,CAAA;IACAC,SAAA,GAQET,KAAA,CARFS,SAAA,CAAA;IACAC,UAAA,GAOEV,KAAA,CAPFU,UAAA,CAAA;IACAC,SAAA,GAMEX,KAAA,CANFW,SAAA,CAAA;IACAC,UAAA,GAKEZ,KAAA,CALFY,UAAA,CAAA;IACAC,MAAA,GAIEb,KAAA,CAJFa,MAAA,CAAA;IACAC,KAAA,GAGEd,KAAA,CAHFc,KAAA,CAAA;IACAC,QAAA,GAEEf,KAAA,CAFFe,QAAA,CAAA;IAEEf,KAAA,CADFgB,KAAA;AAGF,EAAA,IAAMC,aAAaC,sEAAc,EAAA,CAAA;AAEjC,EAAA,IAAMC,YAAYC,oEAAa,EAAA,CAAA;AAE/B,EAAA,IAAAC,SAAA,GAAsCC,eAAS,CAAC,CAAA,CAAA;IAAAC,UAAA,GAAAC,wCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA,CAAA;AAAzCI,IAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAAaG,QAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,EAAA;AAK5B,EAAA,IAAAI,SAAA,GAAYC,cAAQ,YAAM;IAC9B,OAAOhB,UAAe,KAAAiB,4CAAA,CAAWC,MAAW,KAAAjB,MAAA,IAAUC,KAAS,IAAAT,KAAA,CAAA,CAAA;KAC9D,CAACO,UAAA,EAAYC,MAAQ,EAAAC,KAAA,EAAOT,KAAK,CAAC,CAAA,CAAA;AAK/B,EAAA,IAAA0B,UAAA,GAAaH,cAAQ,YAAM;IACxB,OAAAhB,UAAA,KAAeiB,4CAAW,CAAAG,MAAA,KAAWnB,MAAU,IAAAC,KAAA,CAAA,CAAA;GACrD,EAAA,CAACF,UAAY,EAAAC,MAAA,EAAQC,KAAK,CAAC,CAAA,CAAA;AAK9B,EAAA,IAAMmB,aAAa,SAAbA,aAAmB;AACZ/B,IAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,EAAA,CAAA;GACb,CAAA;AAKA,EAAA,IAAMgC,gBAAgB,SAAhBA,gBAAsB;AACd/B,IAAAA,SAAA,KAAAA,IAAAA,IAAAA,SAAA,KAAAA,KAAAA,CAAAA,IAAAA,SAAA,EAAA,CAAA;GACd,CAAA;AAKA,EAAA,IAAMgC,eAAe,SAAfA,eAAqB;AACdjC,IAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,EAAA,CAAA;GACb,CAAA;AAGM,EAAA,IAAAkC,WAAA,GAAc,SAAdA,WAAAA,CAAeC,IAAiB,EAAA;AACpC,IAAA,OAAOtB,aAAauB,gDAAe,CAAAC,EAAA,kBAChCC,KAAA,CAAAC,aAAA,CAAAC,oCAAA,EAAA;AAAyBC,MAAAA,SAASR,YAAAA;AACjC,KAAA,iBAAAK,KAAA,CAAAC,aAAA,CAACG,gBAAK,EAAA;AAAAC,MAAAA,KAAA,EAAO,CAACC,gCAAO,CAAAC,MAAA,EAAQ;QAAEC,eAAA,EAAiB/B,WAAWgC,KAAAA;OAAO,CAAA;KAC/D,EAAAZ,IAAA,KAAS,2BACPG,KAAA,CAAAC,aAAA,CAAAS,4BAAA,EAAA;AAAKC,MAAAA,IAAM,EAAAC,KAAA;MAAOC,MAAMpC,UAAW,CAAAqC,EAAA;AAAItC,MAAAA,IAAM,EAAA,EAAA;AAAIuC,MAAAA,SAASpB,YAAc;AAAAE,MAAAA,IAAA,EAAMmB,wCAAS,CAASC,KAAAA;KAAO,CAExG,kBAAAjB,KAAA,CAAAC,aAAA,CAACS,4BAAA,EAAA;AACCC,MAAAA,IAAM,EAAAO,SAAA;MACNL,MAAMpC,UAAW,CAAAqC,EAAA;AACjBtC,MAAAA,IAAM,EAAA,EAAA;AACNuC,MAAAA,OAAS,EAAApB,YAAA;AACTE,MAAAA,IAAA,EAAMmB,wCAAkB,CAAAC,KAAAA;AAAA,KAC1B,CAEJ,CACF,CACE,GAAApB,IAAA,KAAS,2BACVG,KAAA,CAAAC,aAAA,CAAAS,4BAAA,EAAA;AAAKC,MAAAA,IAAM,EAAAC,KAAA;MAAOC,MAAMpC,UAAW,CAAA0C,KAAA;AAAO3C,MAAAA,IAAM,EAAA,EAAA;AAAIuC,MAAAA,SAASpB,YAAc;AAAAE,MAAAA,IAAA,EAAMmB,wCAAS,CAASC,KAAAA;KAAO,CAE3G,kBAAAjB,KAAA,CAAAC,aAAA,CAACS,4BAAK,EAAA;AAAAC,MAAAA,IAAA,EAAMO;MAAWL,IAAM,EAAApC,UAAA,CAAW0C,KAAO;AAAA3C,MAAAA,IAAA,EAAM;AAAIuC,MAAAA,OAAS,EAAApB,YAAA;AAAcE,MAAAA,IAAM,EAAAmB,yCAAkBC,KAAAA;AAAO,KAAA,CAAA,CAAA;GAEnH,CAAA;AAGA,EAAA,IAAMG,QAAQ,SAARA,QAAc;AAClB,IAAA,sBAAQpB,KAAA,CAAAC,aAAA,CAAAG,gBAAA,EAAA;MAAKC,KAAO,EAAAC,gCAAA,CAAOe,KAAAA;AAAO,KAAA,CAAA,CAAA;GACpC,CAAA;AAEM,EAAA,IAAAH,SAAA,GAAY9B,cAAQ,YAAM;IAC9B,IAAIT,cAAc,OAAS,EAAA;AAClB,MAAA,OAAA,iGAAA,CAAA;AACT,KAAO,MAAA;AACE,MAAA,OAAA,iGAAA,CAAA;AACT,KAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEC,EAAA,IAAAiC,KAAA,GAAQxB,cAAQ,YAAM;IAC1B,IAAIT,cAAc,OAAS,EAAA;AAClB,MAAA,OAAA,iGAAA,CAAA;AACT,KAAO,MAAA;AACE,MAAA,OAAA,iGAAA,CAAA;AACT,KAAA;AACF,GAAA,EAAG,CAACA,SAAS,CAAC,CAAA,CAAA;AAKR,EAAA,IAAA2C,SAAA,GAAYlC,cAAQ,YAAM;IAC9B,IAAMmC,gBAAmB,GAAAC,sBAAA,CAAWC,GAAI,CAAA,QAAQ,CAAE,CAAAC,MAAA,CAAA;IAClD,IAAMC,gBAAmB,GAAAC,IAAA,CAAKC,KAAM,CAAAN,gBAAA,GAAmB,CAAC,CAAA,CAAA;IACxD,IAAMO,uBAA0B,GAAAF,IAAA,CAAKC,KAAM,CAAAN,gBAAA,GAAmB,IAAI,CAAA,CAAA;IAC3D,OAAA/D,KAAA,CAAMgB,SAASuD,4CAAW,CAAAC,IAAA,GAC7BL,mBACAnE,KAAM,CAAAgB,IAAA,KAASuD,4CAAW,CAAAE,WAAA,GACxBH,uBACA,GAAAP,gBAAA,CAAA;AACR,GAAG,EAAA,CAAC/D,KAAM,CAAAgB,IAAI,CAAC,CAAA,CAAA;EAEf,OAAOf,OACL,kBAAAuC,KAAA,CAAAC,aAAA,CAACG,gBAAK,EAAA;IAAAC,KAAA,EAAOC,gCAAO,CAAA4B,OAAA;AAASC,IAAAA,MAAO,EAAA,QAAA;GAAA,EACjCrE,IACC,kBAAAkC,KAAA,CAAAC,aAAA,CAACC,oCAAyB,EAAA;AAAAC,IAAAA,OAAA,EAASV,UAAAA;AACjC,GAAA,iBAAAO,KAAA,CAAAC,aAAA,CAACG,gBAAA,EAAA;AACCC,IAAAA,KAAO,EAAA,CACLC,gCAAO,CAAAxC,IAAA,EACP;MAAE0C,eAAiB,EAAAzC,QAAA,KAAaqE,iDAAeC,KAAQ,GAAAC,yBAAA,CAAYC,SAAS,iBAAA;KAAkB,CAAA;GAEjG,CACH,CAEA,kBAAAvC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAE,CAEJ,iBAAAxC,KAAA,CAAAC,aAAA,CAACG,gBAAA,EAAA;AACCC,IAAAA,KAAO,EAAA,CACLC,gCAAO,CAAAmC,MAAA,EACP;MAAEjC,eAAiB,EAAA/B,UAAA,CAAWiE,GAAAA;KAAI,EAClClF,MAAMgB,IAAS,KAAAuD,4CAAA,CAAWY,OAAO,EAAC,GAAI;AAAErB,MAAAA,SAAqB,EAArBA,SAAAA;KAAqB,CAAA;GAC/D,EAGCnC,SAAA,sCACEiB,gBAAK,EAAA;AAAAC,IAAAA,KAAA,EAAO,CAACC,gCAAO,CAAAsC,cAAA,EAAgB;MAAEpC,eAAiB,EAAA/B,UAAA,CAAWiE,GAAAA;KAAK,CAAA;GAAA,EACrErE,wBACE2B,KAAA,CAAAC,aAAA,CAAAC,oCAAA,EAAA;AAAyBC,IAAAA,SAASR,YAAAA;AAChC,GAAA,EAAA3B,UAAA,KAAe6E,mDAAiBC,IAC/B,kBAAA9C,KAAA,CAAAC,aAAA,CAAC8C;AAAK1C,IAAAA,KAAO,EAAA,CAACC,iCAAOjC,MAAQ,EAAA;MAAE2E,OAAOvE,UAAW,CAAAwE,WAAAA;AAAY,KAAC,CAAG;AAAAd,IAAAA,MAAA,EAAO,QAAA;KACrEjE,UACH,CAAA,GAEA0B,YAAY,QAAQ,CAExB,mBAECI,KAAA,CAAAC,aAAA,CAAAmB,KAAA,EAAA,IAAM,GAERvD,KAAQ,kBAAAmC,KAAA,CAAAC,aAAA,CAAC8C;AAAK1C,IAAAA,KAAO,EAAA,CAACC,iCAAOzC,KAAO,EAAA;MAAEmF,OAAOvE,UAAW,CAAA0C,KAAAA;KAAO,CAAA;GAAI,EAAAtD,KAAM,mBAAYmC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAA,CAAA,EACrFlE,uBACE0B,KAAA,CAAAC,aAAA,CAAAC,oCAAA,EAAA;AAAyBC,IAAAA,SAAST,aAAAA;AAChC,GAAA,EAAAzB,SAAA,KAAc4E,mDAAiBC,IAC9B,kBAAA9C,KAAA,CAAAC,aAAA,CAAC8C;AAAK1C,IAAAA,KAAO,EAAA,CAACC,iCAAO4C,OAAS,EAAA;MAAEF,OAAOvE,UAAW,CAAA0E,OAAAA;AAAQ,KAAC,CAAG;AAAAhB,IAAAA,MAAA,EAAO,OAAA;KAClEhE,SACH,CAAA,GAEAyB,YAAY,SAAS,CAEzB,mBAECI,KAAA,CAAAC,aAAA,CAAAmB,KAAA,EAAA,IAAM,CAEX,CAAA,kBAEEpB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAA,CAAA,iBAGJxC,KAAA,CAAAC,aAAA,CAACG,gBAAA,EAAA;AACCgD,IAAAA,QAAA,EAAU,SAAVA,QAAAA,CAAWC,CAAM,EAAA;AACfC,MAAAA,OAAA,CAAQC,GAAI,CAAA,6BAAA,EAA+BF,CAAE,CAAAG,WAAA,CAAYC,OAAO/B,MAAM,CAAA,CAAA;MACvDxC,cAAA,CAAAmE,CAAA,CAAEG,WAAY,CAAAC,MAAA,CAAO/B,MAAM,CAAA,CAAA;AAC5C,KAAA;AAAA,GAAA,EAEC9D,QACH,CAAA,EAGC2B,UAAA,sCACEa,gBAAK,EAAA;AAAAC,IAAAA,KAAA,EAAO,CAACC,gCAAO,CAAAoD,eAAe,CAAA;KACjCrF,MACC,kBAAA2B,KAAA,CAAAC,aAAA,CAACG;IAAKC,KAAO,EAAAC,gCAAA,CAAOd,MAAAA;oBACjBQ,KAAA,CAAAC,aAAA,CAAA0D,gCAAA,EAAA;AAAOtC,IAAAA,OAAK,IAAC;AAAAN,IAAAA,OAAA,EAASpB,YAAAA;KACpBzB,UACH,CACF,mBAEE8B,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAA,CAAA,EAEHlE,uBACE0B,KAAA,CAAAC,aAAA,CAAAG,gBAAA,EAAA;IAAKC,OAAOC,gCAAO,CAAAd,MAAAA;AAAA,GAAA,qCACjBmE,gCAAO,EAAA;AAAAtC,IAAAA,KAAA,EAAK;AAACN,IAAAA,OAAS,EAAArB,aAAA;AAAeG,IAAAA,MAAK,SAAA;AACxC,GAAA,EAAA1B,SACH,CACF,CAEA,kBAAA6B,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAE,CAEN,CAAA,kBAEExC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAA,CAEN,CACF,mBAEExC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAwC,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,EAAA;AAEAjF,MAAA,CAAOqG,YAAe,GAAAC,oDAAA;;;;"}
|
|
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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"}
|
|
@@ -6,7 +6,7 @@ var _rollupPluginBabelHelpers = require('../../_chunks/DX9K7QnD.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var components_Sheets_AnimatedSheets = require('./AnimatedSheets.js');
|
|
8
8
|
var components_Sheets_Sheets = require('./Sheets.js');
|
|
9
|
-
var components_Sheets_interface_index = require('../../_chunks/
|
|
9
|
+
var components_Sheets_interface_index = require('../../_chunks/aU6iuR1W.js');
|
|
10
10
|
require('../Portal/core/Portal.js');
|
|
11
11
|
require('../Portal/core/PortalHost.js');
|
|
12
12
|
require('../Portal/core/PortalProvider.js');
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var components_Sheets_AnimatedSheets = require('./AnimatedSheets.js');
|
|
6
6
|
var components_Sheets_Sheets = require('./Sheets.js');
|
|
7
|
-
var components_Sheets_interface_index = require('../../_chunks/
|
|
7
|
+
var components_Sheets_interface_index = require('../../_chunks/aU6iuR1W.js');
|
|
8
8
|
var components_Sheets_api = require('./api.js');
|
|
9
9
|
require('../../_chunks/DX9K7QnD.js');
|
|
10
10
|
require('react');
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_chunks/DX9K7QnD.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var reactNative = require('react-native');
|
|
8
|
-
var components_Stepper_interface_index = require('../../_chunks/
|
|
8
|
+
var components_Stepper_interface_index = require('../../_chunks/BRcYv_kj.js');
|
|
9
9
|
var components_Stepper_styles = require('./styles.js');
|
|
10
10
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
11
11
|
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
@@ -54,7 +54,9 @@ var Stepper = function Stepper(props) {
|
|
|
54
54
|
props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newValue);
|
|
55
55
|
};
|
|
56
56
|
React.useEffect(function () {
|
|
57
|
-
|
|
57
|
+
if (props.isControl) {
|
|
58
|
+
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);
|
|
59
|
+
}
|
|
58
60
|
}, [props.value, props.max, props.min]);
|
|
59
61
|
return /* @__PURE__ */React.createElement(reactNative.View, {
|
|
60
62
|
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
|
|
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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"}
|