@xhsreds/reds-rn-next 0.10.1-beta202511062045 → 0.10.1-beta202511191947

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 (49) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-10.json +1 -1
  3. package/coverage/.tmp/coverage-12.json +1 -1
  4. package/coverage/.tmp/coverage-13.json +1 -1
  5. package/coverage/.tmp/coverage-14.json +1 -1
  6. package/coverage/.tmp/coverage-15.json +1 -1
  7. package/coverage/.tmp/coverage-16.json +1 -1
  8. package/coverage/.tmp/coverage-17.json +1 -1
  9. package/coverage/.tmp/coverage-18.json +1 -1
  10. package/coverage/.tmp/coverage-19.json +1 -1
  11. package/coverage/.tmp/coverage-2.json +1 -1
  12. package/coverage/.tmp/coverage-20.json +1 -1
  13. package/coverage/.tmp/coverage-21.json +1 -1
  14. package/coverage/.tmp/coverage-22.json +1 -1
  15. package/coverage/.tmp/coverage-24.json +1 -1
  16. package/coverage/.tmp/coverage-25.json +1 -1
  17. package/coverage/.tmp/coverage-26.json +1 -1
  18. package/coverage/.tmp/coverage-27.json +1 -1
  19. package/coverage/.tmp/coverage-29.json +1 -1
  20. package/coverage/.tmp/coverage-3.json +1 -1
  21. package/coverage/.tmp/coverage-30.json +1 -1
  22. package/coverage/.tmp/coverage-31.json +1 -1
  23. package/coverage/.tmp/coverage-32.json +1 -1
  24. package/coverage/.tmp/coverage-33.json +1 -1
  25. package/coverage/.tmp/coverage-34.json +1 -1
  26. package/coverage/.tmp/coverage-35.json +1 -1
  27. package/coverage/.tmp/coverage-36.json +1 -1
  28. package/coverage/.tmp/coverage-37.json +1 -1
  29. package/coverage/.tmp/coverage-38.json +1 -1
  30. package/coverage/.tmp/coverage-39.json +1 -1
  31. package/coverage/.tmp/coverage-4.json +1 -1
  32. package/coverage/.tmp/coverage-40.json +1 -1
  33. package/coverage/.tmp/coverage-41.json +1 -1
  34. package/coverage/.tmp/coverage-42.json +1 -1
  35. package/coverage/.tmp/coverage-43.json +1 -1
  36. package/coverage/.tmp/coverage-5.json +1 -1
  37. package/coverage/.tmp/coverage-6.json +1 -1
  38. package/coverage/.tmp/coverage-7.json +1 -1
  39. package/coverage/.tmp/coverage-8.json +1 -1
  40. package/coverage/.tmp/coverage-9.json +1 -1
  41. package/lib/cjs/components/TextView/TextView.js +5 -2
  42. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  43. package/lib/esm/components/TextView/TextView.js +5 -2
  44. package/lib/esm/components/TextView/TextView.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/components/TextView/TextView.tsx +7 -2
  47. package/src/components/TextView/demo/index.tsx +1 -1
  48. package/src/i18n/@types/resources.d.ts +18 -18
  49. package/src/i18n/index.json +31 -31
@@ -1 +1 @@
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
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":49},"end":{"line":5,"column":29}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":30}},"4":{"start":{"line":6,"column":47},"end":{"line":10,"column":27}},"5":{"start":{"line":7,"column":2},"end":{"line":7,"column":40}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":38}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":28}},"8":{"start":{"line":11,"column":47},"end":{"line":16,"column":27}},"9":{"start":{"line":12,"column":2},"end":{"line":12,"column":40}},"10":{"start":{"line":13,"column":2},"end":{"line":13,"column":42}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":40}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":28}},"13":{"start":{"line":17,"column":43},"end":{"line":22,"column":23}},"14":{"start":{"line":18,"column":2},"end":{"line":18,"column":34}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":34}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":24}},"18":{"start":{"line":23,"column":41},"end":{"line":30,"column":1}},"19":{"start":{"line":31,"column":40},"end":{"line":37,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":50},"end":{"line":1,"column":51}},"loc":{"start":{"line":1,"column":76},"end":{"line":5,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":48},"end":{"line":6,"column":49}},"loc":{"start":{"line":6,"column":72},"end":{"line":10,"column":1}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":48},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":72},"end":{"line":16,"column":1}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":44},"end":{"line":17,"column":45}},"loc":{"start":{"line":17,"column":64},"end":{"line":22,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":3},"end":{"line":5,"column":28}},"type":"binary-expr","locations":[{"start":{"line":5,"column":3},"end":{"line":5,"column":22}},{"start":{"line":5,"column":26},"end":{"line":5,"column":28}}],"line":5},"1":{"loc":{"start":{"line":10,"column":3},"end":{"line":10,"column":26}},"type":"binary-expr","locations":[{"start":{"line":10,"column":3},"end":{"line":10,"column":20}},{"start":{"line":10,"column":24},"end":{"line":10,"column":26}}],"line":10},"2":{"loc":{"start":{"line":16,"column":3},"end":{"line":16,"column":26}},"type":"binary-expr","locations":[{"start":{"line":16,"column":3},"end":{"line":16,"column":20}},{"start":{"line":16,"column":24},"end":{"line":16,"column":26}}],"line":16},"3":{"loc":{"start":{"line":22,"column":3},"end":{"line":22,"column":22}},"type":"binary-expr","locations":[{"start":{"line":22,"column":3},"end":{"line":22,"column":16}},{"start":{"line":22,"column":20},"end":{"line":22,"column":22}}],"line":22}},"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},"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/CheckBoxGroup/interface/index.ts"],"sourcesContent":["import { ViewStyle, TextStyle } from \"react-native\";\nimport { ReactNode } from \"react\";\n\nexport interface CheckBoxGroupOption {\n label: string;\n value: string | number;\n}\n\nexport const enum CheckBoxGroupLayout {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport const enum CheckBoxPlacement {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\nexport const enum CheckBoxGroupSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n}\n\nexport const enum CheckedStatus {\n FULL = \"full\",\n HALF = \"half\",\n NONE = \"none\",\n}\nexport interface RedsCheckBoxGroup {\n value?: string[] | number[];\n options?: CheckBoxGroupOption[];\n disable?: boolean;\n full?: boolean;\n fullText?: string;\n fullContainerStyle?: ViewStyle;\n checkboxStyle?: ViewStyle;\n layout?: CheckBoxGroupLayout;\n size?: CheckBoxGroupSize;\n onChange?: (value: string[] | number[]) => void;\n children?: ReactNode[];\n}\n\nexport interface RedsCheckBoxGroupEvent {}\nexport const CheckBoxGroupDefaultProps = {\n value: [],\n options: [],\n disable: false,\n full: false,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.LARGE,\n};\n\nexport interface RedsCheckBox {\n value: string | number;\n label?: string;\n placement?: CheckBoxPlacement;\n disable?: boolean;\n checked?: boolean;\n layout?: CheckBoxGroupLayout;\n style?: ViewStyle;\n size?: CheckBoxGroupSize;\n onChange?: (value: string | number, checked: boolean) => void;\n isControl?: boolean;\n labelStyle?: ViewStyle;\n labelTextStyle?: TextStyle;\n isGroup?: boolean;\n checkboxStyle?: ViewStyle;\n}\n\nexport const RedsCheckBoxDefaultProps = {\n placement: CheckBoxPlacement.RIGHT,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.MEDIUM,\n isControl: true,\n isGroup: false,\n};\n\nexport interface ICheckBoxGroupContext {\n checkList: number[] | string[];\n}\n"],"mappings":"AAQO,WAAW,sBAAX,kBAAWA,yBAAX;AACL,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,cAAW;AAFK,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AAHS,SAAAA;AAAA,GAAA;AAoBX,aAAM,4BAA4B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR;AAmBO,aAAM,2BAA2B;AAAA,EACtC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AACX;","names":["CheckBoxGroupLayout","CheckBoxPlacement","CheckBoxGroupSize","CheckedStatus"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc7c8b5a271c82ad6926938b49b00c3dfd14f542"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/TabBar/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/TabBar/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":6,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/TabBar/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nimport { RedsIcon } from \"../../Icon/interface\";\nexport interface RedsTabBar {\n list: DataType[];\n customTabBar?: DataType;\n type: \"text\" | \"icon\";\n active: string;\n value?: boolean;\n badge?: boolean;\n containerStyles?: any;\n textStyles?: any;\n activeTextStyles?: any;\n onChange?: (value: string) => any;\n}\n\nexport interface RedsBadge {\n content?: number | string;\n color?: string;\n dot?: boolean;\n max?: number | string;\n offset?: [number | string, number | string];\n showZero?: boolean;\n position?: \"topLeft\" | \"centerLeft\" | \"centerRight\" | \"topCenter\" | \"centerCenter\";\n}\n\nexport interface DataType {\n text?: string;\n key: string;\n badgeProps?: RedsBadge;\n iconProps?: RedsIcon;\n activeIconProps?: RedsIcon;\n activeColor?: string;\n normalColor?: string;\n}\n\nexport interface RedsTabBarEvent {}\nexport const TabBarDefaultProps = {\n list: [] as DataType[],\n type: \"text\",\n value: undefined,\n badge: false,\n};\n"],"mappings":"AAqCO,aAAM,qBAAqB;AAAA,EAChC,MAAM,CAAC;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACT;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"eab58c974e6c02ecedd61e0a549fb2ada34bba69"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/NoticeBar/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/NoticeBar/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":43},"end":{"line":6,"column":23}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":36}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":24}},"5":{"start":{"line":7,"column":49},"end":{"line":12,"column":29}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":40}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":53}},"8":{"start":{"line":10,"column":2},"end":{"line":10,"column":53}},"9":{"start":{"line":11,"column":2},"end":{"line":11,"column":30}},"10":{"start":{"line":13,"column":44},"end":{"line":19,"column":24}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":35}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":41}},"13":{"start":{"line":16,"column":2},"end":{"line":16,"column":41}},"14":{"start":{"line":17,"column":2},"end":{"line":17,"column":39}},"15":{"start":{"line":18,"column":2},"end":{"line":18,"column":25}},"16":{"start":{"line":20,"column":37},"end":{"line":30,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":44},"end":{"line":1,"column":45}},"loc":{"start":{"line":1,"column":64},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":50},"end":{"line":7,"column":51}},"loc":{"start":{"line":7,"column":76},"end":{"line":12,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":45},"end":{"line":13,"column":46}},"loc":{"start":{"line":13,"column":66},"end":{"line":19,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":22}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":16}},{"start":{"line":6,"column":20},"end":{"line":6,"column":22}}],"line":6},"1":{"loc":{"start":{"line":12,"column":3},"end":{"line":12,"column":28}},"type":"binary-expr","locations":[{"start":{"line":12,"column":3},"end":{"line":12,"column":22}},{"start":{"line":12,"column":26},"end":{"line":12,"column":28}}],"line":12},"2":{"loc":{"start":{"line":19,"column":3},"end":{"line":19,"column":23}},"type":"binary-expr","locations":[{"start":{"line":19,"column":3},"end":{"line":19,"column":17}},{"start":{"line":19,"column":21},"end":{"line":19,"column":23}}],"line":19}},"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},"f":{"0":1,"1":1,"2":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/NoticeBar/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\nimport { ReactNode } from \"react\";\n\nexport const enum NoticeBarType {\n BASIC = \"basic\",\n MUTILINE = \"muti-line\",\n SCROLLABLE = \"scrollable\",\n}\n\nexport const enum NoticeBarActionType {\n NONE = \"none\",\n TEXTACTION = \"text-action\",\n ICONACTION = \"icon-action\",\n}\n\nexport const enum NoticeBarTheme {\n INFO = \"info\",\n SUCCESS = \"success\",\n WARNING = \"warning\",\n DANGER = \"danger\",\n}\nexport interface RedsNoticeBar {\n visible?: boolean;\n content: string;\n type?: NoticeBarType;\n withIcon?: boolean;\n closable?: boolean;\n actionType?: NoticeBarActionType;\n theme?: NoticeBarTheme;\n actionText?: string;\n style?: ViewStyle;\n children?: ReactNode;\n textStyle?: ViewStyle;\n onClose?: () => void;\n onClick?: () => void;\n}\n\nexport interface RedsNoticeBarEvent {}\nexport const NoticeBarDefaultProps = {\n visible: true,\n content: \"\",\n type: NoticeBarType.BASIC,\n withIcon: false,\n closable: false,\n actionType: NoticeBarActionType.NONE,\n theme: NoticeBarTheme.INFO,\n style: {},\n textStyle: {},\n};\n"],"mappings":"AAGO,WAAW,gBAAX,kBAAWA,mBAAX;AACL,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,gBAAa;AAHG,SAAAA;AAAA,GAAA;AAMX,WAAW,sBAAX,kBAAWC,yBAAX;AACL,EAAAA,qBAAA,UAAO;AACP,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,gBAAa;AAHG,SAAAA;AAAA,GAAA;AAMX,WAAW,iBAAX,kBAAWC,oBAAX;AACL,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,YAAS;AAJO,SAAAA;AAAA,GAAA;AAuBX,aAAM,wBAAwB;AAAA,EACnC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,OAAO,CAAC;AAAA,EACR,WAAW,CAAC;AACd;","names":["NoticeBarType","NoticeBarActionType","NoticeBarTheme"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8570983024cdd0fe27fccb89fd933d840f846b98"}}
@@ -146,8 +146,11 @@ var TextField = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
146
146
  }, [layout]);
147
147
  var handleKeyPress = function handleKeyPress(_ref2) {
148
148
  var nativeEvent = _ref2.nativeEvent;
149
- if (nativeEvent.key === "Enter" && props.returnKeyType !== "next") {
150
- reactNative.Keyboard.dismiss();
149
+ if (nativeEvent.key === "Enter") {
150
+ nativeEvent.preventDefault();
151
+ if (props.returnKeyType !== "next") {
152
+ reactNative.Keyboard.dismiss();
153
+ }
151
154
  }
152
155
  };
153
156
  return /* @__PURE__ */React.createElement(reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\" && props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"mappings":";;;;;;;;;;;;;;;;;;AAQMA,IAAAA,SAAY,gBAAAC,kBAAA,CAAW,UAACC,KAAA,EAAqBC,GAAQ,EAAA;AACnD,EAAA,IAAAC,IAAA,GAoBFF,SAAS,EAAC;IAnBZG,IAAA,GAAAD,IAAA,CAAAC,IAAA;IACAC,UAAA,GAAAF,IAAA,CAAAE,UAAA;IAAAC,cAAA,GAAAH,IAAA,CACAI,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IACZE,SAAA,GAAAL,IAAA,CAAAK,SAAA;IAAAC,aAAA,GAAAN,IAAA,CACAO,QAAW;AAAXA,IAAAA,QAAW,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,aAAA;IACXE,QAAA,GAAAR,IAAA,CAAAQ,QAAA;IAAAC,cAAA,GAAAT,IAAA,CACAU,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IAAAE,cAAA,GAAAX,IAAA,CACZY,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IACZE,WAAA,GAAAb,IAAA,CAAAa,WAAA;IAAAC,SAAA,GAAAd,IAAA,CACAe,IAAO;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAAAA,SAAA;IACPE,OAAA,GAAAhB,IAAA,CAAAgB,OAAA;IACAC,MAAA,GAAAjB,IAAA,CAAAiB,MAAA;IACAC,QAAA,GAAAlB,IAAA,CAAAkB,QAAA;IACAC,OAAA,GAAAnB,IAAA,CAAAmB,OAAA;IAAAC,UAAA,GAAApB,IAAA,CACAqB;AAAAA,IAAAA,gCAAQ,EAAC,GAAAD,UAAA;IAAAE,mBAAA,GAAAtB,IAAA,CACTuB;AAAAA,IAAAA,kDAAiB,EAAC,GAAAD,mBAAA;IAClBE,MAAA,GAAAxB,IAAA,CAAAwB,MAAA;IACAC,YAAA,GAAAzB,IAAA,CAAAyB,YAAA;IACAC,oBAAA,GAAA1B,IAAA,CAAA0B,oBAAA,CAAA;EAEFC,mCAAA,CAAW,UAAU,CAAA,CAAA;EACrB,IAAMC,MAAS,GAAAC,kCAAA,CAAatB,QAAU,EAAAkB,YAAA,IAAgB,UAAU,CAAA,CAAA;AAChE,EAAA,IAAAK,SAAA,GAA8BC,iBAASrB,SAAS,CAAA;IAAAsB,UAAA,GAAAC,wCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,IAAAA,OAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAASG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAI,UAAA,GAA0BL,gBAAA,CAAS7B,cAAc,EAAE,CAAA;IAAAmC,UAAA,GAAAJ,wCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA5CE,IAAAA,KAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAG,UAAA,GAA4DT,iBAAS,CAAC,CAAA;IAAAU,UAAA,GAAAR,wCAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAA/DE,IAAAA,sBAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAwBE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAG,UAAA,GAAkCb,iBAAS,KAAK,CAAA;IAAAc,UAAA,GAAAZ,wCAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAzCE,IAAAA,SAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAWE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,UAAA,GAA4CjB,iBAAS,KAAK,CAAA;IAAAkB,UAAA,GAAAhB,wCAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAAnDE,IAAAA,cAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAgBE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAG,QAAA,GAAWC,eAAkB,IAAI,CAAA,CAAA;AACvC,EAAA,IAAMC,aAAaC,sEAAc,EAAA,CAAA;AAEjC,EAAyBC,mBAAA,CACvB,UAAClB,MAAkB,EAAA;IACjB,IAAMmB,WAAc,GAAAC,KAAA,CAAMpB,MAAS,IAAA,EAAE,CAAE,CAAAqB,MAAA,CAAA;IACvC,IAAI,OAAOtD,SAAA,KAAc,QAAY,IAAAoD,WAAA,GAAcpD,SAAW,EAAA;MAC5D,IAAMuD,MAAStB,GAAAA,MAAAA,CAAAA;AACX,MAAA,IAAAsB,MAAA,IAAUlB,sBAA2B,KAAA,CAACrC,SAAW,EAAA;AAC5C,QAAA,OAAAuD,MAAA,CAAA;AACT,OAAA;MACA,OAAOF,KAAM,CAAAG,MAAA,CAAOvB,MAAO,EAAA,CAAA,EAAG,CAACjC,SAAS,CAAA,CAAA;AAC1C,KAAA;AACOiC,IAAAA,OAAAA,MAAAA,CAAAA;AACT,GAAA,EACA,CAACjC,SAAS,CACZ,EAAA;EAEAyD,2BAAA,CAAoB/D,KAAK,YAAA;IAAA,OAAO;AAC9BgE,MAAAA,YAAc,EAAAX,QAAAA;KACd,CAAA;AAAA,GAAA,CAAA,CAAA;AAEF,EAAA,IAAMY,WAAc,GAAAR,mBAAA,CAClB,UAACS,OAAoB,EAAA;AAEnB/C,IAAAA,QAAA,IAAYA,SAAS+C,OAAO,CAAA,CAAA;IAC5B1B,QAAA,CAAS0B,OAAO,CAAA,CAAA;AAClB,GAAA,EACA,CAAC/C,QAAQ,CACX,CAAA,CAAA;AAEA,EAAA,IAAMgD,gBAAmB,GAAAV,mBAAA,CACvB,UAAClB,MAAkB,EAAA;IACjB0B,WAAA,CAAY1B,MAAK,CAAA,CAAA;AAEb,IAAA,IAAA6B,oBAAA,CAASC,OAAO,KAAS,IAAA/D,SAAA,IAAaiC,OAAMqB,MAAU,IAAAtD,SAAA,IAAa+C,SAASiB,OAAS,EAAA;AAEvFC,MAAAA,qBAAA,CAAsB,YAAM;AAAA,QAAA,IAAAC,iBAAA,CAAA;QAC1B,CAAAA,iBAAA,GAAAnB,QAAA,CAASiB,2CAATE,KAAAA,CAAAA,IAAAA,iBAAA,CAAkBC,cAAe,CAAA;AAC/BC,UAAAA,SAAW,EAAA;AAAEC,YAAAA,KAAO,EAAArE,SAAA;AAAWsE,YAAAA,KAAKtE,SAAAA;AAAU,WAAA;AAChD,SAAC,CAAA,CAAA;AACH,OAAC,CAAA,CAAA;AACH,KAAA;AACF,GAAA,EACA,CAACA,WAAW2D,WAAW,CACzB,CAAA,CAAA;AAEM,EAAA,IAAAY,WAAA,GAAcpB,oBAAY,YAAM;IACpCjB,QAAA,CAAS,EAAE,CAAA,CAAA;IACXyB,WAAA,CAAY,EAAE,CAAA,CAAA;AACd7C,IAAAA,OAAA,IAAWA,QAAQmB,KAAK,CAAA,CAAA;AAC1B,GAAA,EAAG,CAACnB,OAAO,CAAC,CAAA,CAAA;AAEN,EAAA,IAAA0D,WAAA,GAAcrB,oBAAY,YAAM;AACpC,IAAA,IAAIhD,QAAU,EAAA;AAAA,MAAA,IAAAsE,kBAAA,CAAA;AACZ,MAAA,CAAAA,kBAAA,GAAA1B,QAAA,CAASiB,sDAATS,kBAAA,CAAkBC,IAAK,EAAA,CAAA;AACzB,KAAA;IACA5C,UAAA,CAAW,IAAI,CAAA,CAAA;AACfnB,IAAAA,OAAA,IAAWA,QAAQsB,KAAK,CAAA,CAAA;AAC1B,GAAG,EAAA,CAACtB,OAAS,EAAAR,QAAQ,CAAC,CAAA,CAAA;AAEhB,EAAA,IAAAwE,UAAA,GAAaxB,oBAAY,YAAM;IACnCrB,UAAA,CAAW,KAAK,CAAA,CAAA;IAChB,IAAI,CAAC3B,QAAU,EAAA;AACbS,MAAAA,MAAA,IAAUA,OAAOqB,KAAK,CAAA,CAAA;AACxB,KAAA;AACF,GAAG,EAAA,CAAC9B,QAAU,EAAAS,MAAM,CAAC,CAAA,CAAA;AAErBgE,EAAAA,iBAAA,CAAU,YAAM;AACd1C,IAAAA,QAAA,CAASrC,cAAc,EAAE,CAAA,CAAA;AAC3B,GAAA,EAAG,CAACA,UAAU,CAAC,CAAA,CAAA;AAEf+E,EAAAA,iBAAA,CAAU,YAAM;IACDlC,YAAA,CAAA3C,SAAA,IAAakC,KAAM,CAAAqB,MAAA,GAAS,CAAC,CAAA,CAAA;AAC5C,GAAG,EAAA,CAACvD,SAAW,EAAAkC,KAAK,CAAC,CAAA,CAAA;AAErB2C,EAAAA,iBAAA,CAAU,YAAM;IACd9C,UAAA,CAAWzB,SAAS,CAAA,CAAA;AACtB,GAAA,EAAG,CAACA,SAAS,CAAC,CAAA,CAAA;AAEduE,EAAAA,iBAAA,CAAU,YAAM;AAEdtC,IAAAA,yBAAA,CAA0BL,MAAMqB,MAAM,CAAA,CAAA;AACxC,GAAA,EAAG,CAACrB,KAAK,CAAC,CAAA,CAAA;AAEV2C,EAAAA,iBAAA,CAAU,YAAM;AACd9B,IAAAA,iBAAA,CAAkBL,aAAalC,SAAS,CAAA,CAAA;AAC1C,GAAG,EAAA,CAACkC,SAAW,EAAAlC,SAAS,CAAC,CAAA,CAAA;AAEnB,EAAA,IAAAsE,cAAA,GAAiBC,gBAAQ,YAAM;AACnC,IAAA,IAAMC,QAAW,GAAA;MACfC,SAAS/B,UAAW,CAAAgC,QAAA;MACpBC,QAAQjC,UAAW,CAAAkC,KAAA;MACnBC,OAAOnC,UAAW,CAAAoC,EAAAA;KACpB,CAAA;IACA,OAAON,SAAS5D,MAAO,CAAA,CAAA;AACzB,GAAA,EAAG,CAACA,MAAM,CAAC,CAAA,CAAA;AAEX,EAAA,IAAMmE,cAAiB,GAAA,SAAjBA,cAAiBA,CAAAC,KAAA,EAA0B;AAAA,IAAA,IAAvBC,WAAA,GAAAD,KAAA,CAAAC,WAAA,CAAA;IACxB,IAAIA,WAAY,CAAAC,GAAA,KAAQ,OAAW,IAAAhG,KAAA,CAAMiG,kBAAkB,MAAQ,EAAA;MACjEC,oBAAA,CAASC,OAAQ,EAAA,CAAA;AACnB,KAAA;GACF,CAAA;AAEA,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAAC,gBAAA,EAAA;AAAKC,IAAAA,MAAO,EAAA,SAAA;AAAUhF,IAAAA,KAAO,EAAA,CAACO,MAAO,CAAA0E,OAAA,EAAS;AAAEC,MAAAA,eAAA,EAAiBrB,cAAAA;AAAe,KAAA,EAAG3D,cAAc,CAAA;AAChG,GAAA,iBAAA2E,KAAA,CAAAC,aAAA,CAACK,qBAAA,EAAA;AACCH,IAAAA,MAAO,EAAA,YAAA;AACPtG,IAAAA,GAAK,EAAAqD,QAAA;AACL/B,IAAAA,KAAA,EAAO,CAACO,MAAA,CAAO6E,KAAO,EAAA;MAAEC,SAAW,EAAA3F,IAAA,GAAO,EAAI;AAAA4F,MAAAA,MAAA,EAAQ,MAAA;KAAO,EAAGtF,KAAK,CAAA;AACrEiB,IAAAA,KAAA,EAAAA,KAAA;AACAsE,IAAAA,YAAc,EAAA1C,gBAAA;AACdlD,IAAAA,OAAS,EAAA6D,WAAA;AACT5D,IAAAA,MAAQ,EAAA+D,UAAA;AACR6B,IAAAA,QAAA,EAAU,CAACrG,QAAA,IAAY,CAACD,QAAA;AACxBuG,IAAAA,YAAc,EAAA7G,IAAA;AACdY,IAAAA,WAAA,EAAAA,WAAA;AACAkG,IAAAA,SAAS,EAAA,IAAA;IACThB,eAAejG,KAAM,CAAAiG,aAAA;AACrBiB,IAAAA,SAAW,EAAA9E,OAAA;AACX7B,IAAAA,SAAA,EAAAA,SAAA;AACA4G,IAAAA,UAAY,EAAAtB,cAAA;IACZuB,iBAAiBpH,KAAM,CAAAoH,eAAA;AACvBC,IAAAA,cAAA,EAAgBvF,OAAOwF,mBAAoB,CAAAC,KAAA;AAC3C3F,IAAAA,oBAAA,EAAuBA,oBAAwB,IAAAE,MAAA,CAAO0F,gBAAiB,CAAAD,KAAAA;GACzE,CACC,EAAAnE,cAAA,mBACEgD,KAAA,CAAAC,aAAA,CAAAC,gBAAA,EAAA;AAAK/E,IAAAA,KAAO,EAAA,CAACO,MAAO,CAAA2F,gBAAgB,CAAG;AAAAlB,IAAAA,MAAA,EAAO,aAAA;GAC5C,EAAAzF,SAAA,IAAaP,SACZ,mBAAA6F,KAAA,CAAAC,aAAA,CAACC,gBAAK,EAAA;IAAA/E,KAAA,EAAOO,MAAO,CAAA4F,SAAAA;AAAA,GAAA,iBACjBtB,KAAA,CAAAC,aAAA,CAAAsB,gBAAA,EAAA;IAAKpG,KAAO,EAAAO,MAAA,CAAO8F,KAAAA;AAAQ,GAAA,EAAAC,EAAAA,CAAAA,MAAA,CAAGC,IAAK,CAAAC,GAAA,CAAInF,sBAAwB,EAAArC,SAAS,CAAC,EAAA,GAAA,CAAA,CAAAsH,MAAA,CAAItH,SAAS,CAAG,CAC5F,CAAA,EAEDyC,SAAa,IAAAJ,sBAAA,IAA0BR,OACtC,mBAAAgE,KAAA,CAAAC,aAAA,CAACC,gBAAK,EAAA;IAAA/E,KAAA,EAAOO,MAAO,CAAA4F,SAAAA;AAAA,GAAA,iBACjBtB,KAAA,CAAAC,aAAA,CAAA2B,oCAAA,EAAA;AAAyBC,IAAAA,OAAS,EAAAnD,WAAAA;AAAA,GAAA,iBAChCsB,KAAA,CAAAC,aAAA,CAAAC,gBAAA,EAAA;IAAK/E,KAAO,EAAAO,MAAA,CAAOoG,kBAAAA;AAClB,GAAA,iBAAA9B,KAAA,CAAAC,aAAA,CAACsB,gBAAK,EAAA;IAAApG,KAAA,EAAOO,MAAO,CAAAqG,SAAAA;AAAA,GAAA,EAAW,cAAE,CACnC,CACF,CACF,CAEJ,CAEJ,CAAA,CAAA;AAEJ,CAAC,EAAA;AAGDrI,SAAA,CAAUsI,YAAe,GAAAC,wDAAA;;;;"}
1
+ {"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\") {\n // 阻止默认的回车行为(不插入回车符)\n nativeEvent.preventDefault();\n // 如果需要收起键盘,可以调用 Keyboard.dismiss()\n if (props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","preventDefault","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"mappings":"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"}
@@ -142,8 +142,11 @@ var TextField = /*#__PURE__*/forwardRef(function (props, ref) {
142
142
  }, [layout]);
143
143
  var handleKeyPress = function handleKeyPress(_ref2) {
144
144
  var nativeEvent = _ref2.nativeEvent;
145
- if (nativeEvent.key === "Enter" && props.returnKeyType !== "next") {
146
- Keyboard.dismiss();
145
+ if (nativeEvent.key === "Enter") {
146
+ nativeEvent.preventDefault();
147
+ if (props.returnKeyType !== "next") {
148
+ Keyboard.dismiss();
149
+ }
147
150
  }
148
151
  };
149
152
  return /* @__PURE__ */React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\" && props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\") {\n // 阻止默认的回车行为(不插入回车符)\n nativeEvent.preventDefault();\n // 如果需要收起键盘,可以调用 Keyboard.dismiss()\n if (props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","preventDefault","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"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-beta202511062045",
3
+ "version": "0.10.1-beta202511191947",
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-beta202511062045"
29
+ "@xhsreds/reds-token-next": "0.10.1-beta202511191947"
30
30
  },
31
31
  "peerDependenciesMeta": {
32
32
  "ozone-schema-web": {
@@ -134,8 +134,13 @@ const TextField = forwardRef((props: RedsTextView, ref) => {
134
134
  }, [layout]);
135
135
 
136
136
  const handleKeyPress = ({ nativeEvent }: any) => {
137
- if (nativeEvent.key === "Enter" && props.returnKeyType !== "next") {
138
- Keyboard.dismiss();
137
+ if (nativeEvent.key === "Enter") {
138
+ // 阻止默认的回车行为(不插入回车符)
139
+ nativeEvent.preventDefault();
140
+ // 如果需要收起键盘,可以调用 Keyboard.dismiss()
141
+ if (props.returnKeyType !== "next") {
142
+ Keyboard.dismiss();
143
+ }
139
144
  }
140
145
  };
141
146
 
@@ -26,7 +26,7 @@ export default function App() {
26
26
  clearable
27
27
  actionLayout={"horizontal"}
28
28
  autofocus={true}
29
- returnKeyType={"search"}
29
+ returnKeyType={"done"}
30
30
  />
31
31
  <Desc>最大长度</Desc>
32
32
  <TextView modelValue={modelValue} maxLength={100} showCount placeholder="占位符" />
@@ -1,31 +1,31 @@
1
1
  interface Resources {
2
2
  componentKey: {
3
- sureKey: "確定";
4
- satisfyKey: "滿意";
5
- confirmKey: "確認";
6
- uploadingKey: "上傳中";
3
+ sureKey: "确定";
4
+ satisfyKey: "满意";
5
+ confirmKey: "确认";
6
+ uploadingKey: "上传中";
7
7
  resetKey: "重置";
8
- NoDataKey: "暫無數據";
8
+ NoDataKey: "暂无数据";
9
9
  liveStreamingKey: "直播";
10
10
  generallyKey: "一般";
11
- uploadFailedKey: "上傳失敗";
11
+ uploadFailedKey: "上传失败";
12
12
  submitKey: "提交";
13
- requestSuccessfulKey: "請求成功";
13
+ requestSuccessfulKey: "请求成功";
14
14
  cancelKey: "取消";
15
- PullDownToRefreshKey: "下拉重繪";
16
- selectAllKey: "全選";
17
- requestDataKey: "請求數據中";
15
+ PullDownToRefreshKey: "下拉刷新";
16
+ selectAllKey: "全选";
17
+ requestDataKey: "请求数据中";
18
18
  closeKey: "收起";
19
- veryBadKey: "極差";
20
- searchKey: "蒐索";
21
- expandKey: "展開";
22
- IDCardPhotoKey: "身份證人像面";
19
+ veryBadKey: "极差";
20
+ searchKey: "搜索";
21
+ expandKey: "展开";
22
+ IDCardPhotoKey: "身份证人像面";
23
23
  finishKey: "完成";
24
- surpriseKey: "驚喜";
25
- releaseRefreshKey: "鬆開重繪";
24
+ surpriseKey: "惊喜";
25
+ releaseRefreshKey: "松开刷新";
26
26
  nationalEmblemSideOfIDCardKey: "身份证国徽面";
27
- buttonKey: "按鈕";
28
- jumpKey: "跳轉";
27
+ buttonKey: "按钮";
28
+ jumpKey: "跳转";
29
29
  disappointmentKey: "失望";
30
30
  };
31
31
  }
@@ -1,4 +1,35 @@
1
1
  {
2
+ "zh_cn": {
3
+ "componentKey": {
4
+ "sureKey": "确定",
5
+ "satisfyKey": "满意",
6
+ "confirmKey": "确认",
7
+ "uploadingKey": "上传中",
8
+ "resetKey": "重置",
9
+ "NoDataKey": "暂无数据",
10
+ "liveStreamingKey": "直播",
11
+ "generallyKey": "一般",
12
+ "uploadFailedKey": "上传失败",
13
+ "submitKey": "提交",
14
+ "requestSuccessfulKey": "请求成功",
15
+ "cancelKey": "取消",
16
+ "PullDownToRefreshKey": "下拉刷新",
17
+ "selectAllKey": "全选",
18
+ "requestDataKey": "请求数据中",
19
+ "closeKey": "收起",
20
+ "veryBadKey": "极差",
21
+ "searchKey": "搜索",
22
+ "expandKey": "展开",
23
+ "IDCardPhotoKey": "身份证人像面",
24
+ "finishKey": "完成",
25
+ "surpriseKey": "惊喜",
26
+ "releaseRefreshKey": "松开刷新",
27
+ "nationalEmblemSideOfIDCardKey": "身份证国徽面",
28
+ "buttonKey": "按钮",
29
+ "jumpKey": "跳转",
30
+ "disappointmentKey": "失望"
31
+ }
32
+ },
2
33
  "zh_tw": {
3
34
  "componentKey": {
4
35
  "sureKey": "確定",
@@ -60,36 +91,5 @@
60
91
  "jumpKey": "Jump",
61
92
  "disappointmentKey": "Disappointment"
62
93
  }
63
- },
64
- "zh_cn": {
65
- "componentKey": {
66
- "sureKey": "确定",
67
- "satisfyKey": "满意",
68
- "confirmKey": "确认",
69
- "uploadingKey": "上传中",
70
- "resetKey": "重置",
71
- "NoDataKey": "暂无数据",
72
- "liveStreamingKey": "直播",
73
- "generallyKey": "一般",
74
- "uploadFailedKey": "上传失败",
75
- "submitKey": "提交",
76
- "requestSuccessfulKey": "请求成功",
77
- "cancelKey": "取消",
78
- "PullDownToRefreshKey": "下拉刷新",
79
- "selectAllKey": "全选",
80
- "requestDataKey": "请求数据中",
81
- "closeKey": "收起",
82
- "veryBadKey": "极差",
83
- "searchKey": "搜索",
84
- "expandKey": "展开",
85
- "IDCardPhotoKey": "身份证人像面",
86
- "finishKey": "完成",
87
- "surpriseKey": "惊喜",
88
- "releaseRefreshKey": "松开刷新",
89
- "nationalEmblemSideOfIDCardKey": "身份证国徽面",
90
- "buttonKey": "按钮",
91
- "jumpKey": "跳转",
92
- "disappointmentKey": "失望"
93
- }
94
94
  }
95
95
  }