taro-react-uilib 1.4.15 → 1.4.17

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.
@@ -1,2 +1,2 @@
1
- import e,{forwardRef as n,useImperativeHandle as r}from"react";import a from"classnames";import{View as o}from"@tarojs/components";import l from"../FormInput/index.js";import{checkBankCard as t,creditCard as c}from"../src/utils/index.js";var i=n((function(n,i){var m=n.showScan,u=void 0!==m&&m,s=n.label,d=n.value,p=n.bankName,f=n.readOnly,b=n.direction,h=void 0===b?"column":b,v=n.onScan,x=n.placeholder,g=void 0===x?"请输入银行卡号":x,E=n.onError,k=n.onChange,N=n.maxlength,j=void 0===N?23:N,y=n.slot,C=n.className,w=n.border,B=n.onBlur;return r(i,(function(){return{isValid:t(d.replace(/\s/g,"")),focus:function(){var e;"object"==typeof i&&(null===(e=null==i?void 0:i.current)||void 0===e||e.focus())}}}),[d]),e.createElement(o,{className:a("xh-bankcard-number-input",C)},e.createElement(l,{padding:!0,ref:i,RightComponent:u&&e.createElement(o,{onClick:function(){null==v||v()},className:"xh-bankcard-number-input-scan"}),direction:h,label:s,mainExtra:"row"!==h&&e.createElement(o,{className:"xh-bankcard-number-input-name"},p),maxlength:j,placeholder:g,readonly:f,type:"tel",border:w,value:c(d),onBlur:function(e){null==B||B(),t(e.replace(/\s/g,""))||null==E||E(""===e?"银行卡号不能为空":"银行卡号格式不正确")},onChange:function(e){var n=c(e);null==k||k(n)}}),y&&e.createElement(o,{className:"xh-bankcard-number-input-slot"},y))}));export{i as default};
1
+ import n,{forwardRef as e,useImperativeHandle as r}from"react";import a from"classnames";import{View as o}from"@tarojs/components";import t from"../FormInput/index.js";import{creditCard as l,checkBankCard as c}from"../src/utils/index.js";var i=e((function(e,i){var u=e.showScan,m=void 0!==u&&u,s=e.label,d=e.value,p=e.bankName,f=e.readOnly,b=e.direction,h=void 0===b?"column":b,v=e.onScan,x=e.placeholder,g=void 0===x?"请输入银行卡号":x,E=e.onError,k=e.onChange,N=e.maxlength,j=void 0===N?23:N,y=e.slot,C=e.className,w=e.border,B=e.onBlur,S=function(n){var e=n.replace(/\s/g,"");return!(e.length<16||e.length>19)&&c(e)};return r(i,(function(){return{isValid:S(d),focus:function(){var n;"object"==typeof i&&(null===(n=null==i?void 0:i.current)||void 0===n||n.focus())}}}),[d]),n.createElement(o,{className:a("xh-bankcard-number-input",C)},n.createElement(t,{padding:!0,ref:i,RightComponent:m&&n.createElement(o,{onClick:function(){null==v||v()},className:"xh-bankcard-number-input-scan"}),direction:h,label:s,mainExtra:"row"!==h&&n.createElement(o,{className:"xh-bankcard-number-input-name"},p),maxlength:j,placeholder:g,readonly:f,type:"tel",border:w,value:l(d),onBlur:function(n){null==B||B(),S(n)||null==E||E(""===n?"银行卡号不能为空":"银行卡号格式不正确")},onChange:function(n){var e=l(n);null==k||k(e)}}),y&&n.createElement(o,{className:"xh-bankcard-number-input-slot"},y))}));export{i as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/BankCardNumberInput/index.tsx"],"sourcesContent":["import React, { ReactNode, forwardRef, useImperativeHandle } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\n\nimport XHFormInput from \"../FormInput\";\nimport { checkBankCard, creditCard } from \"../../utils\";\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nexport type PhoneNumberInputProps = {\n showScan?: boolean;\n label?: string;\n /**\n * 只有在direction为column才生效\n */\n bankName?: ReactNode;\n onChange?: (value: string) => void;\n value: string;\n placeholder?: string;\n readOnly?: boolean;\n disabled?: boolean;\n direction?: \"column\" | \"row\";\n onScan?: () => void;\n onError?: (msg: string) => void;\n maxlength?: number;\n slot?: ReactNode;\n border?: boolean;\n onBlur?: () => void;\n} & XHComponentCommonProps;\n\nexport type BankCardNumberInputRef = { isValid: boolean; focus: () => void };\n\nconst BankCardNumberInput = forwardRef<\n BankCardNumberInputRef,\n PhoneNumberInputProps\n>((props, fromRef) => {\n const {\n showScan = false,\n label,\n value,\n bankName,\n readOnly,\n direction = \"column\",\n onScan,\n placeholder = \"请输入银行卡号\",\n onError,\n onChange,\n maxlength = 23,\n slot,\n className,\n border,\n onBlur,\n } = props;\n\n const handleBlur = value => {\n console.log(\"blur\");\n onBlur?.();\n if (!checkBankCard(value.replace(/\\s/g, \"\")))\n onError?.(value === \"\" ? \"银行卡号不能为空\" : \"银行卡号格式不正确\");\n };\n\n const handleChange = value => {\n const formatValue = creditCard(value);\n onChange?.(formatValue);\n };\n\n const handleOnScan = () => {\n console.log(fromRef, \"fromRef...\");\n onScan?.();\n };\n\n useImperativeHandle(\n fromRef,\n () => {\n return {\n isValid: checkBankCard(value.replace(/\\s/g, \"\")),\n focus: () => {\n if (typeof fromRef === \"object\") {\n fromRef?.current?.focus();\n }\n },\n };\n },\n [value]\n );\n\n return (\n <View className={classNames(\"xh-bankcard-number-input\", className)}>\n <XHFormInput\n padding\n ref={fromRef}\n RightComponent={\n showScan && (\n <View\n onClick={handleOnScan}\n className=\"xh-bankcard-number-input-scan\"\n ></View>\n )\n }\n direction={direction}\n label={label}\n mainExtra={\n direction !== \"row\" && (\n <View className=\"xh-bankcard-number-input-name\">{bankName}</View>\n )\n }\n maxlength={maxlength}\n placeholder={placeholder}\n readonly={readOnly}\n type=\"tel\"\n border={border}\n value={creditCard(value)}\n onBlur={handleBlur}\n onChange={handleChange}\n />\n {slot && <View className=\"xh-bankcard-number-input-slot\">{slot}</View>}\n </View>\n );\n});\n\nexport default BankCardNumberInput;\n"],"names":["BankCardNumberInput","forwardRef","props","fromRef","_a","showScan","label","value","bankName","readOnly","_b","direction","onScan","_c","placeholder","onError","onChange","_d","maxlength","slot","className","border","onBlur","useImperativeHandle","isValid","checkBankCard","replace","focus","current","React","createElement","View","classNames","XHFormInput","padding","ref","RightComponent","onClick","mainExtra","readonly","type","creditCard","formatValue"],"mappings":"8OAgCA,IAAMA,EAAsBC,GAG1B,SAACC,EAAOC,GAEN,IAAAC,EAeEF,EAAKG,SAfPA,OAAQ,IAAAD,GAAQA,EAChBE,EAcEJ,QAbFK,EAaEL,EAAKK,MAZPC,EAYEN,EAZMM,SACRC,EAWEP,WAVFQ,EAUER,EAVkBS,UAApBA,OAAY,IAAAD,EAAA,WACZE,EASEV,EAAKU,OARPC,EAQEX,EARqBY,YAAvBA,OAAc,IAAAD,EAAA,YACdE,EAOEb,EAAKa,QANPC,EAMEd,EANMc,SACRC,EAKEf,EAAKgB,UALPA,OAAS,IAAAD,EAAG,GAAEA,EACdE,EAIEjB,OAHFkB,EAGElB,EAAKkB,UAFPC,EAEEnB,EAFImB,OACNC,EACEpB,SAkCJ,OAfAqB,EACEpB,GACA,WACE,MAAO,CACLqB,QAASC,EAAclB,EAAMmB,QAAQ,MAAO,KAC5CC,MAAO,iBACkB,iBAAZxB,IACO,QAAhBC,EAAAD,aAAA,EAAAA,EAASyB,eAAO,IAAAxB,GAAAA,EAAEuB,QAErB,EAEL,GACA,CAACpB,IAIDsB,EAACC,cAAAC,EAAK,CAAAX,UAAWY,EAAW,2BAA4BZ,IACtDS,EAAAC,cAACG,EACC,CAAAC,WACAC,IAAKhC,EACLiC,eACE/B,GACEwB,EAAAC,cAACC,EACC,CAAAM,QA5BS,WAEnBzB,SAAAA,GACF,EA0BYQ,UAAU,kCAIhBT,UAAWA,EACXL,MAAOA,EACPgC,UACgB,QAAd3B,GACEkB,EAACC,cAAAC,EAAK,CAAAX,UAAU,iCAAiCZ,GAGrDU,UAAWA,EACXJ,YAAaA,EACbyB,SAAU9B,EACV+B,KAAK,MACLnB,OAAQA,EACRd,MAAOkC,EAAWlC,GAClBe,OA1Da,SAAAf,GAEjBe,SAAAA,IACKG,EAAclB,EAAMmB,QAAQ,MAAO,MACtCX,SAAAA,EAAoB,KAAVR,EAAe,WAAa,YAC1C,EAsDMS,SApDe,SAAAT,GACnB,IAAMmC,EAAcD,EAAWlC,GAC/BS,SAAAA,EAAW0B,EACb,IAmDKvB,GAAQU,EAAAC,cAACC,EAAI,CAACX,UAAU,iCAAiCD,GAGhE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/BankCardNumberInput/index.tsx"],"sourcesContent":["import React, { ReactNode, forwardRef, useImperativeHandle } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\n\nimport XHFormInput from \"../FormInput\";\nimport { checkBankCard, creditCard } from \"../../utils\";\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nexport type PhoneNumberInputProps = {\n showScan?: boolean;\n label?: string;\n /**\n * 只有在direction为column才生效\n */\n bankName?: ReactNode;\n onChange?: (value: string) => void;\n value: string;\n placeholder?: string;\n readOnly?: boolean;\n disabled?: boolean;\n direction?: \"column\" | \"row\";\n onScan?: () => void;\n onError?: (msg: string) => void;\n maxlength?: number;\n slot?: ReactNode;\n border?: boolean;\n onBlur?: () => void;\n} & XHComponentCommonProps;\n\nexport type BankCardNumberInputRef = { isValid: boolean; focus: () => void };\n\nconst BankCardNumberInput = forwardRef<\n BankCardNumberInputRef,\n PhoneNumberInputProps\n>((props, fromRef) => {\n const {\n showScan = false,\n label,\n value,\n bankName,\n readOnly,\n direction = \"column\",\n onScan,\n placeholder = \"请输入银行卡号\",\n onError,\n onChange,\n maxlength = 23,\n slot,\n className,\n border,\n onBlur,\n } = props;\n\n const validateCardNumber = value => {\n const newVal = value.replace(/\\s/g, \"\");\n if (newVal.length < 16 || newVal.length > 19) return false;\n return checkBankCard(newVal);\n };\n\n const handleBlur = value => {\n console.log(\"blur\");\n onBlur?.();\n if (!validateCardNumber(value))\n onError?.(value === \"\" ? \"银行卡号不能为空\" : \"银行卡号格式不正确\");\n };\n\n const handleChange = value => {\n const formatValue = creditCard(value);\n onChange?.(formatValue);\n };\n\n const handleOnScan = () => {\n console.log(fromRef, \"fromRef...\");\n onScan?.();\n };\n\n useImperativeHandle(\n fromRef,\n () => {\n return {\n isValid: validateCardNumber(value),\n focus: () => {\n if (typeof fromRef === \"object\") {\n fromRef?.current?.focus();\n }\n },\n };\n },\n [value]\n );\n\n return (\n <View className={classNames(\"xh-bankcard-number-input\", className)}>\n <XHFormInput\n padding\n ref={fromRef}\n RightComponent={\n showScan && (\n <View\n onClick={handleOnScan}\n className=\"xh-bankcard-number-input-scan\"\n ></View>\n )\n }\n direction={direction}\n label={label}\n mainExtra={\n direction !== \"row\" && (\n <View className=\"xh-bankcard-number-input-name\">{bankName}</View>\n )\n }\n maxlength={maxlength}\n placeholder={placeholder}\n readonly={readOnly}\n type=\"tel\"\n border={border}\n value={creditCard(value)}\n onBlur={handleBlur}\n onChange={handleChange}\n />\n {slot && <View className=\"xh-bankcard-number-input-slot\">{slot}</View>}\n </View>\n );\n});\n\nexport default BankCardNumberInput;\n"],"names":["BankCardNumberInput","forwardRef","props","fromRef","_a","showScan","label","value","bankName","readOnly","_b","direction","onScan","_c","placeholder","onError","onChange","_d","maxlength","slot","className","border","onBlur","validateCardNumber","newVal","replace","length","checkBankCard","useImperativeHandle","isValid","focus","current","React","createElement","View","classNames","XHFormInput","padding","ref","RightComponent","onClick","mainExtra","readonly","type","creditCard","formatValue"],"mappings":"8OAgCA,IAAMA,EAAsBC,GAG1B,SAACC,EAAOC,GAEN,IAAAC,EAeEF,EAAKG,SAfPA,OAAQ,IAAAD,GAAQA,EAChBE,EAcEJ,QAbFK,EAaEL,EAAKK,MAZPC,EAYEN,EAZMM,SACRC,EAWEP,WAVFQ,EAUER,EAVkBS,UAApBA,OAAY,IAAAD,EAAA,WACZE,EASEV,EAAKU,OARPC,EAQEX,EARqBY,YAAvBA,OAAc,IAAAD,EAAA,YACdE,EAOEb,EAAKa,QANPC,EAMEd,EANMc,SACRC,EAKEf,EAAKgB,UALPA,OAAS,IAAAD,EAAG,GAAEA,EACdE,EAIEjB,OAHFkB,EAGElB,EAAKkB,UAFPC,EAEEnB,EAFImB,OACNC,EACEpB,SAEEqB,EAAqB,SAAAhB,GACzB,IAAMiB,EAASjB,EAAMkB,QAAQ,MAAO,IACpC,QAAID,EAAOE,OAAS,IAAMF,EAAOE,OAAS,KACnCC,EAAcH,EACvB,EAkCA,OAfAI,EACEzB,GACA,WACE,MAAO,CACL0B,QAASN,EAAmBhB,GAC5BuB,MAAO,iBACkB,iBAAZ3B,IACO,QAAhBC,EAAAD,aAAA,EAAAA,EAAS4B,eAAO,IAAA3B,GAAAA,EAAE0B,QAErB,EAEL,GACA,CAACvB,IAIDyB,EAACC,cAAAC,EAAK,CAAAd,UAAWe,EAAW,2BAA4Bf,IACtDY,EAAAC,cAACG,EACC,CAAAC,WACAC,IAAKnC,EACLoC,eACElC,GACE2B,EAAAC,cAACC,EACC,CAAAM,QA5BS,WAEnB5B,SAAAA,GACF,EA0BYQ,UAAU,kCAIhBT,UAAWA,EACXL,MAAOA,EACPmC,UACgB,QAAd9B,GACEqB,EAACC,cAAAC,EAAK,CAAAd,UAAU,iCAAiCZ,GAGrDU,UAAWA,EACXJ,YAAaA,EACb4B,SAAUjC,EACVkC,KAAK,MACLtB,OAAQA,EACRd,MAAOqC,EAAWrC,GAClBe,OA1Da,SAAAf,GAEjBe,SAAAA,IACKC,EAAmBhB,IACtBQ,SAAAA,EAAoB,KAAVR,EAAe,WAAa,YAC1C,EAsDMS,SApDe,SAAAT,GACnB,IAAMsC,EAAcD,EAAWrC,GAC/BS,SAAAA,EAAW6B,EACb,IAmDK1B,GAAQa,EAAAC,cAACC,EAAI,CAACd,UAAU,iCAAiCD,GAGhE"}