@xhsreds/reds-rn-next 0.10.1-beta202511192039 → 0.10.1-beta202511202010

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 (46) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-11.json +1 -1
  3. package/coverage/.tmp/coverage-12.json +1 -1
  4. package/coverage/.tmp/coverage-15.json +1 -1
  5. package/coverage/.tmp/coverage-16.json +1 -1
  6. package/coverage/.tmp/coverage-17.json +1 -1
  7. package/coverage/.tmp/coverage-18.json +1 -1
  8. package/coverage/.tmp/coverage-19.json +1 -1
  9. package/coverage/.tmp/coverage-20.json +1 -1
  10. package/coverage/.tmp/coverage-22.json +1 -1
  11. package/coverage/.tmp/coverage-24.json +1 -1
  12. package/coverage/.tmp/coverage-25.json +1 -1
  13. package/coverage/.tmp/coverage-26.json +1 -1
  14. package/coverage/.tmp/coverage-27.json +1 -1
  15. package/coverage/.tmp/coverage-28.json +1 -1
  16. package/coverage/.tmp/coverage-29.json +1 -1
  17. package/coverage/.tmp/coverage-3.json +1 -1
  18. package/coverage/.tmp/coverage-30.json +1 -1
  19. package/coverage/.tmp/coverage-31.json +1 -1
  20. package/coverage/.tmp/coverage-32.json +1 -1
  21. package/coverage/.tmp/coverage-33.json +1 -1
  22. package/coverage/.tmp/coverage-34.json +1 -1
  23. package/coverage/.tmp/coverage-35.json +1 -1
  24. package/coverage/.tmp/coverage-36.json +1 -1
  25. package/coverage/.tmp/coverage-37.json +1 -1
  26. package/coverage/.tmp/coverage-38.json +1 -1
  27. package/coverage/.tmp/coverage-39.json +1 -1
  28. package/coverage/.tmp/coverage-4.json +1 -1
  29. package/coverage/.tmp/coverage-40.json +1 -1
  30. package/coverage/.tmp/coverage-41.json +1 -1
  31. package/coverage/.tmp/coverage-5.json +1 -1
  32. package/coverage/.tmp/coverage-7.json +1 -1
  33. package/coverage/.tmp/coverage-8.json +1 -1
  34. package/coverage/.tmp/coverage-9.json +1 -1
  35. package/lib/cjs/components/PickerView/Wheel.js +21 -15
  36. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  37. package/lib/cjs/components/Radio/styles.js +1 -3
  38. package/lib/cjs/components/Radio/styles.js.map +1 -1
  39. package/lib/esm/components/PickerView/Wheel.js +21 -15
  40. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  41. package/lib/esm/components/Radio/styles.js +1 -3
  42. package/lib/esm/components/Radio/styles.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/components/DatePicker/demo/index.tsx +26 -0
  45. package/src/components/PickerView/Wheel.tsx +14 -11
  46. package/src/components/Radio/styles.ts +0 -2
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":31},"end":{"line":16,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent, TextStyle, ViewStyle } from \"react-native\";\nexport interface RedsTag {\n content?: string | Function;\n type?: \"primary\" | \"default\" | \"warning\" | \"success\" | \"info\" | \"ghost\" | \"secondary\";\n size?: \"mini\" | \"small\" | \"medium\" | \"large\";\n plain?: boolean;\n borderRadius?: number;\n disabled?: boolean;\n shape?: \"square\" | \"round\" | \"mark\";\n closeabled?: boolean;\n textStyle?: TextStyle;\n style?: ViewStyle;\n icon?: string | any;\n afterIcon?: string | any;\n closeIcon?: string | any;\n children?: string | any;\n onClose?: (value?: any) => any;\n onClick?: (value: GestureResponderEvent) => any;\n}\n\nexport interface RedsTagEvent {}\nexport const TagDefaultProps = {\n content: undefined,\n type: \"default\",\n size: \"medium\",\n plain: false,\n borderRadius: undefined,\n disabled: false,\n shape: \"square\",\n closeabled: false,\n textStyle: {},\n style: {},\n icon: undefined,\n afterIcon: undefined,\n closeIcon: undefined,\n children: undefined,\n};\n"],"mappings":"AAqBO,aAAM,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,WAAW,CAAC;AAAA,EACZ,OAAO,CAAC;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AACZ;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"83025f6218a4cebb18a93188da8ce208531220a8"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":36},"end":{"line":13,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\ntype inputTypeRN = \"default\" | \"number-pad\" | \"decimal-pad\" | \"numeric\" | \"email-address\" | \"phone-pad\" | \"url\";\nexport interface RedsTextView {\n modelValue?: string;\n placeholder?: string;\n layout?: \"primary\" | \"normal\" | \"basic\";\n type?: inputTypeRN;\n maxLength?: number;\n showCount?: boolean;\n isFormItem?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n clearable?: boolean;\n autofocus?: boolean;\n rows?: number;\n style?: ViewStyle;\n onChange?: (value: string) => any;\n onClear?: (value: string) => any;\n onFocus?: (event: any) => any;\n onBlur?: (event: any) => any;\n containerStyle?: ViewStyle;\n actionLayout?: \"horizontal\" | \"vertical\";\n placeholderTextColor?: String;\n ref?: any;\n returnKeyType?: string;\n onSubmitEditing?: () => void;\n}\n\nexport const TextViewDefaultProps = {\n layout: \"basic\",\n type: \"default\" as inputTypeRN,\n showCount: false,\n isFormItem: false,\n disabled: false,\n readonly: false,\n clearable: false,\n autofocus: false,\n rows: 3,\n actionLayout: \"vertical\",\n returnKeyType: \"next\",\n};\n"],"mappings":"AA4BO,aAAM,uBAAuB;AAAA,EAClC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AACjB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c22d4028256df8ef10d5d9ab5d49aa48b4fff907"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":42},"end":{"line":6,"column":22}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":41}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":23}},"5":{"start":{"line":7,"column":41},"end":{"line":12,"column":21}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":34}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":36}},"8":{"start":{"line":10,"column":2},"end":{"line":10,"column":34}},"9":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"10":{"start":{"line":13,"column":42},"end":{"line":17,"column":22}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":43}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":33}},"13":{"start":{"line":16,"column":2},"end":{"line":16,"column":23}},"14":{"start":{"line":18,"column":43},"end":{"line":24,"column":23}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":38}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":36}},"18":{"start":{"line":22,"column":2},"end":{"line":22,"column":36}},"19":{"start":{"line":23,"column":2},"end":{"line":23,"column":24}},"20":{"start":{"line":25,"column":31},"end":{"line":37,"column":1}},"21":{"start":{"line":38,"column":32},"end":{"line":47,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":43},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":62},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":42},"end":{"line":7,"column":43}},"loc":{"start":{"line":7,"column":60},"end":{"line":12,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":43},"end":{"line":13,"column":44}},"loc":{"start":{"line":13,"column":62},"end":{"line":17,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":44},"end":{"line":18,"column":45}},"loc":{"start":{"line":18,"column":64},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":21}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":15}},{"start":{"line":6,"column":19},"end":{"line":6,"column":21}}],"line":6},"1":{"loc":{"start":{"line":12,"column":3},"end":{"line":12,"column":20}},"type":"binary-expr","locations":[{"start":{"line":12,"column":3},"end":{"line":12,"column":14}},{"start":{"line":12,"column":18},"end":{"line":12,"column":20}}],"line":12},"2":{"loc":{"start":{"line":17,"column":3},"end":{"line":17,"column":21}},"type":"binary-expr","locations":[{"start":{"line":17,"column":3},"end":{"line":17,"column":15}},{"start":{"line":17,"column":19},"end":{"line":17,"column":21}}],"line":17},"3":{"loc":{"start":{"line":24,"column":3},"end":{"line":24,"column":22}},"type":"binary-expr","locations":[{"start":{"line":24,"column":3},"end":{"line":24,"column":16}},{"start":{"line":24,"column":20},"end":{"line":24,"column":22}}],"line":24}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1},"f":{"0":1,"1":1,"2":1,"3":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { ImageStyle, TextStyle } from \"react-native\";\nimport { RedsIcon } from \"../../Icon/interface\";\nimport { RedsBadge } from \"../../Badge/interface\";\nexport interface TabItemType {\n name?: string;\n image?: string;\n activeImage?: string;\n imageStyle?: ImageStyle;\n value: string;\n iconProps?: RedsIcon;\n badgeProps?: any;\n labelNumber?: number;\n}\n\nexport const enum TabLabelType {\n leftIcon = \"leftIcon\",\n rightIcon = \"rightIcon\",\n digit = \"digit\",\n}\nexport const enum TabSizeType {\n small = \"small\",\n normal = \"normal\",\n large = \"large\",\n}\n\nexport const enum TabThemeType {\n underline = \"underline\",\n text = \"text\",\n}\n\nexport const enum TabLayoutType {\n left = \"left\",\n middle = \"middle\",\n space = \"space\",\n right = \"right\",\n}\nexport interface RedsTab {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n key?: string | number;\n contentOffset?: number;\n textStyle?: TextStyle;\n activeTextStyle?: TextStyle;\n}\n\nexport interface RedsTabEvent {}\nexport const TabDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.left,\n badge: false,\n spaceWidth: 12,\n tabPadding: 0,\n active: \"\",\n contentOffset: 0,\n textStyle: {},\n activeTextStyle: {},\n};\n\nexport interface TabChild {\n name?: string;\n image?: string;\n imageStyle?: ImageStyle;\n activeImage?: string;\n value: string;\n labelNumber?: number;\n iconProps?: RedsIcon;\n badgeProps?: RedsBadge;\n children: ReactNode;\n}\nexport interface RedsTabs {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n}\n\nexport const TabsDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.space,\n badge: false,\n spaceWidth: 12,\n tabPadding: 24,\n active: \"\",\n};\n"],"mappings":"AAeO,WAAW,eAAX,kBAAWA,kBAAX;AACL,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAKX,WAAW,cAAX,kBAAWC,iBAAX;AACL,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,eAAX,kBAAWC,kBAAX;AACL,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AAJQ,SAAAA;AAAA,GAAA;AAyBX,aAAM,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW,CAAC;AAAA,EACZ,iBAAiB,CAAC;AACpB;AA2BO,aAAM,mBAAmB;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AACV;","names":["TabLabelType","TabSizeType","TabThemeType","TabLayoutType"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"94c9502f2b3612dd537ea197077b6f626891006b"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/Popover/component.tsx":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Popover/component.tsx","statementMap":{"0":{"start":{"line":3,"column":28},"end":{"line":47,"column":1}},"1":{"start":{"line":12,"column":2},"end":{"line":46,"column":11}},"2":{"start":{"line":12,"column":166},"end":{"line":12,"column":180}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":28},"end":{"line":3,"column":29}},"loc":{"start":{"line":11,"column":6},"end":{"line":47,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":159},"end":{"line":12,"column":160}},"loc":{"start":{"line":12,"column":166},"end":{"line":12,"column":180}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":42},"end":{"line":16,"column":54}},"type":"binary-expr","locations":[{"start":{"line":16,"column":42},"end":{"line":16,"column":49}},{"start":{"line":16,"column":53},"end":{"line":16,"column":54}}],"line":16}},"s":{"0":1,"1":0,"2":0},"f":{"0":0,"1":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Popover/component.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { Modal, View, Pressable, GestureResponderEvent, Animated, TouchableWithoutFeedback } from \"react-native\";\n\nexport const ModalWrapper = ({\n needModal,\n visible,\n children,\n onClickMask,\n opacity,\n progress,\n zIndex,\n}: {\n needModal?: boolean;\n visible: boolean;\n children: ReactNode;\n onClickMask: (e: GestureResponderEvent) => any;\n opacity?: number;\n progress: Animated.Value | number;\n zIndex: number;\n}) => {\n // if (!needModal) return visible ? children : null\n return (\n <Modal visible={visible} transparent collapsable={false}>\n <TouchableWithoutFeedback onPress={(e) => onClickMask(e)}>\n <Animated.View\n style={{\n backgroundColor: `rgba(0, 0, 0, ${opacity || 0})`,\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n flex: 1,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex,\n opacity: progress,\n }}\n >\n {children}\n </Animated.View>\n </TouchableWithoutFeedback>\n </Modal>\n );\n};\n"],"mappings":"AAwBQ;AAvBR,SAAS,OAA+C,UAAU,gCAAgC;AAE3F,aAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AAEJ,SACE,uBAAC,SAAM,SAAkB,aAAW,MAAC,aAAa,OAChD,iCAAC,4BAAyB,SAAS,CAAC,MAAM,YAAY,CAAC,GACrD;AAAA,IAAC,SAAS;AAAA,IAAT;AAAA,MACC,OAAO;AAAA,QACL,iBAAiB,iBAAiB,WAAW,CAAC;AAAA,QAC9C,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP;AAAA,QACA,SAAS;AAAA,MACX;AAAA,MAEC;AAAA;AAAA,IAfH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,KAjBF;AAAA;AAAA;AAAA;AAAA,SAkBA,KAnBF;AAAA;AAAA;AAAA;AAAA,SAoBA;AAEJ;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"29687ce1fcaacf48f289825960d2df4db0186be6"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":36},"end":{"line":13,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\ntype inputTypeRN = \"default\" | \"number-pad\" | \"decimal-pad\" | \"numeric\" | \"email-address\" | \"phone-pad\" | \"url\";\nexport interface RedsTextView {\n modelValue?: string;\n placeholder?: string;\n layout?: \"primary\" | \"normal\" | \"basic\";\n type?: inputTypeRN;\n maxLength?: number;\n showCount?: boolean;\n isFormItem?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n clearable?: boolean;\n autofocus?: boolean;\n rows?: number;\n style?: ViewStyle;\n onChange?: (value: string) => any;\n onClear?: (value: string) => any;\n onFocus?: (event: any) => any;\n onBlur?: (event: any) => any;\n containerStyle?: ViewStyle;\n actionLayout?: \"horizontal\" | \"vertical\";\n placeholderTextColor?: String;\n ref?: any;\n returnKeyType?: string;\n onSubmitEditing?: () => void;\n}\n\nexport const TextViewDefaultProps = {\n layout: \"basic\",\n type: \"default\" as inputTypeRN,\n showCount: false,\n isFormItem: false,\n disabled: false,\n readonly: false,\n clearable: false,\n autofocus: false,\n rows: 3,\n actionLayout: \"vertical\",\n returnKeyType: \"next\",\n};\n"],"mappings":"AA4BO,aAAM,uBAAuB;AAAA,EAClC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AACjB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c22d4028256df8ef10d5d9ab5d49aa48b4fff907"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":42},"end":{"line":6,"column":22}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":41}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":23}},"5":{"start":{"line":7,"column":41},"end":{"line":12,"column":21}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":34}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":36}},"8":{"start":{"line":10,"column":2},"end":{"line":10,"column":34}},"9":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"10":{"start":{"line":13,"column":42},"end":{"line":17,"column":22}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":43}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":33}},"13":{"start":{"line":16,"column":2},"end":{"line":16,"column":23}},"14":{"start":{"line":18,"column":43},"end":{"line":24,"column":23}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":38}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":36}},"18":{"start":{"line":22,"column":2},"end":{"line":22,"column":36}},"19":{"start":{"line":23,"column":2},"end":{"line":23,"column":24}},"20":{"start":{"line":25,"column":31},"end":{"line":37,"column":1}},"21":{"start":{"line":38,"column":32},"end":{"line":47,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":43},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":62},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":42},"end":{"line":7,"column":43}},"loc":{"start":{"line":7,"column":60},"end":{"line":12,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":43},"end":{"line":13,"column":44}},"loc":{"start":{"line":13,"column":62},"end":{"line":17,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":44},"end":{"line":18,"column":45}},"loc":{"start":{"line":18,"column":64},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":21}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":15}},{"start":{"line":6,"column":19},"end":{"line":6,"column":21}}],"line":6},"1":{"loc":{"start":{"line":12,"column":3},"end":{"line":12,"column":20}},"type":"binary-expr","locations":[{"start":{"line":12,"column":3},"end":{"line":12,"column":14}},{"start":{"line":12,"column":18},"end":{"line":12,"column":20}}],"line":12},"2":{"loc":{"start":{"line":17,"column":3},"end":{"line":17,"column":21}},"type":"binary-expr","locations":[{"start":{"line":17,"column":3},"end":{"line":17,"column":15}},{"start":{"line":17,"column":19},"end":{"line":17,"column":21}}],"line":17},"3":{"loc":{"start":{"line":24,"column":3},"end":{"line":24,"column":22}},"type":"binary-expr","locations":[{"start":{"line":24,"column":3},"end":{"line":24,"column":16}},{"start":{"line":24,"column":20},"end":{"line":24,"column":22}}],"line":24}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1},"f":{"0":1,"1":1,"2":1,"3":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { ImageStyle, TextStyle } from \"react-native\";\nimport { RedsIcon } from \"../../Icon/interface\";\nimport { RedsBadge } from \"../../Badge/interface\";\nexport interface TabItemType {\n name?: string;\n image?: string;\n activeImage?: string;\n imageStyle?: ImageStyle;\n value: string;\n iconProps?: RedsIcon;\n badgeProps?: any;\n labelNumber?: number;\n}\n\nexport const enum TabLabelType {\n leftIcon = \"leftIcon\",\n rightIcon = \"rightIcon\",\n digit = \"digit\",\n}\nexport const enum TabSizeType {\n small = \"small\",\n normal = \"normal\",\n large = \"large\",\n}\n\nexport const enum TabThemeType {\n underline = \"underline\",\n text = \"text\",\n}\n\nexport const enum TabLayoutType {\n left = \"left\",\n middle = \"middle\",\n space = \"space\",\n right = \"right\",\n}\nexport interface RedsTab {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n key?: string | number;\n contentOffset?: number;\n textStyle?: TextStyle;\n activeTextStyle?: TextStyle;\n}\n\nexport interface RedsTabEvent {}\nexport const TabDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.left,\n badge: false,\n spaceWidth: 12,\n tabPadding: 0,\n active: \"\",\n contentOffset: 0,\n textStyle: {},\n activeTextStyle: {},\n};\n\nexport interface TabChild {\n name?: string;\n image?: string;\n imageStyle?: ImageStyle;\n activeImage?: string;\n value: string;\n labelNumber?: number;\n iconProps?: RedsIcon;\n badgeProps?: RedsBadge;\n children: ReactNode;\n}\nexport interface RedsTabs {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n}\n\nexport const TabsDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.space,\n badge: false,\n spaceWidth: 12,\n tabPadding: 24,\n active: \"\",\n};\n"],"mappings":"AAeO,WAAW,eAAX,kBAAWA,kBAAX;AACL,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAKX,WAAW,cAAX,kBAAWC,iBAAX;AACL,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,eAAX,kBAAWC,kBAAX;AACL,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AAJQ,SAAAA;AAAA,GAAA;AAyBX,aAAM,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW,CAAC;AAAA,EACZ,iBAAiB,CAAC;AACpB;AA2BO,aAAM,mBAAmB;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AACV;","names":["TabLabelType","TabSizeType","TabThemeType","TabLayoutType"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"94c9502f2b3612dd537ea197077b6f626891006b"}}
@@ -23,21 +23,25 @@ var Wheel = function Wheel(props) {
23
23
  accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
24
24
  var scrollerRef = React.useRef();
25
25
  var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor();
26
- var _useState = React.useState(),
26
+ var _useState = React.useState(value),
27
27
  _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
28
- index = _useState2[0],
29
- setIndex = _useState2[1];
28
+ lastValue = _useState2[0],
29
+ setLastValue = _useState2[1];
30
30
  React.useEffect(function () {
31
- value && setIndex(getSelectIndex(column, value));
31
+ if (value !== lastValue) {
32
+ var idx = getSelectIndex(column, value);
33
+ handleScroll(idx);
34
+ }
32
35
  }, [column, value]);
33
- React.useEffect(function () {
34
- var _column$index;
35
- var newVal = column === null || column === void 0 || (_column$index = column[index]) === null || _column$index === void 0 ? void 0 : _column$index.value;
36
- scrollTo(index * itemHeight);
36
+ var handleScroll = function handleScroll(idx) {
37
+ var _column$idx;
38
+ var newVal = column === null || column === void 0 || (_column$idx = column[idx]) === null || _column$idx === void 0 ? void 0 : _column$idx.value;
39
+ scrollTo(idx * itemHeight);
37
40
  if (newVal) {
41
+ setLastValue(newVal);
38
42
  onSelect(newVal, props.index);
39
43
  }
40
- }, [index, props.index]);
44
+ };
41
45
  var scrollTo = function scrollTo(y) {
42
46
  setTimeout(function () {
43
47
  var _scrollerRef$current, _scrollerRef$current$;
@@ -57,20 +61,22 @@ var Wheel = function Wheel(props) {
57
61
  }), 0) : 0;
58
62
  };
59
63
  var onMomentumScrollEnd = function onMomentumScrollEnd(e) {
60
- var _e$persist;
64
+ var _e$persist, _column$selectIndex;
61
65
  (_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
62
66
  var contentOffset = e.nativeEvent.contentOffset;
63
67
  var selectIndex = Math.round(contentOffset.y / itemHeight);
64
- setIndex(selectIndex);
68
+ var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
69
+ setLastValue(newVal);
70
+ onSelect(newVal, props.index);
65
71
  };
66
- var handleClick = function handleClick(index2) {
67
- setIndex(index2);
72
+ var handleClick = function handleClick(index) {
73
+ handleScroll(index);
68
74
  };
69
75
  var renderItems = function renderItems() {
70
- return column.map(function (item, index2) {
76
+ return column.map(function (item, index) {
71
77
  return /* @__PURE__ */React.createElement(reactNative.TouchableNativeFeedback, {
72
78
  onPress: function onPress() {
73
- return handleClick(index2);
79
+ return handleClick(index);
74
80
  },
75
81
  key: item.value
76
82
  }, /* @__PURE__ */React.createElement(reactNative.View, _rollupPluginBabelHelpers._objectSpread2({
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n }\n }, [index, props.index]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","index","setIndex","useEffect","getSelectIndex","_column$index","newVal","scrollTo","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
1
+ {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n const [lastValue, setLastValue] = useState(value);\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n handleScroll(idx);\n }\n }, [column, value]);\n\n const handleScroll = (idx: number) => {\n const newVal = column?.[idx]?.value;\n scrollTo(idx * itemHeight);\n if (newVal) {\n setLastValue(newVal);\n onSelect(newVal, props.index);\n }\n };\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n onSelect(newVal, props.index);\n };\n\n const handleClick = (index: number) => {\n handleScroll(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","lastValue","setLastValue","useEffect","idx","getSelectIndex","handleScroll","_column$idx","newVal","scrollTo","index","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
@@ -45,8 +45,7 @@ var getContainerStyle = function getContainerStyle(direction, position) {
45
45
  flexDirection: position === "left" || !position || direction === "horizontal" ? "row" : "row-reverse",
46
46
  alignItems: "center",
47
47
  justifyContent: "flex-start",
48
- backgroundColor: direction === "vertical" ? themeColor.Bg : void 0,
49
- paddingHorizontal: 16
48
+ backgroundColor: direction === "vertical" ? themeColor.Bg : void 0
50
49
  };
51
50
  };
52
51
  var getWrapperStyle = function getWrapperStyle(direction, position) {
@@ -88,7 +87,6 @@ var getLabelStyle = function getLabelStyle(disabled) {
88
87
  var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor("Radio");
89
88
  return {
90
89
  color: disabled ? themeColor.Disabled : themeColor.Title,
91
- lineHeight: iconSizeMap[size],
92
90
  fontSize: fontSizeMap[size],
93
91
  marginRight: direction === "horizontal" ? 8 : 0
94
92
  };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n paddingHorizontal: 16,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n lineHeight: iconSizeMap[size],\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","medium","large","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","paddingHorizontal","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","lineHeight","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","medium","large","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
@@ -19,21 +19,25 @@ var Wheel = function Wheel(props) {
19
19
  accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
20
20
  var scrollerRef = useRef();
21
21
  var themeColor = useThemeColor();
22
- var _useState = useState(),
22
+ var _useState = useState(value),
23
23
  _useState2 = _slicedToArray(_useState, 2),
24
- index = _useState2[0],
25
- setIndex = _useState2[1];
24
+ lastValue = _useState2[0],
25
+ setLastValue = _useState2[1];
26
26
  useEffect(function () {
27
- value && setIndex(getSelectIndex(column, value));
27
+ if (value !== lastValue) {
28
+ var idx = getSelectIndex(column, value);
29
+ handleScroll(idx);
30
+ }
28
31
  }, [column, value]);
29
- useEffect(function () {
30
- var _column$index;
31
- var newVal = column === null || column === void 0 || (_column$index = column[index]) === null || _column$index === void 0 ? void 0 : _column$index.value;
32
- scrollTo(index * itemHeight);
32
+ var handleScroll = function handleScroll(idx) {
33
+ var _column$idx;
34
+ var newVal = column === null || column === void 0 || (_column$idx = column[idx]) === null || _column$idx === void 0 ? void 0 : _column$idx.value;
35
+ scrollTo(idx * itemHeight);
33
36
  if (newVal) {
37
+ setLastValue(newVal);
34
38
  onSelect(newVal, props.index);
35
39
  }
36
- }, [index, props.index]);
40
+ };
37
41
  var scrollTo = function scrollTo(y) {
38
42
  setTimeout(function () {
39
43
  var _scrollerRef$current, _scrollerRef$current$;
@@ -53,20 +57,22 @@ var Wheel = function Wheel(props) {
53
57
  }), 0) : 0;
54
58
  };
55
59
  var onMomentumScrollEnd = function onMomentumScrollEnd(e) {
56
- var _e$persist;
60
+ var _e$persist, _column$selectIndex;
57
61
  (_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
58
62
  var contentOffset = e.nativeEvent.contentOffset;
59
63
  var selectIndex = Math.round(contentOffset.y / itemHeight);
60
- setIndex(selectIndex);
64
+ var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
65
+ setLastValue(newVal);
66
+ onSelect(newVal, props.index);
61
67
  };
62
- var handleClick = function handleClick(index2) {
63
- setIndex(index2);
68
+ var handleClick = function handleClick(index) {
69
+ handleScroll(index);
64
70
  };
65
71
  var renderItems = function renderItems() {
66
- return column.map(function (item, index2) {
72
+ return column.map(function (item, index) {
67
73
  return /* @__PURE__ */React.createElement(TouchableNativeFeedback, {
68
74
  onPress: function onPress() {
69
- return handleClick(index2);
75
+ return handleClick(index);
70
76
  },
71
77
  key: item.value
72
78
  }, /* @__PURE__ */React.createElement(View, _objectSpread2({
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n }\n }, [index, props.index]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","index","setIndex","useEffect","getSelectIndex","_column$index","newVal","scrollTo","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
1
+ {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n const [lastValue, setLastValue] = useState(value);\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n handleScroll(idx);\n }\n }, [column, value]);\n\n const handleScroll = (idx: number) => {\n const newVal = column?.[idx]?.value;\n scrollTo(idx * itemHeight);\n if (newVal) {\n setLastValue(newVal);\n onSelect(newVal, props.index);\n }\n };\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n onSelect(newVal, props.index);\n };\n\n const handleClick = (index: number) => {\n handleScroll(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","lastValue","setLastValue","useEffect","idx","getSelectIndex","handleScroll","_column$idx","newVal","scrollTo","index","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
@@ -43,8 +43,7 @@ var getContainerStyle = function getContainerStyle(direction, position) {
43
43
  flexDirection: position === "left" || !position || direction === "horizontal" ? "row" : "row-reverse",
44
44
  alignItems: "center",
45
45
  justifyContent: "flex-start",
46
- backgroundColor: direction === "vertical" ? themeColor.Bg : void 0,
47
- paddingHorizontal: 16
46
+ backgroundColor: direction === "vertical" ? themeColor.Bg : void 0
48
47
  };
49
48
  };
50
49
  var getWrapperStyle = function getWrapperStyle(direction, position) {
@@ -86,7 +85,6 @@ var getLabelStyle = function getLabelStyle(disabled) {
86
85
  var themeColor = useThemeColor("Radio");
87
86
  return {
88
87
  color: disabled ? themeColor.Disabled : themeColor.Title,
89
- lineHeight: iconSizeMap[size],
90
88
  fontSize: fontSizeMap[size],
91
89
  marginRight: direction === "horizontal" ? 8 : 0
92
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n paddingHorizontal: 16,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n lineHeight: iconSizeMap[size],\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","medium","large","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","paddingHorizontal","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","lineHeight","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","medium","large","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xhsreds/reds-rn-next",
3
- "version": "0.10.1-beta202511192039",
3
+ "version": "0.10.1-beta202511202010",
4
4
  "author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
5
5
  "license": "ISC",
6
6
  "dependencies": {
@@ -26,7 +26,7 @@
26
26
  "react-native-fs": "2.20.0",
27
27
  "react-native-svg": "13.14.0",
28
28
  "@xhs/react-native-harmony": "*",
29
- "@xhsreds/reds-token-next": "0.10.1-beta202511192039"
29
+ "@xhsreds/reds-token-next": "0.10.1-beta202511202010"
30
30
  },
31
31
  "peerDependenciesMeta": {
32
32
  "ozone-schema-web": {
@@ -37,6 +37,7 @@ export default function App() {
37
37
  const [value14, setValue14] = useState("2023-10-05-12");
38
38
  const [value16, setValue16] = useState("2023-10-05-12-10");
39
39
  const [value17, setValue17] = useState("2025-9-15-14-25");
40
+ const [value18, setValue18] = useState("2025-11-20");
40
41
 
41
42
  const [visible1, setVisible1] = useState(false);
42
43
  const [visible2, setVisible2] = useState(false);
@@ -54,6 +55,7 @@ export default function App() {
54
55
  const [visible14, setVisible14] = useState(false);
55
56
  const [visible16, setVisible16] = useState(false);
56
57
  const [visible17, setVisible17] = useState(false);
58
+ const [visible18, setVisible18] = useState(false);
57
59
 
58
60
  const { show, remove } = useDatePicker();
59
61
  return (
@@ -329,6 +331,30 @@ export default function App() {
329
331
  >
330
332
  函数式调用
331
333
  </Button>
334
+
335
+ <Button
336
+ onClick={() => {
337
+ setVisible18(true);
338
+ }}
339
+ >
340
+ 跳动bug
341
+ </Button>
342
+ <DatePicker
343
+ visible={visible18}
344
+ value={value18}
345
+ label={"跳动bug"}
346
+ startTime={"1900-01-01"}
347
+ endTime={"2200-12-31"}
348
+ onConfirm={(val: string) => {
349
+ console.log("onConfirm18", val);
350
+ setValue18(val);
351
+ setVisible18(false);
352
+ }}
353
+ onChange={(val: string) => {
354
+ console.log("onChange18", val);
355
+ }}
356
+ onCancel={() => setVisible18(false)}
357
+ />
332
358
  <View style={{ height: 200 }}></View>
333
359
  </ScrollView>
334
360
  );