taro-react-uilib 1.3.4-1 → 1.3.4-11

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 (210) hide show
  1. package/CHANGELOG.md +291 -4
  2. package/dist/components/ActionSheet/index.js +2 -0
  3. package/dist/components/ActionSheet/index.js.map +1 -0
  4. package/dist/components/ActivityIndicator/index.js +2 -0
  5. package/dist/components/ActivityIndicator/index.js.map +1 -0
  6. package/dist/components/AmountKeyboard/index.js +1 -1
  7. package/dist/components/AmountKeyboard/index.js.map +1 -1
  8. package/dist/components/Button/index.js +1 -1
  9. package/dist/components/Button/index.js.map +1 -1
  10. package/dist/components/Captcha/index.js +1 -1
  11. package/dist/components/Captcha/index.js.map +1 -1
  12. package/dist/components/Cell/index.js +2 -0
  13. package/dist/components/Cell/index.js.map +1 -0
  14. package/dist/components/Checkbox/index.js +1 -1
  15. package/dist/components/Checkbox/index.js.map +1 -1
  16. package/dist/components/Dialog/Alert/index.js +1 -1
  17. package/dist/components/Dialog/Alert/index.js.map +1 -1
  18. package/dist/components/Dialog/Confirm/index.js +1 -1
  19. package/dist/components/Dialog/Confirm/index.js.map +1 -1
  20. package/dist/components/DialogComponent/index.js.map +1 -1
  21. package/dist/components/DialogRef/index.js +1 -1
  22. package/dist/components/DialogRef/index.js.map +1 -1
  23. package/dist/components/FormInput/index.js +1 -1
  24. package/dist/components/FormInput/index.js.map +1 -1
  25. package/dist/components/Icon/index.js.map +1 -1
  26. package/dist/components/LinkMan/index.js +2 -0
  27. package/dist/components/LinkMan/index.js.map +1 -0
  28. package/dist/components/List/index.js +1 -1
  29. package/dist/components/List/index.js.map +1 -1
  30. package/dist/components/Loading/index.js +1 -1
  31. package/dist/components/Loading/index.js.map +1 -1
  32. package/dist/components/NavBar/index.js +1 -1
  33. package/dist/components/NavBar/index.js.map +1 -1
  34. package/dist/components/NumberKeyboard/index.js +1 -1
  35. package/dist/components/NumberKeyboard/index.js.map +1 -1
  36. package/dist/components/Page/index.js +1 -1
  37. package/dist/components/Page/index.js.map +1 -1
  38. package/dist/components/Popup/index.js +1 -1
  39. package/dist/components/Popup/index.js.map +1 -1
  40. package/dist/components/Progress/index.js +1 -1
  41. package/dist/components/Progress/index.js.map +1 -1
  42. package/dist/components/ProgressCircle/index.js +2 -0
  43. package/dist/components/ProgressCircle/index.js.map +1 -0
  44. package/dist/components/Radio/index.js +1 -1
  45. package/dist/components/Radio/index.js.map +1 -1
  46. package/dist/components/Rank/index.js +2 -0
  47. package/dist/components/Rank/index.js.map +1 -0
  48. package/dist/components/Result/images/result-empty.png.js +2 -0
  49. package/dist/components/Result/images/result-empty.png.js.map +1 -0
  50. package/dist/components/Result/images/result-fail.png.js +2 -0
  51. package/dist/components/Result/images/result-fail.png.js.map +1 -0
  52. package/dist/components/Result/images/result-networkErr.png.js +2 -0
  53. package/dist/components/Result/images/result-networkErr.png.js.map +1 -0
  54. package/dist/components/Result/images/result-submitted.png.js +2 -0
  55. package/dist/components/Result/images/result-submitted.png.js.map +1 -0
  56. package/dist/components/Result/images/result-success.png.js +2 -0
  57. package/dist/components/Result/images/result-success.png.js.map +1 -0
  58. package/dist/components/Result/images/result-wait.png.js +2 -0
  59. package/dist/components/Result/images/result-wait.png.js.map +1 -0
  60. package/dist/components/Result/index.js +2 -0
  61. package/dist/components/Result/index.js.map +1 -0
  62. package/dist/components/Result/statusMap.js +2 -0
  63. package/dist/components/Result/statusMap.js.map +1 -0
  64. package/dist/components/Step/Steps/index.js +1 -1
  65. package/dist/components/Step/Steps/index.js.map +1 -1
  66. package/dist/components/Step/index.js +1 -1
  67. package/dist/components/Step/index.js.map +1 -1
  68. package/dist/components/Switch/index.js +2 -0
  69. package/dist/components/Switch/index.js.map +1 -0
  70. package/dist/components/Tabbar/index.js.map +1 -1
  71. package/dist/components/Tabbar/tabbar/TabItem.js.map +1 -1
  72. package/dist/components/Tabbar/tabbar/Tabbar.js +1 -1
  73. package/dist/components/Tabbar/tabbar/Tabbar.js.map +1 -1
  74. package/dist/components/src/index.js +1 -1
  75. package/dist/index.js +6 -6
  76. package/dist/index.js.map +1 -1
  77. package/dist/index.umd.js +6 -6
  78. package/dist/index.umd.js.map +1 -1
  79. package/dist/styles/components/actionsheet.scss +122 -0
  80. package/dist/styles/components/activityindicator.scss +46 -0
  81. package/dist/styles/components/amountinput.scss +5 -6
  82. package/dist/styles/components/amountkeyboard.scss +30 -12
  83. package/dist/styles/components/badge.scss +0 -1
  84. package/dist/styles/components/bankicon.scss +1 -1
  85. package/dist/styles/components/button.scss +35 -22
  86. package/dist/styles/components/captcha.scss +10 -5
  87. package/dist/styles/components/cell.scss +131 -0
  88. package/dist/styles/components/checkbox.scss +5 -6
  89. package/dist/styles/components/dialog.scss +16 -16
  90. package/dist/styles/components/dialogref.scss +14 -30
  91. package/dist/styles/components/font/iconfont.ttf +0 -0
  92. package/dist/styles/components/font/iconfont.woff +0 -0
  93. package/dist/styles/components/font/iconfont.woff2 +0 -0
  94. package/dist/styles/components/forminput.scss +40 -28
  95. package/dist/styles/components/icon.scss +6 -2
  96. package/dist/styles/components/index.scss +8 -0
  97. package/dist/styles/components/linkman.scss +81 -0
  98. package/dist/styles/components/list.scss +18 -6
  99. package/dist/styles/components/loading.scss +39 -40
  100. package/dist/styles/components/mask.scss +1 -1
  101. package/dist/styles/components/navbar.scss +10 -1
  102. package/dist/styles/components/numberkeyboard.scss +48 -36
  103. package/dist/styles/components/page.scss +2 -2
  104. package/dist/styles/components/passwordinput.scss +1 -1
  105. package/dist/styles/components/picker.scss +0 -1
  106. package/dist/styles/components/popup.scss +4 -5
  107. package/dist/styles/components/progress.scss +57 -3
  108. package/dist/styles/components/progresscircle.scss +71 -0
  109. package/dist/styles/components/radio.scss +5 -6
  110. package/dist/styles/components/rank.scss +50 -0
  111. package/dist/styles/components/result.scss +39 -0
  112. package/dist/styles/components/step.scss +10 -2
  113. package/dist/styles/components/switch.scss +40 -0
  114. package/dist/styles/components/tabbar.scss +9 -2
  115. package/dist/styles/components/toast.scss +0 -1
  116. package/dist/styles/themes/default.scss +21 -8
  117. package/dist/styles/themes/variable.scss +16 -0
  118. package/lib/components/ActionSheet/index.js +57 -0
  119. package/lib/components/ActionSheet/index.js.map +1 -0
  120. package/lib/components/ActivityIndicator/index.js +30 -0
  121. package/lib/components/ActivityIndicator/index.js.map +1 -0
  122. package/lib/components/AmountKeyboard/index.js +1 -1
  123. package/lib/components/AmountKeyboard/index.js.map +1 -1
  124. package/lib/components/Button/index.js +15 -14
  125. package/lib/components/Button/index.js.map +1 -1
  126. package/lib/components/Captcha/index.js +2 -2
  127. package/lib/components/Captcha/index.js.map +1 -1
  128. package/lib/components/Cell/index.js +29 -0
  129. package/lib/components/Cell/index.js.map +1 -0
  130. package/lib/components/Checkbox/index.js +14 -3
  131. package/lib/components/Checkbox/index.js.map +1 -1
  132. package/lib/components/Dialog/Alert/index.js +3 -3
  133. package/lib/components/Dialog/Alert/index.js.map +1 -1
  134. package/lib/components/Dialog/Confirm/index.js +3 -3
  135. package/lib/components/Dialog/Confirm/index.js.map +1 -1
  136. package/lib/components/DialogComponent/index.js +0 -2
  137. package/lib/components/DialogComponent/index.js.map +1 -1
  138. package/lib/components/DialogRef/index.js +6 -14
  139. package/lib/components/DialogRef/index.js.map +1 -1
  140. package/lib/components/FormInput/index.js +3 -2
  141. package/lib/components/FormInput/index.js.map +1 -1
  142. package/lib/components/Icon/index.js.map +1 -1
  143. package/lib/components/LinkMan/index.js +341 -0
  144. package/lib/components/LinkMan/index.js.map +1 -0
  145. package/lib/components/List/index.js +3 -1
  146. package/lib/components/List/index.js.map +1 -1
  147. package/lib/components/Loading/index.js +7 -4
  148. package/lib/components/Loading/index.js.map +1 -1
  149. package/lib/components/NavBar/index.js +10 -3
  150. package/lib/components/NavBar/index.js.map +1 -1
  151. package/lib/components/NumberKeyboard/index.js +4 -2
  152. package/lib/components/NumberKeyboard/index.js.map +1 -1
  153. package/lib/components/Page/index.js +1 -1
  154. package/lib/components/Page/index.js.map +1 -1
  155. package/lib/components/Popup/index.js +3 -3
  156. package/lib/components/Popup/index.js.map +1 -1
  157. package/lib/components/Progress/index.js +17 -10
  158. package/lib/components/Progress/index.js.map +1 -1
  159. package/lib/components/ProgressCircle/index.js +22 -0
  160. package/lib/components/ProgressCircle/index.js.map +1 -0
  161. package/lib/components/Radio/index.js +14 -3
  162. package/lib/components/Radio/index.js.map +1 -1
  163. package/lib/components/Rank/index.js +22 -0
  164. package/lib/components/Rank/index.js.map +1 -0
  165. package/lib/components/Result/index.js +30 -0
  166. package/lib/components/Result/index.js.map +1 -0
  167. package/lib/components/Result/statusMap.js +15 -0
  168. package/lib/components/Result/statusMap.js.map +1 -0
  169. package/lib/components/Step/Steps/index.js +1 -0
  170. package/lib/components/Step/Steps/index.js.map +1 -1
  171. package/lib/components/Step/index.js +2 -1
  172. package/lib/components/Step/index.js.map +1 -1
  173. package/lib/components/Switch/index.js +26 -0
  174. package/lib/components/Switch/index.js.map +1 -0
  175. package/lib/components/Tabbar/index.js +1 -0
  176. package/lib/components/Tabbar/index.js.map +1 -1
  177. package/lib/components/Tabbar/tabbar/TabItem.js +0 -1
  178. package/lib/components/Tabbar/tabbar/TabItem.js.map +1 -1
  179. package/lib/components/Tabbar/tabbar/Tabbar.js +26 -13
  180. package/lib/components/Tabbar/tabbar/Tabbar.js.map +1 -1
  181. package/lib/index.js +8 -0
  182. package/lib/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/types/components/ActivityIndicator/index.d.ts +7 -5
  185. package/types/components/AmountKeyboard/index.d.ts +7 -1
  186. package/types/components/Button/index.d.ts +6 -1
  187. package/types/components/Captcha/index.d.ts +1 -1
  188. package/types/components/Cell/index.d.ts +1 -0
  189. package/types/components/DialogRef/index.d.ts +2 -0
  190. package/types/components/Icon/index.d.ts +1 -1
  191. package/types/components/LinkMan/index.d.ts +33 -0
  192. package/types/components/Loading/index.d.ts +1 -0
  193. package/types/components/NavBar/index.d.ts +1 -0
  194. package/types/components/NumberKeyboard/index.d.ts +2 -0
  195. package/types/components/Page/index.d.ts +1 -0
  196. package/types/components/Popup/index.d.ts +1 -0
  197. package/types/components/Progress/index.d.ts +4 -0
  198. package/types/components/ProgressCircle/index.d.ts +13 -0
  199. package/types/components/Result/index.d.ts +16 -0
  200. package/types/components/Result/statusMap.d.ts +9 -0
  201. package/types/components/Step/index.d.ts +1 -0
  202. package/types/components/Tabbar/index.d.ts +1 -0
  203. package/types/components/Tabbar/tabbar/TabItem.d.ts +0 -1
  204. package/types/components/Tabbar/tabbar/Tabbar.d.ts +4 -3
  205. package/types/index.d.ts +8 -0
  206. package/dist/styles/components/images/backspace.png +0 -0
  207. package/dist/styles/components/images/closeKeyboard.png +0 -0
  208. package/dist/styles/components/images/icon-arrow-right.png +0 -0
  209. package/dist/styles/components/images/loading.png +0 -0
  210. /package/{README.md → readme.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Checkbox/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { CheckboxGroup } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport Group from \"./Group\";\nimport \"./index.scss\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHCheckboxProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHCheckboxProps = {\n onChange?: (check: boolean, value: string) => void;\n checked?: boolean;\n name?: string;\n label: string | ReactNode;\n size?: number;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n value?: string | number;\n id?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHCheckbox: FC<XHCheckboxProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n color = \"#f6ab00\",\n } = props;\n\n const finalId = useGenerateId(id, \"xh-checkbox-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n if (process.env.TARO_ENV === \"h5\") {\n finalchecked = e.target.checked;\n value = e.target.value;\n } else {\n finalchecked = e.detail.value.length > 0;\n value = e.detail.value[0];\n }\n onChange && onChange(finalchecked, value);\n };\n\n const cls = classNames(\"xh-checkbox\", className, align, direction, justify, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <CheckboxGroup onChange={handleOnchange}>\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className={classNames(\"xh-checkbox-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n onChange={handleOnchange}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n className={classNames(\n \"xh-checkbox-input-fake\",\n circle && \"circle\",\n { tt: process.env.TARO_ENV === \"tt\" }\n )}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n </CheckboxGroup>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className=\"xh-checkbox-input\"\n onChange={handleOnchange}\n value={value}\n defaultChecked={checked}\n />\n <span\n className={classNames(\"xh-checkbox-input-fake\", circle && \"circle\")}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n );\n};\n\nconst CheckBox = XHCheckbox as CompoundedComponent;\nCheckBox.Group = Group;\n\nexport default CheckBox;\n"],"names":["CheckBox","props","className","name","label","id","circle","onChange","align","direction","justify","checked","disabled","value","style","_a","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","h5","React","createElement","CheckboxGroup","htmlFor","type","tt","defaultChecked","Group"],"mappings":"+KAmCA,IAqFMA,EArFkC,SAAAC,GAEpC,IAAAC,EAcED,EAAKC,UAbPC,EAaEF,EAAKE,KAZPC,EAYEH,EAAKG,MAXPC,EAWEJ,EAAKI,GAVPC,EAUEL,SATFM,EASEN,WARFO,EAQEP,QAPFQ,EAOER,EAPOQ,UACTC,EAMET,EANKS,QACPC,EAKEV,EALKU,QACPC,EAIEX,EAJMW,SACRC,EAGEZ,EAHGY,MACLC,EAEEb,EAFGa,MACLC,EACEd,QADFe,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAcb,EAAI,kBAE5Bc,EAAiB,SAAAC,GACrB,IAAIC,EAAeV,IAAW,EAC1BE,EAAQ,GACiB,OAAzBS,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOd,QACxBE,EAAQO,EAAEK,OAAOZ,QAEjBQ,EAAeD,EAAEM,OAAOb,MAAMc,OAAS,EACvCd,EAAQO,EAAEM,OAAOb,MAAM,IAEzBN,GAAYA,EAASc,EAAcR,EACrC,EAEMe,EAAMC,EAAW,cAAe3B,EAAWM,EAAOC,EAAWC,EAAS,CAC1EoB,GAA6B,OAAzBR,QAAQC,IAAIC,WAElB,MAA6B,OAAzBF,QAAQC,IAAIC,SAEZO,EAACC,cAAAC,EAAc,CAAA1B,SAAUY,GACvBY,EAAOC,cAAA,QAAA,CAAAE,QAASjB,EAASf,UAAW0B,EAAKd,MAAOA,GAC9CiB,EAAAC,cAAA,QAAA,CACEG,KAAK,WACL9B,GAAIY,EACJd,KAAMA,EACND,UAAW2B,EAAW,oBAAqB,CACzCO,GAA6B,OAAzBd,QAAQC,IAAIC,WAElBjB,SAAUY,EACVP,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTK,MAAOA,IAETe,EACEC,cAAA,OAAA,CAAA9B,UAAW2B,EACT,yBACAvB,GAAU,SACV,CAAE8B,GAA6B,OAAzBd,QAAQC,IAAIC,aAGtBO,EAAMC,cAAA,OAAA,CAAA9B,UAAU,qBAAqBE,KAO3C2B,EAAAC,cAAA,QAAA,CAAOE,QAASjB,EAASf,UAAW0B,EAAKd,MAAOA,GAC9CiB,EACEC,cAAA,QAAA,CAAAG,KAAK,WACL9B,GAAIY,EACJd,KAAMA,EACND,UAAU,oBACVK,SAAUY,EACVN,MAAOA,EACPwB,eAAgB1B,IAElBoB,EACEC,cAAA,OAAA,CAAA9B,UAAW2B,EAAW,yBAA0BvB,GAAU,YAE5DyB,EAAMC,cAAA,OAAA,CAAA9B,UAAU,qBAAqBE,GAG3C,EAGAJ,EAASsC,MAAQA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Checkbox/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { CheckboxGroup } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport { pxTransform } from \"@/utils\";\nimport Group from \"./Group\";\nimport \"./index.scss\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHCheckboxProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHCheckboxProps = {\n onChange?: (check: boolean, value: string) => void;\n checked?: boolean;\n name?: string;\n label: string | ReactNode;\n size?: number;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n value?: string | number;\n id?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHCheckbox: FC<XHCheckboxProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n size = 0,\n color = \"#f6ab00\",\n } = props;\n\n const finalId = useGenerateId(id, \"xh-checkbox-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n if (process.env.TARO_ENV === \"h5\") {\n finalchecked = e.target.checked;\n value = e.target.value;\n } else {\n finalchecked = e.detail.value.length > 0;\n value = e.detail.value[0];\n }\n onChange && onChange(finalchecked, value);\n };\n\n const cls = classNames(\"xh-checkbox\", className, align, direction, justify, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <CheckboxGroup onChange={handleOnchange}>\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className={classNames(\"xh-checkbox-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n onChange={handleOnchange}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n className={classNames(\n \"xh-checkbox-input-fake\",\n circle && \"circle\",\n { tt: process.env.TARO_ENV === \"tt\" }\n )}\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n </CheckboxGroup>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className=\"xh-checkbox-input\"\n onChange={handleOnchange}\n value={value}\n defaultChecked={checked}\n />\n <span\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n className={classNames(\"xh-checkbox-input-fake\", circle && \"circle\")}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n );\n};\n\nconst CheckBox = XHCheckbox as CompoundedComponent;\nCheckBox.Group = Group;\n\nexport default CheckBox;\n"],"names":["CheckBox","props","className","name","label","id","circle","onChange","align","direction","justify","checked","disabled","value","style","_a","size","_b","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","h5","React","createElement","CheckboxGroup","htmlFor","type","tt","width","pxTransform","height","defaultChecked","Group"],"mappings":"mOAoCA,IAsGMA,EAtGkC,SAAAC,GAEpC,IAAAC,EAeED,EAfOC,UACTC,EAcEF,EAdEE,KACJC,EAaEH,QAZFI,EAYEJ,EAAKI,GAXPC,EAWEL,EAAKK,OAVPC,EAUEN,EAVMM,SACRC,EASEP,EATGO,MACLC,EAQER,YAPFS,EAOET,UANFU,EAMEV,UALFW,EAKEX,WAJFY,EAIEZ,EAAKY,MAHPC,EAGEb,EAAKa,MAFPC,EAEEd,OAFFe,aAAO,EAACD,EACRE,EACEhB,EADeiB,MAAjBA,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAcf,EAAI,kBAE5BgB,EAAiB,SAAAC,GACrB,IAAIC,EAAeZ,IAAW,EAC1BE,EAAQ,GACiB,OAAzBW,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOhB,QACxBE,EAAQS,EAAEK,OAAOd,QAEjBU,EAAeD,EAAEM,OAAOf,MAAMgB,OAAS,EACvChB,EAAQS,EAAEM,OAAOf,MAAM,IAEzBN,GAAYA,EAASgB,EAAcV,EACrC,EAEMiB,EAAMC,EAAW,cAAe7B,EAAWM,EAAOC,EAAWC,EAAS,CAC1EsB,GAA6B,OAAzBR,QAAQC,IAAIC,WAElB,MAA6B,OAAzBF,QAAQC,IAAIC,SAEZO,EAACC,cAAAC,EAAc,CAAA5B,SAAUc,GACvBY,EAAOC,cAAA,QAAA,CAAAE,QAASjB,EAASjB,UAAW4B,EAAKhB,MAAOA,GAC9CmB,EAAAC,cAAA,QAAA,CACEG,KAAK,WACLhC,GAAIc,EACJhB,KAAMA,EACND,UAAW6B,EAAW,oBAAqB,CACzCO,GAA6B,OAAzBd,QAAQC,IAAIC,WAElBnB,SAAUc,EACVT,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTO,MAAOA,IAETe,EACEC,cAAA,OAAA,CAAAhC,UAAW6B,EACT,yBACAzB,GAAU,SACV,CAAEgC,GAA6B,OAAzBd,QAAQC,IAAIC,WAEpBZ,MACEE,EAAO,EACH,CACEuB,MAAOC,EAAYxB,GACnByB,OAAQD,EAAYxB,IAEtB,CAAA,IAGRiB,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,KAO3C6B,EAAAC,cAAA,QAAA,CAAOE,QAASjB,EAASjB,UAAW4B,EAAKhB,MAAOA,GAC9CmB,EACEC,cAAA,QAAA,CAAAG,KAAK,WACLhC,GAAIc,EACJhB,KAAMA,EACND,UAAU,oBACVK,SAAUc,EACVR,MAAOA,EACP6B,eAAgB/B,IAElBsB,EAAAC,cAAA,OAAA,CACEpB,MACEE,EAAO,EACH,CACEuB,MAAOC,EAAYxB,GACnByB,OAAQD,EAAYxB,IAEtB,CAAE,EAERd,UAAW6B,EAAW,yBAA0BzB,GAAU,YAE5D2B,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,GAG3C,EAGAJ,EAAS2C,MAAQA"}
@@ -1,2 +1,2 @@
1
- import{__rest as t,__assign as e}from"../../node_modules/tslib/tslib.es6.js";import o,{createRef as n}from"react";import r from"react-dom";import{showModal as i}from"@tarojs/taro";import m from"../../DialogComponent/index.js";import c from"../../Button/index.js";var a=function(a){var f=a.title,l=void 0===f?"":f,s=a.content,d=a.confirmText,u=void 0===d?"我知道了":d,p=t(a,["title","content","confirmText"]);return new Promise((function(t){if("h5"===process.env.TARO_ENV){var a=document.createElement("div"),f=n(),d=o.createElement(c,{className:"xh-alert-button",type:"primary",onClick:function(){r.unmountComponentAtNode(a),t()}},u);r.render(o.createElement(m,{header:l,footer:d,content:s,visible:!0,ref:f}),a)}else i(e({title:l,content:s,showCancel:!1,confirmColor:"#f6ab00",confirmText:u},p)).then((function(){return t()}))}))};export{a as default};
1
+ import{__rest as e,__assign as t}from"../../node_modules/tslib/tslib.es6.js";import o,{createRef as n}from"react";import r from"react-dom";import{showModal as i}from"@tarojs/taro";import m from"../../DialogComponent/index.js";import c from"../../Button/index.js";var a=function(a){var f=a.title,l=void 0===f?"":f,s=a.content,d=a.confirmText,u=void 0===d?"知道了":d,p=e(a,["title","content","confirmText"]);return new Promise((function(e){if("h5"===process.env.TARO_ENV){var a=document.createElement("div"),f=n(),d=o.createElement(c,{ghost:!0,type:"default",shape:"rectangle",className:"xh-alert-button",onClick:function(){r.unmountComponentAtNode(a),e()}},u);r.render(o.createElement(m,{header:l,footer:d,content:s,visible:!0,ref:f}),a)}else i(t({title:l,content:s,showCancel:!1,confirmColor:"#fe5e00",confirmText:u},p)).then((function(){return e()}))}))};export{a as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Dialog/Alert/index.tsx"],"sourcesContent":["import React, { createRef, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { showModal } from \"@tarojs/taro\";\nimport Dialog, { DialogRef } from \"../../DialogComponent\";\nimport Button from \"../../../../src/components/Button\";\n\nexport type AlertProps = {\n title?: string | ReactNode;\n content?: string | ReactNode;\n confirmText?: string | ReactNode;\n} & {\n /** 取消按钮的文字,最多 4 个字符 */\n cancelText?: string;\n /** 接口调用结束的回调函数(调用成功、失败都会执行) */\n complete?: (res: TaroGeneral.CallbackResult) => void;\n /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n confirmColor?: string;\n /** 确认按钮的文字,最多 4 个字符 */\n confirmText?: string;\n /** 提示的内容 */\n content?: string;\n /** 接口调用失败的回调函数 */\n fail?: (res: TaroGeneral.CallbackResult) => void;\n /** 接口调用成功的回调函数 */\n success?: () => void;\n /** 提示的标题 */\n title?: string;\n};\n\nconst Alert = (props: AlertProps): Promise<void> => {\n const { title = \"\", content, confirmText = \"我知道了\", ...rest } = props;\n return new Promise(resolve => {\n if (process.env.TARO_ENV === \"h5\") {\n const div = document.createElement(\"div\");\n const dialogRef = createRef<DialogRef>();\n const alertFooter = (\n <Button\n className=\"xh-alert-button\"\n type=\"primary\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve();\n }}\n >\n {confirmText}\n </Button>\n );\n ReactDOM.render(\n <Dialog\n header={title}\n footer={alertFooter}\n content={content}\n visible\n ref={dialogRef}\n />,\n div\n );\n } else {\n showModal({\n title: title as string,\n content: content as string,\n showCancel: false,\n confirmColor: \"#f6ab00\",\n confirmText: confirmText as string,\n ...rest,\n }).then(() => resolve());\n }\n });\n};\n\nexport default Alert;\n"],"names":["Alert","props","_a","title","content","_b","confirmText","rest","__rest","Promise","resolve","process","env","TARO_ENV","div_1","document","createElement","dialogRef","createRef","alertFooter","React","Button","className","type","onClick","ReactDOM","unmountComponentAtNode","render","Dialog","header","footer","visible","ref","showModal","__assign","showCancel","confirmColor","then"],"mappings":"uQA6BM,IAAAA,EAAQ,SAACC,GACL,IAAAC,EAAuDD,EAA7CE,MAAVA,OAAK,IAAAD,EAAG,GAAEA,EAAEE,EAA2CH,EAApCG,QAAEC,EAAkCJ,EAAdK,YAApBA,OAAW,IAAAD,EAAG,OAAMA,EAAKE,EAASC,EAAAP,EAAzD,CAAA,QAAA,UAAA,gBACN,OAAO,IAAIQ,SAAQ,SAAAC,GACjB,GAA6B,OAAzBC,QAAQC,IAAIC,SAAmB,CACjC,IAAMC,EAAMC,SAASC,cAAc,OAC7BC,EAAYC,IACZC,EACJC,EAAAJ,cAACK,EACC,CAAAC,UAAU,kBACVC,KAAK,UACLC,QAAS,WACPC,EAASC,uBAAuBZ,GAChCJ,GACF,GAECJ,GAGLmB,EAASE,OACPP,EAACJ,cAAAY,EACC,CAAAC,OAAQ1B,EACR2B,OAAQX,EACRf,QAASA,EACT2B,SACA,EAAAC,IAAKf,IAEPH,EAEH,MACCmB,EACEC,EAAA,CAAA/B,MAAOA,EACPC,QAASA,EACT+B,YAAY,EACZC,aAAc,UACd9B,YAAaA,GACVC,IACF8B,MAAK,WAAM,OAAA3B,GAAA,GAElB,GACF"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Dialog/Alert/index.tsx"],"sourcesContent":["import React, { createRef, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { showModal } from \"@tarojs/taro\";\nimport Dialog, { DialogRef } from \"../../DialogComponent\";\nimport Button from \"../../../../src/components/Button\";\n\nexport type AlertProps = {\n title?: string | ReactNode;\n content?: string | ReactNode;\n confirmText?: string | ReactNode;\n} & {\n /** 取消按钮的文字,最多 4 个字符 */\n cancelText?: string;\n /** 接口调用结束的回调函数(调用成功、失败都会执行) */\n complete?: (res: TaroGeneral.CallbackResult) => void;\n /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n confirmColor?: string;\n /** 确认按钮的文字,最多 4 个字符 */\n confirmText?: string;\n /** 提示的内容 */\n content?: string;\n /** 接口调用失败的回调函数 */\n fail?: (res: TaroGeneral.CallbackResult) => void;\n /** 接口调用成功的回调函数 */\n success?: () => void;\n /** 提示的标题 */\n title?: string;\n};\n\nconst Alert = (props: AlertProps): Promise<void> => {\n const { title = \"\", content, confirmText = \"知道了\", ...rest } = props;\n return new Promise(resolve => {\n if (process.env.TARO_ENV === \"h5\") {\n const div = document.createElement(\"div\");\n const dialogRef = createRef<DialogRef>();\n const alertFooter = (\n <Button\n ghost\n type=\"default\"\n shape=\"rectangle\"\n className=\"xh-alert-button\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve();\n }}\n >\n {confirmText}\n </Button>\n );\n ReactDOM.render(\n <Dialog\n header={title}\n footer={alertFooter}\n content={content}\n visible\n ref={dialogRef}\n />,\n div\n );\n } else {\n showModal({\n title: title as string,\n content: content as string,\n showCancel: false,\n confirmColor: \"#fe5e00\",\n confirmText: confirmText as string,\n ...rest,\n }).then(() => resolve());\n }\n });\n};\n\nexport default Alert;\n"],"names":["Alert","props","_a","title","content","_b","confirmText","rest","__rest","Promise","resolve","process","env","TARO_ENV","div_1","document","createElement","dialogRef","createRef","alertFooter","React","Button","ghost","type","shape","className","onClick","ReactDOM","unmountComponentAtNode","render","Dialog","header","footer","visible","ref","showModal","__assign","showCancel","confirmColor","then"],"mappings":"uQA6BM,IAAAA,EAAQ,SAACC,GACL,IAAAC,EAAsDD,EAA5CE,MAAVA,OAAK,IAAAD,EAAG,GAAEA,EAAEE,EAA0CH,EAAnCG,QAAEC,EAAiCJ,EAAdK,YAAnBA,OAAW,IAAAD,EAAG,MAAKA,EAAKE,EAASC,EAAAP,EAAxD,CAAA,QAAA,UAAA,gBACN,OAAO,IAAIQ,SAAQ,SAAAC,GACjB,GAA6B,OAAzBC,QAAQC,IAAIC,SAAmB,CACjC,IAAMC,EAAMC,SAASC,cAAc,OAC7BC,EAAYC,IACZC,EACJC,EAAAJ,cAACK,EACC,CAAAC,SACAC,KAAK,UACLC,MAAM,YACNC,UAAU,kBACVC,QAAS,WACPC,EAASC,uBAAuBd,GAChCJ,GACF,GAECJ,GAGLqB,EAASE,OACPT,EAACJ,cAAAc,EACC,CAAAC,OAAQ5B,EACR6B,OAAQb,EACRf,QAASA,EACT6B,SACA,EAAAC,IAAKjB,IAEPH,EAEH,MACCqB,EACEC,EAAA,CAAAjC,MAAOA,EACPC,QAASA,EACTiC,YAAY,EACZC,aAAc,UACdhC,YAAaA,GACVC,IACFgC,MAAK,WAAM,OAAA7B,GAAA,GAElB,GACF"}
@@ -1,2 +1,2 @@
1
- import{__rest as e,__assign as o}from"../../node_modules/tslib/tslib.es6.js";import t,{createRef as n}from"react";import r from"react-dom";import{showModal as c}from"@tarojs/taro";import i from"../../DialogComponent/index.js";import m from"../../Button/index.js";var f=function(f){var a=f.title,l=void 0===a?"":a,s=f.content,u=f.confirmText,d=void 0===u?"确定":u,x=f.cancelText,p=void 0===x?"取消":x,v=e(f,["title","content","confirmText","cancelText"]);return new Promise((function(e){if("h5"===process.env.TARO_ENV){var f=document.createElement("div"),a=n(),u=t.createElement("div",{className:"xh-confirm-footer"},t.createElement(m,{className:"xh-confirm-footer-button xh-confirm-footer-cancel-button",onClick:function(){r.unmountComponentAtNode(f),e({errMsg:"ok",confirm:!1,cancel:!0})}},p),t.createElement(m,{type:"primary",className:"xh-confirm-footer-button xh-confirm-footer-confirm-button",onClick:function(){r.unmountComponentAtNode(f),e({errMsg:"ok",confirm:!0,cancel:!1})}},d));r.render(t.createElement(i,{header:l,footer:u,content:s,visible:!0,ref:a}),f)}else c(o({title:l,content:s,confirmColor:"#f6ab00",cancelText:p,cancelColor:"#666",confirmText:d},v)).then(e)}))};export{f as default};
1
+ import{__rest as e,__assign as o}from"../../node_modules/tslib/tslib.es6.js";import t,{createRef as n}from"react";import r from"react-dom";import{showModal as c}from"@tarojs/taro";import i from"../../DialogComponent/index.js";import m from"../../Button/index.js";var a=function(a){var f=a.title,l=void 0===f?"":f,s=a.content,u=a.confirmText,d=void 0===u?"确定":u,p=a.cancelText,x=void 0===p?"取消":p,h=e(a,["title","content","confirmText","cancelText"]);return new Promise((function(e){if("h5"===process.env.TARO_ENV){var a=document.createElement("div"),f=n(),u=t.createElement("div",{className:"xh-confirm-footer"},t.createElement(m,{ghost:!0,type:"default",shape:"rectangle",className:"xh-confirm-footer-button xh-confirm-footer-cancel-button",onClick:function(){r.unmountComponentAtNode(a),e({errMsg:"ok",confirm:!1,cancel:!0})}},x),t.createElement(m,{ghost:!0,type:"primary",shape:"rectangle",className:"xh-confirm-footer-button xh-confirm-footer-confirm-button",onClick:function(){r.unmountComponentAtNode(a),e({errMsg:"ok",confirm:!0,cancel:!1})}},d));r.render(t.createElement(i,{header:l,footer:u,content:s,visible:!0,ref:f}),a)}else c(o({title:l,content:s,confirmColor:"#fe5e00",cancelText:x,cancelColor:"#666",confirmText:d},h)).then(e)}))};export{a as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Dialog/Confirm/index.tsx"],"sourcesContent":["import React, { createRef } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { showModal } from \"@tarojs/taro\";\nimport DialogComponent, { DialogRef } from \"../../DialogComponent\";\nimport Button from \"../../Button\";\n\nexport type ConfirmProps = {\n title?: string;\n header?: string;\n content: string;\n cancelText?: string;\n confirmText?: string;\n} & {\n /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n cancelColor?: string;\n /** 取消按钮的文字,最多 4 个字符 */\n cancelText?: string;\n /** 接口调用结束的回调函数(调用成功、失败都会执行) */\n complete?: (res: TaroGeneral.CallbackResult) => void;\n /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n confirmColor?: string;\n /** 确认按钮的文字,最多 4 个字符 */\n confirmText?: string;\n /** 提示的内容 */\n content?: string;\n /** 接口调用失败的回调函数 */\n fail?: (res: TaroGeneral.CallbackResult) => void;\n /** 接口调用成功的回调函数 */\n success?: (result: ConfirmPropsResult) => void;\n /** 提示的标题 */\n title?: string;\n};\n\nexport type ConfirmPropsResult = {\n /** 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */\n cancel: boolean;\n /** 为 true 时,表示用户点击了确定按钮 */\n confirm: boolean;\n /** 调用结果 */\n errMsg: string;\n};\nconst Comfirm = (props: ConfirmProps): Promise<ConfirmPropsResult> => {\n const {\n title = \"\",\n content,\n confirmText = \"确定\",\n cancelText = \"取消\",\n ...rest\n } = props;\n return new Promise(resolve => {\n if (process.env.TARO_ENV === \"h5\") {\n const div = document.createElement(\"div\");\n\n const dialogRef = createRef<DialogRef>();\n const alertFooter = (\n <div className=\"xh-confirm-footer\">\n <Button\n className=\"xh-confirm-footer-button xh-confirm-footer-cancel-button\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve({ errMsg: \"ok\", confirm: false, cancel: true });\n }}\n >\n {cancelText}\n </Button>\n <Button\n type=\"primary\"\n className=\"xh-confirm-footer-button xh-confirm-footer-confirm-button\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve({ errMsg: \"ok\", confirm: true, cancel: false });\n }}\n >\n {confirmText}\n </Button>\n </div>\n );\n ReactDOM.render(\n <DialogComponent\n header={title}\n footer={alertFooter}\n content={content}\n visible\n ref={dialogRef}\n />,\n div\n );\n } else {\n showModal({\n title,\n content,\n confirmColor: \"#f6ab00\",\n cancelText,\n cancelColor: \"#666\",\n confirmText,\n ...rest,\n }).then(resolve);\n }\n });\n};\n\nexport default Comfirm;\n"],"names":["Comfirm","props","_a","title","content","_b","confirmText","_c","cancelText","rest","__rest","Promise","resolve","process","env","TARO_ENV","div_1","document","createElement","dialogRef","createRef","alertFooter","React","className","Button","onClick","ReactDOM","unmountComponentAtNode","errMsg","confirm","cancel","type","render","DialogComponent","header","footer","visible","ref","showModal","__assign","confirmColor","cancelColor","then"],"mappings":"uQAyCM,IAAAA,EAAU,SAACC,GAEb,IAAAC,EAKED,EAAKE,MALPA,aAAQ,GAAED,EACVE,EAIEH,EAAKG,QAHPC,EAGEJ,cAHFK,OAAc,IAAAD,EAAA,OACdE,EAEEN,EAAKO,WAFPA,OAAU,IAAAD,EAAG,KAAIA,EACdE,EAAIC,EACLT,EANE,CAAA,QAAA,UAAA,cAAA,eAON,OAAO,IAAIU,SAAQ,SAAAC,GACjB,GAA6B,OAAzBC,QAAQC,IAAIC,SAAmB,CACjC,IAAMC,EAAMC,SAASC,cAAc,OAE7BC,EAAYC,IACZC,EACJC,EAAKJ,cAAA,MAAA,CAAAK,UAAU,qBACbD,EAAAJ,cAACM,EACC,CAAAD,UAAU,2DACVE,QAAS,WACPC,EAASC,uBAAuBX,GAChCJ,EAAQ,CAAEgB,OAAQ,KAAMC,SAAS,EAAOC,QAAQ,GACjD,GAEAtB,GAEHc,EAACJ,cAAAM,EACC,CAAAO,KAAK,UACLR,UAAU,4DACVE,QAAS,WACPC,EAASC,uBAAuBX,GAChCJ,EAAQ,CAAEgB,OAAQ,KAAMC,SAAS,EAAMC,QAAQ,GACjD,GAECxB,IAIPoB,EAASM,OACPV,EAACJ,cAAAe,EACC,CAAAC,OAAQ/B,EACRgC,OAAQd,EACRjB,QAASA,EACTgC,SACA,EAAAC,IAAKlB,IAEPH,EAEH,MACCsB,EACEC,EAAA,CAAApC,MAAKA,EACLC,QAAOA,EACPoC,aAAc,UACdhC,WAAUA,EACViC,YAAa,OACbnC,YAAWA,GACRG,IACFiC,KAAK9B,EAEZ,GACF"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Dialog/Confirm/index.tsx"],"sourcesContent":["import React, { createRef } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { showModal } from \"@tarojs/taro\";\nimport DialogComponent, { DialogRef } from \"../../DialogComponent\";\nimport Button from \"../../Button\";\n\nexport type ConfirmProps = {\n title?: string;\n header?: string;\n content: string;\n cancelText?: string;\n confirmText?: string;\n} & {\n /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n cancelColor?: string;\n /** 取消按钮的文字,最多 4 个字符 */\n cancelText?: string;\n /** 接口调用结束的回调函数(调用成功、失败都会执行) */\n complete?: (res: TaroGeneral.CallbackResult) => void;\n /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */\n confirmColor?: string;\n /** 确认按钮的文字,最多 4 个字符 */\n confirmText?: string;\n /** 提示的内容 */\n content?: string;\n /** 接口调用失败的回调函数 */\n fail?: (res: TaroGeneral.CallbackResult) => void;\n /** 接口调用成功的回调函数 */\n success?: (result: ConfirmPropsResult) => void;\n /** 提示的标题 */\n title?: string;\n};\n\nexport type ConfirmPropsResult = {\n /** 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */\n cancel: boolean;\n /** 为 true 时,表示用户点击了确定按钮 */\n confirm: boolean;\n /** 调用结果 */\n errMsg: string;\n};\nconst Comfirm = (props: ConfirmProps): Promise<ConfirmPropsResult> => {\n const {\n title = \"\",\n content,\n confirmText = \"确定\",\n cancelText = \"取消\",\n ...rest\n } = props;\n return new Promise(resolve => {\n if (process.env.TARO_ENV === \"h5\") {\n const div = document.createElement(\"div\");\n\n const dialogRef = createRef<DialogRef>();\n const alertFooter = (\n <div className=\"xh-confirm-footer\">\n <Button\n ghost\n type=\"default\"\n shape=\"rectangle\"\n className=\"xh-confirm-footer-button xh-confirm-footer-cancel-button\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve({ errMsg: \"ok\", confirm: false, cancel: true });\n }}\n >\n {cancelText}\n </Button>\n <Button\n ghost\n type=\"primary\"\n shape=\"rectangle\"\n className=\"xh-confirm-footer-button xh-confirm-footer-confirm-button\"\n onClick={() => {\n ReactDOM.unmountComponentAtNode(div);\n resolve({ errMsg: \"ok\", confirm: true, cancel: false });\n }}\n >\n {confirmText}\n </Button>\n </div>\n );\n ReactDOM.render(\n <DialogComponent\n header={title}\n footer={alertFooter}\n content={content}\n visible\n ref={dialogRef}\n />,\n div\n );\n } else {\n showModal({\n title,\n content,\n confirmColor: \"#fe5e00\",\n cancelText,\n cancelColor: \"#666\",\n confirmText,\n ...rest,\n }).then(resolve);\n }\n });\n};\n\nexport default Comfirm;\n"],"names":["Comfirm","props","_a","title","content","_b","confirmText","_c","cancelText","rest","__rest","Promise","resolve","process","env","TARO_ENV","div_1","document","createElement","dialogRef","createRef","alertFooter","React","className","Button","ghost","type","shape","onClick","ReactDOM","unmountComponentAtNode","errMsg","confirm","cancel","render","DialogComponent","header","footer","visible","ref","showModal","__assign","confirmColor","cancelColor","then"],"mappings":"uQAyCM,IAAAA,EAAU,SAACC,GAEb,IAAAC,EAKED,EAAKE,MALPA,aAAQ,GAAED,EACVE,EAIEH,EAAKG,QAHPC,EAGEJ,cAHFK,OAAc,IAAAD,EAAA,OACdE,EAEEN,EAAKO,WAFPA,OAAU,IAAAD,EAAG,KAAIA,EACdE,EAAIC,EACLT,EANE,CAAA,QAAA,UAAA,cAAA,eAON,OAAO,IAAIU,SAAQ,SAAAC,GACjB,GAA6B,OAAzBC,QAAQC,IAAIC,SAAmB,CACjC,IAAMC,EAAMC,SAASC,cAAc,OAE7BC,EAAYC,IACZC,EACJC,EAAKJ,cAAA,MAAA,CAAAK,UAAU,qBACbD,EAAAJ,cAACM,EACC,CAAAC,OACA,EAAAC,KAAK,UACLC,MAAM,YACNJ,UAAU,2DACVK,QAAS,WACPC,EAASC,uBAAuBd,GAChCJ,EAAQ,CAAEmB,OAAQ,KAAMC,SAAS,EAAOC,QAAQ,GACjD,GAEAzB,GAEHc,EAAAJ,cAACM,EACC,CAAAC,OACA,EAAAC,KAAK,UACLC,MAAM,YACNJ,UAAU,4DACVK,QAAS,WACPC,EAASC,uBAAuBd,GAChCJ,EAAQ,CAAEmB,OAAQ,KAAMC,SAAS,EAAMC,QAAQ,GACjD,GAEC3B,IAIPuB,EAASK,OACPZ,EAACJ,cAAAiB,EACC,CAAAC,OAAQjC,EACRkC,OAAQhB,EACRjB,QAASA,EACTkC,SACA,EAAAC,IAAKpB,IAEPH,EAEH,MACCwB,EACEC,EAAA,CAAAtC,MAAKA,EACLC,QAAOA,EACPsC,aAAc,UACdlC,WAAUA,EACVmC,YAAa,OACbrC,YAAWA,GACRG,IACFmC,KAAKhC,EAEZ,GACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/DialogComponent/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\nimport ReactDOM from \"react-dom\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Mask from \"../Mask\";\nimport \"./index.scss\";\n\nexport type DialogProps = {\n header?: string | ReactNode;\n content: string | ReactNode;\n footer?: string | ReactNode;\n visible: boolean;\n} & XHComponentCommonProps;\n\nexport type DialogRef = {\n close: () => void;\n};\nconst DialogCom = forwardRef<DialogRef, DialogProps>((props, fromRef) => {\n const { header, content, footer, className = \"\", visible } = props;\n const [selfVisible, setSelfVisible] = useState(false);\n\n useImperativeHandle(fromRef, () => ({\n close: () => {\n console.log(\"closes\");\n setSelfVisible(false);\n },\n }));\n\n useEffect(() => {\n setSelfVisible(visible);\n }, [visible]);\n\n const dialogcls = classNames(\"xh-dialog\", className, {\n microApp: process.env.TARO_ENV !== \"h5\",\n });\n console.log(header);\n console.log(\"title\");\n\n const dialogContent = classNames(\"xh-dialog-content-content\", {\n headless: !header,\n });\n const DialogMain = (\n <View className={dialogcls}>\n <Mask />\n <CSSTransition\n in={selfVisible}\n timeout={200}\n classNames=\"scale\"\n unmountOnExit\n >\n <View className=\"xh-dialog-content\">\n <View className=\"xh-dialog-content-header\">{header}</View>\n <View className={dialogContent}>{content}</View>\n <View className=\"xh-dialog-content-footer\">{footer}</View>\n </View>\n </CSSTransition>\n </View>\n );\n\n return ReactDOM.createPortal(DialogMain, document.body);\n});\n\nexport default DialogCom;\n"],"names":["DialogCom","forwardRef","props","fromRef","header","content","footer","_a","className","visible","_b","__read","useState","selfVisible","setSelfVisible","useImperativeHandle","close","useEffect","dialogcls","classNames","microApp","process","env","TARO_ENV","dialogContent","headless","DialogMain","React","createElement","View","Mask","CSSTransition","in","timeout","unmountOnExit","ReactDOM","createPortal","document","body"],"mappings":"gWAyBA,IAAMA,EAAYC,GAAmC,SAACC,EAAOC,GACnD,IAAAC,EAAqDF,EAAKE,OAAlDC,EAA6CH,EAAtCG,QAAEC,EAAoCJ,EAAKI,OAAjCC,EAA4BL,EAAKM,UAAjCA,OAAY,IAAAD,EAAA,GAAEA,EAAEE,EAAYP,EAAKO,QAC5DC,EAAAC,EAAgCC,GAAS,GAAM,GAA9CC,EAAWH,EAAA,GAAEI,OAEpBC,EAAoBZ,GAAS,WAAM,MAAC,CAClCa,MAAO,WAELF,GAAe,EAChB,EACD,IAEFG,GAAU,WACRH,EAAeL,EACjB,GAAG,CAACA,IAEJ,IAAMS,EAAYC,EAAW,YAAaX,EAAW,CACnDY,SAAmC,OAAzBC,QAAQC,IAAIC,WAKlBC,EAAgBL,EAAW,4BAA6B,CAC5DM,UAAWrB,IAEPsB,EACJC,EAAAC,cAACC,EAAK,CAAArB,UAAWU,GACfS,EAAAC,cAACE,EAAO,MACRH,EAAAC,cAACG,EAAa,CACZC,GAAInB,EACJoB,QAAS,IACTd,WAAW,QACXe,eAAa,GAEbP,EAAAC,cAACC,EAAI,CAACrB,UAAU,qBACdmB,EAAAC,cAACC,EAAK,CAAArB,UAAU,4BAA4BJ,GAC5CuB,EAAAC,cAACC,EAAK,CAAArB,UAAWgB,GAAgBnB,GACjCsB,EAAAC,cAACC,EAAI,CAACrB,UAAU,4BAA4BF,MAMpD,OAAO6B,EAASC,aAAaV,EAAYW,SAASC,KACpD"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/DialogComponent/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\nimport ReactDOM from \"react-dom\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Mask from \"../Mask\";\nimport \"./index.scss\";\n\nexport type DialogProps = {\n header?: string | ReactNode;\n content: string | ReactNode;\n footer?: string | ReactNode;\n visible: boolean;\n} & XHComponentCommonProps;\n\nexport type DialogRef = {\n close: () => void;\n};\nconst DialogCom = forwardRef<DialogRef, DialogProps>((props, fromRef) => {\n const { header, content, footer, className = \"\", visible } = props;\n const [selfVisible, setSelfVisible] = useState(false);\n\n useImperativeHandle(fromRef, () => ({\n close: () => {\n console.log(\"closes\");\n setSelfVisible(false);\n },\n }));\n\n useEffect(() => {\n setSelfVisible(visible);\n }, [visible]);\n\n const dialogcls = classNames(\"xh-dialog\", className, {\n microApp: process.env.TARO_ENV !== \"h5\",\n });\n\n const dialogContent = classNames(\"xh-dialog-content-content\", {\n headless: !header,\n });\n const DialogMain = (\n <View className={dialogcls}>\n <Mask />\n <CSSTransition\n in={selfVisible}\n timeout={200}\n classNames=\"scale\"\n unmountOnExit\n >\n <View className=\"xh-dialog-content\">\n <View className=\"xh-dialog-content-header\">{header}</View>\n <View className={dialogContent}>{content}</View>\n <View className=\"xh-dialog-content-footer\">{footer}</View>\n </View>\n </CSSTransition>\n </View>\n );\n\n return ReactDOM.createPortal(DialogMain, document.body);\n});\n\nexport default DialogCom;\n"],"names":["DialogCom","forwardRef","props","fromRef","header","content","footer","_a","className","visible","_b","__read","useState","selfVisible","setSelfVisible","useImperativeHandle","close","useEffect","dialogcls","classNames","microApp","process","env","TARO_ENV","dialogContent","headless","DialogMain","React","createElement","View","Mask","CSSTransition","in","timeout","unmountOnExit","ReactDOM","createPortal","document","body"],"mappings":"gWAyBA,IAAMA,EAAYC,GAAmC,SAACC,EAAOC,GACnD,IAAAC,EAAqDF,EAAKE,OAAlDC,EAA6CH,EAAtCG,QAAEC,EAAoCJ,EAAKI,OAAjCC,EAA4BL,EAAKM,UAAjCA,OAAY,IAAAD,EAAA,GAAEA,EAAEE,EAAYP,EAAKO,QAC5DC,EAAAC,EAAgCC,GAAS,GAAM,GAA9CC,EAAWH,EAAA,GAAEI,OAEpBC,EAAoBZ,GAAS,WAAM,MAAC,CAClCa,MAAO,WAELF,GAAe,EAChB,EACD,IAEFG,GAAU,WACRH,EAAeL,EACjB,GAAG,CAACA,IAEJ,IAAMS,EAAYC,EAAW,YAAaX,EAAW,CACnDY,SAAmC,OAAzBC,QAAQC,IAAIC,WAGlBC,EAAgBL,EAAW,4BAA6B,CAC5DM,UAAWrB,IAEPsB,EACJC,EAAAC,cAACC,EAAK,CAAArB,UAAWU,GACfS,EAAAC,cAACE,EAAO,MACRH,EAAAC,cAACG,EAAa,CACZC,GAAInB,EACJoB,QAAS,IACTd,WAAW,QACXe,eAAa,GAEbP,EAAAC,cAACC,EAAI,CAACrB,UAAU,qBACdmB,EAAAC,cAACC,EAAK,CAAArB,UAAU,4BAA4BJ,GAC5CuB,EAAAC,cAACC,EAAK,CAAArB,UAAWgB,GAAgBnB,GACjCsB,EAAAC,cAACC,EAAI,CAACrB,UAAU,4BAA4BF,MAMpD,OAAO6B,EAASC,aAAaV,EAAYW,SAASC,KACpD"}
@@ -1,2 +1,2 @@
1
- import{__read as e,__assign as o}from"../node_modules/tslib/tslib.es6.js";import t,{forwardRef as n,useState as r,useImperativeHandle as a,useEffect as c}from"react";import s from"classnames";import{View as i}from"@tarojs/components";import l from"../Button/index.js";import m from"../Mask/index.js";import f from"../node_modules/react-transition-group/esm/CSSTransition.js";var p=n((function(n,p){var d=n.header,h=n.content,u=n.className,v=void 0===u?"":u,x=n.visible,E=n.showCancel,N=void 0===E||E,g=n.confirmText,T=void 0===g?"确定":g,b=n.cancelText,C=void 0===b?"取消":b,_=n.footer,j=void 0!==_&&_,A=n.onConfirm,O=n.onCancel,R=n.onClose,V=e(r(!1),2),k=V[0],y=V[1];a(p,(function(){return{close:w,open:S}}));var w=function(){R&&R(),y(!1)},S=function(){y(!0)};c((function(){x||R&&R(),y(x)}),[x]);var B=s("xh-dialog-ref",v,{show:k}),M=s("xh-dialog-ref-content-footer-buttons",{microApp:"h5"!==process.env.TARO_ENV}),q="h5"!==process.env.TARO_ENV?{type:"ghost",shape:"rectangle"}:{},z=t.createElement(i,{className:M},N&&t.createElement(l,o({},q,{preventTime:0,onClick:function(){O&&O(),w()},className:"h5"!==process.env.TARO_ENV?"xh-dialog-ref-content-footer-buttons-microapp-cancel":"xh-dialog-ref-content-footer-buttons-h5-cancel"}),C),t.createElement(l,o({type:"primary"},q,{className:"h5"!==process.env.TARO_ENV?"xh-dialog-ref-content-footer-buttons-microapp-confirm":"xh-dialog-ref-content-footer-buttons-h5-confirm",onClick:function(){A&&A()},preventTime:0}),T));return t.createElement(i,{className:B},t.createElement(m,null),t.createElement(f,{in:k,timeout:200,classNames:"scale"},t.createElement(i,{className:"xh-dialog-ref-content"},t.createElement(i,{className:"xh-dialog-ref-content-header"},d),t.createElement(i,{className:"xh-dialog-ref-content-content"},h),j||t.createElement(i,{className:"xh-dialog-ref-content-footer"},z))))}));export{p as default};
1
+ import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{forwardRef as o,useState as n,useImperativeHandle as a,useEffect as r}from"react";import s from"classnames";import{View as c}from"@tarojs/components";import l from"../Button/index.js";import i from"../Mask/index.js";import m from"../node_modules/react-transition-group/esm/CSSTransition.js";var f=o((function(o,f){var d=o.header,u=o.content,p=o.className,h=void 0===p?"":p,g=o.visible,v=o.showCancel,x=void 0===v||v,E=o.confirmText,N=void 0===E?"确定":E,C=o.cancelText,b=void 0===C?"取消":C,j=o.footer,T=void 0!==j&&j,k=o.onConfirm,w=o.onCancel,y=o.onClose,z=o.tranparent,S=void 0!==z&&z,_=e(n(!1),2),B=_[0],M=_[1];a(f,(function(){return{close:q,open:A}}));var q=function(){y&&y(),M(!1)},A=function(){M(!0)};r((function(){g||y&&y(),M(g)}),[g]);var D=s("xh-dialog-ref",h,{show:B}),F=t.createElement(c,{className:"xh-dialog-ref-content-footer-buttons"},x&&t.createElement(l,{ghost:!0,size:"full",shape:"rectangle",preventTime:0,onClick:function(){w&&w(),q()},className:"xh-dialog-ref-content-footer-buttons-cancel"},b),t.createElement(l,{type:"primary",shape:"rectangle",size:"full",ghost:!0,className:"xh-dialog-ref-content-footer-buttons--confirm",onClick:function(){k&&k()},preventTime:0},N));return t.createElement(c,{className:D},t.createElement(i,null),t.createElement(m,{in:B,timeout:200,classNames:"scale"},t.createElement(c,{className:s("xh-dialog-ref-content",{tranparent:S})},d&&t.createElement(c,{className:"xh-dialog-ref-content-header"},d),t.createElement(c,{className:"xh-dialog-ref-content-content"},u),T||t.createElement(c,{className:"xh-dialog-ref-content-footer"},F))))}));export{f as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/DialogRef/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport { CSSTransition } from \"react-transition-group\";\nimport Button, { XhButtonProps } from \"../Button\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Mask from \"../Mask\";\nimport \"./index.scss\";\n\nexport type DialogProps = {\n header?: string | ReactNode;\n content: string | ReactNode;\n footer?: ReactNode;\n cancelText?: string;\n confirmText?: string;\n showCancel?: boolean;\n visible: boolean;\n onConfirm?: () => void;\n onCancel?: () => void;\n onClose?: () => void;\n} & XHComponentCommonProps;\n\nexport type IDialogRef = {\n close: () => void;\n open: () => void;\n};\nconst DialogCom = forwardRef<IDialogRef, DialogProps>((props, fromRef) => {\n const {\n header,\n content,\n className = \"\",\n visible,\n showCancel = true,\n confirmText = \"确定\",\n cancelText = \"取消\",\n footer = false,\n onConfirm,\n onCancel,\n onClose,\n } = props;\n const [selfVisible, setSelfVisible] = useState(false);\n\n useImperativeHandle(fromRef, () => ({\n close,\n open,\n }));\n\n const close = () => {\n onClose && onClose();\n setSelfVisible(false);\n };\n\n const open = () => {\n setSelfVisible(true);\n };\n\n const handleConfirm = () => {\n onConfirm && onConfirm();\n // close();\n };\n const handleCancel = () => {\n onCancel && onCancel();\n close();\n };\n\n useEffect(() => {\n if (!visible) {\n onClose && onClose();\n }\n setSelfVisible(visible);\n }, [visible]);\n\n const dialogcls = classNames(\"xh-dialog-ref\", className, {\n show: selfVisible,\n });\n const footercls = classNames(\"xh-dialog-ref-content-footer-buttons\", {\n microApp: process.env.TARO_ENV !== \"h5\",\n });\n\n const morcoBtnProps:\n | { type: XhButtonProps[\"type\"]; shape: XhButtonProps[\"shape\"] }\n | {} =\n process.env.TARO_ENV !== \"h5\" ? { type: \"ghost\", shape: \"rectangle\" } : {};\n\n const dialogFooter = (\n <View className={footercls}>\n {showCancel && (\n <Button\n {...morcoBtnProps}\n preventTime={0}\n onClick={handleCancel}\n className={\n process.env.TARO_ENV !== \"h5\"\n ? \"xh-dialog-ref-content-footer-buttons-microapp-cancel\"\n : \"xh-dialog-ref-content-footer-buttons-h5-cancel\"\n }\n >\n {cancelText}\n </Button>\n )}\n <Button\n type=\"primary\"\n {...morcoBtnProps}\n className={\n process.env.TARO_ENV !== \"h5\"\n ? \"xh-dialog-ref-content-footer-buttons-microapp-confirm\"\n : \"xh-dialog-ref-content-footer-buttons-h5-confirm\"\n }\n onClick={handleConfirm}\n preventTime={0}\n >\n {confirmText}\n </Button>\n </View>\n );\n\n const DialogMain = (\n <View className={dialogcls}>\n <Mask />\n <CSSTransition in={selfVisible} timeout={200} classNames=\"scale\">\n <View className=\"xh-dialog-ref-content\">\n <View className=\"xh-dialog-ref-content-header\">{header}</View>\n <View className=\"xh-dialog-ref-content-content\">{content}</View>\n {footer || (\n <View className=\"xh-dialog-ref-content-footer\">{dialogFooter}</View>\n )}\n </View>\n </CSSTransition>\n </View>\n );\n return DialogMain;\n});\n\nexport default DialogCom;\n"],"names":["DialogCom","forwardRef","props","fromRef","header","content","_a","className","visible","_b","showCancel","_c","confirmText","_d","cancelText","_e","footer","onConfirm","onCancel","onClose","_f","__read","useState","selfVisible","setSelfVisible","useImperativeHandle","close","open","useEffect","dialogcls","classNames","show","footercls","microApp","process","env","TARO_ENV","morcoBtnProps","type","shape","dialogFooter","React","createElement","View","Button","preventTime","onClick","__assign","Mask","CSSTransition","in","timeout"],"mappings":"uXAgCA,IAAMA,EAAYC,GAAoC,SAACC,EAAOC,GAE1D,IAAAC,EAWEF,EAAKE,OAVPC,EAUEH,EAAKG,QATPC,EASEJ,EATYK,UAAdA,OAAY,IAAAD,EAAA,GAAEA,EACdE,EAQEN,EARKM,QACPC,EAOEP,EAAKQ,WAPPA,cAAiBD,EACjBE,EAMET,EANgBU,YAAlBA,OAAW,IAAAD,EAAG,KAAIA,EAClBE,EAKEX,EALeY,WAAjBA,OAAU,IAAAD,EAAG,KAAIA,EACjBE,EAIEb,SAJFc,OAAS,IAAAD,KACTE,EAGEf,YAFFgB,EAEEhB,WADFiB,EACEjB,UACEkB,EAAAC,EAAgCC,GAAS,GAAM,GAA9CC,EAAWH,EAAA,GAAEI,OAEpBC,EAAoBtB,GAAS,WAAM,MAAC,CAClCuB,MAAKA,EACLC,KAAIA,EACJ,IAEF,IAAMD,EAAQ,WACZP,GAAWA,IACXK,GAAe,EACjB,EAEMG,EAAO,WACXH,GAAe,EACjB,EAWAI,GAAU,WACHpB,GACHW,GAAWA,IAEbK,EAAehB,EACjB,GAAG,CAACA,IAEJ,IAAMqB,EAAYC,EAAW,gBAAiBvB,EAAW,CACvDwB,KAAMR,IAEFS,EAAYF,EAAW,uCAAwC,CACnEG,SAAmC,OAAzBC,QAAQC,IAAIC,WAGlBC,EAGqB,OAAzBH,QAAQC,IAAIC,SAAoB,CAAEE,KAAM,QAASC,MAAO,aAAgB,CAAA,EAEpEC,EACJC,EAAAC,cAACC,EAAK,CAAApC,UAAWyB,GACdtB,GACC+B,EAACC,cAAAE,OACKP,EAAa,CACjBQ,YAAa,EACbC,QA9Ba,WACnB5B,GAAYA,IACZQ,GACF,EA4BQnB,UAC2B,OAAzB2B,QAAQC,IAAIC,SACR,uDACA,mDAGLtB,GAGL2B,EAAAC,cAACE,EACCG,EAAA,CAAAT,KAAK,WACDD,EAAa,CACjB9B,UAC2B,OAAzB2B,QAAQC,IAAIC,SACR,wDACA,kDAENU,QApDgB,WACpB7B,GAAaA,GAEf,EAkDM4B,YAAa,IAEZjC,IAmBP,OAbE6B,EAAAC,cAACC,EAAK,CAAApC,UAAWsB,GACfY,EAAAC,cAACM,EAAO,MACRP,EAAAC,cAACO,EAAa,CAACC,GAAI3B,EAAa4B,QAAS,IAAKrB,WAAW,SACvDW,EAAAC,cAACC,EAAI,CAACpC,UAAU,yBACdkC,EAAAC,cAACC,EAAK,CAAApC,UAAU,gCAAgCH,GAChDqC,EAAAC,cAACC,EAAK,CAAApC,UAAU,iCAAiCF,GAChDW,GACCyB,EAAAC,cAACC,EAAI,CAACpC,UAAU,gCAAgCiC,KAO5D"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/DialogRef/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useState,\n useImperativeHandle,\n forwardRef,\n useEffect,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport { CSSTransition } from \"react-transition-group\";\nimport Button from \"../Button\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Mask from \"../Mask\";\nimport \"./index.scss\";\n\nexport type DialogProps = {\n header?: string | ReactNode;\n content: string | ReactNode;\n footer?: ReactNode;\n cancelText?: string;\n confirmText?: string;\n showCancel?: boolean;\n visible: boolean;\n onConfirm?: () => void;\n onCancel?: () => void;\n onClose?: () => void;\n tranparent?: boolean;\n} & XHComponentCommonProps;\n\nexport type IDialogRef = {\n close: () => void;\n open: () => void;\n};\nconst DialogCom = forwardRef<IDialogRef, DialogProps>((props, fromRef) => {\n const {\n header,\n content,\n className = \"\",\n visible,\n showCancel = true,\n confirmText = \"确定\",\n cancelText = \"取消\",\n footer = false,\n onConfirm,\n onCancel,\n onClose,\n tranparent = false,\n } = props;\n const [selfVisible, setSelfVisible] = useState(false);\n\n useImperativeHandle(fromRef, () => ({\n close,\n open,\n }));\n\n const close = () => {\n onClose && onClose();\n setSelfVisible(false);\n };\n\n const open = () => {\n setSelfVisible(true);\n };\n\n const handleConfirm = () => {\n onConfirm && onConfirm();\n // close();\n };\n const handleCancel = () => {\n onCancel && onCancel();\n close();\n };\n\n useEffect(() => {\n if (!visible) {\n onClose && onClose();\n }\n setSelfVisible(visible);\n }, [visible]);\n\n const dialogcls = classNames(\"xh-dialog-ref\", className, {\n show: selfVisible,\n });\n\n const dialogFooter = (\n <View className=\"xh-dialog-ref-content-footer-buttons\">\n {showCancel && (\n <Button\n ghost\n size=\"full\"\n shape=\"rectangle\"\n preventTime={0}\n onClick={handleCancel}\n className=\"xh-dialog-ref-content-footer-buttons-cancel\"\n >\n {cancelText}\n </Button>\n )}\n <Button\n type=\"primary\"\n shape=\"rectangle\"\n size=\"full\"\n ghost\n className=\"xh-dialog-ref-content-footer-buttons--confirm\"\n onClick={handleConfirm}\n preventTime={0}\n >\n {confirmText}\n </Button>\n </View>\n );\n\n const DialogMain = (\n <View className={dialogcls}>\n <Mask />\n <CSSTransition in={selfVisible} timeout={200} classNames=\"scale\">\n <View className={classNames(\"xh-dialog-ref-content\", { tranparent })}>\n {header && (\n <View className=\"xh-dialog-ref-content-header\">{header}</View>\n )}\n <View className=\"xh-dialog-ref-content-content\">{content}</View>\n {footer || (\n <View className=\"xh-dialog-ref-content-footer\">{dialogFooter}</View>\n )}\n </View>\n </CSSTransition>\n </View>\n );\n return DialogMain;\n});\n\nexport default DialogCom;\n"],"names":["DialogCom","forwardRef","props","fromRef","header","content","_a","className","visible","_b","showCancel","_c","confirmText","_d","cancelText","_e","footer","onConfirm","onCancel","onClose","_f","tranparent","_g","__read","useState","selfVisible","setSelfVisible","useImperativeHandle","close","open","useEffect","dialogcls","classNames","show","dialogFooter","React","createElement","View","Button","ghost","size","shape","preventTime","onClick","type","Mask","CSSTransition","in","timeout"],"mappings":"yWAiCA,IAAMA,EAAYC,GAAoC,SAACC,EAAOC,GAE1D,IAAAC,EAYEF,EAZIE,OACNC,EAWEH,EAXKG,QACPC,EAUEJ,EAAKK,UAVPA,OAAS,IAAAD,EAAG,GAAEA,EACdE,EASEN,EATKM,QACPC,EAQEP,EAAKQ,WARPA,OAAU,IAAAD,GAAOA,EACjBE,EAOET,cAPFU,aAAc,KAAID,EAClBE,EAMEX,EANeY,WAAjBA,OAAa,IAAAD,EAAA,OACbE,EAKEb,EAAKc,OALPA,OAAM,IAAAD,GAAQA,EACdE,EAIEf,EAJOe,UACTC,EAGEhB,WAFFiB,EAEEjB,EAAKiB,QADPC,EACElB,EADgBmB,WAAlBA,OAAa,IAAAD,KAETE,EAAAC,EAAgCC,GAAS,GAAM,GAA9CC,EAAWH,EAAA,GAAEI,OAEpBC,EAAoBxB,GAAS,WAAM,MAAC,CAClCyB,MAAKA,EACLC,KAAIA,EACJ,IAEF,IAAMD,EAAQ,WACZT,GAAWA,IACXO,GAAe,EACjB,EAEMG,EAAO,WACXH,GAAe,EACjB,EAWAI,GAAU,WACHtB,GACHW,GAAWA,IAEbO,EAAelB,EACjB,GAAG,CAACA,IAEJ,IAAMuB,EAAYC,EAAW,gBAAiBzB,EAAW,CACvD0B,KAAMR,IAGFS,EACJC,EAAAC,cAACC,EAAK,CAAA9B,UAAU,wCACbG,GACCyB,EAACC,cAAAE,EACC,CAAAC,OACA,EAAAC,KAAK,OACLC,MAAM,YACNC,YAAa,EACbC,QAxBa,WACnBzB,GAAYA,IACZU,GACF,EAsBQrB,UAAU,+CAETO,GAGLqB,EAAAC,cAACE,EAAM,CACLM,KAAK,UACLH,MAAM,YACND,KAAK,OACLD,OAAK,EACLhC,UAAU,gDACVoC,QAxCgB,WACpB1B,GAAaA,GAEf,EAsCMyB,YAAa,GAEZ9B,IAqBP,OAfEuB,EAAAC,cAACC,EAAK,CAAA9B,UAAWwB,GACfI,EAAAC,cAACS,EAAO,MACRV,EAAAC,cAACU,EAAa,CAACC,GAAItB,EAAauB,QAAS,IAAKhB,WAAW,SACvDG,EAAAC,cAACC,EAAI,CAAC9B,UAAWyB,EAAW,wBAAyB,CAAEX,WAAUA,KAC9DjB,GACC+B,EAAAC,cAACC,EAAI,CAAC9B,UAAU,gCAAgCH,GAElD+B,EAAAC,cAACC,EAAK,CAAA9B,UAAU,iCAAiCF,GAChDW,GACCmB,EAAAC,cAACC,EAAI,CAAC9B,UAAU,gCAAgC2B,KAO5D"}
@@ -1,2 +1,2 @@
1
- import{__rest as e,__assign as a}from"../node_modules/tslib/tslib.es6.js";import t,{forwardRef as n,useRef as l,useImperativeHandle as r}from"react";import{View as m,Text as o,Input as i}from"@tarojs/components";import c from"classnames";import{inputRange as s}from"../src/utils/index.js";var u=n((function(n,u){var p=n.onChange,f=n.maxlength,h=n.value,d=n.type,x=n.placeholder,v=n.label,E=n.labelHtml,N=n.RightComponent,b=n.onBlur,g=n.pattern,y=n.LeftComponent,w=n.LeftIcon,L=n.name,C=n.readonly,I=void 0!==C&&C,_=n.withArrow,B=void 0!==_&&_,H=n.direction,j=void 0===H?"row":H,A=n.border,R=void 0===A||A,T=n.mainExtra,M=n.padding,S=void 0!==M&&M,O=e(n,["onChange","maxlength","value","type","placeholder","label","labelHtml","RightComponent","onBlur","pattern","LeftComponent","LeftIcon","name","readonly","withArrow","direction","border","mainExtra","padding"]);function V(e){var a=s(e.target.value);e.target.value=a,p&&p(a)}function k(e){var a=s(e.target.value);b&&b(a)}var q=l(null);r(u,(function(){return{focus:function(){q.current.focus()}}}));var z=c("xh-form-input",{column:"column"===j,border:R,padding:S});return"h5"!==process.env.TARO_ENV?t.createElement(m,{className:z},t.createElement(m,{className:"xh-form-input-main"},t.createElement(m,{className:"xh-form-input-main-left"},v&&t.createElement(m,{className:"xh-form-input-main-left-label"},v,w&&t.createElement(m,{className:"xh-form-input-main-left-label-icon"},w)),E&&t.createElement("label",{dangerouslySetInnerHTML:{__html:E},className:"label"}),t.createElement(m,null,y)),t.createElement(m,{className:"xh-form-input-main-center"},I?t.createElement(o,{className:c("xh-form-input-readonly",{"xh-form-input-placeholder":!h})},h||x):t.createElement(i,a({},O,{ref:q,className:"xh-form-input-main-center-native",maxlength:f,name:L,placeholder:x,type:d,value:h,onBlur:k,onInput:V}))),T&&t.createElement(m,{className:"xh-form-input-main-extra"},T)),t.createElement(m,{className:"xh-form-input-right"},N,B&&t.createElement(m,{className:"arrow"}))):t.createElement("div",{className:z},t.createElement("div",{className:"xh-form-input-main"},t.createElement("div",{className:"xh-form-input-main-left"},v&&t.createElement("label",{className:"xh-form-input-main-left-label"},v,w&&t.createElement("div",{className:"xh-form-input-main-left-label-icon"},w)),E&&t.createElement("label",{dangerouslySetInnerHTML:{__html:E},className:"label"}),t.createElement("div",null,y)),t.createElement("div",{className:"xh-form-input-main-center"},I?t.createElement("p",{className:c("xh-form-input-main-center-readonly",{"xh-form-input-main-placeholder":!h})},h||x):t.createElement("input",{ref:q,className:"xh-form-input-main-center-native",maxLength:f,name:L,pattern:g,placeholder:x,type:d,value:h,onBlur:k,onInput:V})),T&&t.createElement("div",{className:"xh-form-input-main-extra"},T)),t.createElement("div",{className:"xh-form-input-right"},N,B&&t.createElement("i",{className:"arrow"})))}));export{u as default};
1
+ import{__rest as e,__assign as a}from"../node_modules/tslib/tslib.es6.js";import t,{forwardRef as n,useRef as l,useImperativeHandle as r}from"react";import{View as m,Text as o,Input as i}from"@tarojs/components";import c from"classnames";import{inputRange as s}from"../src/utils/index.js";var u=n((function(n,u){var p=n.onChange,f=n.maxlength,h=n.value,d=n.type,v=n.placeholder,x=n.label,E=n.labelHtml,N=n.RightComponent,b=n.onBlur,g=n.pattern,y=n.LeftComponent,w=n.LeftIcon,L=n.name,C=n.readonly,I=void 0!==C&&C,_=n.withArrow,B=void 0!==_&&_,H=n.direction,j=void 0===H?"row":H,A=n.border,R=void 0===A||A,T=n.mainExtra,M=n.padding,S=void 0!==M&&M,O=e(n,["onChange","maxlength","value","type","placeholder","label","labelHtml","RightComponent","onBlur","pattern","LeftComponent","LeftIcon","name","readonly","withArrow","direction","border","mainExtra","padding"]);function V(e){var a=s(e.target.value);e.target.value=a,p&&p(a)}function k(e){var a=s(e.target.value);b&&b(a)}var q=l(null);r(u,(function(){return{focus:function(){var e;null===(e=q.current)||void 0===e||e.focus()}}}));var z=c("xh-form-input",{column:"column"===j,border:R,padding:S});return"h5"!==process.env.TARO_ENV?t.createElement(m,{className:z},t.createElement(m,{className:"xh-form-input-main"},t.createElement(m,{className:"xh-form-input-main-left"},x&&t.createElement(m,{className:"xh-form-input-main-left-label"},x,w&&t.createElement(m,{className:"xh-form-input-main-left-label-icon"},w)),E&&t.createElement("label",{dangerouslySetInnerHTML:{__html:E},className:"label"}),t.createElement(m,null,y)),t.createElement(m,{className:"xh-form-input-main-center"},I?t.createElement(o,{className:c("xh-form-input-readonly",{"xh-form-input-placeholder":!h})},h||v):t.createElement(i,a({},O,{ref:q,className:"xh-form-input-main-center-native",maxlength:f,name:L,placeholder:v,type:d,value:h,onBlur:k,onInput:V}))),T&&t.createElement(m,{className:"xh-form-input-main-extra"},T)),t.createElement(m,{className:"xh-form-input-right"},N,B&&t.createElement(m,{className:"arrow"}))):t.createElement("div",{className:z},t.createElement("div",{className:"xh-form-input-main"},t.createElement("div",{className:"xh-form-input-main-left"},x&&t.createElement("label",{className:"xh-form-input-main-left-label"},x,w&&t.createElement("div",{className:"xh-form-input-main-left-label-icon"},w)),E&&t.createElement("label",{dangerouslySetInnerHTML:{__html:E},className:"label"}),t.createElement("div",null,y)),t.createElement("div",{className:"xh-form-input-main-center"},I?t.createElement("p",{className:c("xh-form-input-main-center-readonly",{"xh-form-input-main-placeholder":!h})},h||v):t.createElement("input",{ref:q,className:"xh-form-input-main-center-native",maxLength:f,name:L,pattern:g,placeholder:v,type:d,value:h,onBlur:k,onInput:V})),T&&t.createElement("div",{className:"xh-form-input-main-extra"},T)),t.createElement("div",{className:"xh-form-input-right"},N,B&&t.createElement("span",{className:"arrow"})))}));export{u as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/FormInput/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useRef,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport {\n Input,\n View,\n Text,\n InputProps,\n CommonEventFunction,\n} from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { inputRange } from \"../../utils/index\";\n\nimport \"./index.scss\";\n\nexport type HTMLFormType =\n | \"tel\"\n | \"text\"\n | \"number\"\n | \"password\"\n | \"idcard\"\n | \"digit\"\n | \"safe-password\"\n | \"nickname\";\n\nexport type FormInputProps = {\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n /** 当键盘输入时,触发input事件,event.detail = {value, cursor, keyCode},处理函数可以直接 return 一个字符串,将替换输入框的内容。\n * @supported weapp, h5, rn\n */\n onInput?: CommonEventFunction<InputProps.inputEventDetail>;\n\n /** 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度\n * @supported weapp, h5, rn\n */\n onFocus?: CommonEventFunction<InputProps.inputForceEventDetail>;\n\n /** 输入框失去焦点时触发\n *\n * event.detail = {value: value}\n * @supported weapp, h5, rn\n */\n value?: string;\n maxlength?: number;\n placeholder?: string;\n type?: HTMLFormType;\n pattern?: string;\n RightComponent?: ReactNode;\n label?: string;\n labelHtml?: string;\n LeftComponent?: ReactNode;\n LeftIcon?: ReactNode;\n name?: string;\n readonly?: boolean;\n withArrow?: boolean;\n direction?: \"row\" | \"column\";\n border?: boolean;\n mainExtra?: ReactNode;\n padding?: boolean;\n password?: boolean;\n focus?: boolean;\n /** 设置键盘右下角按钮的文字\n * @default done\n * @supported weapp, rn\n */\n confirmType?: \"send\" | \"search\" | \"next\" | \"go\" | \"done\";\n /** 用于透传 `WebComponents` 上的属性到内部 H5 标签上\n * @supported h5\n */\n nativeProps?: Record<string, unknown>;\n};\n\nexport type FocusHandler = { focus: () => void };\n\nconst FormInput = forwardRef<FocusHandler, FormInputProps>((props, formRef) => {\n const {\n onChange,\n maxlength,\n value,\n type,\n placeholder,\n label,\n labelHtml,\n RightComponent,\n onBlur,\n pattern,\n LeftComponent,\n LeftIcon,\n name,\n readonly = false,\n withArrow = false,\n direction = \"row\",\n border = true,\n mainExtra,\n padding = false,\n ...rest\n } = props;\n\n function handleChange(e): any {\n let inputValue = inputRange(e.target.value);\n e.target.value = inputValue;\n onChange && onChange(inputValue);\n }\n\n function handleBlur(e): any {\n let inputValue = inputRange(e.target.value);\n onBlur && onBlur(inputValue);\n }\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(formRef, () => ({\n focus() {\n inputRef.current!.focus();\n },\n }));\n\n const wrapperCls = classNames(\"xh-form-input\", {\n column: direction === \"column\",\n border,\n padding,\n });\n\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <View className={wrapperCls}>\n <View className=\"xh-form-input-main\">\n <View className=\"xh-form-input-main-left\">\n {label && (\n <View className=\"xh-form-input-main-left-label\">\n {label}\n {LeftIcon && (\n <View className=\"xh-form-input-main-left-label-icon\">\n {LeftIcon}\n </View>\n )}\n </View>\n )}\n {labelHtml && (\n <label\n dangerouslySetInnerHTML={{ __html: labelHtml }}\n className=\"label\"\n />\n )}\n <View>{LeftComponent}</View>\n </View>\n <View className=\"xh-form-input-main-center\">\n {readonly ? (\n <Text\n className={classNames(\"xh-form-input-readonly\", {\n \"xh-form-input-placeholder\": !value,\n })}\n >\n {value || placeholder}\n </Text>\n ) : (\n <Input\n {...rest}\n ref={inputRef}\n className=\"xh-form-input-main-center-native\"\n maxlength={maxlength}\n name={name}\n placeholder={placeholder}\n type={type as InputProps[\"type\"]}\n value={value}\n onBlur={handleBlur}\n onInput={handleChange}\n />\n )}\n </View>\n {mainExtra && (\n <View className=\"xh-form-input-main-extra\">{mainExtra}</View>\n )}\n </View>\n <View className=\"xh-form-input-right\">\n {RightComponent}\n {withArrow && <View className=\"arrow\" />}\n </View>\n </View>\n );\n }\n\n return (\n <div className={wrapperCls}>\n <div className=\"xh-form-input-main\">\n <div className=\"xh-form-input-main-left\">\n {label && (\n <label className=\"xh-form-input-main-left-label\">\n {label}\n {LeftIcon && (\n <div className=\"xh-form-input-main-left-label-icon\">\n {LeftIcon}\n </div>\n )}\n </label>\n )}\n {labelHtml && (\n <label\n dangerouslySetInnerHTML={{ __html: labelHtml }}\n className=\"label\"\n />\n )}\n <div>{LeftComponent}</div>\n </div>\n <div className=\"xh-form-input-main-center\">\n {readonly ? (\n <p\n className={classNames(\"xh-form-input-main-center-readonly\", {\n \"xh-form-input-main-placeholder\": !value,\n })}\n >\n {value || placeholder}\n </p>\n ) : (\n <input\n ref={inputRef}\n className=\"xh-form-input-main-center-native\"\n maxLength={maxlength}\n name={name}\n pattern={pattern}\n placeholder={placeholder}\n type={type}\n value={value}\n onBlur={handleBlur}\n onInput={handleChange}\n />\n )}\n </div>\n {mainExtra && (\n <div className=\"xh-form-input-main-extra\">{mainExtra}</div>\n )}\n </div>\n <div className=\"xh-form-input-right\">\n {RightComponent}\n {withArrow && <i className=\"arrow\" />}\n </div>\n </div>\n );\n});\nexport default FormInput;\n"],"names":["FormInput","forwardRef","props","formRef","onChange","maxlength","value","type","placeholder","label","labelHtml","RightComponent","onBlur","pattern","LeftComponent","LeftIcon","name","_a","readonly","_b","withArrow","_c","direction","_d","border","mainExtra","_e","padding","rest","__rest","handleChange","e","inputValue","inputRange","target","handleBlur","inputRef","useRef","useImperativeHandle","focus","current","wrapperCls","classNames","column","process","env","TARO_ENV","React","createElement","View","className","dangerouslySetInnerHTML","__html","Text","Input","ref","onInput","maxLength"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/FormInput/index.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useRef,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport {\n Input,\n View,\n Text,\n InputProps,\n CommonEventFunction,\n} from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { inputRange } from \"../../utils/index\";\n\nimport \"./index.scss\";\n\nexport type HTMLFormType =\n | \"tel\"\n | \"text\"\n | \"number\"\n | \"password\"\n | \"idcard\"\n | \"digit\"\n | \"safe-password\"\n | \"nickname\";\n\nexport type FormInputProps = {\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n /** 当键盘输入时,触发input事件,event.detail = {value, cursor, keyCode},处理函数可以直接 return 一个字符串,将替换输入框的内容。\n * @supported weapp, h5, rn\n */\n onInput?: CommonEventFunction<InputProps.inputEventDetail>;\n\n /** 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度\n * @supported weapp, h5, rn\n */\n onFocus?: CommonEventFunction<InputProps.inputForceEventDetail>;\n\n /** 输入框失去焦点时触发\n *\n * event.detail = {value: value}\n * @supported weapp, h5, rn\n */\n value?: string;\n maxlength?: number;\n placeholder?: string;\n type?: HTMLFormType;\n pattern?: string;\n RightComponent?: ReactNode;\n label?: string;\n labelHtml?: string;\n LeftComponent?: ReactNode;\n LeftIcon?: ReactNode;\n name?: string;\n readonly?: boolean;\n withArrow?: boolean;\n direction?: \"row\" | \"column\";\n border?: boolean;\n mainExtra?: ReactNode;\n padding?: boolean;\n password?: boolean;\n focus?: boolean;\n /** 设置键盘右下角按钮的文字\n * @default done\n * @supported weapp, rn\n */\n confirmType?: \"send\" | \"search\" | \"next\" | \"go\" | \"done\";\n /** 用于透传 `WebComponents` 上的属性到内部 H5 标签上\n * @supported h5\n */\n nativeProps?: Record<string, unknown>;\n};\n\nexport type FocusHandler = { focus: () => void };\n\nconst FormInput = forwardRef<FocusHandler, FormInputProps>((props, formRef) => {\n const {\n onChange,\n maxlength,\n value,\n type,\n placeholder,\n label,\n labelHtml,\n RightComponent,\n onBlur,\n pattern,\n LeftComponent,\n LeftIcon,\n name,\n readonly = false,\n withArrow = false,\n direction = \"row\",\n border = true,\n mainExtra,\n padding = false,\n ...rest\n } = props;\n\n function handleChange(e): any {\n let inputValue = inputRange(e.target.value);\n e.target.value = inputValue;\n onChange && onChange(inputValue);\n }\n\n function handleBlur(e): any {\n let inputValue = inputRange(e.target.value);\n onBlur && onBlur(inputValue);\n }\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(formRef, () => ({\n focus() {\n inputRef.current?.focus();\n },\n }));\n\n const wrapperCls = classNames(\"xh-form-input\", {\n column: direction === \"column\",\n border,\n padding,\n });\n\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <View className={wrapperCls}>\n <View className=\"xh-form-input-main\">\n <View className=\"xh-form-input-main-left\">\n {label && (\n <View className=\"xh-form-input-main-left-label\">\n {label}\n {LeftIcon && (\n <View className=\"xh-form-input-main-left-label-icon\">\n {LeftIcon}\n </View>\n )}\n </View>\n )}\n {labelHtml && (\n <label\n dangerouslySetInnerHTML={{ __html: labelHtml }}\n className=\"label\"\n />\n )}\n <View>{LeftComponent}</View>\n </View>\n <View className=\"xh-form-input-main-center\">\n {readonly ? (\n <Text\n className={classNames(\"xh-form-input-readonly\", {\n \"xh-form-input-placeholder\": !value,\n })}\n >\n {value || placeholder}\n </Text>\n ) : (\n <Input\n {...rest}\n ref={inputRef}\n className=\"xh-form-input-main-center-native\"\n maxlength={maxlength}\n name={name}\n placeholder={placeholder}\n type={type as InputProps[\"type\"]}\n value={value}\n onBlur={handleBlur}\n onInput={handleChange}\n />\n )}\n </View>\n {mainExtra && (\n <View className=\"xh-form-input-main-extra\">{mainExtra}</View>\n )}\n </View>\n <View className=\"xh-form-input-right\">\n {RightComponent}\n {withArrow && <View className=\"arrow\" />}\n </View>\n </View>\n );\n }\n\n return (\n <div className={wrapperCls}>\n <div className=\"xh-form-input-main\">\n <div className=\"xh-form-input-main-left\">\n {label && (\n <label className=\"xh-form-input-main-left-label\">\n {label}\n {LeftIcon && (\n <div className=\"xh-form-input-main-left-label-icon\">\n {LeftIcon}\n </div>\n )}\n </label>\n )}\n {labelHtml && (\n <label\n dangerouslySetInnerHTML={{ __html: labelHtml }}\n className=\"label\"\n />\n )}\n <div>{LeftComponent}</div>\n </div>\n <div className=\"xh-form-input-main-center\">\n {readonly ? (\n <p\n className={classNames(\"xh-form-input-main-center-readonly\", {\n \"xh-form-input-main-placeholder\": !value,\n })}\n >\n {value || placeholder}\n </p>\n ) : (\n <input\n ref={inputRef}\n className=\"xh-form-input-main-center-native\"\n maxLength={maxlength}\n name={name}\n pattern={pattern}\n placeholder={placeholder}\n type={type}\n value={value}\n onBlur={handleBlur}\n onInput={handleChange}\n />\n )}\n </div>\n {mainExtra && (\n <div className=\"xh-form-input-main-extra\">{mainExtra}</div>\n )}\n </div>\n <div className=\"xh-form-input-right\">\n {RightComponent}\n {withArrow && <span className=\"arrow\" />}\n </div>\n </div>\n );\n});\nexport default FormInput;\n"],"names":["FormInput","forwardRef","props","formRef","onChange","maxlength","value","type","placeholder","label","labelHtml","RightComponent","onBlur","pattern","LeftComponent","LeftIcon","name","_a","readonly","_b","withArrow","_c","direction","_d","border","mainExtra","_e","padding","rest","__rest","handleChange","e","inputValue","inputRange","target","handleBlur","inputRef","useRef","useImperativeHandle","focus","current","wrapperCls","classNames","column","process","env","TARO_ENV","React","createElement","View","className","dangerouslySetInnerHTML","__html","Text","Input","ref","onInput","maxLength"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Icon/index.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { pxTransform } from \"@/utils\";\nimport type { StandardLonghandProperties } from \"csstype\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type XHIcon =\n | \"prompt\"\n | \"score\"\n | \"info\"\n | \"failure\"\n | \"success\"\n | \"loading\"\n | \"back\"\n | \"notice\"\n | \"scan\"\n | \"light\"\n | \"faceScan\"\n | \"delete\"\n | \"radioFull\"\n | \"checkboxFull\"\n | \"checkedSquare\"\n | \"checked2\"\n | \"arrowTop\"\n | \"notice2\"\n | \"position\"\n | \"contacts\"\n | \"billFull\"\n | \"bill2\"\n | \"bill3\"\n | \"bill4\"\n | \"edit\"\n | \"editFull\"\n | \"camera\"\n | \"close\"\n | \"gift\"\n | \"message\"\n | \"user\"\n | \"wenhao\"\n | \"kefu\"\n | \"user\"\n | \"play\"\n | \"arrowLeft\"\n | \"arrowRight\"\n | \"keyboardClose\"\n | \"add\"\n | \"tongxunlu\"\n | \"zhuyi\";\n\nexport type XHIconProps = {\n icon: XHIcon;\n size?: number;\n color?: StandardLonghandProperties[\"color\"];\n style?: React.CSSProperties;\n onClick?: () => void;\n} & XHComponentCommonProps;\n\nconst Icon: React.FC<XHIconProps> = props => {\n const { icon = \"\", size = 0, className, color, style, ...rest } = props;\n\n const fixIcon = icon && `xh-icon-${icon}`;\n const iconCls = classNames(\"xh-icon\", fixIcon, className);\n\n const finalStyle: React.CSSProperties = {\n ...style,\n fontSize: pxTransform(size),\n color,\n };\n\n return <span className={iconCls} {...{ style: finalStyle }} {...rest} />;\n};\n\nexport default Icon;\n"],"names":["Icon","props","_a","icon","_b","size","className","color","style","rest","__rest","fixIcon","concat","iconCls","classNames","finalStyle","__assign","fontSize","pxTransform","React","createElement"],"mappings":"6KA2DM,IAAAA,EAA8B,SAAAC,GAC1B,IAAAC,EAA0DD,EAAKE,KAA/DA,aAAO,GAAED,EAAEE,EAA+CH,EAAvCI,KAARA,OAAO,IAAAD,EAAA,IAAGE,EAAqCL,YAA1BM,EAA0BN,EAAKM,MAAxBC,EAAmBP,EAAKO,MAAdC,EAAIC,EAAKT,EAA5D,CAAA,OAAA,OAAA,YAAA,QAAA,UAEAU,EAAUR,GAAQ,WAAWS,OAAAT,GAC7BU,EAAUC,EAAW,UAAWH,EAASL,GAEzCS,EAAUC,EAAAA,EAAA,CAAA,EACXR,GAAK,CACRS,SAAUC,EAAYb,GACtBE,MAAKA,IAGP,OAAOY,EAAMC,cAAA,OAAAJ,EAAA,CAAAV,UAAWO,GAAa,CAAEL,MAAOO,GAAkBN,GAClE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Icon/index.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { pxTransform } from \"@/utils\";\nimport type { StandardLonghandProperties } from \"csstype\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type XHIcon =\n | \"prompt\"\n | \"score\"\n | \"info\"\n | \"failure\"\n | \"success\"\n | \"loading\"\n | \"back\"\n | \"notice\"\n | \"scan\"\n | \"light\"\n | \"faceScan\"\n | \"delete\"\n | \"radioFull\"\n | \"checkboxFull\"\n | \"checkedSquare\"\n | \"checked2\"\n | \"arrowTop\"\n | \"notice2\"\n | \"position\"\n | \"contacts\"\n | \"billFull\"\n | \"bill2\"\n | \"bill3\"\n | \"bill4\"\n | \"edit\"\n | \"editFull\"\n | \"camera\"\n | \"close\"\n | \"gift\"\n | \"message\"\n | \"user\"\n | \"wenhao\"\n | \"kefu\"\n | \"user\"\n | \"play\"\n | \"arrowLeft\"\n | \"arrowRight\"\n | \"keyboardClose\"\n | \"add\"\n | \"tongxunlu\"\n | \"zhuyi\"\n | \"duigou\";\n\nexport type XHIconProps = {\n icon: XHIcon;\n size?: number;\n color?: StandardLonghandProperties[\"color\"];\n style?: React.CSSProperties;\n onClick?: () => void;\n} & XHComponentCommonProps;\n\nconst Icon: React.FC<XHIconProps> = props => {\n const { icon = \"\", size = 0, className, color, style, ...rest } = props;\n\n const fixIcon = icon && `xh-icon-${icon}`;\n const iconCls = classNames(\"xh-icon\", fixIcon, className);\n\n const finalStyle: React.CSSProperties = {\n ...style,\n fontSize: pxTransform(size),\n color,\n };\n\n return <span className={iconCls} {...{ style: finalStyle }} {...rest} />;\n};\n\nexport default Icon;\n"],"names":["Icon","props","_a","icon","_b","size","className","color","style","rest","__rest","fixIcon","concat","iconCls","classNames","finalStyle","__assign","fontSize","pxTransform","React","createElement"],"mappings":"6KA4DM,IAAAA,EAA8B,SAAAC,GAC1B,IAAAC,EAA0DD,EAAKE,KAA/DA,aAAO,GAAED,EAAEE,EAA+CH,EAAvCI,KAARA,OAAO,IAAAD,EAAA,IAAGE,EAAqCL,YAA1BM,EAA0BN,EAAKM,MAAxBC,EAAmBP,EAAKO,MAAdC,EAAIC,EAAKT,EAA5D,CAAA,OAAA,OAAA,YAAA,QAAA,UAEAU,EAAUR,GAAQ,WAAWS,OAAAT,GAC7BU,EAAUC,EAAW,UAAWH,EAASL,GAEzCS,EAAUC,EAAAA,EAAA,CAAA,EACXR,GAAK,CACRS,SAAUC,EAAYb,GACtBE,MAAKA,IAGP,OAAOY,EAAMC,cAAA,OAAAJ,EAAA,CAAAV,UAAWO,GAAa,CAAEL,MAAOO,GAAkBN,GAClE"}
@@ -0,0 +1,2 @@
1
+ import{__read as n,__spreadArray as e}from"../node_modules/tslib/tslib.es6.js";import{View as a,Input as t}from"@tarojs/components";import l,{forwardRef as i,useState as m,useEffect as r,useCallback as o,useMemo as u,useImperativeHandle as c}from"react";import{inputRange as s}from"../src/utils/index.js";import h from"../ActionSheet/index.js";var k=["一","二","三","四","五","六","七","八","九","十"],p={linkmanName:"请输入联系人姓名",linkmanPhone:"请输入正确的手机号",relationType:"请选择与联系人关系"},f=[{value:"FATHER",text:"父亲"},{value:"MOTHER",text:"母亲"},{value:"MATE",text:"配偶"},{value:"CHILDREN",text:"子女"},{value:"SIBLING",text:"兄弟姐妹"},{value:"FRIENDS",text:"朋友"},{value:"COLLEAGUE",text:"同事"},{value:"RELATIVES",text:"亲戚"},{value:"OTHER",text:"其他"}],N="h5"!==process.env.TARO_ENV||window.navigator.userAgent.includes("xhqb"),x=i((function(i,x){var E=i.linkManNum,v=i.relations,P=void 0===v?f:v,T=i.onChange,d=i.onGetContacts,g=i.showImportIcon,y=void 0===g?N:g,V=i.onBlur,A=i.onCheckRelation,b=i.onInputChange,R=n(m([]),2),C=R[0],I=R[1],O=n(m([]),2),L=O[0],_=O[1];r((function(){I(Array(E).fill(1).map((function(){return{linkmanName:"",linkmanPhone:"",relationType:"",relationValue:""}}))),_(Array(E).fill(1).map((function(){return{linkmanName:"",linkmanPhone:"",relationType:""}})))}),[E]);var B=o((function(n){return!!/1\d{10}/.test(n)}),[]),F=o((function(n,e){return"linkmanName"===n?!(!e||!e.replace(/^\s+|\s+$/gm,""))&&!(e.length>20):"linkmanPhone"===n?!(!e||!B(e)):"relationType"===n&&!!e}),[]),M=u((function(){for(var n=C,e=n.length,a={linkmanName:[],linkmanPhone:[],relationValue:[]},t=!0,l=0;l<e;l++){if(!F("linkmanName",n[l].linkmanName)){t=!1;break}if(!F("linkmanPhone",n[l].linkmanPhone)){t=!1;break}if(0!==l&&a.linkmanPhone.includes(n[l].linkmanPhone)){t=!1;break}if(a.linkmanPhone.push(n[l].linkmanPhone),!F("relationType",n[l].relationValue)){t=!1;break}a.relationValue.push(n[l].relationValue)}return a.relationValue.filter((function(n){return"MATE"===n})).length>=2&&(t=!1),t}),[C]);r((function(){null==T||T(C,M)}),[C,M]),c(x,(function(){return{canSubmit:M,setContacts:function(a,t){I((function(l){return l[t].linkmanName=a.linkmanName,l[t].linkmanPhone=a.linkmanPhone,e([],n(l),!1)})),H("linkmanName",t),H("linkmanPhone",t)}}}),[M]);var S=function(n,e){for(var a=C[e],t=0,l=C.length;t<l;t++)if(t!==e){var i=C[t];if("linkmanPhone"===n){if(""!==a.linkmanPhone&&""!==i.linkmanPhone&&i.linkmanPhone===a.linkmanPhone)return{pass:!1,message:"手机号与第".concat(t+1,"联系人号码重复,请修改")}}else if("relationValue"===n&&""!==a.relationValue&&"MATE"===i.relationValue&&"MATE"===a.relationValue)return{pass:!1,message:"关系与第".concat(t+1,"联系人关系重复,请修改")}}return{pass:!0,message:""}},j=o((function(a,t){var l="h5"===process.env.TARO_ENV?a.target.value:a.detail.value,i=s(l);I((function(a){return a[t].linkmanName=i,e([],n(a),!1)})),null==b||b("linkmanName",t)}),[]),w=o((function(a,t){var l="h5"===process.env.TARO_ENV?a.target.value:a.detail.value,i=s(l);I((function(a){return a[t].linkmanPhone=i,e([],n(a),!1)})),null==b||b("linkmanPhone",t)}),[]),H=o((function(a,t){if(F(a,C[t][a])){var l=S(a,t),i=l.pass,m=l.message;i||_((function(l){return l[t][a]=m,e([],n(l),!1)})),null==V||V(a,t)}else _((function(l){return l[t][a]=p[a],e([],n(l),!1)}))}),[C]),G=o((function(a,t){_((function(l){return l[t][a]="",e([],n(l),!1)}))}),[]);return l.createElement(a,{className:"xh-linkman"},C.map((function(i,m){return l.createElement(a,{key:m,className:"xh-linkman-item"},l.createElement(a,{className:"xh-linkman-title"},"第",k[m],"联系人"),l.createElement(a,{className:"xh-linkman-main"},l.createElement(a,{className:"xh-linkman-main-input"},l.createElement(a,{className:"xh-linkman-main-input-label"},"姓名"),l.createElement(a,{className:"xh-linkman-main-input-main"},"h5"===process.env.TARO_ENV?l.createElement("input",{className:"xh-linkman-main-input-main-input",type:"text",placeholder:"紧急联系人姓名",onChange:function(n){return j(n,m)},value:i.linkmanName,onBlur:function(){return H("linkmanName",m)},onFocus:function(){return G("linkmanName",m)}}):l.createElement(t,{placeholder:"紧急联系人姓名",className:"xh-linkman-main-input-main-input",onBlur:function(){return H("linkmanName",m)},value:i.linkmanName,type:"text",onInput:function(n){return j(n,m)},onFocus:function(){return G("linkmanName",m)}}),L[m].linkmanName&&l.createElement(a,{className:"xh-linkman-main-input-main-err"},L[m].linkmanName)),y&&l.createElement(a,{className:"xh-linkman-main-input-contacts",onClick:function(){return null==d?void 0:d(m)}}))),l.createElement(a,{className:"xh-linkman-main"},l.createElement(a,{className:"xh-linkman-main-input"},l.createElement(a,{className:"xh-linkman-main-input-label"},"电话"),l.createElement(a,{className:"xh-linkman-main-input-main"},"h5"===process.env.TARO_ENV?l.createElement("input",{className:"xh-linkman-main-input-main-input",type:"tel",placeholder:"紧急联系人手机号",onBlur:function(){return H("linkmanPhone",m)},maxLength:11,onChange:function(n){return w(n,m)},value:i.linkmanPhone,onFocus:function(){return G("linkmanPhone",m)}}):l.createElement(t,{placeholder:"紧急联系人手机号",className:"xh-linkman-main-input-main-input",type:"number",maxlength:11,onBlur:function(){return H("linkmanPhone",m)},value:i.linkmanPhone,onInput:function(n){return w(n,m)},onFocus:function(){return G("linkmanPhone",m)}}),L[m].linkmanPhone&&l.createElement(a,{className:"xh-linkman-main-input-main-err"},L[m].linkmanPhone)))),l.createElement(h,{data:P,title:"选择与联系人的关系",onConfirm:function(a){_((function(a){return a[m].relationType="",e([],n(a),!1)})),I((function(t){return t[m].relationType=a.text,t[m].relationValue=a.value,e([],n(t),!1)})),Promise.resolve().then((function(){var t=S("relationValue",m),l=t.pass,i=t.message;l||_((function(a){return a[m].relationType=i,e([],n(a),!1)})),null==A||A(a,m)}))},onCancel:function(){return H("relationType",m)}},l.createElement(a,{className:"xh-linkman-main"},l.createElement(a,{className:"xh-linkman-main-input"},l.createElement(a,{className:"xh-linkman-main-input-label"},"关系"),l.createElement(a,{className:"xh-linkman-main-input-main"},"h5"===process.env.TARO_ENV?l.createElement("input",{type:"text",maxLength:11,className:"xh-linkman-main-input-main-input",readOnly:!0,placeholder:"选择与联系人关系",value:i.relationType}):l.createElement(t,{placeholder:"选择与联系人关系",className:"xh-linkman-main-input-main-input",type:"digit",maxlength:11,value:i.relationType,disabled:!0}),L[m].relationType&&l.createElement(a,{className:"xh-linkman-main-input-main-err"},L[m].relationType)),l.createElement(a,{className:"xh-linkman-main-input-arrow"})))))})))}));export{x as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/LinkMan/index.tsx"],"sourcesContent":["import { View, Input } from \"@tarojs/components\";\nimport React, {\n useCallback,\n useEffect,\n useState,\n forwardRef,\n useImperativeHandle,\n useMemo,\n} from \"react\";\nimport { inputRange } from \"@/utils\";\n\nimport ActionSheet from \"../ActionSheet\";\n\nimport \"./index.scss\";\n\nexport type AddLinkManProps = {\n linkManNum: number;\n onChange?: (data: LinkManItem[], pass: boolean) => void;\n onGetContacts?: (index: number) => void;\n showImportIcon?: boolean;\n onBlur?: (type: keyof LinkManItem, index: number) => void;\n onCheckRelation?: (\n value: { text: string; value: string },\n index: number\n ) => void;\n onInputChange?: (type: \"linkmanName\" | \"linkmanPhone\", index: number) => void;\n /**\n * 可以选择的关系\n */\n relations?: { text: string; value: string }[];\n};\n\nconst LinkManTitleMap = [\n \"一\",\n \"二\",\n \"三\",\n \"四\",\n \"五\",\n \"六\",\n \"七\",\n \"八\",\n \"九\",\n \"十\",\n];\n\n/**\n * 错误信息提示\n */\nconst errorMessageMap = {\n linkmanName: \"请输入联系人姓名\",\n linkmanPhone: \"请输入正确的手机号\",\n relationType: \"请选择与联系人关系\",\n};\n\nconst defaultActionSheet = [\n {\n value: \"FATHER\",\n text: \"父亲\",\n },\n {\n value: \"MOTHER\",\n text: \"母亲\",\n },\n {\n value: \"MATE\",\n text: \"配偶\",\n },\n {\n value: \"CHILDREN\",\n text: \"子女\",\n },\n {\n value: \"SIBLING\",\n text: \"兄弟姐妹\",\n },\n {\n value: \"FRIENDS\",\n text: \"朋友\",\n },\n {\n value: \"COLLEAGUE\",\n text: \"同事\",\n },\n {\n value: \"RELATIVES\",\n text: \"亲戚\",\n },\n {\n value: \"OTHER\",\n text: \"其他\",\n },\n];\n\nexport type LinkManItem = {\n linkmanName: string;\n linkmanPhone: string;\n relationType: string;\n relationValue: string;\n};\n\nexport type LinkManRef = {\n canSubmit: boolean;\n setContacts: (\n item: Pick<LinkManItem, \"linkmanName\" | \"linkmanPhone\">,\n index: number\n ) => void;\n};\n\nconst defaultShowImportIcon =\n process.env.TARO_ENV === \"h5\"\n ? window.navigator.userAgent.includes(\"xhqb\")\n : true;\n\nconst XHAddLinMan = forwardRef<LinkManRef, AddLinkManProps>(\n (props, fromRef) => {\n const {\n linkManNum,\n relations = defaultActionSheet,\n onChange,\n onGetContacts,\n showImportIcon = defaultShowImportIcon,\n onBlur,\n onCheckRelation,\n onInputChange,\n } = props;\n\n // form信息\n const [formData, setFormData] = useState<LinkManItem[]>([]);\n\n // 错误提示语信息\n const [errMessage, setErrMessage] = useState<\n Omit<LinkManItem, \"relationValue\">[]\n >([]);\n\n useEffect(() => {\n setFormData(\n Array(linkManNum)\n .fill(1)\n .map(() => {\n return {\n linkmanName: \"\",\n linkmanPhone: \"\",\n relationType: \"\",\n relationValue: \"\",\n };\n })\n );\n setErrMessage(\n Array(linkManNum)\n .fill(1)\n .map(() => {\n return {\n linkmanName: \"\",\n linkmanPhone: \"\",\n relationType: \"\",\n };\n })\n );\n }, [linkManNum]);\n\n /**\n * 校验手机号\n */\n const validatePhone = useCallback((phone: string) => {\n if (/1\\d{10}/.test(phone)) {\n return true;\n }\n return false;\n }, []);\n\n /**\n * 非空校验\n */\n const validateForm = useCallback(\n (type: keyof LinkManItem, name: string) => {\n if (type === \"linkmanName\") {\n if (!name || !name.replace(/^\\s+|\\s+$/gm, \"\")) return false;\n if (name.length > 20) return false;\n return true;\n } else if (type === \"linkmanPhone\") {\n if (!name || !validatePhone(name)) return false;\n return true;\n } else if (type === \"relationType\") {\n if (!name) return false;\n return true;\n }\n return false;\n },\n []\n );\n\n /**\n * 校验联系人是否合法,默认找到不合法的就退出循环\n */\n const validateCanSubmit = useMemo(() => {\n const finalData = formData;\n const length = finalData.length;\n const map: Record<string, string[]> = {\n linkmanName: [],\n linkmanPhone: [],\n relationValue: [],\n };\n let flag = true;\n\n /**\n * 每次循环formData,不符合直接break,退出循环\n */\n for (let index = 0; index < length; index++) {\n const isNameValid = validateForm(\n \"linkmanName\",\n finalData[index].linkmanName\n );\n if (!isNameValid) {\n flag = false;\n break;\n }\n const isPhoneValid = validateForm(\n \"linkmanPhone\",\n finalData[index].linkmanPhone\n );\n if (!isPhoneValid) {\n flag = false;\n break;\n }\n if (\n index !== 0 &&\n map.linkmanPhone.includes(finalData[index].linkmanPhone)\n ) {\n flag = false;\n break;\n }\n map.linkmanPhone.push(finalData[index].linkmanPhone);\n const isRelationValid = validateForm(\n \"relationType\",\n finalData[index].relationValue\n );\n if (!isRelationValid) {\n flag = false;\n break;\n }\n map.relationValue.push(finalData[index].relationValue);\n }\n if (map.relationValue.filter(item => item === \"MATE\").length >= 2) {\n flag = false;\n }\n\n return flag;\n }, [formData]);\n\n useEffect(() => {\n onChange?.(formData, validateCanSubmit);\n }, [formData, validateCanSubmit]);\n\n useImperativeHandle(\n fromRef,\n () => ({\n canSubmit: validateCanSubmit,\n setContacts(item, index) {\n setFormData(old => {\n old[index].linkmanName = item.linkmanName;\n old[index].linkmanPhone = item.linkmanPhone;\n return [...old];\n });\n onFormBlur(\"linkmanName\", index);\n onFormBlur(\"linkmanPhone\", index);\n },\n }),\n [validateCanSubmit]\n );\n\n /**\n * 重复校验\n */\n const validateDuplicate = (\n type: keyof LinkManItem,\n currentIndex\n ): { pass: boolean; message: string } => {\n const currentItem = formData[currentIndex];\n // const validStub: Record<\n // Exclude<keyof LinkManItem, \"relationType\">,\n // string[]\n // > = {\n // linkmanName: [],\n // linkmanPhone: [],\n // relationValue: [],\n // };\n\n for (let index = 0, length = formData.length; index < length; index++) {\n if (index === currentIndex) continue; // 不能跟自己比较\n const current = formData[index];\n if (type === \"linkmanPhone\") {\n if (\n currentItem.linkmanPhone !== \"\" &&\n current.linkmanPhone !== \"\" &&\n current.linkmanPhone === currentItem.linkmanPhone\n ) {\n // 如果没有重复需要清空错误信息\n return {\n pass: false,\n message: `手机号与第${index + 1}联系人号码重复,请修改`,\n };\n } else {\n // setErrMessage(old => {\n // old[index].linkmanPhone = \"\";\n // old[currentIndex].linkmanPhone = \"\";\n // return [...old];\n // });\n }\n } else if (type === \"relationValue\") {\n if (\n currentItem.relationValue !== \"\" &&\n current.relationValue === \"MATE\" &&\n currentItem.relationValue === \"MATE\"\n ) {\n return {\n pass: false,\n message: `关系与第${index + 1}联系人关系重复,请修改`,\n };\n } else {\n // setErrMessage(old => {\n // old[index].relationType = \"\";\n // old[currentIndex].relationType = \"\";\n // return [...old];\n // });\n }\n }\n }\n return { pass: true, message: \"\" };\n };\n\n /**\n * 联系人姓名改变\n */\n const onNameChange = useCallback((evt, index) => {\n const value =\n process.env.TARO_ENV === \"h5\" ? evt.target.value : evt.detail.value;\n const name = inputRange(value);\n setFormData(old => {\n old[index].linkmanName = name;\n return [...old];\n });\n onInputChange?.(\"linkmanName\", index);\n }, []);\n\n /**\n * 联系人手机号改变\n */\n const onPhoneChange = useCallback((evt, index) => {\n const value =\n process.env.TARO_ENV === \"h5\" ? evt.target.value : evt.detail.value;\n const phone = inputRange(value);\n setFormData(old => {\n old[index].linkmanPhone = phone;\n return [...old];\n });\n onInputChange?.(\"linkmanPhone\", index);\n }, []);\n\n /**\n * 输入框失去焦点做校验\n */\n const onFormBlur = useCallback(\n (type: keyof LinkManItem, index: number) => {\n const flag = validateForm(type, formData[index][type]); // 先做值的校验,再做重复校验\n if (!flag) {\n setErrMessage(old => {\n old[index][type] = errorMessageMap[type];\n return [...old];\n });\n return;\n }\n const { pass, message } = validateDuplicate(type, index);\n if (!pass) {\n setErrMessage(old => {\n old[index][type] = message;\n return [...old];\n });\n }\n onBlur?.(type, index);\n },\n [formData]\n );\n\n /**\n * 聚焦的时候设置错误信息为空\n */\n const onFormFocus = useCallback(\n (type: keyof LinkManItem, index: number) => {\n setErrMessage(old => {\n old[index][type] = \"\";\n return [...old];\n });\n },\n []\n );\n\n return (\n <View className=\"xh-linkman\">\n {formData.map((item, num) => (\n <View key={num} className=\"xh-linkman-item\">\n <View className=\"xh-linkman-title\">\n 第{LinkManTitleMap[num]}联系人\n </View>\n <View className=\"xh-linkman-main\">\n <View className=\"xh-linkman-main-input\">\n <View className=\"xh-linkman-main-input-label\">姓名</View>\n <View className=\"xh-linkman-main-input-main\">\n {process.env.TARO_ENV === \"h5\" ? (\n <input\n className=\"xh-linkman-main-input-main-input\"\n type=\"text\"\n placeholder=\"紧急联系人姓名\"\n onChange={e => onNameChange(e, num)}\n value={item.linkmanName}\n onBlur={() => onFormBlur(\"linkmanName\", num)}\n onFocus={() => onFormFocus(\"linkmanName\", num)}\n />\n ) : (\n <Input\n placeholder=\"紧急联系人姓名\"\n className=\"xh-linkman-main-input-main-input\"\n onBlur={() => onFormBlur(\"linkmanName\", num)}\n value={item.linkmanName}\n type=\"text\"\n onInput={e => onNameChange(e, num)}\n onFocus={() => onFormFocus(\"linkmanName\", num)}\n />\n )}\n {errMessage[num].linkmanName && (\n <View className=\"xh-linkman-main-input-main-err\">\n {errMessage[num].linkmanName}\n </View>\n )}\n </View>\n {showImportIcon && (\n <View\n className=\"xh-linkman-main-input-contacts\"\n onClick={() => onGetContacts?.(num)}\n ></View>\n )}\n </View>\n </View>\n <View className=\"xh-linkman-main\">\n <View className=\"xh-linkman-main-input\">\n <View className=\"xh-linkman-main-input-label\">电话</View>\n <View className=\"xh-linkman-main-input-main\">\n {process.env.TARO_ENV === \"h5\" ? (\n <input\n className=\"xh-linkman-main-input-main-input\"\n type=\"tel\"\n placeholder=\"紧急联系人手机号\"\n onBlur={() => onFormBlur(\"linkmanPhone\", num)}\n maxLength={11}\n onChange={e => onPhoneChange(e, num)}\n value={item.linkmanPhone}\n onFocus={() => onFormFocus(\"linkmanPhone\", num)}\n />\n ) : (\n <Input\n placeholder=\"紧急联系人手机号\"\n className=\"xh-linkman-main-input-main-input\"\n type=\"number\"\n maxlength={11}\n onBlur={() => onFormBlur(\"linkmanPhone\", num)}\n value={item.linkmanPhone}\n onInput={e => onPhoneChange(e, num)}\n onFocus={() => onFormFocus(\"linkmanPhone\", num)}\n />\n )}\n {errMessage[num].linkmanPhone && (\n <View className=\"xh-linkman-main-input-main-err\">\n {errMessage[num].linkmanPhone}\n </View>\n )}\n </View>\n </View>\n </View>\n <ActionSheet\n data={relations}\n title=\"选择与联系人的关系\"\n onConfirm={value => {\n setErrMessage(old => {\n old[num].relationType = \"\";\n return [...old];\n });\n setFormData(old => {\n old[num].relationType = value.text;\n old[num].relationValue = value.value;\n return [...old];\n });\n Promise.resolve().then(() => {\n const { pass, message } = validateDuplicate(\n \"relationValue\",\n num\n );\n if (!pass)\n setErrMessage(old => {\n old[num].relationType = message;\n return [...old];\n });\n onCheckRelation?.(value, num);\n });\n }}\n onCancel={() => onFormBlur(\"relationType\", num)}\n >\n <View className=\"xh-linkman-main\">\n <View className=\"xh-linkman-main-input\">\n <View className=\"xh-linkman-main-input-label\">关系</View>\n <View className=\"xh-linkman-main-input-main\">\n {process.env.TARO_ENV === \"h5\" ? (\n <input\n type=\"text\"\n maxLength={11}\n className=\"xh-linkman-main-input-main-input\"\n readOnly\n placeholder=\"选择与联系人关系\"\n value={item.relationType}\n />\n ) : (\n <Input\n placeholder=\"选择与联系人关系\"\n className=\"xh-linkman-main-input-main-input\"\n type=\"digit\"\n maxlength={11}\n value={item.relationType}\n disabled\n />\n )}\n {errMessage[num].relationType && (\n <View className=\"xh-linkman-main-input-main-err\">\n {errMessage[num].relationType}\n </View>\n )}\n </View>\n <View className=\"xh-linkman-main-input-arrow\"></View>\n </View>\n </View>\n </ActionSheet>\n </View>\n ))}\n </View>\n );\n }\n);\n\nexport default XHAddLinMan;\n"],"names":["LinkManTitleMap","errorMessageMap","linkmanName","linkmanPhone","relationType","defaultActionSheet","value","text","defaultShowImportIcon","process","env","TARO_ENV","window","navigator","userAgent","includes","XHAddLinMan","forwardRef","props","fromRef","linkManNum","_a","relations","onChange","onGetContacts","_b","showImportIcon","onBlur","onCheckRelation","onInputChange","_c","__read","useState","formData","setFormData","_d","errMessage","setErrMessage","useEffect","Array","fill","map","relationValue","validatePhone","useCallback","phone","test","validateForm","type","name","replace","length","validateCanSubmit","useMemo","finalData","flag","index","push","filter","item","useImperativeHandle","canSubmit","setContacts","old","__spreadArray","onFormBlur","validateDuplicate","currentIndex","currentItem","length_1","current","pass","message","concat","onNameChange","evt","target","detail","inputRange","onPhoneChange","onFormFocus","React","createElement","View","className","num","key","placeholder","e","onFocus","Input","onInput","onClick","maxLength","maxlength","ActionSheet","data","title","onConfirm","Promise","resolve","then","onCancel","readOnly","disabled"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{View as t,Text as a}from"@tarojs/components";import i from"classnames";var o=function(o){var l=o.title,s=void 0===l?"":l,r=o.description,n=void 0===r?"":r,c=o.icon,m=o.extra,d=void 0===m?"":m,x=o.extraIcon,v=void 0===x?"":x,p=o.arrow,N=o.border,E=void 0===N||N,h=o.onClick,f=o.className,u=o.outline,C=void 0===u||u,b=o.condensed,g=void 0!==b&&b,k=o.descriptionColor,w=void 0===k?"":k,y=o.extraColor,j=void 0===y?"":y,I=o.ellipsis,q=void 0===I||I,z=o.padding,A=i("xh-list",{border:E},{outline:C},{condensed:g},{padding:void 0!==z&&z},f),B=i("xh-list-main",{ellipsis:q});return e.createElement(t,{className:A,onClick:function(e){h&&h(e)}},c&&e.createElement(t,{className:"xh-list-icon"},c),e.createElement(t,{className:B},s&&e.createElement(a,{className:"xh-list-main-title"},s),e.createElement(a,{className:"xh-list-main-description",style:{color:w}},n)),e.createElement(t,{className:"xh-list-extra"},e.createElement(t,{className:"xh-list-extra-info",style:{color:j}},d),e.createElement(t,{className:"xh-list-extra-icon"},v||p&&e.createElement(t,{className:"arrow"}))))};export{o as default};
1
+ import e from"react";import{View as t,Text as a}from"@tarojs/components";import i from"classnames";var o=function(o){var l=o.title,s=void 0===l?"":l,r=o.description,n=void 0===r?"":r,c=o.icon,m=o.extra,d=void 0===m?"":m,x=o.extraIcon,v=void 0===x?"":x,p=o.arrow,N=o.border,h=void 0===N||N,E=o.onClick,f=o.className,u=o.outline,C=void 0===u||u,b=o.condensed,g=void 0!==b&&b,k=o.descriptionColor,w=void 0===k?"":k,y=o.extraColor,j=void 0===y?"":y,I=o.ellipsis,q=void 0===I||I,z=o.padding,A=i("xh-list",{border:h},{outline:C},{condensed:g},{padding:void 0!==z&&z},f),B=i("xh-list-main",{ellipsis:q});return e.createElement(t,{className:A,onClick:function(e){E&&E(e)}},c&&e.createElement(t,{className:"xh-list-icon"},c),e.createElement(t,{className:B},s&&e.createElement(a,{className:"xh-list-main-title"},s),e.createElement(a,{className:"xh-list-main-description",style:{color:w}},n)),e.createElement(t,{className:"xh-list-extra"},e.createElement(t,{className:"xh-list-extra-info",style:{color:j}},d),e.createElement(t,{className:"xh-list-extra-icon"},v||p&&e.createElement(t,{className:"xh-list-extra-icon-arrow"}))))};export{o as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/List/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text, ITouchEvent } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type XHListProps = {\n title?: string;\n description?: string | ReactNode;\n icon?: ReactNode;\n extra?: string | ReactNode;\n extraIcon?: ReactNode;\n border?: boolean;\n arrow?: boolean;\n outline?: boolean;\n condensed?: boolean;\n onClick?: (e: ITouchEvent) => void;\n descriptionColor?: string;\n extraColor?: string;\n ellipsis?: boolean;\n padding?: boolean;\n} & XHComponentCommonProps;\n\nconst XHList: FC<XHListProps> = props => {\n const {\n title = \"\",\n description = \"\",\n icon,\n extra = \"\",\n extraIcon = \"\",\n arrow,\n border = true,\n onClick,\n className,\n outline = true,\n condensed = false,\n descriptionColor = \"\",\n extraColor = \"\",\n ellipsis = true,\n padding = false,\n } = props;\n\n const listcls = classNames(\n \"xh-list\",\n { border },\n { outline },\n { condensed },\n { padding },\n className\n );\n\n const mainCls = classNames(\"xh-list-main\", {\n ellipsis,\n });\n\n const handleClick = (e: ITouchEvent) => {\n onClick && onClick(e);\n };\n\n return (\n <View className={listcls} onClick={handleClick}>\n {icon && <View className=\"xh-list-icon\">{icon}</View>}\n <View className={mainCls}>\n {title && <Text className=\"xh-list-main-title\">{title}</Text>}\n <Text\n className=\"xh-list-main-description\"\n style={{ color: descriptionColor }}\n >\n {description}\n </Text>\n </View>\n <View className=\"xh-list-extra\">\n <View className=\"xh-list-extra-info\" style={{ color: extraColor }}>\n {extra}\n </View>\n <View className=\"xh-list-extra-icon\">\n {extraIcon ? extraIcon : arrow && <View className=\"arrow\" />}\n </View>\n </View>\n </View>\n );\n};\nexport default XHList;\n"],"names":["XHList","props","_a","title","_b","description","icon","_c","extra","_d","extraIcon","arrow","_e","border","onClick","className","_f","outline","_g","condensed","_h","descriptionColor","_j","extraColor","_k","ellipsis","_l","padding","listcls","classNames","mainCls","React","createElement","View","e","Text","style","color"],"mappings":"mGAwBM,IAAAA,EAA0B,SAAAC,GAE5B,IAAAC,EAeED,EAAKE,MAfPA,OAAQ,IAAAD,EAAA,GAAEA,EACVE,EAcEH,EAdcI,YAAhBA,OAAc,IAAAD,EAAA,GAAEA,EAChBE,EAaEL,EAAKK,KAZPC,EAYEN,EAAKO,MAZPA,aAAQ,GAAED,EACVE,EAWER,EAAKS,UAXPA,OAAY,IAAAD,EAAA,GAAEA,EACdE,EAUEV,EAAKU,MATPC,EASEX,EAAKY,OATPA,OAAS,IAAAD,GAAIA,EACbE,EAQEb,EAAKa,QAPPC,EAOEd,EAAKc,UANPC,EAMEf,EAAKgB,QANPA,OAAU,IAAAD,GAAIA,EACdE,EAKEjB,EAAKkB,UALPA,OAAY,IAAAD,GAAKA,EACjBE,EAIEnB,EAJmBoB,iBAArBA,OAAgB,IAAAD,EAAG,GAAEA,EACrBE,EAGErB,EAHasB,WAAfA,OAAU,IAAAD,EAAG,GAAEA,EACfE,EAEEvB,EAAKwB,SAFPA,OAAW,IAAAD,GAAIA,EACfE,EACEzB,EADa0B,QAGXC,EAAUC,EACd,UACA,CAAEhB,OAAMA,GACR,CAAEI,QAAOA,GACT,CAAEE,UAASA,GACX,CAAEQ,aARK,IAAAD,GAAQA,GASfX,GAGIe,EAAUD,EAAW,eAAgB,CACzCJ,SAAQA,IAOV,OACEM,EAACC,cAAAC,EAAK,CAAAlB,UAAWa,EAASd,QALR,SAACoB,GACnBpB,GAAWA,EAAQoB,EACrB,GAIK5B,GAAQyB,gBAACE,EAAI,CAAClB,UAAU,gBAAgBT,GACzCyB,EAAAC,cAACC,EAAI,CAAClB,UAAWe,GACd3B,GAAS4B,gBAACI,EAAI,CAACpB,UAAU,sBAAsBZ,GAChD4B,EAAAC,cAACG,EACC,CAAApB,UAAU,2BACVqB,MAAO,CAAEC,MAAOhB,IAEfhB,IAGL0B,EAAAC,cAACC,EAAI,CAAClB,UAAU,iBACdgB,EAAAC,cAACC,EAAI,CAAClB,UAAU,qBAAqBqB,MAAO,CAAEC,MAAOd,IAClDf,GAEHuB,EAACC,cAAAC,EAAK,CAAAlB,UAAU,sBACbL,GAAwBC,GAASoB,EAAAC,cAACC,EAAI,CAAClB,UAAU,YAK5D"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/List/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text, ITouchEvent } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type XHListProps = {\n title?: string;\n description?: string | ReactNode;\n icon?: ReactNode;\n extra?: string | ReactNode;\n extraIcon?: ReactNode;\n border?: boolean;\n arrow?: boolean;\n outline?: boolean;\n condensed?: boolean;\n onClick?: (e: ITouchEvent) => void;\n descriptionColor?: string;\n extraColor?: string;\n ellipsis?: boolean;\n padding?: boolean;\n} & XHComponentCommonProps;\n\nconst XHList: FC<XHListProps> = props => {\n const {\n title = \"\",\n description = \"\",\n icon,\n extra = \"\",\n extraIcon = \"\",\n arrow,\n border = true,\n onClick,\n className,\n outline = true,\n condensed = false,\n descriptionColor = \"\",\n extraColor = \"\",\n ellipsis = true,\n padding = false,\n } = props;\n\n const listcls = classNames(\n \"xh-list\",\n { border },\n { outline },\n { condensed },\n { padding },\n className\n );\n\n const mainCls = classNames(\"xh-list-main\", {\n ellipsis,\n });\n\n const handleClick = (e: ITouchEvent) => {\n onClick && onClick(e);\n };\n\n return (\n <View className={listcls} onClick={handleClick}>\n {icon && <View className=\"xh-list-icon\">{icon}</View>}\n <View className={mainCls}>\n {title && <Text className=\"xh-list-main-title\">{title}</Text>}\n <Text\n className=\"xh-list-main-description\"\n style={{ color: descriptionColor }}\n >\n {description}\n </Text>\n </View>\n <View className=\"xh-list-extra\">\n <View className=\"xh-list-extra-info\" style={{ color: extraColor }}>\n {extra}\n </View>\n <View className=\"xh-list-extra-icon\">\n {extraIcon\n ? extraIcon\n : arrow && <View className=\"xh-list-extra-icon-arrow\" />}\n </View>\n </View>\n </View>\n );\n};\nexport default XHList;\n"],"names":["XHList","props","_a","title","_b","description","icon","_c","extra","_d","extraIcon","arrow","_e","border","onClick","className","_f","outline","_g","condensed","_h","descriptionColor","_j","extraColor","_k","ellipsis","_l","padding","listcls","classNames","mainCls","React","createElement","View","e","Text","style","color"],"mappings":"mGAwBM,IAAAA,EAA0B,SAAAC,GAE5B,IAAAC,EAeED,EAAKE,MAfPA,OAAQ,IAAAD,EAAA,GAAEA,EACVE,EAcEH,EAdcI,YAAhBA,OAAc,IAAAD,EAAA,GAAEA,EAChBE,EAaEL,EAAKK,KAZPC,EAYEN,EAAKO,MAZPA,aAAQ,GAAED,EACVE,EAWER,EAAKS,UAXPA,OAAY,IAAAD,EAAA,GAAEA,EACdE,EAUEV,EAAKU,MATPC,EASEX,EAAKY,OATPA,OAAS,IAAAD,GAAIA,EACbE,EAQEb,EAAKa,QAPPC,EAOEd,EAAKc,UANPC,EAMEf,EAAKgB,QANPA,OAAU,IAAAD,GAAIA,EACdE,EAKEjB,EAAKkB,UALPA,OAAY,IAAAD,GAAKA,EACjBE,EAIEnB,EAJmBoB,iBAArBA,OAAgB,IAAAD,EAAG,GAAEA,EACrBE,EAGErB,EAHasB,WAAfA,OAAU,IAAAD,EAAG,GAAEA,EACfE,EAEEvB,EAAKwB,SAFPA,OAAW,IAAAD,GAAIA,EACfE,EACEzB,EADa0B,QAGXC,EAAUC,EACd,UACA,CAAEhB,OAAMA,GACR,CAAEI,QAAOA,GACT,CAAEE,UAASA,GACX,CAAEQ,aARK,IAAAD,GAAQA,GASfX,GAGIe,EAAUD,EAAW,eAAgB,CACzCJ,SAAQA,IAOV,OACEM,EAACC,cAAAC,EAAK,CAAAlB,UAAWa,EAASd,QALR,SAACoB,GACnBpB,GAAWA,EAAQoB,EACrB,GAIK5B,GAAQyB,gBAACE,EAAI,CAAClB,UAAU,gBAAgBT,GACzCyB,EAAAC,cAACC,EAAI,CAAClB,UAAWe,GACd3B,GAAS4B,gBAACI,EAAI,CAACpB,UAAU,sBAAsBZ,GAChD4B,EAAAC,cAACG,EACC,CAAApB,UAAU,2BACVqB,MAAO,CAAEC,MAAOhB,IAEfhB,IAGL0B,EAAAC,cAACC,EAAI,CAAClB,UAAU,iBACdgB,EAAAC,cAACC,EAAI,CAAClB,UAAU,qBAAqBqB,MAAO,CAAEC,MAAOd,IAClDf,GAEHuB,EAAAC,cAACC,EAAK,CAAAlB,UAAU,sBACbL,GAEGC,GAASoB,EAAAC,cAACC,EAAK,CAAAlB,UAAU,+BAKvC"}
@@ -1,2 +1,2 @@
1
- import{__spreadArray as e,__read as a}from"../node_modules/tslib/tslib.es6.js";import t from"react";import r from"classnames";import{View as n}from"@tarojs/components";import s from"../Mask/index.js";var m=function(m){var o=m.mask,c=m.className,i=m.tip,l=void 0===i?"":i,d=m.color,p=void 0===d?"":d,f=r("xh-loading",c);return t.createElement(n,{className:f},t.createElement(s,{mask:o}),t.createElement(n,{className:"xh-loading-main"},t.createElement(n,{className:"xh-loading-main-spinner"},e([],a(Array(12).keys()),!1).map((function(e){return t.createElement(n,{className:r("xh-loading-main-spinner-circle","is-circle".concat(e+1)),key:"spinner".concat(e)},t.createElement(n,{className:"dot-rotate",style:{backgroundColor:p}}))}))),l&&t.createElement(n,{className:"xh-loading-main-tip"},l)))};export{m as default};
1
+ import e from"react";import a from"classnames";import{View as o}from"@tarojs/components";import r from"../Mask/index.js";import t from"../ActivityIndicator/index.js";var i=function(i){var m=i.mask,s=i.className,n=i.tip,l=void 0===n?"加载中":n,c=i.color,d=void 0===c?"#FFF":c,p=i.size,f=void 0===p?60:p,x=a("xh-loading",s);return e.createElement(o,{className:x},e.createElement(r,{mask:m}),e.createElement(o,{className:a("xh-loading-main",{hasTip:l})},e.createElement(t,{size:f,style:{"--loading-border-color":d,"--loading-border-width":"3px"}}),l&&e.createElement(o,{className:"xh-loading-main-tip"},l)))};export{i as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Loading/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport Mask, { MaskProps } from \"../Mask\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type LoadingProps = {\n mask?: MaskProps[\"mask\"];\n color?: string;\n tip?: string | ReactNode;\n} & XHComponentCommonProps;\n\nconst Loading: FC<LoadingProps> = ({\n mask,\n className,\n tip = \"\",\n color = \"\",\n}) => {\n const cls = classNames(\"xh-loading\", className);\n\n return (\n <View className={cls}>\n <Mask mask={mask} />\n <View className=\"xh-loading-main\">\n <View className=\"xh-loading-main-spinner\">\n {[...Array(12).keys()].map((index) => (\n <View\n className={classNames(\n \"xh-loading-main-spinner-circle\",\n `is-circle${index + 1}`\n )}\n key={`spinner${index}`}\n >\n <View\n className=\"dot-rotate\"\n style={{ backgroundColor: color }}\n ></View>\n </View>\n ))}\n </View>\n {tip && <View className=\"xh-loading-main-tip\">{tip}</View>}\n </View>\n </View>\n );\n};\n\nexport default Loading;\n"],"names":["Loading","_a","mask","className","_b","tip","_c","color","cls","classNames","React","createElement","View","Mask","__spreadArray","Array","keys","map","index","concat","key","style","backgroundColor"],"mappings":"wMAaM,IAAAA,EAA4B,SAACC,GACjC,IAAAC,SACAC,EAASF,EAAAE,UACTC,QAAAC,OAAM,IAAAD,EAAA,KACNE,EAAAL,EAAAM,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAEJE,EAAMC,EAAW,aAAcN,GAErC,OACEO,EAACC,cAAAC,EAAK,CAAAT,UAAWK,GACfE,EAAAC,cAACE,EAAI,CAACX,KAAMA,IACZQ,EAAAC,cAACC,EAAI,CAACT,UAAU,mBACdO,EAAAC,cAACC,EAAK,CAAAT,UAAU,2BACbW,OAAIC,MAAM,IAAIC,SAAM,GAAEC,KAAI,SAACC,GAAU,OACpCR,EAAAC,cAACC,EACC,CAAAT,UAAWM,EACT,iCACA,YAAAU,OAAYD,EAAQ,IAEtBE,IAAK,UAAAD,OAAUD,IAEfR,EAAAC,cAACC,EACC,CAAAT,UAAU,aACVkB,MAAO,CAAEC,gBAAiBf,KAG/B,KAEFF,GAAOK,EAAAC,cAACC,EAAI,CAACT,UAAU,uBAAuBE,IAIvD"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Loading/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport Mask, { MaskProps } from \"../Mask\";\nimport Activityindicator from \"../ActivityIndicator\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type LoadingProps = {\n mask?: MaskProps[\"mask\"];\n color?: string;\n tip?: string | ReactNode;\n size?: number;\n} & XHComponentCommonProps;\n\nconst Loading: FC<LoadingProps> = ({\n mask,\n className,\n tip = \"加载中\",\n color = \"#FFF\",\n size = 60,\n}) => {\n const cls = classNames(\"xh-loading\", className);\n\n return (\n <View className={cls}>\n <Mask mask={mask} />\n <View className={classNames(\"xh-loading-main\", { hasTip: tip })}>\n <Activityindicator\n size={size}\n style={{\n \"--loading-border-color\": color,\n \"--loading-border-width\": \"3px\",\n }}\n />\n\n {/* <View className=\"xh-loading-main-spinner\">\n {[...Array(12).keys()].map((index) => (\n <View\n className={classNames(\n \"xh-loading-main-spinner-circle\",\n `is-circle${index + 1}`\n )}\n key={`spinner${index}`}\n >\n <View\n className=\"dot-rotate\"\n style={{ backgroundColor: color }}\n ></View>\n </View>\n ))}\n </View> */}\n {tip && <View className=\"xh-loading-main-tip\">{tip}</View>}\n </View>\n </View>\n );\n};\n\nexport default Loading;\n"],"names":["Loading","_a","mask","className","_b","tip","_c","color","_d","size","cls","classNames","React","createElement","View","Mask","hasTip","Activityindicator","style"],"mappings":"sKAeM,IAAAA,EAA4B,SAACC,OACjCC,EAAID,EAAAC,KACJC,EAASF,EAAAE,UACTC,QAAAC,OAAM,IAAAD,EAAA,MAAKA,EACXE,UAAAC,OAAQ,IAAAD,EAAA,OAAMA,EACdE,SAAAC,OAAO,IAAAD,EAAA,GAAEA,EAEHE,EAAMC,EAAW,aAAcR,GAErC,OACES,EAACC,cAAAC,EAAK,CAAAX,UAAWO,GACfE,EAAAC,cAACE,EAAI,CAACb,KAAMA,IACZU,EAAAC,cAACC,EAAI,CAACX,UAAWQ,EAAW,kBAAmB,CAAEK,OAAQX,KACvDO,EAAAC,cAACI,EACC,CAAAR,KAAMA,EACNS,MAAO,CACL,yBAA0BX,EAC1B,yBAA0B,SAoB7BF,GAAOO,EAAAC,cAACC,EAAI,CAACX,UAAU,uBAAuBE,IAIvD"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{View as a,Text as t}from"@tarojs/components";import r from"classnames";import{navigateBack as o}from"@tarojs/taro";import s from"../src/hooks/useCustomNavbar.js";var n=function(n){var c=n.leftIcon,m=void 0===c||c,l=n.rightIcon,i=void 0!==l&&l,h=n.title,p=n.onBack,v=n.className,f=s(),N=f.navBarHeight,u=f.statusBar,E=f.buttonRight;var x="h5"===process.env.TARO_ENV?{}:{height:"".concat(N,"px"),paddingTop:"".concat(u,"px")},b="h5"===process.env.TARO_ENV?{}:{left:"".concat(E,"px")},d=r("xh-nav-bar",v,{h5:"h5"===process.env.TARO_ENV});return e.createElement(a,{className:d,style:x},e.createElement(a,{className:r("xh-nav-bar-back",{hidden:!m}),style:b,onClick:function(){p?p():o()}}),e.createElement(t,{className:"xh-nav-bar-title"},h),"h5"===process.env.TARO_ENV&&i&&e.createElement(a,{className:"xh-nav-bar-right"},i),e.createElement(a,null))};export{n as default};
1
+ import e from"react";import{View as a,Text as r}from"@tarojs/components";import t from"classnames";import{getSystemInfoSync as o,navigateBack as s}from"@tarojs/taro";import n from"../src/hooks/useCustomNavbar.js";var c="h5"!==process.env.TARO_ENV&&"ios"===o().platform,m=function(o){var m=o.leftIcon,i=void 0===m||m,l=o.rightIcon,h=void 0!==l&&l,p=o.title,v=o.onBack,d=o.navBarBorder,f=void 0!==d&&d,N=o.className,E=n(),u=E.navBarHeight,b=E.statusBar,x=E.buttonRight;var g="h5"===process.env.TARO_ENV?{}:{height:"".concat(u,"px"),paddingTop:"".concat(b,"px")},A="h5"===process.env.TARO_ENV?{}:{left:"".concat(x,"px")},R=t("xh-nav-bar",N,{h5:"h5"===process.env.TARO_ENV,border:f});return e.createElement(a,{className:R,style:g},e.createElement(a,{className:t("xh-nav-bar-back",{hidden:!i}),style:A,onClick:function(){v?v():s()}}),e.createElement(r,{className:t("xh-nav-bar-title",{isAndroid:!c})},p),"h5"===process.env.TARO_ENV&&h&&e.createElement(a,{className:"xh-nav-bar-right"},h),e.createElement(a,null))};export{m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/NavBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { navigateBack } from \"@tarojs/taro\";\nimport useCustomNavBar from \"@/hooks/useCustomNavbar\";\n\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type NavBarProps = {\n title: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n onBack?: () => void;\n} & XHComponentCommonProps;\n\nconst NavBar: FC<NavBarProps> = props => {\n const {\n leftIcon = true,\n rightIcon = false,\n title,\n onBack,\n className,\n } = props;\n\n const { navBarHeight, statusBar, buttonRight } = useCustomNavBar();\n\n function goBackPage() {\n onBack ? onBack() : navigateBack();\n }\n\n const wrapStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n height: `${navBarHeight}px`,\n paddingTop: `${statusBar}px`,\n };\n\n const backStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n left: `${buttonRight}px`,\n };\n\n const NavBarCls = classNames(\"xh-nav-bar\", className, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n\n return (\n <View className={NavBarCls} style={wrapStyle}>\n <View\n className={classNames(\"xh-nav-bar-back\", { hidden: !leftIcon })}\n style={backStyle}\n onClick={goBackPage}\n ></View>\n <Text className=\"xh-nav-bar-title\">{title}</Text>\n {process.env.TARO_ENV === \"h5\" && rightIcon && (\n <View className=\"xh-nav-bar-right\">{rightIcon}</View>\n )}\n <View />\n </View>\n );\n};\n\nexport default NavBar;\n"],"names":["NavBar","props","_a","leftIcon","_b","rightIcon","title","onBack","className","_c","useCustomNavBar","navBarHeight","statusBar","buttonRight","wrapStyle","process","env","TARO_ENV","height","concat","paddingTop","backStyle","left","NavBarCls","classNames","h5","React","createElement","View","style","hidden","onClick","navigateBack","Text"],"mappings":"8LAgBM,IAAAA,EAA0B,SAAAC,GAE5B,IAAAC,EAKED,EALaE,SAAfA,OAAW,IAAAD,GAAIA,EACfE,EAIEH,EAJeI,UAAjBA,OAAY,IAAAD,GAAKA,EACjBE,EAGEL,EAAKK,MAFPC,EAEEN,EAAKM,OADPC,EACEP,YAEEQ,EAA2CC,IAAzCC,EAAYF,EAAAE,aAAEC,EAASH,EAAAG,UAAEC,EAAWJ,EAAAI,YAM5C,IAAMC,EACqB,OAAzBC,QAAQC,IAAIC,SACR,CAAE,EACF,CACEC,OAAQ,GAAGC,OAAAR,EAAgB,MAC3BS,WAAY,GAAGD,OAAAP,EAAa,OAG9BS,EACqB,OAAzBN,QAAQC,IAAIC,SACR,CAAE,EACF,CACEK,KAAM,GAAGH,OAAAN,EAAe,OAG1BU,EAAYC,EAAW,aAAchB,EAAW,CACpDiB,GAA6B,OAAzBV,QAAQC,IAAIC,WAGlB,OACES,EAACC,cAAAC,EAAK,CAAApB,UAAWe,EAAWM,MAAOf,GACjCY,EAACC,cAAAC,GACCpB,UAAWgB,EAAW,kBAAmB,CAAEM,QAAS3B,IACpD0B,MAAOR,EACPU,QA5BN,WACExB,EAASA,IAAWyB,GACrB,IA4BGN,EAAAC,cAACM,EAAK,CAAAzB,UAAU,oBAAoBF,GACV,OAAzBS,QAAQC,IAAIC,UAAqBZ,GAChCqB,EAACC,cAAAC,GAAKpB,UAAU,oBAAoBH,GAEtCqB,EAAAC,cAACC,EAAI,MAGX"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/NavBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { navigateBack, getSystemInfoSync } from \"@tarojs/taro\";\nimport useCustomNavBar from \"@/hooks/useCustomNavbar\";\n\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type NavBarProps = {\n title: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n navBarBorder?: boolean;\n onBack?: () => void;\n} & XHComponentCommonProps;\n\n// 小程序中判断设备系统\nconst isMiniProgramIos =\n process.env.TARO_ENV !== \"h5\"\n ? getSystemInfoSync().platform === \"ios\"\n : false;\nconst NavBar: FC<NavBarProps> = props => {\n const {\n leftIcon = true,\n rightIcon = false,\n title,\n onBack,\n navBarBorder = false,\n className,\n } = props;\n\n const { navBarHeight, statusBar, buttonRight } = useCustomNavBar();\n\n function goBackPage() {\n onBack ? onBack() : navigateBack();\n }\n\n const wrapStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n height: `${navBarHeight}px`,\n paddingTop: `${statusBar}px`,\n };\n\n const backStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n left: `${buttonRight}px`,\n };\n\n const NavBarCls = classNames(\"xh-nav-bar\", className, {\n h5: process.env.TARO_ENV === \"h5\",\n border: navBarBorder,\n });\n\n return (\n <View className={NavBarCls} style={wrapStyle}>\n <View\n className={classNames(\"xh-nav-bar-back\", { hidden: !leftIcon })}\n style={backStyle}\n onClick={goBackPage}\n ></View>\n <Text\n className={classNames(\"xh-nav-bar-title\", {\n isAndroid: !isMiniProgramIos,\n })}\n >\n {title}\n </Text>\n {process.env.TARO_ENV === \"h5\" && rightIcon && (\n <View className=\"xh-nav-bar-right\">{rightIcon}</View>\n )}\n <View />\n </View>\n );\n};\n\nexport default NavBar;\n"],"names":["isMiniProgramIos","process","env","TARO_ENV","getSystemInfoSync","platform","NavBar","props","_a","leftIcon","_b","rightIcon","title","onBack","_c","navBarBorder","className","_d","useCustomNavBar","navBarHeight","statusBar","buttonRight","wrapStyle","height","concat","paddingTop","backStyle","left","NavBarCls","classNames","h5","border","React","createElement","View","style","hidden","onClick","navigateBack","Text","isAndroid"],"mappings":"qNAkBA,IAAMA,EACqB,OAAzBC,QAAQC,IAAIC,UACyB,QAAjCC,IAAoBC,SAEpBC,EAA0B,SAAAC,GAE5B,IAAAC,EAMED,EAAKE,SANPA,OAAQ,IAAAD,GAAOA,EACfE,EAKEH,YALFI,cAAiBD,EACjBE,EAIEL,EAAKK,MAHPC,EAGEN,EAHIM,OACNC,EAEEP,EAAKQ,aAFPA,OAAY,IAAAD,GAAQA,EACpBE,EACET,YAEEU,EAA2CC,IAAzCC,EAAYF,EAAAE,aAAEC,EAASH,EAAAG,UAAEC,EAAWJ,EAAAI,YAM5C,IAAMC,EACqB,OAAzBrB,QAAQC,IAAIC,SACR,CAAE,EACF,CACEoB,OAAQ,GAAGC,OAAAL,EAAgB,MAC3BM,WAAY,GAAGD,OAAAJ,EAAa,OAG9BM,EACqB,OAAzBzB,QAAQC,IAAIC,SACR,CAAE,EACF,CACEwB,KAAM,GAAGH,OAAAH,EAAe,OAG1BO,EAAYC,EAAW,aAAcb,EAAW,CACpDc,GAA6B,OAAzB7B,QAAQC,IAAIC,SAChB4B,OAAQhB,IAGV,OACEiB,EAACC,cAAAC,EAAK,CAAAlB,UAAWY,EAAWO,MAAOb,GACjCU,EAACC,cAAAC,GACClB,UAAWa,EAAW,kBAAmB,CAAEO,QAAS3B,IACpD0B,MAAOT,EACPW,QA7BN,WACExB,EAASA,IAAWyB,GACrB,IA6BGN,EAAAC,cAACM,EACC,CAAAvB,UAAWa,EAAW,mBAAoB,CACxCW,WAAYxC,KAGbY,GAEuB,OAAzBX,QAAQC,IAAIC,UAAqBQ,GAChCqB,EAACC,cAAAC,GAAKlB,UAAU,oBAAoBL,GAEtCqB,EAAAC,cAACC,EAAI,MAGX"}
@@ -1,2 +1,2 @@
1
- import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useEffect as o}from"react";import r from"classnames";import{View as a}from"@tarojs/components";import s from"../node_modules/react-transition-group/esm/CSSTransition.js";var m=function(m){var l=m.onBlur,c=m.show,u=m.maxLength,i=void 0===u?Number.MAX_SAFE_INTEGER:u,d=m.showClose,p=void 0===d||d,v=m.closeOnClickSpace,b=void 0===v||v,f=m.onClose,y=m.onChange,h=m.value,x=m.className,E=e(n(h),2),k=E[0],N=E[1],C=function(){for(var e=[],t=1;t<=9;t++)e.push({text:t,value:t,type:"number"});return e.push({text:"",value:"",type:"none"},{text:0,value:0,type:"number"},{text:"",value:"",type:"delete"}),e}();function g(e){f&&f(e),l&&l(e)}o((function(){return b&&document.addEventListener("click",g),function(){document.removeEventListener("click",g)}}),[]),o((function(){N(h)}),[h]);var _=r("xh-number-keyboard",x);return t.createElement(s,{classNames:"slide-up",in:c,unmountOnExit:!0,timeout:200},t.createElement(a,{className:_},t.createElement(a,{className:"xh-number-keyboard-header"},p&&t.createElement(a,{className:"xh-number-keyboard-close",onClick:g},"完成")),t.createElement(a,{className:"xh-number-keyboard-body"},C.map((function(e,n){return t.createElement(a,{key:n,className:r("xh-number-keyboard-body-key",{none:"none"===e.type,delete:"delete"===e.type}),onClick:function(t){!function(e,t){var n=t.type,o=t.value;if("h5"===process.env.TARO_ENV&&e.stopImmediatePropagation(),"none"!==n){var r=k;"delete"===n?r=k.slice(0,k.length-1):r.length<i&&(r=k+o),N(r),y&&y(r)}}(t,e)}},e.text)})))))};export{m as default};
1
+ import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useEffect as o}from"react";import r from"classnames";import{View as a}from"@tarojs/components";import s from"../node_modules/react-transition-group/esm/CSSTransition.js";var l=function(l){var m=l.onBlur,c=l.show,i=l.maxLength,u=void 0===i?Number.MAX_SAFE_INTEGER:i,d=l.showClose,p=void 0===d||d,v=l.closeOnClickSpace,b=void 0===v||v,h=l.onClose,f=l.onChange,y=l.value,x=l.title,E=void 0===x?"安全键盘":x,k=l.closeText,N=void 0===k?"收起":k,C=l.className,g=e(n(y),2),_=g[0],S=g[1],T=function(){for(var e=[],t=1;t<=9;t++)e.push({text:t,value:t,type:"number"});return e.push({text:"",value:"",type:"none"},{text:0,value:0,type:"number"},{text:"",value:"",type:"delete"}),e}();function j(e){h&&h(e),m&&m(e)}o((function(){return b&&document.addEventListener("click",j),function(){document.removeEventListener("click",j)}}),[]),o((function(){S(y)}),[y]);var A=r("xh-number-keyboard",C);return t.createElement(s,{classNames:"slide-up",in:c,unmountOnExit:!0,timeout:200},t.createElement(a,{className:A},t.createElement(a,{className:"xh-number-keyboard-header"},t.createElement(a,{className:"xh-number-keyboard-header-title"},E),p&&t.createElement(a,{className:"xh-number-keyboard-header-close",onClick:j},N)),t.createElement(a,{className:"xh-number-keyboard-body"},T.map((function(e,n){return t.createElement(a,{key:n,className:r("xh-number-keyboard-body-key",{none:"none"===e.type,delete:"delete"===e.type}),onClick:function(t){!function(e,t){var n=t.type,o=t.value;if("h5"===process.env.TARO_ENV&&e.stopImmediatePropagation(),"none"!==n){var r=_;"delete"===n?r=_.slice(0,_.length-1):r.length<u&&(r=_+o),S(r),f&&f(r)}}(t,e)}},e.text)})))))};export{l as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/NumberKeyboard/index.tsx"],"sourcesContent":["import React, { FC, useState, useEffect, MouseEvent } from \"react\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { View } from \"@tarojs/components\";\n\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nexport type NumberKeyboardType = \"default\" | \"custom\";\n\nexport type NumberKeyboardProps = {\n show: boolean;\n type?: NumberKeyboardType;\n showClose?: boolean;\n closeOnClickSpace?: boolean;\n maxLength?: number;\n onBlur?: (e: MouseEvent | Event) => void;\n onClose?: (e: MouseEvent | Event) => void;\n onChange?: (value: string) => void;\n value: string;\n} & XHComponentCommonProps;\n\nexport type KeyType = \"number\" | \"delete\" | \"string\" | \"none\";\n\nexport interface IKey {\n text: number | string;\n value: number | string;\n type: KeyType;\n}\n\nconst NumberKeyboard: FC<NumberKeyboardProps> = props => {\n const {\n onBlur,\n show,\n maxLength = Number.MAX_SAFE_INTEGER,\n showClose = true,\n closeOnClickSpace = true,\n onClose,\n onChange,\n value,\n className,\n } = props;\n const [input, setInput] = useState(value);\n const keys = getKeys();\n\n useEffect(() => {\n if (closeOnClickSpace) {\n document.addEventListener(\"click\", handleClose);\n }\n\n return () => {\n document.removeEventListener(\"click\", handleClose);\n };\n }, []);\n\n useEffect(() => {\n setInput(value);\n }, [value]);\n\n function handleClose(e): void {\n onClose && onClose(e);\n onBlur && onBlur(e);\n }\n\n function handleKeyPress(e, { type, value }: IKey): void {\n if (process.env.TARO_ENV === \"h5\") {\n e.stopImmediatePropagation();\n }\n if (type === \"none\") return;\n\n let newInput = input;\n\n if (type === \"delete\") {\n newInput = input.slice(0, input.length - 1);\n } else if (newInput.length < maxLength) {\n newInput = input + value;\n }\n\n setInput(newInput);\n\n onChange && onChange(newInput);\n }\n\n function getKeys(): IKey[] {\n const keys: IKey[] = [];\n\n for (let i = 1; i <= 9; i++) {\n keys.push({ text: i, value: i, type: \"number\" });\n }\n\n keys.push(\n { text: \"\", value: \"\", type: \"none\" },\n { text: 0, value: 0, type: \"number\" },\n { text: \"\", value: \"\", type: \"delete\" }\n );\n\n return keys;\n }\n const keyboardcls = classNames(\"xh-number-keyboard\", className);\n\n return (\n <CSSTransition classNames=\"slide-up\" in={show} unmountOnExit timeout={200}>\n <View className={keyboardcls}>\n <View className=\"xh-number-keyboard-header\">\n {showClose && (\n <View className=\"xh-number-keyboard-close\" onClick={handleClose}>\n 完成\n </View>\n )}\n </View>\n <View className=\"xh-number-keyboard-body\">\n {keys.map((key, index) => (\n <View\n key={index}\n className={classNames(\"xh-number-keyboard-body-key\", {\n none: key.type === \"none\",\n delete: key.type === \"delete\",\n })}\n onClick={e => {\n handleKeyPress(e, key);\n }}\n >\n {key.text}\n </View>\n ))}\n </View>\n </View>\n </CSSTransition>\n );\n};\n\nexport default NumberKeyboard;\n"],"names":["NumberKeyboard","props","onBlur","show","_a","maxLength","Number","MAX_SAFE_INTEGER","_b","showClose","_c","closeOnClickSpace","onClose","onChange","value","className","_d","__read","useState","input","setInput","keys","i","push","text","type","getKeys","handleClose","e","useEffect","document","addEventListener","removeEventListener","keyboardcls","classNames","React","createElement","CSSTransition","in","unmountOnExit","timeout","View","onClick","map","key","index","none","delete","process","env","TARO_ENV","stopImmediatePropagation","newInput","slice","length","handleKeyPress"],"mappings":"8PA8BM,IAAAA,EAA0C,SAAAC,GAE5C,IAAAC,EASED,EATIC,OACNC,EAQEF,EAAKE,KAPPC,EAOEH,EAAKI,UAPPA,OAAY,IAAAD,EAAAE,OAAOC,iBAAgBH,EACnCI,EAMEP,EANcQ,UAAhBA,OAAS,IAAAD,GAAOA,EAChBE,EAKET,EALsBU,kBAAxBA,OAAiB,IAAAD,GAAOA,EACxBE,EAIEX,EAJKW,QACPC,EAGEZ,EAAKY,SAFPC,EAEEb,EAFGa,MACLC,EACEd,EAAKc,UACHC,EAAAC,EAAoBC,EAASJ,GAAM,GAAlCK,EAAKH,EAAA,GAAEI,OACRC,EAwCN,WAGE,IAFA,IAAMA,EAAe,GAEZC,EAAI,EAAGA,GAAK,EAAGA,IACtBD,EAAKE,KAAK,CAAEC,KAAMF,EAAGR,MAAOQ,EAAGG,KAAM,WASvC,OANAJ,EAAKE,KACH,CAAEC,KAAM,GAAIV,MAAO,GAAIW,KAAM,QAC7B,CAAED,KAAM,EAAGV,MAAO,EAAGW,KAAM,UAC3B,CAAED,KAAM,GAAIV,MAAO,GAAIW,KAAM,WAGxBJ,CACR,CAtDYK,GAgBb,SAASC,EAAYC,GACnBhB,GAAWA,EAAQgB,GACnB1B,GAAUA,EAAO0B,EAClB,CAjBDC,GAAU,WAKR,OAJIlB,GACFmB,SAASC,iBAAiB,QAASJ,GAG9B,WACLG,SAASE,oBAAoB,QAASL,EACxC,CACD,GAAE,IAEHE,GAAU,WACRT,EAASN,EACX,GAAG,CAACA,IAyCJ,IAAMmB,EAAcC,EAAW,qBAAsBnB,GAErD,OACEoB,EAACC,cAAAC,EAAc,CAAAH,WAAW,WAAWI,GAAInC,EAAMoC,eAAc,EAAAC,QAAS,KACpEL,EAAAC,cAACK,EAAI,CAAC1B,UAAWkB,GACfE,EAACC,cAAAK,GAAK1B,UAAU,6BACbN,GACC0B,EAAAC,cAACK,EAAK,CAAA1B,UAAU,2BAA2B2B,QAASf,GAE7C,OAGXQ,EAAAC,cAACK,EAAI,CAAC1B,UAAU,2BACbM,EAAKsB,KAAI,SAACC,EAAKC,GAAU,OACxBV,EAAAC,cAACK,EAAI,CACHG,IAAKC,EACL9B,UAAWmB,EAAW,8BAA+B,CACnDY,KAAmB,SAAbF,EAAInB,KACVsB,OAAqB,WAAbH,EAAInB,OAEdiB,QAAS,SAAAd,IAtDrB,SAAwBA,EAAGxB,OAAEqB,EAAIrB,EAAAqB,KAAEX,EAAKV,EAAAU,MAItC,GAH6B,OAAzBkC,QAAQC,IAAIC,UACdtB,EAAEuB,2BAES,SAAT1B,EAAJ,CAEA,IAAI2B,EAAWjC,EAEF,WAATM,EACF2B,EAAWjC,EAAMkC,MAAM,EAAGlC,EAAMmC,OAAS,GAChCF,EAASE,OAASjD,IAC3B+C,EAAWjC,EAAQL,GAGrBM,EAASgC,GAETvC,GAAYA,EAASuC,EAZO,CAa7B,CAsCaG,CAAe3B,EAAGgB,EACpB,GAECA,EAAIpB,KAXiB,MAkBpC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/NumberKeyboard/index.tsx"],"sourcesContent":["import React, { FC, useState, useEffect, MouseEvent } from \"react\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { View } from \"@tarojs/components\";\n\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nexport type NumberKeyboardType = \"default\" | \"custom\";\n\nexport type NumberKeyboardProps = {\n show: boolean;\n type?: NumberKeyboardType;\n showClose?: boolean;\n closeOnClickSpace?: boolean;\n maxLength?: number;\n onBlur?: (e: MouseEvent | Event) => void;\n onClose?: (e: MouseEvent | Event) => void;\n onChange?: (value: string) => void;\n value: string;\n title?: string;\n closeText?: string;\n} & XHComponentCommonProps;\n\nexport type KeyType = \"number\" | \"delete\" | \"string\" | \"none\";\n\nexport interface IKey {\n text: number | string;\n value: number | string;\n type: KeyType;\n}\n\nconst NumberKeyboard: FC<NumberKeyboardProps> = props => {\n const {\n onBlur,\n show,\n maxLength = Number.MAX_SAFE_INTEGER,\n showClose = true,\n closeOnClickSpace = true,\n onClose,\n onChange,\n value,\n title = \"安全键盘\",\n closeText = \"收起\",\n className,\n } = props;\n const [input, setInput] = useState(value);\n const keys = getKeys();\n\n useEffect(() => {\n if (closeOnClickSpace) {\n document.addEventListener(\"click\", handleClose);\n }\n\n return () => {\n document.removeEventListener(\"click\", handleClose);\n };\n }, []);\n\n useEffect(() => {\n setInput(value);\n }, [value]);\n\n function handleClose(e): void {\n onClose && onClose(e);\n onBlur && onBlur(e);\n }\n\n function handleKeyPress(e, { type, value }: IKey): void {\n if (process.env.TARO_ENV === \"h5\") {\n e.stopImmediatePropagation();\n }\n if (type === \"none\") return;\n\n let newInput = input;\n\n if (type === \"delete\") {\n newInput = input.slice(0, input.length - 1);\n } else if (newInput.length < maxLength) {\n newInput = input + value;\n }\n\n setInput(newInput);\n\n onChange && onChange(newInput);\n }\n\n function getKeys(): IKey[] {\n const keys: IKey[] = [];\n\n for (let i = 1; i <= 9; i++) {\n keys.push({ text: i, value: i, type: \"number\" });\n }\n\n keys.push(\n { text: \"\", value: \"\", type: \"none\" },\n { text: 0, value: 0, type: \"number\" },\n { text: \"\", value: \"\", type: \"delete\" }\n );\n\n return keys;\n }\n const keyboardcls = classNames(\"xh-number-keyboard\", className);\n\n return (\n <CSSTransition classNames=\"slide-up\" in={show} unmountOnExit timeout={200}>\n <View className={keyboardcls}>\n <View className=\"xh-number-keyboard-header\">\n <View className=\"xh-number-keyboard-header-title\">{title}</View>\n {showClose && (\n <View\n className=\"xh-number-keyboard-header-close\"\n onClick={handleClose}\n >\n {closeText}\n </View>\n )}\n </View>\n <View className=\"xh-number-keyboard-body\">\n {keys.map((key, index) => (\n <View\n key={index}\n className={classNames(\"xh-number-keyboard-body-key\", {\n none: key.type === \"none\",\n delete: key.type === \"delete\",\n })}\n onClick={e => {\n handleKeyPress(e, key);\n }}\n >\n {key.text}\n </View>\n ))}\n </View>\n </View>\n </CSSTransition>\n );\n};\n\nexport default NumberKeyboard;\n"],"names":["NumberKeyboard","props","onBlur","show","_a","maxLength","Number","MAX_SAFE_INTEGER","_b","showClose","_c","closeOnClickSpace","onClose","onChange","value","_d","title","_e","closeText","className","_f","__read","useState","input","setInput","keys","i","push","text","type","getKeys","handleClose","e","useEffect","document","addEventListener","removeEventListener","keyboardcls","classNames","React","createElement","CSSTransition","in","unmountOnExit","timeout","View","onClick","map","key","index","none","delete","process","env","TARO_ENV","stopImmediatePropagation","newInput","slice","length","handleKeyPress"],"mappings":"8PAgCM,IAAAA,EAA0C,SAAAC,GAE5C,IAAAC,EAWED,EAXIC,OACNC,EAUEF,EAVEE,KACJC,EASEH,EAAKI,UATPA,aAAYC,OAAOC,iBAAgBH,EACnCI,EAQEP,EARcQ,UAAhBA,OAAY,IAAAD,GAAIA,EAChBE,EAOET,EAAKU,kBAPPA,cAAwBD,EACxBE,EAMEX,EAAKW,QALPC,EAKEZ,EAAKY,SAJPC,EAIEb,EAAKa,MAHPC,EAGEd,EAHYe,MAAdA,OAAK,IAAAD,EAAG,OAAMA,EACdE,EAEEhB,YAFFiB,OAAY,IAAAD,EAAA,OACZE,EACElB,YACEmB,EAAAC,EAAoBC,EAASR,GAAM,GAAlCS,EAAKH,EAAA,GAAEI,OACRC,EAwCN,WAGE,IAFA,IAAMA,EAAe,GAEZC,EAAI,EAAGA,GAAK,EAAGA,IACtBD,EAAKE,KAAK,CAAEC,KAAMF,EAAGZ,MAAOY,EAAGG,KAAM,WASvC,OANAJ,EAAKE,KACH,CAAEC,KAAM,GAAId,MAAO,GAAIe,KAAM,QAC7B,CAAED,KAAM,EAAGd,MAAO,EAAGe,KAAM,UAC3B,CAAED,KAAM,GAAId,MAAO,GAAIe,KAAM,WAGxBJ,CACR,CAtDYK,GAgBb,SAASC,EAAYC,GACnBpB,GAAWA,EAAQoB,GACnB9B,GAAUA,EAAO8B,EAClB,CAjBDC,GAAU,WAKR,OAJItB,GACFuB,SAASC,iBAAiB,QAASJ,GAG9B,WACLG,SAASE,oBAAoB,QAASL,EACxC,CACD,GAAE,IAEHE,GAAU,WACRT,EAASV,EACX,GAAG,CAACA,IAyCJ,IAAMuB,EAAcC,EAAW,qBAAsBnB,GAErD,OACEoB,EAACC,cAAAC,EAAc,CAAAH,WAAW,WAAWI,GAAIvC,EAAMwC,eAAc,EAAAC,QAAS,KACpEL,EAAAC,cAACK,EAAI,CAAC1B,UAAWkB,GACfE,EAAAC,cAACK,EAAI,CAAC1B,UAAU,6BACdoB,EAAAC,cAACK,EAAK,CAAA1B,UAAU,mCAAmCH,GAClDP,GACC8B,EAAAC,cAACK,EAAI,CACH1B,UAAU,kCACV2B,QAASf,GAERb,IAIPqB,EAAAC,cAACK,EAAI,CAAC1B,UAAU,2BACbM,EAAKsB,KAAI,SAACC,EAAKC,GAAU,OACxBV,EAAAC,cAACK,EAAI,CACHG,IAAKC,EACL9B,UAAWmB,EAAW,8BAA+B,CACnDY,KAAmB,SAAbF,EAAInB,KACVsB,OAAqB,WAAbH,EAAInB,OAEdiB,QAAS,SAAAd,IA1DrB,SAAwBA,EAAG5B,OAAEyB,EAAIzB,EAAAyB,KAAEf,EAAKV,EAAAU,MAItC,GAH6B,OAAzBsC,QAAQC,IAAIC,UACdtB,EAAEuB,2BAES,SAAT1B,EAAJ,CAEA,IAAI2B,EAAWjC,EAEF,WAATM,EACF2B,EAAWjC,EAAMkC,MAAM,EAAGlC,EAAMmC,OAAS,GAChCF,EAASE,OAASrD,IAC3BmD,EAAWjC,EAAQT,GAGrBU,EAASgC,GAET3C,GAAYA,EAAS2C,EAZO,CAa7B,CA0CaG,CAAe3B,EAAGgB,EACpB,GAECA,EAAIpB,KAXiB,MAkBpC"}
@@ -1,2 +1,2 @@
1
- import{__rest as e,__assign as o}from"../node_modules/tslib/tslib.es6.js";import a from"react";import{View as r}from"@tarojs/components";import t from"classnames";import s from"../Loading/index.js";import m from"../NavBar/index.js";var i=function(i){var l=i.children,n=i.loading,c=void 0!==n&&n,d=i.className,p=void 0===d?"":d,v=i.mask,N=void 0===v?"normal":v,f=i.tip,g=i.loadingColor,E=i.customNavBar,h=void 0!==E&&E,u=i.title,x=void 0===u?"":u,j=e(i,["children","loading","className","mask","tip","loadingColor","customNavBar","title"]),_=t("xh-page",p,{flex:"h5"!==process.env.TARO_ENV&&h});return a.createElement(r,{className:_},"h5"!==process.env.TARO_ENV&&h&&a.createElement(m,o({title:x},j)),c&&a.createElement(r,{className:"loading-wrapper"},a.createElement(s,{mask:N,tip:f,color:g})),h&&"h5"!==process.env.TARO_ENV?a.createElement(r,{className:"xh-page-content"},l):l)};export{i as default};
1
+ import{__rest as e,__assign as o}from"../node_modules/tslib/tslib.es6.js";import a from"react";import{View as r}from"@tarojs/components";import t from"classnames";import s from"../Loading/index.js";import i from"../NavBar/index.js";var m=function(m){var l=m.children,n=m.loading,c=void 0!==n&&n,d=m.className,p=void 0===d?"":d,v=m.mask,N=void 0===v?"normal":v,f=m.tip,g=void 0===f?"加载中":f,E=m.loadingColor,h=void 0===E?"#FFF":E,u=m.customNavBar,x=void 0!==u&&u,j=m.title,_=void 0===j?"":j,k=e(m,["children","loading","className","mask","tip","loadingColor","customNavBar","title"]),A=t("xh-page",p,{flex:"h5"!==process.env.TARO_ENV&&x});return a.createElement(r,{className:A},"h5"!==process.env.TARO_ENV&&x&&a.createElement(i,o({title:_},k)),c&&a.createElement(r,{className:"loading-wrapper"},a.createElement(s,{mask:N,tip:g,color:h})),x&&"h5"!==process.env.TARO_ENV?a.createElement(r,{className:"xh-page-content"},l):l)};export{m as default};
2
2
  //# sourceMappingURL=index.js.map