taro-react-uilib 1.4.22-0 → 1.4.22-2

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 (280) hide show
  1. package/dist/components/Checkbox/Group/index.js +1 -1
  2. package/dist/components/Checkbox/Group/index.js.map +1 -1
  3. package/dist/components/Checkbox/index.js +1 -1
  4. package/dist/components/Checkbox/index.js.map +1 -1
  5. package/dist/components/Icon/index.js +1 -1
  6. package/dist/components/Icon/index.js.map +1 -1
  7. package/dist/components/Notice/index.js +2 -0
  8. package/dist/components/Notice/index.js.map +1 -0
  9. package/dist/components/Radio/Group/index.js +1 -1
  10. package/dist/components/Radio/Group/index.js.map +1 -1
  11. package/dist/components/Radio/index.js +1 -1
  12. package/dist/components/Radio/index.js.map +1 -1
  13. package/dist/components/src/index.js +1 -1
  14. package/dist/components/src/utils/index.js +1 -1
  15. package/dist/components/src/utils/index.js.map +1 -1
  16. package/dist/index.esm.js +6 -6
  17. package/dist/index.esm.js.map +1 -1
  18. package/dist/index.js +4 -4
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.umd.js +4 -4
  21. package/dist/index.umd.js.map +1 -1
  22. package/dist/styles/components/font/iconfont.ttf +0 -0
  23. package/dist/styles/components/font/iconfont.woff +0 -0
  24. package/dist/styles/components/font/iconfont.woff2 +0 -0
  25. package/dist/styles/components/icon.scss +8 -0
  26. package/dist/styles/components/index.scss +2 -0
  27. package/dist/styles/components/notice.scss +43 -0
  28. package/dist/styles/components/tabnav.scss +97 -0
  29. package/package.json +2 -2
  30. package/types/components/ActionSheet/index.d.ts +43 -44
  31. package/types/components/ActivityIndicator/index.d.ts +12 -13
  32. package/types/components/AmountInput/index.d.ts +25 -26
  33. package/types/components/AmountKeyboard/index.d.ts +35 -36
  34. package/types/components/Animated/Animated.d.ts +11 -12
  35. package/types/components/Animated/Fade/index.d.ts +9 -9
  36. package/types/components/Animated/Scale/index.d.ts +9 -9
  37. package/types/components/Animated/Slide/index.d.ts +11 -11
  38. package/types/components/Animated/index.d.ts +3 -3
  39. package/types/components/Badge/index.d.ts +7 -8
  40. package/types/components/BankCardNumberInput/index.d.ts +47 -48
  41. package/types/components/BankIcon/index.d.ts +8 -9
  42. package/types/components/Button/DotJump.d.ts +7 -7
  43. package/types/components/Button/index.d.ts +29 -30
  44. package/types/components/Captcha/index.d.ts +24 -25
  45. package/types/components/Cell/index.d.ts +29 -30
  46. package/types/components/Checkbox/Group/index.d.ts +23 -23
  47. package/types/components/Checkbox/index.d.ts +28 -29
  48. package/types/components/CheckboxButton/index.d.ts +23 -24
  49. package/types/components/Collapse/index.d.ts +10 -11
  50. package/types/components/Countdown/index.d.ts +10 -11
  51. package/types/components/Dialog/Alert/index.d.ts +26 -26
  52. package/types/components/Dialog/Confirm/index.d.ts +37 -37
  53. package/types/components/Dialog/index.d.ts +11 -11
  54. package/types/components/DialogComponent/index.d.ts +18 -19
  55. package/types/components/DialogRef/index.d.ts +37 -38
  56. package/types/components/Echarts/index.d.ts +5 -5
  57. package/types/components/Echarts/types.d.ts +34 -34
  58. package/types/components/Echarts/weapp/wx-canvas.d.ts +21 -21
  59. package/types/components/Echarts/weapp/wx-touch.d.ts +13 -13
  60. package/types/components/FormInput/index.d.ts +55 -56
  61. package/types/components/IDNumberInput/index.d.ts +39 -40
  62. package/types/components/Icon/index.d.ts +13 -14
  63. package/types/components/Image/index.d.ts +11 -12
  64. package/types/components/LicensePlateInput/Keyboard.d.ts +26 -27
  65. package/types/components/LicensePlateInput/index.d.ts +37 -38
  66. package/types/components/LinkMan/index.d.ts +33 -34
  67. package/types/components/List/index.d.ts +21 -22
  68. package/types/components/Loading/index.d.ts +11 -12
  69. package/types/components/Mask/index.d.ts +9 -10
  70. package/types/components/NavBar/index.d.ts +11 -12
  71. package/types/components/Notice/index.d.ts +13 -0
  72. package/types/components/NumberKeyboard/index.d.ts +24 -25
  73. package/types/components/Page/index.d.ts +21 -22
  74. package/types/components/PasswordInput/index.d.ts +10 -11
  75. package/types/components/Picker/Picker.d.ts +24 -24
  76. package/types/components/Picker/PickerSlot.d.ts +23 -24
  77. package/types/components/Picker/index.d.ts +12 -13
  78. package/types/components/Popup/index.d.ts +10 -11
  79. package/types/components/Progress/index.d.ts +21 -22
  80. package/types/components/ProgressCircle/index.d.ts +13 -14
  81. package/types/components/Radio/Group/index.d.ts +29 -29
  82. package/types/components/Radio/index.d.ts +29 -30
  83. package/types/components/Rank/index.d.ts +13 -14
  84. package/types/components/Result/index.d.ts +23 -24
  85. package/types/components/ScrollView/index.d.ts +11 -11
  86. package/types/components/Space/Item.d.ts +11 -11
  87. package/types/components/Space/config-provider.d.ts +12 -12
  88. package/types/components/Space/index.d.ts +20 -21
  89. package/types/components/Step/Steps/index.d.ts +14 -14
  90. package/types/components/Step/index.d.ts +19 -20
  91. package/types/components/Switch/index.d.ts +11 -12
  92. package/types/components/TabNav/TabNavItem/index.d.ts +8 -0
  93. package/types/components/TabNav/index.d.ts +27 -0
  94. package/types/components/Tabbar/index.d.ts +8 -9
  95. package/types/components/Tabbar/tabbar/TabItem.d.ts +8 -8
  96. package/types/components/Tabbar/tabbar/Tabbar.d.ts +31 -31
  97. package/types/components/ThemeProvider/index.d.ts +30 -30
  98. package/types/components/Toast/Toast.d.ts +19 -20
  99. package/types/components/Toast/index.d.ts +4 -5
  100. package/types/hooks/index.d.ts +2 -2
  101. package/types/hooks/useCustomNavbar.d.ts +6 -6
  102. package/types/hooks/useFirstMountState.d.ts +1 -1
  103. package/types/hooks/useFlexGapSupport.d.ts +2 -2
  104. package/types/hooks/useGenerateId.d.ts +1 -1
  105. package/types/hooks/usePrevious.d.ts +1 -1
  106. package/types/hooks/useRefs.d.ts +1 -1
  107. package/types/hooks/useTouch.d.ts +18 -18
  108. package/types/hooks/useUnMount.d.ts +1 -1
  109. package/types/hooks/useUpdateEffect.d.ts +1 -1
  110. package/types/index.d.ts +44 -43
  111. package/types/types/index.d.ts +5 -5
  112. package/types/utils/index.d.ts +57 -57
  113. package/lib/components/ActionSheet/index.js +0 -67
  114. package/lib/components/ActionSheet/index.js.map +0 -1
  115. package/lib/components/ActivityIndicator/index.js +0 -30
  116. package/lib/components/ActivityIndicator/index.js.map +0 -1
  117. package/lib/components/AmountInput/index.js +0 -53
  118. package/lib/components/AmountInput/index.js.map +0 -1
  119. package/lib/components/AmountKeyboard/index.js +0 -134
  120. package/lib/components/AmountKeyboard/index.js.map +0 -1
  121. package/lib/components/Animated/Animated.js +0 -20
  122. package/lib/components/Animated/Animated.js.map +0 -1
  123. package/lib/components/Animated/Fade/index.js +0 -19
  124. package/lib/components/Animated/Fade/index.js.map +0 -1
  125. package/lib/components/Animated/Scale/index.js +0 -19
  126. package/lib/components/Animated/Scale/index.js.map +0 -1
  127. package/lib/components/Animated/Slide/index.js +0 -19
  128. package/lib/components/Animated/Slide/index.js.map +0 -1
  129. package/lib/components/Animated/index.js +0 -5
  130. package/lib/components/Animated/index.js.map +0 -1
  131. package/lib/components/Badge/index.js +0 -11
  132. package/lib/components/Badge/index.js.map +0 -1
  133. package/lib/components/BankCardNumberInput/index.js +0 -44
  134. package/lib/components/BankCardNumberInput/index.js.map +0 -1
  135. package/lib/components/BankIcon/index.js +0 -12
  136. package/lib/components/BankIcon/index.js.map +0 -1
  137. package/lib/components/Button/DotJump.js +0 -13
  138. package/lib/components/Button/DotJump.js.map +0 -1
  139. package/lib/components/Button/index.js +0 -62
  140. package/lib/components/Button/index.js.map +0 -1
  141. package/lib/components/Captcha/index.js +0 -76
  142. package/lib/components/Captcha/index.js.map +0 -1
  143. package/lib/components/Cell/index.js +0 -29
  144. package/lib/components/Cell/index.js.map +0 -1
  145. package/lib/components/Checkbox/Group/index.js +0 -49
  146. package/lib/components/Checkbox/Group/index.js.map +0 -1
  147. package/lib/components/Checkbox/index.js +0 -55
  148. package/lib/components/Checkbox/index.js.map +0 -1
  149. package/lib/components/CheckboxButton/index.js +0 -30
  150. package/lib/components/CheckboxButton/index.js.map +0 -1
  151. package/lib/components/Collapse/index.js +0 -47
  152. package/lib/components/Collapse/index.js.map +0 -1
  153. package/lib/components/Countdown/index.js +0 -69
  154. package/lib/components/Countdown/index.js.map +0 -1
  155. package/lib/components/Dialog/Alert/index.js +0 -35
  156. package/lib/components/Dialog/Alert/index.js.map +0 -1
  157. package/lib/components/Dialog/Confirm/index.js +0 -41
  158. package/lib/components/Dialog/Confirm/index.js.map +0 -1
  159. package/lib/components/Dialog/index.js +0 -8
  160. package/lib/components/Dialog/index.js.map +0 -1
  161. package/lib/components/DialogComponent/index.js +0 -36
  162. package/lib/components/DialogComponent/index.js.map +0 -1
  163. package/lib/components/DialogRef/index.js +0 -55
  164. package/lib/components/DialogRef/index.js.map +0 -1
  165. package/lib/components/Echarts/index.js +0 -276
  166. package/lib/components/Echarts/index.js.map +0 -1
  167. package/lib/components/Echarts/types.js +0 -2
  168. package/lib/components/Echarts/types.js.map +0 -1
  169. package/lib/components/Echarts/weapp/wx-canvas.js +0 -125
  170. package/lib/components/Echarts/weapp/wx-canvas.js.map +0 -1
  171. package/lib/components/Echarts/weapp/wx-touch.js +0 -75
  172. package/lib/components/Echarts/weapp/wx-touch.js.map +0 -1
  173. package/lib/components/FormInput/index.js +0 -75
  174. package/lib/components/FormInput/index.js.map +0 -1
  175. package/lib/components/IDNumberInput/index.js +0 -37
  176. package/lib/components/IDNumberInput/index.js.map +0 -1
  177. package/lib/components/Icon/index.js +0 -24
  178. package/lib/components/Icon/index.js.map +0 -1
  179. package/lib/components/Image/index.js +0 -48
  180. package/lib/components/Image/index.js.map +0 -1
  181. package/lib/components/LicensePlateInput/Keyboard.js +0 -168
  182. package/lib/components/LicensePlateInput/Keyboard.js.map +0 -1
  183. package/lib/components/LicensePlateInput/index.js +0 -94
  184. package/lib/components/LicensePlateInput/index.js.map +0 -1
  185. package/lib/components/LinkMan/index.js +0 -348
  186. package/lib/components/LinkMan/index.js.map +0 -1
  187. package/lib/components/List/index.js +0 -26
  188. package/lib/components/List/index.js.map +0 -1
  189. package/lib/components/Loading/index.js +0 -18
  190. package/lib/components/Loading/index.js.map +0 -1
  191. package/lib/components/Mask/index.js +0 -17
  192. package/lib/components/Mask/index.js.map +0 -1
  193. package/lib/components/NavBar/index.js +0 -41
  194. package/lib/components/NavBar/index.js.map +0 -1
  195. package/lib/components/NumberKeyboard/index.js +0 -63
  196. package/lib/components/NumberKeyboard/index.js.map +0 -1
  197. package/lib/components/Page/index.js +0 -30
  198. package/lib/components/Page/index.js.map +0 -1
  199. package/lib/components/PasswordInput/index.js +0 -24
  200. package/lib/components/PasswordInput/index.js.map +0 -1
  201. package/lib/components/Picker/Picker.js +0 -205
  202. package/lib/components/Picker/Picker.js.map +0 -1
  203. package/lib/components/Picker/PickerSlot.js +0 -226
  204. package/lib/components/Picker/PickerSlot.js.map +0 -1
  205. package/lib/components/Picker/index.js +0 -33
  206. package/lib/components/Picker/index.js.map +0 -1
  207. package/lib/components/Popup/index.js +0 -60
  208. package/lib/components/Popup/index.js.map +0 -1
  209. package/lib/components/Progress/index.js +0 -29
  210. package/lib/components/Progress/index.js.map +0 -1
  211. package/lib/components/ProgressCircle/index.js +0 -22
  212. package/lib/components/ProgressCircle/index.js.map +0 -1
  213. package/lib/components/Radio/Group/index.js +0 -58
  214. package/lib/components/Radio/Group/index.js.map +0 -1
  215. package/lib/components/Radio/index.js +0 -56
  216. package/lib/components/Radio/index.js.map +0 -1
  217. package/lib/components/Rank/index.js +0 -22
  218. package/lib/components/Rank/index.js.map +0 -1
  219. package/lib/components/Result/index.js +0 -38
  220. package/lib/components/Result/index.js.map +0 -1
  221. package/lib/components/ScrollView/index.js +0 -34
  222. package/lib/components/ScrollView/index.js.map +0 -1
  223. package/lib/components/Space/Item.js +0 -25
  224. package/lib/components/Space/Item.js.map +0 -1
  225. package/lib/components/Space/config-provider.js +0 -8
  226. package/lib/components/Space/config-provider.js.map +0 -1
  227. package/lib/components/Space/index.js +0 -77
  228. package/lib/components/Space/index.js.map +0 -1
  229. package/lib/components/Step/Steps/index.js +0 -33
  230. package/lib/components/Step/Steps/index.js.map +0 -1
  231. package/lib/components/Step/index.js +0 -20
  232. package/lib/components/Step/index.js.map +0 -1
  233. package/lib/components/Switch/index.js +0 -26
  234. package/lib/components/Switch/index.js.map +0 -1
  235. package/lib/components/Tabbar/index.js +0 -7
  236. package/lib/components/Tabbar/index.js.map +0 -1
  237. package/lib/components/Tabbar/tabbar/TabItem.js +0 -9
  238. package/lib/components/Tabbar/tabbar/TabItem.js.map +0 -1
  239. package/lib/components/Tabbar/tabbar/Tabbar.js +0 -87
  240. package/lib/components/Tabbar/tabbar/Tabbar.js.map +0 -1
  241. package/lib/components/ThemeProvider/index.js +0 -32
  242. package/lib/components/ThemeProvider/index.js.map +0 -1
  243. package/lib/components/Toast/Toast.js +0 -38
  244. package/lib/components/Toast/Toast.js.map +0 -1
  245. package/lib/components/Toast/index.js +0 -56
  246. package/lib/components/Toast/index.js.map +0 -1
  247. package/lib/hooks/index.js +0 -17
  248. package/lib/hooks/index.js.map +0 -1
  249. package/lib/hooks/useCustomNavbar.js +0 -24
  250. package/lib/hooks/useCustomNavbar.js.map +0 -1
  251. package/lib/hooks/useFirstMountState.js +0 -10
  252. package/lib/hooks/useFirstMountState.js.map +0 -1
  253. package/lib/hooks/useFlexGapSupport.js +0 -10
  254. package/lib/hooks/useFlexGapSupport.js.map +0 -1
  255. package/lib/hooks/useGenerateId.js +0 -12
  256. package/lib/hooks/useGenerateId.js.map +0 -1
  257. package/lib/hooks/usePrevious.js +0 -9
  258. package/lib/hooks/usePrevious.js.map +0 -1
  259. package/lib/hooks/useRefs.js +0 -13
  260. package/lib/hooks/useRefs.js.map +0 -1
  261. package/lib/hooks/useTouch.js +0 -67
  262. package/lib/hooks/useTouch.js.map +0 -1
  263. package/lib/hooks/useUnMount.js +0 -5
  264. package/lib/hooks/useUnMount.js.map +0 -1
  265. package/lib/hooks/useUpdateEffect.js +0 -12
  266. package/lib/hooks/useUpdateEffect.js.map +0 -1
  267. package/lib/index.js +0 -44
  268. package/lib/index.js.map +0 -1
  269. package/lib/types/index.js +0 -2
  270. package/lib/types/index.js.map +0 -1
  271. package/lib/utils/index.js +0 -320
  272. package/lib/utils/index.js.map +0 -1
  273. package/types/components/BankIcon/bank.d.ts +0 -18
  274. package/types/components/Dialog/Dialog/index.d.ts +0 -19
  275. package/types/components/Dialog/DialogComponent/index.d.ts +0 -19
  276. package/types/components/NumberKeyboard/Key/index.d.ts +0 -8
  277. package/types/components/PickerSlot/index.d.ts +0 -24
  278. package/types/components/Tabbar/components/TabItem.d.ts +0 -9
  279. package/types/components/Tabbar/components/Tabbar.d.ts +0 -30
  280. package/types/components/Theme/index.d.ts +0 -27
@@ -1,2 +1,2 @@
1
- import{__rest as e,__read as n,__assign as t,__spreadArray as r}from"../../node_modules/tslib/tslib.es6.js";import l,{useMemo as o,useState as a}from"react";import c from"classnames";import d from"../index.js";var i=function(i){var u=i.option,s=i.onChange,f=i.defaultChecked,m=i.padding,p=i.border,h=i.style,b=i.checkboxStyle,v=e(i,["option","onChange","defaultChecked","padding","border","style","checkboxStyle"]),k=o((function(){return u.map((function(e){var n="string"==typeof f?[f]:f;return"string"==typeof e?{label:e,value:e,checked:null==n?void 0:n.includes(e)}:((null==n?void 0:n.includes(e.value))&&(e.checked=!0),e)}))}),[u,f]),g=n(a(k),2),y=g[0],x=g[1],C=c("xh-checkbox-group",{padding:m},{border:p});return l.createElement("div",{className:C,style:h},y.map((function(e,o){return l.createElement(d,t({label:e.label,value:e.value,disabled:e.disabled,checked:e.checked,key:o,style:b,onChange:function(e){return function(e,t){var l=r([],n(y),!1);l[t].checked=e,x(l);var o=l.filter((function(e){return e.checked})).map((function(e){return e.value}));null==s||s(o)}(e,o)}},v))})))};export{i as default};
1
+ import{__rest as e,__read as n,__assign as t,__spreadArray as r}from"../../node_modules/tslib/tslib.es6.js";import l,{useMemo as o,useState as a,useEffect as c}from"react";import d from"classnames";import i from"../index.js";var u=function(u){var s=u.option,f=u.onChange,m=u.defaultChecked,p=u.padding,h=u.border,v=u.style,b=u.checkboxStyle,k=e(u,["option","onChange","defaultChecked","padding","border","style","checkboxStyle"]),g=o((function(){return s.map((function(e){var n="string"==typeof m?[m]:m;return"string"==typeof e?{label:e,value:e,checked:null==n?void 0:n.includes(e)}:((null==n?void 0:n.includes(e.value))&&(e.checked=!0),e)}))}),[s,m]),y=n(a(g),2),x=y[0],C=y[1];c((function(){C(g)}),[m,g]);var j=d("xh-checkbox-group",{padding:p},{border:h});return l.createElement("div",{className:j,style:v},x.map((function(e,o){return l.createElement(i,t({label:e.label,value:e.value,disabled:e.disabled,checked:e.checked,key:o,style:b,onChange:function(e){return function(e,t){var l=r([],n(x),!1);l[t].checked=e,C(l);var o=l.filter((function(e){return e.checked})).map((function(e){return e.value}));null==f||f(o)}(e,o)}},k))})))};export{u as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Checkbox/Group/index.tsx"],"sourcesContent":["import React, { ReactNode, useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\n\nimport CheckBox from \"..\";\n\nexport type CheckBoxItemType = {\n label: string | ReactNode;\n value: string;\n disabled?: boolean;\n checked?: boolean;\n};\nexport type CheckBoxItem = Omit<CheckBoxItemType, \"checked\"> | string;\nexport type CheckboxGroupProps = {\n option: CheckBoxItem[];\n onChange?: (value: string[]) => void;\n defaultChecked?: string[] | string;\n padding?: true;\n border?: boolean;\n style?: React.CSSProperties;\n checkboxStyle?: React.CSSProperties;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n color?: string;\n};\n\nconst CheckboxGroup: React.FC<CheckboxGroupProps> = props => {\n const {\n option,\n onChange,\n defaultChecked,\n padding,\n border,\n style,\n checkboxStyle,\n ...rest\n } = props;\n\n const getOpions = useMemo(() => {\n return option.map((item: CheckBoxItemType | string) => {\n let checkedItem =\n typeof defaultChecked === \"string\" ? [defaultChecked] : defaultChecked;\n if (typeof item === \"string\") {\n return {\n label: item,\n value: item,\n checked: checkedItem?.includes(item),\n };\n } else {\n if (checkedItem?.includes(item.value)) {\n item.checked = true;\n }\n return item;\n }\n });\n }, [option, defaultChecked]);\n\n const [innerOption, setInnerOption] = useState(getOpions);\n\n const handleChange = (checked, index) => {\n const newoption = [...innerOption];\n newoption[index].checked = checked;\n setInnerOption(newoption);\n const newValue = newoption.filter(k => k.checked).map(item => item.value);\n onChange?.(newValue);\n };\n\n const cls = classNames(\"xh-checkbox-group\", { padding }, { border });\n return (\n <div className={cls} style={style}>\n {innerOption.map((item, index) => {\n return (\n <CheckBox\n label={item.label}\n value={item.value}\n disabled={item.disabled}\n checked={item.checked}\n key={index}\n style={checkboxStyle}\n onChange={checked => handleChange(checked, index)}\n {...rest}\n />\n );\n })}\n </div>\n );\n};\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup","props","option","onChange","defaultChecked","padding","border","style","checkboxStyle","rest","__rest","getOpions","useMemo","map","item","checkedItem","label","value","checked","includes","_a","__read","useState","innerOption","setInnerOption","cls","classNames","React","createElement","className","index","CheckBox","__assign","disabled","key","newoption","__spreadArray","newValue","filter","k","handleChange"],"mappings":"kNA0BM,IAAAA,EAA8C,SAAAC,GAEhD,IAAAC,EAQED,SAPFE,EAOEF,EAAKE,SANPC,EAMEH,EAAKG,eALPC,EAKEJ,EALKI,QACPC,EAIEL,EAJIK,OACNC,EAGEN,QAFFO,EAEEP,EAAKO,cADJC,EAAIC,EACLT,EATE,CAAA,SAAA,WAAA,iBAAA,UAAA,SAAA,QAAA,kBAWAU,EAAYC,GAAQ,WACxB,OAAOV,EAAOW,KAAI,SAACC,GACjB,IAAIC,EACwB,iBAAnBX,EAA8B,CAACA,GAAkBA,EAC1D,MAAoB,iBAATU,EACF,CACLE,MAAOF,EACPG,MAAOH,EACPI,QAASH,aAAW,EAAXA,EAAaI,SAASL,MAG7BC,aAAW,EAAXA,EAAaI,SAASL,EAAKG,UAC7BH,EAAKI,SAAU,GAEVJ,EAEX,GACF,GAAG,CAACZ,EAAQE,IAENgB,EAAAC,EAAgCC,EAASX,GAAU,GAAlDY,EAAWH,EAAA,GAAEI,OAUdC,EAAMC,EAAW,oBAAqB,CAAErB,QAAOA,GAAI,CAAEC,OAAMA,IACjE,OACEqB,EAAKC,cAAA,MAAA,CAAAC,UAAWJ,EAAKlB,MAAOA,GACzBgB,EAAYV,KAAI,SAACC,EAAMgB,GACtB,OACEH,EAACC,cAAAG,EACCC,EAAA,CAAAhB,MAAOF,EAAKE,MACZC,MAAOH,EAAKG,MACZgB,SAAUnB,EAAKmB,SACff,QAASJ,EAAKI,QACdgB,IAAKJ,EACLvB,MAAOC,EACPL,SAAU,SAAAe,GAAW,OApBV,SAACA,EAASY,GAC7B,IAAMK,EAASC,EAAA,GAAAf,EAAOE,IAAW,GACjCY,EAAUL,GAAOZ,QAAUA,EAC3BM,EAAeW,GACf,IAAME,EAAWF,EAAUG,QAAO,SAAAC,GAAK,OAAAA,EAAErB,OAAO,IAAEL,KAAI,SAAAC,GAAQ,OAAAA,EAAKG,KAAL,IAC9Dd,SAAAA,EAAWkC,EACb,CAc+BG,CAAatB,EAASY,EAAtB,GACjBrB,GAGT,IAGP"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Checkbox/Group/index.tsx"],"sourcesContent":["import React, { ReactNode, useMemo, useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\n\nimport CheckBox from \"..\";\n\nexport type CheckBoxItemType = {\n label: string | ReactNode;\n value: string;\n disabled?: boolean;\n checked?: boolean;\n};\nexport type CheckBoxItem = Omit<CheckBoxItemType, \"checked\"> | string;\nexport type CheckboxGroupProps = {\n option: CheckBoxItem[];\n onChange?: (value: string[]) => void;\n defaultChecked?: string[] | string;\n padding?: true;\n border?: boolean;\n style?: React.CSSProperties;\n checkboxStyle?: React.CSSProperties;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n color?: string;\n};\n\nconst CheckboxGroup: React.FC<CheckboxGroupProps> = props => {\n const {\n option,\n onChange,\n defaultChecked,\n padding,\n border,\n style,\n checkboxStyle,\n ...rest\n } = props;\n\n const getOpions = useMemo(() => {\n return option.map((item: CheckBoxItemType | string) => {\n let checkedItem =\n typeof defaultChecked === \"string\" ? [defaultChecked] : defaultChecked;\n if (typeof item === \"string\") {\n return {\n label: item,\n value: item,\n checked: checkedItem?.includes(item),\n };\n } else {\n if (checkedItem?.includes(item.value)) {\n item.checked = true;\n }\n return item;\n }\n });\n }, [option, defaultChecked]);\n\n const [innerOption, setInnerOption] = useState(getOpions);\n\n useEffect(() => {\n setInnerOption(getOpions);\n }, [defaultChecked, getOpions]);\n\n const handleChange = (checked, index) => {\n const newoption = [...innerOption];\n newoption[index].checked = checked;\n setInnerOption(newoption);\n const newValue = newoption.filter(k => k.checked).map(item => item.value);\n onChange?.(newValue);\n };\n\n const cls = classNames(\"xh-checkbox-group\", { padding }, { border });\n return (\n <div className={cls} style={style}>\n {innerOption.map((item, index) => {\n return (\n <CheckBox\n label={item.label}\n value={item.value}\n disabled={item.disabled}\n checked={item.checked}\n key={index}\n style={checkboxStyle}\n onChange={checked => handleChange(checked, index)}\n {...rest}\n />\n );\n })}\n </div>\n );\n};\n\nexport default CheckboxGroup;\n"],"names":["CheckboxGroup","props","option","onChange","defaultChecked","padding","border","style","checkboxStyle","rest","__rest","getOpions","useMemo","map","item","checkedItem","label","value","checked","includes","_a","__read","useState","innerOption","setInnerOption","useEffect","cls","classNames","React","createElement","className","index","CheckBox","__assign","disabled","key","newoption","__spreadArray","newValue","filter","k","handleChange"],"mappings":"iOA0BM,IAAAA,EAA8C,SAAAC,GAEhD,IAAAC,EAQED,SAPFE,EAOEF,EAAKE,SANPC,EAMEH,EAAKG,eALPC,EAKEJ,EALKI,QACPC,EAIEL,EAJIK,OACNC,EAGEN,QAFFO,EAEEP,EAAKO,cADJC,EAAIC,EACLT,EATE,CAAA,SAAA,WAAA,iBAAA,UAAA,SAAA,QAAA,kBAWAU,EAAYC,GAAQ,WACxB,OAAOV,EAAOW,KAAI,SAACC,GACjB,IAAIC,EACwB,iBAAnBX,EAA8B,CAACA,GAAkBA,EAC1D,MAAoB,iBAATU,EACF,CACLE,MAAOF,EACPG,MAAOH,EACPI,QAASH,aAAW,EAAXA,EAAaI,SAASL,MAG7BC,aAAW,EAAXA,EAAaI,SAASL,EAAKG,UAC7BH,EAAKI,SAAU,GAEVJ,EAEX,GACF,GAAG,CAACZ,EAAQE,IAENgB,EAAAC,EAAgCC,EAASX,GAAU,GAAlDY,EAAWH,EAAA,GAAEI,OAEpBC,GAAU,WACRD,EAAeb,EACjB,GAAG,CAACP,EAAgBO,IAEpB,IAQMe,EAAMC,EAAW,oBAAqB,CAAEtB,QAAOA,GAAI,CAAEC,OAAMA,IACjE,OACEsB,EAAKC,cAAA,MAAA,CAAAC,UAAWJ,EAAKnB,MAAOA,GACzBgB,EAAYV,KAAI,SAACC,EAAMiB,GACtB,OACEH,EAACC,cAAAG,EACCC,EAAA,CAAAjB,MAAOF,EAAKE,MACZC,MAAOH,EAAKG,MACZiB,SAAUpB,EAAKoB,SACfhB,QAASJ,EAAKI,QACdiB,IAAKJ,EACLxB,MAAOC,EACPL,SAAU,SAAAe,GAAW,OApBV,SAACA,EAASa,GAC7B,IAAMK,EAASC,EAAA,GAAAhB,EAAOE,IAAW,GACjCa,EAAUL,GAAOb,QAAUA,EAC3BM,EAAeY,GACf,IAAME,EAAWF,EAAUG,QAAO,SAAAC,GAAK,OAAAA,EAAEtB,OAAO,IAAEL,KAAI,SAAAC,GAAQ,OAAAA,EAAKG,KAAL,IAC9Dd,SAAAA,EAAWmC,EACb,CAc+BG,CAAavB,EAASa,EAAtB,GACjBtB,GAGT,IAGP"}
@@ -1,2 +1,2 @@
1
- import e from"react";import t from"classnames";import{View as a,CheckboxGroup as c,Label as l,Checkbox as r}from"@tarojs/components";import s from"../src/hooks/useGenerateId.js";import{pxTransform as o}from"../src/utils/index.js";import n from"./Group/index.js";var i=function(n){var i=n.className,h=n.name,m=n.label,p=n.id,d=n.circle,u=n.onChange,x=n.align,v=n.direction,k=n.justify,b=n.checked,E=n.disabled,f=n.value,N=void 0===f?"":f,g=n.style,y=n.size,j=void 0===y?0:y,A=n.color,C=void 0===A?"var(--color-primary)":A,O=s(p,"xh-checkbox-id"),R=function(e){var t=b||!1,a="";"h5"===process.env.TARO_ENV?(t=e.target.checked,a=e.target.value):(t=e.detail.value.length>0,a=e.detail.value[0]),u&&u(t,a)},T=t("xh-checkbox",i,x,v,k,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(a,{className:T,style:g},e.createElement(c,{onChange:R},e.createElement(l,{for:O},e.createElement(r,{id:O,disabled:E,value:N,checked:b,color:C,className:t("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV})}),e.createElement(a,{className:t("xh-checkbox-input-fake",d&&"circle",{tt:"tt"===process.env.TARO_ENV}),style:j>0?{width:o(j),height:o(j)}:{}}))),e.createElement("span",{className:"xh-checkbox-label"},m)):e.createElement("label",{htmlFor:O,className:T,style:g},e.createElement("input",{type:"checkbox",id:O,name:h,className:"xh-checkbox-input",onChange:R,value:N,defaultChecked:b}),e.createElement("span",{style:j>0?{width:o(j),height:o(j)}:{},className:t("xh-checkbox-input-fake",d&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},m))};i.Group=n;export{i as default};
1
+ import e from"react";import t from"classnames";import{View as a,CheckboxGroup as c}from"@tarojs/components";import l from"../src/hooks/useGenerateId.js";import{pxTransform as s}from"../src/utils/index.js";import r from"./Group/index.js";var o=function(r){var o=r.className,n=r.name,h=r.label,i=r.id,m=r.circle,p=r.onChange,d=r.align,u=r.direction,x=r.justify,b=r.checked,k=r.disabled,v=r.value,E=r.style,N=r.size,f=void 0===N?0:N,g=r.color,y=void 0===g?"var(--color-primary)":g,j=l(i,"xh-checkbox-id"),A=function(e){var t=b||!1,a="";"h5"===process.env.TARO_ENV?(t=e.target.checked,a=e.target.value):(t=e.detail.value.length>0,a=e.detail.value[0]),p&&p(t,a)},C=t("xh-checkbox",o,d,u,x,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(a,{className:C,style:E},e.createElement(c,{onChange:A},e.createElement("label",{htmlFor:j},e.createElement("input",{type:"checkbox",id:j,name:n,className:t("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV}),disabled:k,value:v,checked:b,color:y}),e.createElement("span",{className:t("xh-checkbox-input-fake",m&&"circle",{tt:"tt"===process.env.TARO_ENV}),style:f>0?{width:s(f),height:s(f)}:{}}))),e.createElement("span",{className:"xh-checkbox-label"},h)):e.createElement("label",{htmlFor:j,className:C,style:E},e.createElement("input",{type:"checkbox",id:j,name:n,className:"xh-checkbox-input",onChange:A,value:v,defaultChecked:b}),e.createElement("span",{style:f>0?{width:s(f),height:s(f)}:{},className:t("xh-checkbox-input-fake",m&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},h))};o.Group=r;export{o as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -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, Label, View, Checkbox } 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 = \"var(--color-primary)\",\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 <View className={cls} style={style}>\n <CheckboxGroup onChange={handleOnchange}>\n <Label for={finalId}>\n <Checkbox\n id={finalId}\n disabled={disabled}\n value={value as string}\n checked={checked}\n color={color}\n className={classNames(\"xh-checkbox-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n />\n <View\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 ></View>\n </Label>\n </CheckboxGroup>\n <span className=\"xh-checkbox-label\">{label}</span>\n </View>\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","_a","value","style","_b","size","_c","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","h5","React","createElement","View","CheckboxGroup","Label","for","Checkbox","tt","width","pxTransform","height","htmlFor","type","defaultChecked","Group"],"mappings":"sQAoCA,IAqGMA,EArGkC,SAAAC,GAEpC,IAAAC,EAeED,YAdFE,EAcEF,EAAKE,KAbPC,EAaEH,EAAKG,MAZPC,EAYEJ,EAZAI,GACFC,EAWEL,EAXIK,OACNC,EAUEN,WATFO,EASEP,EAAKO,MARPC,EAQER,EAROQ,UACTC,EAOET,EAPKS,QACPC,EAMEV,UALFW,EAKEX,EAAKW,SAJPC,EAIEZ,EAJQa,MAAVA,OAAQ,IAAAD,EAAA,KACRE,EAGEd,QAFFe,EAEEf,EAFMgB,KAARA,OAAO,IAAAD,EAAA,IACPE,EACEjB,EAD4BkB,MAA9BA,OAAQ,IAAAD,EAAA,yBAGJE,EAAUC,EAAchB,EAAI,kBAE5BiB,EAAiB,SAAAC,GACrB,IAAIC,EAAeb,IAAW,EAC1BG,EAAQ,GACiB,OAAzBW,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOjB,QACxBG,EAAQS,EAAEK,OAAOd,QAEjBU,EAAeD,EAAEM,OAAOf,MAAMgB,OAAS,EACvChB,EAAQS,EAAEM,OAAOf,MAAM,IAEzBP,GAAYA,EAASiB,EAAcV,EACrC,EAEMiB,EAAMC,EAAW,cAAe9B,EAAWM,EAAOC,EAAWC,EAAS,CAC1EuB,GAA6B,OAAzBR,QAAQC,IAAIC,WAElB,MAA6B,OAAzBF,QAAQC,IAAIC,SAEZO,EAACC,cAAAC,EAAK,CAAAlC,UAAW6B,EAAKhB,MAAOA,GAC3BmB,EAAAC,cAACE,EAAa,CAAC9B,SAAUe,GACvBY,EAAAC,cAACG,EAAK,CAACC,IAAKnB,GACVc,EAACC,cAAAK,EACC,CAAAnC,GAAIe,EACJR,SAAUA,EACVE,MAAOA,EACPH,QAASA,EACTQ,MAAOA,EACPjB,UAAW8B,EAAW,oBAAqB,CACzCS,GAA6B,OAAzBhB,QAAQC,IAAIC,aAGpBO,EAAAC,cAACC,EAAI,CACHlC,UAAW8B,EACT,yBACA1B,GAAU,SACV,CAAEmC,GAA6B,OAAzBhB,QAAQC,IAAIC,WAEpBZ,MACEE,EAAO,EACH,CACEyB,MAAOC,EAAY1B,GACnB2B,OAAQD,EAAY1B,IAEtB,CAAE,MAKdiB,EAAMC,cAAA,OAAA,CAAAjC,UAAU,qBAAqBE,IAMzC8B,EAAAC,cAAA,QAAA,CAAOU,QAASzB,EAASlB,UAAW6B,EAAKhB,MAAOA,GAC9CmB,EACEC,cAAA,QAAA,CAAAW,KAAK,WACLzC,GAAIe,EACJjB,KAAMA,EACND,UAAU,oBACVK,SAAUe,EACVR,MAAOA,EACPiC,eAAgBpC,IAElBuB,EAAAC,cAAA,OAAA,CACEpB,MACEE,EAAO,EACH,CACEyB,MAAOC,EAAY1B,GACnB2B,OAAQD,EAAY1B,IAEtB,CAAE,EAERf,UAAW8B,EAAW,yBAA0B1B,GAAU,YAE5D4B,EAAMC,cAAA,OAAA,CAAAjC,UAAU,qBAAqBE,GAG3C,EAGAJ,EAASgD,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, View } 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 = \"var(--color-primary)\",\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 <View className={cls} style={style}>\n <CheckboxGroup onChange={handleOnchange}>\n <label htmlFor={finalId}>\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 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 </label>\n </CheckboxGroup>\n <span className=\"xh-checkbox-label\">{label}</span>\n </View>\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","View","CheckboxGroup","htmlFor","type","tt","width","pxTransform","height","defaultChecked","Group"],"mappings":"6OAoCA,IAuGMA,EAvGkC,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,EAD4BiB,MAA9BA,OAAQ,IAAAD,EAAA,yBAGJE,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,EAAK,CAAAjC,UAAW4B,EAAKhB,MAAOA,GAC3BmB,EAAAC,cAACE,EAAa,CAAC7B,SAAUc,GACvBY,EAAOC,cAAA,QAAA,CAAAG,QAASlB,GACdc,EAAAC,cAAA,QAAA,CACEI,KAAK,WACLjC,GAAIc,EACJhB,KAAMA,EACND,UAAW6B,EAAW,oBAAqB,CACzCQ,GAA6B,OAAzBf,QAAQC,IAAIC,WAElBd,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTO,MAAOA,IAETe,EACEC,cAAA,OAAA,CAAAhC,UAAW6B,EACT,yBACAzB,GAAU,SACV,CAAEiC,GAA6B,OAAzBf,QAAQC,IAAIC,WAEpBZ,MACEE,EAAO,EACH,CACEwB,MAAOC,EAAYzB,GACnB0B,OAAQD,EAAYzB,IAEtB,CAAE,MAKdiB,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,IAMzC6B,EAAAC,cAAA,QAAA,CAAOG,QAASlB,EAASjB,UAAW4B,EAAKhB,MAAOA,GAC9CmB,EACEC,cAAA,QAAA,CAAAI,KAAK,WACLjC,GAAIc,EACJhB,KAAMA,EACND,UAAU,oBACVK,SAAUc,EACVR,MAAOA,EACP8B,eAAgBhC,IAElBsB,EAAAC,cAAA,OAAA,CACEpB,MACEE,EAAO,EACH,CACEwB,MAAOC,EAAYzB,GACnB0B,OAAQD,EAAYzB,IAEtB,CAAE,EAERd,UAAW6B,EAAW,yBAA0BzB,GAAU,YAE5D2B,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,GAG3C,EAGAJ,EAAS4C,MAAQA"}
@@ -1,2 +1,2 @@
1
- import{__rest as o,__assign as s}from"../node_modules/tslib/tslib.es6.js";import e from"react";import r from"classnames";import{pxTransform as t}from"../src/utils/index.js";var i=function(i){var c=i.icon,a=void 0===c?"":c,l=i.size,m=void 0===l?0:l,n=i.className,f=i.color,d=i.style,p=o(i,["icon","size","className","color","style"]),u=a&&"xh-icon-".concat(a),v=r("xh-icon",u,n),x=s(s({},d),{fontSize:t(m),color:f});return e.createElement("span",s({className:v},{style:x},p))};export{i as default};
1
+ import{__rest as o,__assign as s}from"../node_modules/tslib/tslib.es6.js";import e from"react";import r from"classnames";import{pxTransform as t}from"../src/utils/index.js";var i=function(i){var c=i.icon,a=void 0===c?"":c,l=i.size,m=void 0===l?0:l,n=i.className,f=i.color,d=i.style,p=o(i,["icon","size","className","color","style"]),u=a&&"xh-icon-".concat(a),v=r("xh-icon",u,n),x=s(s(s({},d),m>0?{fontSize:t(m)}:{}),{color:f});return e.createElement("span",s({className:v},{style:x},p))};export{i as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -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 | \"play\"\n | \"arrowLeft\"\n | \"arrowRight\"\n | \"keyboardClose\"\n | \"add\"\n | \"tongxunlu\"\n | \"zhuyi\"\n | \"duigou\"\n | \"edit2\"\n | \"alipay\"\n | \"wechat\"\n | \"friendPay\"\n | \"pen\"\n | \"location\"\n | \"search\"\n | \"qa\"\n | \"thumbsUp\"\n | \"thumbsDown\"\n | \"thumbsUpFull\"\n | \"thumbsDownFull\"\n | \"waiting\"\n | \"scan2\"\n | \"safety\"\n | (string & {});\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":"6KA2EM,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 | \"play\"\n | \"arrowLeft\"\n | \"arrowRight\"\n | \"keyboardClose\"\n | \"add\"\n | \"tongxunlu\"\n | \"zhuyi\"\n | \"duigou\"\n | \"edit2\"\n | \"alipay\"\n | \"wechat\"\n | \"friendPay\"\n | \"pen\"\n | \"location\"\n | \"search\"\n | \"qa\"\n | \"thumbsUp\"\n | \"thumbsDown\"\n | \"thumbsUpFull\"\n | \"thumbsDownFull\"\n | \"waiting\"\n | \"scan2\"\n | \"safety\"\n | \"report\"\n | \"forbidden\"\n | (string & {});\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 ...(size > 0 ? { 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":"6KA6EM,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,EAAAA,EAAA,CAAA,EACXR,GACCH,EAAO,EAAI,CAAEY,SAAUC,EAAYb,IAAU,CAAA,GACjD,CAAAE,MAAKA,IAGP,OAAOY,EAAMC,cAAA,OAAAJ,EAAA,CAAAV,UAAWO,GAAa,CAAEL,MAAOO,GAAkBN,GAClE"}
@@ -0,0 +1,2 @@
1
+ import{__spreadArray as t,__read as n}from"../node_modules/tslib/tslib.es6.js";import e,{useMemo as r,useRef as o,useState as i,useEffect as c}from"react";import{View as a}from"@tarojs/components";import u from"classnames";import{pxTransform as l}from"@tarojs/taro";import m from"../Icon/index.js";var s=function(s){var f=s.content,v=s.internal,d=void 0===v?3e3:v,h=s.duration,p=void 0===h?500:h,g=s.icon,x=void 0!==g&&g,T=s.itemHeight,j=void 0===T?72:T,E=s.className,I=r((function(){return f.length>0?t(t([],n(f),!1),[f[0]],!1):[]}),[f]),N=o(null),b=o(null),y=n(i(0),2),F=y[0],k=y[1],q=n(i(p),2),z=q[0],D=q[1];c((function(){if(!(I.length<=1))return N.current&&clearInterval(N.current),N.current=setInterval((function(){k((function(t){return t+1}))}),d),function(){N.current&&clearInterval(N.current),b.current&&clearTimeout(b.current)}}),[I.length,d]),c((function(){if(!(I.length<=1))return F===I.length-1&&0!==z?b.current=setTimeout((function(){D(0),k(0)}),p):0===F&&0===z&&(b.current=setTimeout((function(){D(p)}),50)),function(){b.current&&clearTimeout(b.current)}}),[F,I.length,p,z]);var H=u("xh-notice",E);return e.createElement(a,{className:H},"boolean"==typeof x&&x?e.createElement(m,{icon:"notice",color:"#7384F6",size:32}):x,e.createElement("div",{className:"xh-notice-main",style:{transform:"translateY(".concat(l(-F*j),")"),transitionDuration:"".concat(z,"ms"),transitionTimingFunction:"ease-in-out"}},I.map((function(t,n){return e.createElement(a,{className:"xh-notice-main-marquee",key:n},t)}))))};export{s as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Notice/index.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useRef, useState, useMemo } from \"react\";\nimport { View } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { pxTransform } from \"@tarojs/taro\";\nimport { Property } from \"csstype\";\nimport Icon from \"../Icon\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type RemindProps = {\n content: string[] | ReactNode[];\n internal?: number; // 轮播间隔,毫秒\n duration?: number; // 动画时长,毫秒\n icon?: ReactNode | boolean; // 支持传入 ReactNode 或布尔值控制默认图标\n itemHeight?: number; // 单个轮播项的高度,px,默认为 72\n bgColor?: Property.BackgroundColor;\n} & XHComponentCommonProps;\n\nconst Notice: React.FC<RemindProps> = props => {\n const {\n content: originalContent,\n internal = 3000,\n duration = 500,\n icon = false,\n itemHeight = 72, // 使用默认值 72\n className,\n } = props;\n\n // 使用 useMemo 缓存扩展内容数组,用于无缝轮播\n const content = useMemo(() => {\n return originalContent.length > 0\n ? [...originalContent, originalContent[0]]\n : [];\n }, [originalContent]);\n\n const internalRef = useRef<any>(null);\n const timeoutRef = useRef<any>(null);\n const [currentIndex, setCurrentIndex] = useState(0);\n const [transitionDuration, setTransitionDuration] = useState(duration);\n\n useEffect(() => {\n if (content.length <= 1) return; // 内容少于等于一项无需轮播\n\n if (internalRef.current) clearInterval(internalRef.current);\n\n internalRef.current = setInterval(() => {\n setCurrentIndex(prevIndex => {\n const nextIndex = prevIndex + 1;\n // 正常轮播到下一项,如果下一项是副本,会在下面的 useEffect 中处理瞬移\n return nextIndex;\n });\n }, internal);\n\n return () => {\n internalRef.current && clearInterval(internalRef.current);\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, [content.length, internal]); // 依赖 content.length 和 internal\n\n // 处理到达副本项后的瞬移\n useEffect(() => {\n if (content.length <= 1) return; // 内容少于等于一项无需轮播\n\n if (currentIndex === content.length - 1 && transitionDuration !== 0) {\n // 当准备轮播到最后一个(副本前一个)时,设置一个延时,在动画即将完成时瞬间跳跃\n timeoutRef.current = setTimeout(() => {\n setTransitionDuration(0); // 关闭动画\n setCurrentIndex(0); // 瞬移到第一个\n }, duration); // 延时等于动画时长,等待动画完成再跳\n } else if (currentIndex === 0 && transitionDuration === 0) {\n // 当已经瞬移回第一个后,在一个极短的延迟后恢复动画时长\n timeoutRef.current = setTimeout(() => {\n setTransitionDuration(duration); // 恢复动画\n }, 50); // 极短延迟,确保样式已应用\n }\n\n return () => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, [currentIndex, content.length, duration, transitionDuration]);\n\n const cls = classNames(\"xh-notice\", className);\n\n return (\n <View className={cls}>\n {typeof icon === \"boolean\" && icon ? (\n <Icon icon=\"notice\" color=\"#7384F6\" size={32} />\n ) : (\n icon\n )}\n <div\n className=\"xh-notice-main\"\n style={{\n transform: `translateY(${pxTransform(-currentIndex * itemHeight)})`, // 使用 itemHeight\n transitionDuration: `${transitionDuration}ms`,\n transitionTimingFunction: \"ease-in-out\", // 可以根据需要调整缓动函数\n }}\n >\n {content.map((item, index) => (\n // key 使用 index 在这里是安全的,因为我们只是通过 index 来计算 transform\n // 即使内容相同,每个 View 元素在逻辑上是不同的轮播项(包括副本)\n <View className=\"xh-notice-main-marquee\" key={index}>\n {item}\n </View>\n ))}\n </div>\n </View>\n );\n};\n\nexport default Notice;\n"],"names":["Notice","props","originalContent","_a","internal","_b","duration","_c","icon","_d","itemHeight","className","content","useMemo","length","__spreadArray","__read","internalRef","useRef","timeoutRef","_e","useState","currentIndex","setCurrentIndex","_f","transitionDuration","setTransitionDuration","useEffect","current","clearInterval","setInterval","prevIndex","clearTimeout","setTimeout","cls","classNames","React","createElement","View","Icon","color","size","style","transform","pxTransform","concat","transitionTimingFunction","map","item","index","key"],"mappings":"0SAmBM,IAAAA,EAAgC,SAAAC,GAElC,IAASC,EAMPD,UALFE,EAKEF,EALaG,SAAfA,OAAQ,IAAAD,EAAG,IAAIA,EACfE,EAIEJ,EAAKK,SAJPA,OAAQ,IAAAD,EAAG,IAAGA,EACdE,EAGEN,OAHFO,cAAYD,EACZE,EAEER,aAFFS,aAAa,GAAED,EACfE,EACEV,EAAKU,UAGHC,EAAUC,GAAQ,WACtB,OAAOX,EAAgBY,OAAS,EAC7BC,EAAAA,EAAA,GAAAC,EAAKd,IAAe,GAAA,CAAEA,EAAgB,KACvC,GAAE,EACN,GAAG,CAACA,IAEEe,EAAcC,EAAY,MAC1BC,EAAaD,EAAY,MACzBE,EAAAJ,EAAkCK,EAAS,GAAE,GAA5CC,EAAYF,EAAA,GAAEG,OACfC,EAAAR,EAA8CK,EAASf,GAAS,GAA/DmB,EAAkBD,EAAA,GAAEE,OAE3BC,GAAU,WACR,KAAIf,EAAQE,QAAU,GAYtB,OAVIG,EAAYW,SAASC,cAAcZ,EAAYW,SAEnDX,EAAYW,QAAUE,aAAY,WAChCP,GAAgB,SAAAQ,GAGd,OAFkBA,EAAY,CAGhC,GACD,GAAE3B,GAEI,WACLa,EAAYW,SAAWC,cAAcZ,EAAYW,SACjDT,EAAWS,SAAWI,aAAab,EAAWS,QAChD,CACD,GAAE,CAAChB,EAAQE,OAAQV,IAGpBuB,GAAU,WACR,KAAIf,EAAQE,QAAU,GAetB,OAbIQ,IAAiBV,EAAQE,OAAS,GAA4B,IAAvBW,EAEzCN,EAAWS,QAAUK,YAAW,WAC9BP,EAAsB,GACtBH,EAAgB,EACjB,GAAEjB,GACuB,IAAjBgB,GAA6C,IAAvBG,IAE/BN,EAAWS,QAAUK,YAAW,WAC9BP,EAAsBpB,EACvB,GAAE,KAGE,WACLa,EAAWS,SAAWI,aAAab,EAAWS,QAChD,CACF,GAAG,CAACN,EAAcV,EAAQE,OAAQR,EAAUmB,IAE5C,IAAMS,EAAMC,EAAW,YAAaxB,GAEpC,OACEyB,EAACC,cAAAC,EAAK,CAAA3B,UAAWuB,GACE,kBAAT1B,GAAsBA,EAC5B4B,EAAAC,cAACE,EAAI,CAAC/B,KAAK,SAASgC,MAAM,UAAUC,KAAM,KAAM,EAIlDL,EAAAC,cAAA,MAAA,CACE1B,UAAU,iBACV+B,MAAO,CACLC,UAAW,qBAAcC,GAAatB,EAAeZ,GAAc,KACnEe,mBAAoB,GAAGoB,OAAApB,EAAsB,MAC7CqB,yBAA0B,gBAG3BlC,EAAQmC,KAAI,SAACC,EAAMC,GAAU,OAG5Bb,EAAAC,cAACC,EAAK,CAAA3B,UAAU,yBAAyBuC,IAAKD,GAC3CD,EAEJ,KAIT"}
@@ -1,2 +1,2 @@
1
- import{__rest as e,__read as n,__assign as a,__spreadArray as l}from"../../node_modules/tslib/tslib.es6.js";import r,{useMemo as t,useState as d}from"react";import o from"classnames";import i from"../index.js";var c=function(c){var s=c.option,u=c.onChange,m=c.name,h=c.padding,f=c.border,p=c.radioStyle,k=c.defaultChecked,v=c.inline,b=c.style,g=c.checkedClass,y=void 0===g?"":g,C=e(c,["option","onChange","name","padding","border","radioStyle","defaultChecked","inline","style","checkedClass"]),x=t((function(){return null==s?void 0:s.map((function(e){return"string"==typeof e?{label:e,value:e,checked:k===e}:(k===e.value&&(e.checked=!0),e)}))}),[s,k]),j=n(d(x),2),E=j[0],N=j[1],S=o("xh-radio-group",{padding:h},{border:f},{inline:v});return r.createElement("div",{className:S,style:b},E.map((function(e,t){var d;return r.createElement(i,a({label:e.label,value:e.value,disabled:e.disabled,name:m,key:t,className:o("xh-radio-group-list",(d={},d[y]=e.checked,d)),circle:!0,onChange:function(){return function(e){for(var a=l([],n(E),!1),r="",t=0;t<a.length;t++)t===e?(a[t].checked=!0,r=a[t].value):a[t].checked=!1;N(a),null==u||u(r)}(t)},checked:e.checked,style:p},C))})))};export{c as default};
1
+ import{__rest as e,__read as n,__assign as a,__spreadArray as l}from"../../node_modules/tslib/tslib.es6.js";import r,{useMemo as t,useState as o,useEffect as d}from"react";import i from"classnames";import c from"../index.js";var s=function(s){var u=s.option,m=s.onChange,h=s.name,f=s.padding,p=s.border,v=s.radioStyle,k=s.defaultChecked,b=s.inline,g=s.style,y=s.checkedClass,C=void 0===y?"":y,x=e(s,["option","onChange","name","padding","border","radioStyle","defaultChecked","inline","style","checkedClass"]),j=t((function(){return null==u?void 0:u.map((function(e){return"string"==typeof e?{label:e,value:e,checked:k===e}:(k===e.value&&(e.checked=!0),e)}))}),[u,k]),E=n(o(j),2),N=E[0],S=E[1];d((function(){S(j)}),[j]);var _=i("xh-radio-group",{padding:f},{border:p},{inline:b});return r.createElement("div",{className:_,style:g},N.map((function(e,t){var o;return r.createElement(c,a({label:e.label,value:e.value,disabled:e.disabled,name:h,key:t,className:i("xh-radio-group-list",(o={},o[C]=e.checked,o)),circle:!0,onChange:function(){return function(e){for(var a=l([],n(N),!1),r="",t=0;t<a.length;t++)t===e?(a[t].checked=!0,r=a[t].value):a[t].checked=!1;S(a),null==m||m(r)}(t)},checked:e.checked,style:v},x))})))};export{s as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Radio/Group/index.tsx"],"sourcesContent":["import React, { useMemo, useState, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport Radio from \"..\";\n\nexport type RadioItemType = {\n label: string | ReactNode;\n value: string;\n disabled?: boolean;\n checked?: boolean;\n};\nexport type RadioItem = RadioItemType | string;\nexport type RadioGroupProps = {\n option: RadioItem[];\n onChange?: (value: string | number) => void;\n name: string;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n id?: string;\n padding?: true;\n border?: boolean;\n style?: React.CSSProperties;\n radioStyle?: React.CSSProperties;\n defaultChecked?: string | number;\n color?: string;\n inline?: boolean;\n fancy?: boolean;\n checkedClass?: string;\n};\n\nconst RadioGroup: React.FC<RadioGroupProps> = props => {\n const {\n option,\n onChange,\n name,\n padding,\n border,\n radioStyle,\n defaultChecked,\n inline,\n style,\n checkedClass = \"\",\n ...rest\n } = props;\n\n let getOpions = useMemo(() => {\n return option?.map(item => {\n if (typeof item === \"string\") {\n return {\n label: item,\n value: item,\n checked: defaultChecked === item,\n };\n } else {\n if (defaultChecked === item.value) {\n item.checked = true;\n }\n return item;\n }\n });\n }, [option, defaultChecked]);\n\n const [innerOptions, setInnerOptions] = useState(getOpions);\n\n const handleChange = idx => {\n let newoption = [...innerOptions];\n let newValue = \"\";\n for (let index = 0; index < newoption.length; index++) {\n if (index === idx) {\n newoption[index].checked = true;\n newValue = newoption[index].value;\n } else {\n newoption[index].checked = false;\n }\n }\n setInnerOptions(newoption);\n onChange?.(newValue);\n };\n\n const cls = classNames(\"xh-radio-group\", { padding }, { border }, { inline });\n\n return (\n <div className={cls} style={style}>\n {innerOptions.map((item, index) => {\n return (\n <Radio\n label={item.label}\n value={item.value}\n disabled={item.disabled}\n name={name}\n key={index}\n className={classNames(\"xh-radio-group-list\", {\n [checkedClass]: item.checked,\n })}\n circle\n onChange={() => handleChange(index)}\n checked={item.checked}\n style={radioStyle}\n {...rest}\n />\n );\n })}\n </div>\n );\n};\n\nexport default RadioGroup;\n"],"names":["RadioGroup","props","option","onChange","name","padding","border","radioStyle","defaultChecked","inline","style","_a","checkedClass","rest","__rest","getOpions","useMemo","map","item","label","value","checked","_b","__read","useState","innerOptions","setInnerOptions","cls","classNames","React","createElement","className","index","Radio","__assign","disabled","key","circle","idx","newoption","__spreadArray","newValue","length","handleChange"],"mappings":"kNA+BM,IAAAA,EAAwC,SAAAC,GAE1C,IAAAC,EAWED,EAAKC,OAVPC,EAUEF,EAVME,SACRC,EASEH,EAAKG,KARPC,EAQEJ,EARKI,QACPC,EAOEL,EAAKK,OANPC,EAMEN,EANQM,WACVC,EAKEP,EAAKO,eAJPC,EAIER,EAJIQ,OACNC,EAGET,EAAKS,MAFPC,EAEEV,EAAKW,aAFPA,OAAe,IAAAD,EAAA,GAAEA,EACdE,EAAIC,EACLb,EAZE,CAYL,SAAA,WAAA,OAAA,UAAA,SAAA,aAAA,iBAAA,SAAA,QAAA,iBAEGc,EAAYC,GAAQ,WACtB,OAAOd,aAAM,EAANA,EAAQe,KAAI,SAAAC,GACjB,MAAoB,iBAATA,EACF,CACLC,MAAOD,EACPE,MAAOF,EACPG,QAASb,IAAmBU,IAG1BV,IAAmBU,EAAKE,QAC1BF,EAAKG,SAAU,GAEVH,EAEX,GACF,GAAG,CAAChB,EAAQM,IAENc,EAAAC,EAAkCC,EAAST,GAAU,GAApDU,EAAYH,EAAA,GAAEI,OAiBfC,EAAMC,EAAW,iBAAkB,CAAEvB,QAAOA,GAAI,CAAEC,UAAU,CAAEG,OAAMA,IAE1E,OACEoB,EAAKC,cAAA,MAAA,CAAAC,UAAWJ,EAAKjB,MAAOA,GACzBe,EAAaR,KAAI,SAACC,EAAMc,SACvB,OACEH,EAAAC,cAACG,EAAKC,EAAA,CACJf,MAAOD,EAAKC,MACZC,MAAOF,EAAKE,MACZe,SAAUjB,EAAKiB,SACf/B,KAAMA,EACNgC,IAAKJ,EACLD,UAAWH,EAAW,uBAAqBjB,EAAA,CAAA,EACzCA,EAACC,GAAeM,EAAKG,YAEvBgB,QACA,EAAAlC,SAAU,WAAM,OA/BL,SAAAmC,GAGnB,IAFA,IAAIC,EAASC,EAAA,GAAAjB,EAAOE,IAAY,GAC5BgB,EAAW,GACNT,EAAQ,EAAGA,EAAQO,EAAUG,OAAQV,IACxCA,IAAUM,GACZC,EAAUP,GAAOX,SAAU,EAC3BoB,EAAWF,EAAUP,GAAOZ,OAE5BmB,EAAUP,GAAOX,SAAU,EAG/BK,EAAgBa,GAChBpC,SAAAA,EAAWsC,EACb,CAkB0BE,CAAaX,EAAM,EACnCX,QAASH,EAAKG,QACdX,MAAOH,GACHM,GAGT,IAGP"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Radio/Group/index.tsx"],"sourcesContent":["import React, { useMemo, useState, ReactNode, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport Radio from \"..\";\n\nexport type RadioItemType = {\n label: string | ReactNode;\n value: string;\n disabled?: boolean;\n checked?: boolean;\n};\nexport type RadioItem = RadioItemType | string;\nexport type RadioGroupProps = {\n option: RadioItem[];\n onChange?: (value: string | number) => void;\n name: string;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n id?: string;\n padding?: true;\n border?: boolean;\n style?: React.CSSProperties;\n radioStyle?: React.CSSProperties;\n defaultChecked?: string | number;\n color?: string;\n inline?: boolean;\n fancy?: boolean;\n checkedClass?: string;\n};\n\nconst RadioGroup: React.FC<RadioGroupProps> = props => {\n const {\n option,\n onChange,\n name,\n padding,\n border,\n radioStyle,\n defaultChecked,\n inline,\n style,\n checkedClass = \"\",\n ...rest\n } = props;\n\n let getOpions = useMemo(() => {\n return option?.map(item => {\n if (typeof item === \"string\") {\n return {\n label: item,\n value: item,\n checked: defaultChecked === item,\n };\n } else {\n if (defaultChecked === item.value) {\n item.checked = true;\n }\n return item;\n }\n });\n }, [option, defaultChecked]);\n\n const [innerOptions, setInnerOptions] = useState(getOpions);\n\n useEffect(() => {\n setInnerOptions(getOpions);\n }, [getOpions]);\n\n const handleChange = idx => {\n let newoption = [...innerOptions];\n let newValue = \"\";\n for (let index = 0; index < newoption.length; index++) {\n if (index === idx) {\n newoption[index].checked = true;\n newValue = newoption[index].value;\n } else {\n newoption[index].checked = false;\n }\n }\n setInnerOptions(newoption);\n onChange?.(newValue);\n };\n\n const cls = classNames(\"xh-radio-group\", { padding }, { border }, { inline });\n\n return (\n <div className={cls} style={style}>\n {innerOptions.map((item, index) => {\n return (\n <Radio\n label={item.label}\n value={item.value}\n disabled={item.disabled}\n name={name}\n key={index}\n className={classNames(\"xh-radio-group-list\", {\n [checkedClass]: item.checked,\n })}\n circle\n onChange={() => handleChange(index)}\n checked={item.checked}\n style={radioStyle}\n {...rest}\n />\n );\n })}\n </div>\n );\n};\n\nexport default RadioGroup;\n"],"names":["RadioGroup","props","option","onChange","name","padding","border","radioStyle","defaultChecked","inline","style","_a","checkedClass","rest","__rest","getOpions","useMemo","map","item","label","value","checked","_b","__read","useState","innerOptions","setInnerOptions","useEffect","cls","classNames","React","createElement","className","index","Radio","__assign","disabled","key","circle","idx","newoption","__spreadArray","newValue","length","handleChange"],"mappings":"iOA+BM,IAAAA,EAAwC,SAAAC,GAE1C,IAAAC,EAWED,EAAKC,OAVPC,EAUEF,EAVME,SACRC,EASEH,EAAKG,KARPC,EAQEJ,EARKI,QACPC,EAOEL,EAAKK,OANPC,EAMEN,EANQM,WACVC,EAKEP,EAAKO,eAJPC,EAIER,EAJIQ,OACNC,EAGET,EAAKS,MAFPC,EAEEV,EAAKW,aAFPA,OAAe,IAAAD,EAAA,GAAEA,EACdE,EAAIC,EACLb,EAZE,CAYL,SAAA,WAAA,OAAA,UAAA,SAAA,aAAA,iBAAA,SAAA,QAAA,iBAEGc,EAAYC,GAAQ,WACtB,OAAOd,aAAM,EAANA,EAAQe,KAAI,SAAAC,GACjB,MAAoB,iBAATA,EACF,CACLC,MAAOD,EACPE,MAAOF,EACPG,QAASb,IAAmBU,IAG1BV,IAAmBU,EAAKE,QAC1BF,EAAKG,SAAU,GAEVH,EAEX,GACF,GAAG,CAAChB,EAAQM,IAENc,EAAAC,EAAkCC,EAAST,GAAU,GAApDU,EAAYH,EAAA,GAAEI,OAErBC,GAAU,WACRD,EAAgBX,EAClB,GAAG,CAACA,IAEJ,IAeMa,EAAMC,EAAW,iBAAkB,CAAExB,QAAOA,GAAI,CAAEC,UAAU,CAAEG,OAAMA,IAE1E,OACEqB,EAAKC,cAAA,MAAA,CAAAC,UAAWJ,EAAKlB,MAAOA,GACzBe,EAAaR,KAAI,SAACC,EAAMe,SACvB,OACEH,EAAAC,cAACG,EAAKC,EAAA,CACJhB,MAAOD,EAAKC,MACZC,MAAOF,EAAKE,MACZgB,SAAUlB,EAAKkB,SACfhC,KAAMA,EACNiC,IAAKJ,EACLD,UAAWH,EAAW,uBAAqBlB,EAAA,CAAA,EACzCA,EAACC,GAAeM,EAAKG,YAEvBiB,QACA,EAAAnC,SAAU,WAAM,OA/BL,SAAAoC,GAGnB,IAFA,IAAIC,EAASC,EAAA,GAAAlB,EAAOE,IAAY,GAC5BiB,EAAW,GACNT,EAAQ,EAAGA,EAAQO,EAAUG,OAAQV,IACxCA,IAAUM,GACZC,EAAUP,GAAOZ,SAAU,EAC3BqB,EAAWF,EAAUP,GAAOb,OAE5BoB,EAAUP,GAAOZ,SAAU,EAG/BK,EAAgBc,GAChBrC,SAAAA,EAAWuC,EACb,CAkB0BE,CAAaX,EAAM,EACnCZ,QAASH,EAAKG,QACdX,MAAOH,GACHM,GAGT,IAGP"}
@@ -1,2 +1,2 @@
1
- import e from"react";import a from"classnames";import{View as t,RadioGroup as r,Label as l,Radio as s}from"@tarojs/components";import i from"../src/hooks/useGenerateId.js";import{pxTransform as o}from"../src/utils/index.js";import n from"./Group/index.js";var c=function(n){var c=n.className,d=n.name,m=n.label,h=n.id,p=n.circle,u=void 0===p||p,f=n.onChange,v=n.align,E=n.direction,N=n.justify,x=n.checked,y=n.disabled,g=n.value,b=n.style,k=n.size,R=void 0===k?0:k,j=n.color,A=void 0===j?"#f6ab00":j,C=n.fancy,G=void 0!==C&&C,O=i(h,"xh-radio-id"),T=function(e){var a=x||!1,t="";"h5"===process.env.TARO_ENV?(a=e.target.checked,t=e.target.value):(a=e.detail.value.length>0,t=e.detail.value),null==f||f(a,t)},V=a("xh-radio",c,v,E,N);return"h5"!==process.env.TARO_ENV?e.createElement(t,null,e.createElement(r,{onChange:T},e.createElement(l,{for:O,className:V,style:b},e.createElement(s,{id:O,className:a("xh-radio-input",{tt:"tt"===process.env.TARO_ENV}),disabled:y,checked:x,color:A}),e.createElement("span",{style:R>0?{width:o(R),height:o(R)}:{},className:a("xh-radio-input-fake",u&&"circle",{tt:"tt"===process.env.TARO_ENV,fancy:G})}),e.createElement("span",{className:"xh-radio-label"},m)))):e.createElement("label",{htmlFor:O,className:V,style:b},e.createElement("input",{type:"radio",id:O,name:d,className:"xh-radio-input",onChange:T,value:g,disabled:y,defaultChecked:x}),e.createElement("span",{style:R>0?{width:o(R),height:o(R)}:{},className:a("xh-radio-input-fake",{circle:u,fancy:G})}),e.createElement("span",{className:"xh-radio-label"},m))};c.Group=n;export{c as default};
1
+ import e from"react";import a from"classnames";import{RadioGroup as t}from"@tarojs/components";import l from"../src/hooks/useGenerateId.js";import{pxTransform as r}from"../src/utils/index.js";import s from"./Group/index.js";var i=function(s){var i=s.className,o=s.name,n=s.label,c=s.id,d=s.circle,m=void 0===d||d,h=s.onChange,p=s.align,u=s.direction,f=s.justify,v=s.checked,E=s.disabled,N=s.value,x=s.style,y=s.size,b=void 0===y?0:y,g=s.color,k=void 0===g?"#f6ab00":g,j=s.fancy,R=void 0!==j&&j,A=l(c,"xh-radio-id"),C=function(e){var a=v||!1,t="";"h5"===process.env.TARO_ENV?(a=e.target.checked,t=e.target.value):(a=e.detail.value.length>0,t=e.detail.value),null==h||h(a,t)},G=a("xh-radio",i,p,u,f);return"h5"!==process.env.TARO_ENV?e.createElement(t,{onChange:C},e.createElement("label",{htmlFor:A,className:G,style:x},e.createElement("input",{type:"radio",id:A,name:o,className:a("xh-radio-input",{tt:"tt"===process.env.TARO_ENV}),disabled:E,value:N,checked:v,color:k}),e.createElement("span",{style:b>0?{width:r(b),height:r(b)}:{},className:a("xh-radio-input-fake",m&&"circle",{tt:"tt"===process.env.TARO_ENV,fancy:R})}),e.createElement("span",{className:"xh-radio-label"},n))):e.createElement("label",{htmlFor:A,className:G,style:x},e.createElement("input",{type:"radio",id:A,name:o,className:"xh-radio-input",onChange:C,value:N,disabled:E,defaultChecked:v}),e.createElement("span",{style:b>0?{width:r(b),height:r(b)}:{},className:a("xh-radio-input-fake",{circle:m,fancy:R})}),e.createElement("span",{className:"xh-radio-label"},n))};i.Group=s;export{i as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Radio/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport {\n RadioGroup,\n Radio as NativeRadio,\n Label,\n View,\n} from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport { pxTransform } from \"@/utils\";\n\nimport Group from \"./Group\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHRadioProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHRadioProps = {\n onChange?: (check: boolean, value: string | number) => 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 fancy?: boolean;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHRadio: FC<XHRadioProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle = true,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n size = 0,\n color = \"#f6ab00\",\n fancy = false,\n } = props;\n\n const finalId = useGenerateId(id, \"xh-radio-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n\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;\n }\n onChange?.(finalchecked, value);\n };\n\n const cls = classNames(\"xh-radio\", className, align, direction, justify);\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <View>\n <RadioGroup onChange={handleOnchange}>\n <Label for={finalId} className={cls} style={style}>\n <NativeRadio\n id={finalId}\n className={classNames(\"xh-radio-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n disabled={disabled}\n checked={checked}\n color={color}\n />\n <span\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n className={classNames(\"xh-radio-input-fake\", circle && \"circle\", {\n tt: process.env.TARO_ENV === \"tt\",\n fancy,\n })}\n ></span>\n <span className=\"xh-radio-label\">{label}</span>\n </Label>\n </RadioGroup>\n </View>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"radio\"\n id={finalId}\n name={name}\n className=\"xh-radio-input\"\n onChange={handleOnchange}\n value={value}\n disabled={disabled}\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-radio-input-fake\", { circle, fancy })}\n ></span>\n <span className=\"xh-radio-label\">{label}</span>\n </label>\n );\n};\n\nconst Radio = XHRadio as CompoundedComponent;\nRadio.Group = Group;\n\nexport default Radio;\n"],"names":["Radio","props","className","name","label","id","_a","circle","onChange","align","direction","justify","checked","disabled","value","style","_b","size","_c","color","_d","fancy","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","React","View","createElement","RadioGroup","Label","for","NativeRadio","tt","width","pxTransform","height","htmlFor","type","defaultChecked","Group"],"mappings":"gQA4CA,IAoGMA,EApG4B,SAAAC,GAE9B,IAAAC,EAgBED,EAAKC,UAfPC,EAeEF,EAfEE,KACJC,EAcEH,QAbFI,EAaEJ,EAAKI,GAZPC,EAYEL,SAZFM,cAAaD,EACbE,EAWEP,EAXMO,SACRC,EAUER,QATFS,EASET,EAAKS,UARPC,EAQEV,UAPFW,EAOEX,EAAKW,QANPC,EAMEZ,EANMY,SACRC,EAKEb,QAJFc,EAIEd,EAAKc,MAHPC,EAGEf,EAAKgB,KAHPA,OAAI,IAAAD,EAAG,EAACA,EACRE,EAEEjB,EAAKkB,MAFPA,OAAK,IAAAD,EAAG,UAASA,EACjBE,EACEnB,EAAKoB,MADPA,OAAK,IAAAD,GAAQA,EAGTE,EAAUC,EAAclB,EAAI,eAE5BmB,EAAiB,SAAAC,GACrB,IAAIC,EAAed,IAAW,EAC1BE,EAAQ,GAEiB,OAAzBa,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOlB,QACxBE,EAAQW,EAAEK,OAAOhB,QAEjBY,EAAeD,EAAEM,OAAOjB,MAAMkB,OAAS,EACvClB,EAAQW,EAAEM,OAAOjB,OAEnBN,SAAAA,EAAWkB,EAAcZ,EAC3B,EAEMmB,EAAMC,EAAW,WAAYhC,EAAWO,EAAOC,EAAWC,GAChE,MAA6B,OAAzBgB,QAAQC,IAAIC,SAEZM,gBAACC,EAAI,KACHD,EAAAE,cAACC,EAAU,CAAC9B,SAAUgB,GACpBW,EAAAE,cAACE,EAAK,CAACC,IAAKlB,EAASpB,UAAW+B,EAAKlB,MAAOA,GAC1CoB,EAACE,cAAAI,EACC,CAAApC,GAAIiB,EACJpB,UAAWgC,EAAW,iBAAkB,CACtCQ,GAA6B,OAAzBf,QAAQC,IAAIC,WAElBhB,SAAUA,EACVD,QAASA,EACTO,MAAOA,IAETgB,EAAAE,cAAA,OAAA,CACEtB,MACEE,EAAO,EACH,CACE0B,MAAOC,EAAY3B,GACnB4B,OAAQD,EAAY3B,IAEtB,CAAA,EAENf,UAAWgC,EAAW,sBAAuB3B,GAAU,SAAU,CAC/DmC,GAA6B,OAAzBf,QAAQC,IAAIC,SAChBR,MAAKA,MAGTc,EAAME,cAAA,OAAA,CAAAnC,UAAU,kBAAkBE,MAQ1C+B,EAAAE,cAAA,QAAA,CAAOS,QAASxB,EAASpB,UAAW+B,EAAKlB,MAAOA,GAC9CoB,EAAAE,cAAA,QAAA,CACEU,KAAK,QACL1C,GAAIiB,EACJnB,KAAMA,EACND,UAAU,iBACVM,SAAUgB,EACVV,MAAOA,EACPD,SAAUA,EACVmC,eAAgBpC,IAElBuB,EAAAE,cAAA,OAAA,CACEtB,MACEE,EAAO,EACH,CACE0B,MAAOC,EAAY3B,GACnB4B,OAAQD,EAAY3B,IAEtB,GAENf,UAAWgC,EAAW,sBAAuB,CAAE3B,OAAMA,EAAEc,MAAKA,MAE9Dc,EAAME,cAAA,OAAA,CAAAnC,UAAU,kBAAkBE,GAGxC,EAGAJ,EAAMiD,MAAQA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Radio/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { RadioGroup } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport { pxTransform } from \"@/utils\";\n\nimport Group from \"./Group\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHRadioProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHRadioProps = {\n onChange?: (check: boolean, value: string | number) => 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 fancy?: boolean;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHRadio: FC<XHRadioProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle = true,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n size = 0,\n color = \"#f6ab00\",\n fancy = false,\n } = props;\n\n const finalId = useGenerateId(id, \"xh-radio-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n\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;\n }\n onChange?.(finalchecked, value);\n };\n\n const cls = classNames(\"xh-radio\", className, align, direction, justify);\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <RadioGroup onChange={handleOnchange}>\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"radio\"\n id={finalId}\n name={name}\n className={classNames(\"xh-radio-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n className={classNames(\"xh-radio-input-fake\", circle && \"circle\", {\n tt: process.env.TARO_ENV === \"tt\",\n fancy,\n })}\n ></span>\n <span className=\"xh-radio-label\">{label}</span>\n </label>\n </RadioGroup>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"radio\"\n id={finalId}\n name={name}\n className=\"xh-radio-input\"\n onChange={handleOnchange}\n value={value}\n disabled={disabled}\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-radio-input-fake\", { circle, fancy })}\n ></span>\n <span className=\"xh-radio-label\">{label}</span>\n </label>\n );\n};\n\nconst Radio = XHRadio as CompoundedComponent;\nRadio.Group = Group;\n\nexport default Radio;\n"],"names":["Radio","props","className","name","label","id","_a","circle","onChange","align","direction","justify","checked","disabled","value","style","_b","size","_c","color","_d","fancy","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","React","createElement","RadioGroup","htmlFor","type","tt","width","pxTransform","height","defaultChecked","Group"],"mappings":"gOAuCA,IAqGMA,EArG4B,SAAAC,GAE9B,IAAAC,EAgBED,EAAKC,UAfPC,EAeEF,EAfEE,KACJC,EAcEH,QAbFI,EAaEJ,EAAKI,GAZPC,EAYEL,SAZFM,cAAaD,EACbE,EAWEP,EAXMO,SACRC,EAUER,QATFS,EASET,EAAKS,UARPC,EAQEV,UAPFW,EAOEX,EAAKW,QANPC,EAMEZ,EANMY,SACRC,EAKEb,QAJFc,EAIEd,EAAKc,MAHPC,EAGEf,EAAKgB,KAHPA,OAAI,IAAAD,EAAG,EAACA,EACRE,EAEEjB,EAAKkB,MAFPA,OAAK,IAAAD,EAAG,UAASA,EACjBE,EACEnB,EAAKoB,MADPA,OAAK,IAAAD,GAAQA,EAGTE,EAAUC,EAAclB,EAAI,eAE5BmB,EAAiB,SAAAC,GACrB,IAAIC,EAAed,IAAW,EAC1BE,EAAQ,GAEiB,OAAzBa,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOlB,QACxBE,EAAQW,EAAEK,OAAOhB,QAEjBY,EAAeD,EAAEM,OAAOjB,MAAMkB,OAAS,EACvClB,EAAQW,EAAEM,OAAOjB,OAEnBN,SAAAA,EAAWkB,EAAcZ,EAC3B,EAEMmB,EAAMC,EAAW,WAAYhC,EAAWO,EAAOC,EAAWC,GAChE,MAA6B,OAAzBgB,QAAQC,IAAIC,SAEZM,EAACC,cAAAC,EAAW,CAAA7B,SAAUgB,GACpBW,EAAOC,cAAA,QAAA,CAAAE,QAAShB,EAASpB,UAAW+B,EAAKlB,MAAOA,GAC9CoB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACLlC,GAAIiB,EACJnB,KAAMA,EACND,UAAWgC,EAAW,iBAAkB,CACtCM,GAA6B,OAAzBb,QAAQC,IAAIC,WAElBhB,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTO,MAAOA,IAETgB,EAAAC,cAAA,OAAA,CACErB,MACEE,EAAO,EACH,CACEwB,MAAOC,EAAYzB,GACnB0B,OAAQD,EAAYzB,IAEtB,CAAA,EAENf,UAAWgC,EAAW,sBAAuB3B,GAAU,SAAU,CAC/DiC,GAA6B,OAAzBb,QAAQC,IAAIC,SAChBR,MAAKA,MAGTc,EAAMC,cAAA,OAAA,CAAAlC,UAAU,kBAAkBE,KAOxC+B,EAAAC,cAAA,QAAA,CAAOE,QAAShB,EAASpB,UAAW+B,EAAKlB,MAAOA,GAC9CoB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACLlC,GAAIiB,EACJnB,KAAMA,EACND,UAAU,iBACVM,SAAUgB,EACVV,MAAOA,EACPD,SAAUA,EACV+B,eAAgBhC,IAElBuB,EAAAC,cAAA,OAAA,CACErB,MACEE,EAAO,EACH,CACEwB,MAAOC,EAAYzB,GACnB0B,OAAQD,EAAYzB,IAEtB,GAENf,UAAWgC,EAAW,sBAAuB,CAAE3B,OAAMA,EAAEc,MAAKA,MAE9Dc,EAAMC,cAAA,OAAA,CAAAlC,UAAU,kBAAkBE,GAGxC,EAGAJ,EAAM6C,MAAQA"}
@@ -1,2 +1,2 @@
1
- export{default as XHButton}from"../Button/index.js";export{default as XHPage}from"../Page/index.js";export{default as XHLoading}from"../Loading/index.js";export{default as XHBankIcon}from"../BankIcon/index.js";export{default as XHCaptcha}from"../Captcha/index.js";export{default as XHFormInput}from"../FormInput/index.js";export{default as XHList}from"../List/index.js";export{default as XHMask}from"../Mask/index.js";export{default as XHImage}from"../Image/index.js";export{default as XHDialog}from"../Dialog/index.js";export{default as XHNumberKeyboard}from"../NumberKeyboard/index.js";export{default as XHPasswordInput}from"../PasswordInput/index.js";export{default as XHProgress}from"../Progress/index.js";export{default as XHToast}from"../Toast/index.js";export{default as XHDialogRef}from"../DialogRef/index.js";export{default as XHTabbar}from"../Tabbar/index.js";export{default as XHPopup}from"../Popup/index.js";export{default as XHPicker}from"../Picker/index.js";export{default as XHSpace}from"../Space/index.js";export{default as ThemeProvider}from"../ThemeProvider/index.js";export{default as XHCheckbox}from"../Checkbox/index.js";export{default as XHRadio}from"../Radio/index.js";export{default as XHStep}from"../Step/index.js";export{default as XHBadge}from"../Badge/index.js";export{default as XHAmountInput}from"../AmountInput/index.js";export{default as XHAmountKeyboard}from"../AmountKeyboard/index.js";export{default as XHCollapse}from"../Collapse/index.js";export{default as XHNavBar}from"../NavBar/index.js";export{default as XHIcon}from"../Icon/index.js";export{default as XHActionSheet}from"../ActionSheet/index.js";export{default as XHRank}from"../Rank/index.js";export{default as XHCell}from"../Cell/index.js";export{default as XHActivityIndicator}from"../ActivityIndicator/index.js";export{default as XHSwitch}from"../Switch/index.js";export{default as XHLinkMan}from"../LinkMan/index.js";export{default as XHResult}from"../Result/index.js";export{default as XHProgressCircle}from"../ProgressCircle/index.js";export{default as XHLicensePlateInput}from"../LicensePlateInput/index.js";export{default as XHCountdown}from"../Countdown/index.js";export{default as XHCheckboxButton}from"../CheckboxButton/index.js";export{default as XHBankCardNumberInput}from"../BankCardNumberInput/index.js";export{default as XHIDNumberInput}from"../IDNumberInput/index.js";export{default as XHEcharts}from"../Echarts/index.js";
1
+ export{default as XHButton}from"../Button/index.js";export{default as XHPage}from"../Page/index.js";export{default as XHLoading}from"../Loading/index.js";export{default as XHBankIcon}from"../BankIcon/index.js";export{default as XHCaptcha}from"../Captcha/index.js";export{default as XHFormInput}from"../FormInput/index.js";export{default as XHList}from"../List/index.js";export{default as XHMask}from"../Mask/index.js";export{default as XHImage}from"../Image/index.js";export{default as XHDialog}from"../Dialog/index.js";export{default as XHNumberKeyboard}from"../NumberKeyboard/index.js";export{default as XHPasswordInput}from"../PasswordInput/index.js";export{default as XHProgress}from"../Progress/index.js";export{default as XHToast}from"../Toast/index.js";export{default as XHDialogRef}from"../DialogRef/index.js";export{default as XHTabbar}from"../Tabbar/index.js";export{default as XHPopup}from"../Popup/index.js";export{default as XHPicker}from"../Picker/index.js";export{default as XHSpace}from"../Space/index.js";export{default as ThemeProvider}from"../ThemeProvider/index.js";export{default as XHCheckbox}from"../Checkbox/index.js";export{default as XHRadio}from"../Radio/index.js";export{default as XHStep}from"../Step/index.js";export{default as XHBadge}from"../Badge/index.js";export{default as XHAmountInput}from"../AmountInput/index.js";export{default as XHAmountKeyboard}from"../AmountKeyboard/index.js";export{default as XHCollapse}from"../Collapse/index.js";export{default as XHNavBar}from"../NavBar/index.js";export{default as XHIcon}from"../Icon/index.js";export{default as XHActionSheet}from"../ActionSheet/index.js";export{default as XHRank}from"../Rank/index.js";export{default as XHCell}from"../Cell/index.js";export{default as XHActivityIndicator}from"../ActivityIndicator/index.js";export{default as XHSwitch}from"../Switch/index.js";export{default as XHLinkMan}from"../LinkMan/index.js";export{default as XHResult}from"../Result/index.js";export{default as XHProgressCircle}from"../ProgressCircle/index.js";export{default as XHLicensePlateInput}from"../LicensePlateInput/index.js";export{default as XHCountdown}from"../Countdown/index.js";export{default as XHCheckboxButton}from"../CheckboxButton/index.js";export{default as XHNotice}from"../Notice/index.js";export{default as XHBankCardNumberInput}from"../BankCardNumberInput/index.js";export{default as XHIDNumberInput}from"../IDNumberInput/index.js";export{default as XHEcharts}from"../Echarts/index.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{__values as r}from"../../node_modules/tslib/tslib.es6.js";import t from"react";var e,n=function(r){return r.replace(/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi,"")};function u(r,t){if(void 0===t&&(t=750),!r)return"";return"h5"===process.env.TARO_ENV?Math.ceil(parseInt("".concat(r),10)/40*640/t*1e4)/1e4+"rem":"".concat(r/{640:1.17,750:1,828:.905}[t],"rpx")}var a=function(){if(void 0!==e)return e;var r=document.createElement("div");return r.style.display="flex",r.style.flexDirection="column",r.style.rowGap="1px",r.appendChild(document.createElement("div")),r.appendChild(document.createElement("div")),document.body.appendChild(r),e=1===r.scrollHeight,document.body.removeChild(r),e};function c(r,e){void 0===e&&(e={});var n=[];return t.Children.forEach(r,(function(r){var t;(null!=r||e.keepEmpty)&&(Array.isArray(r)?n=n.concat(c(r)):(t=r).$$typeof===Symbol.for("react.element")&&t.type===Symbol.for("react.fragment")&&r.props?n=n.concat(c(r.props.children,e)):n.push(r))})),n}var o=function(r){if(!r)return!1;for(var t=!0,e=0,n=r.length;n>0;n--){var u=+r.substring(n,n-1);(t=!t)&&(u*=2);var a=u%10;e+=a+(u-a)/10}return e%10==0};function i(r,t){var e=r.replace(/[^\d]/g,"").replace(/(\d{4})(?=\d)/g,"$1 ");return t?e.replace(/\s(\d{4})(?!\d)/g," ****"):e}function s(r){if(!r)return!1;switch(r.length){case 15:if((parseInt(r.substr(6,2))+1900)%4==0||(parseInt(r.substr(6,2))+1900)%100==0&&(parseInt(r.substr(6,2))+1900)%4==0){return!!/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/.test(r)}return!!/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/.test(r);case 18:if(/^[1-9][0-7]\d{4}((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))\d{3}(\d|X|x)?$/.test(r)){var t=7*(parseInt(r.charAt(0))+parseInt(r.charAt(10)))+9*(parseInt(r.charAt(1))+parseInt(r.charAt(11)))+10*(parseInt(r.charAt(2))+parseInt(r.charAt(12)))+5*(parseInt(r.charAt(3))+parseInt(r.charAt(13)))+8*(parseInt(r.charAt(4))+parseInt(r.charAt(14)))+4*(parseInt(r.charAt(5))+parseInt(r.charAt(15)))+2*(parseInt(r.charAt(6))+parseInt(r.charAt(16)))+1*parseInt(r.charAt(7))+6*parseInt(r.charAt(8))+3*parseInt(r.charAt(9));return"10X98765432".substr(t%11,1)===r.charAt(17).toUpperCase()}break;default:return!1}return!1}function p(r){setTimeout((function(){return setTimeout((function(){return setTimeout((function(){return r()}))}))}))}function f(r){return"string"==typeof r}function l(r){return"function"==typeof r}function h(t,e){var n,u;if(t===e)return!0;if("object"==typeof t&&null!==t&&"object"==typeof e&&null!==e){var a=Object.keys(t),c=Object.keys(e);if(a.length!==c.length)return!1;try{for(var o=r(a),i=o.next();!i.done;i=o.next()){var s=i.value;if(!h(t[s],e[s]))return!1}}catch(r){n={error:r}}finally{try{i&&!i.done&&(u=o.return)&&u.call(o)}finally{if(n)throw n.error}}return!0}return!1}function d(r,t){var e={};return t.forEach((function(t){e[t]=r[t]})),e}var v={};function A(r){void 0===r&&(r="$unique$"),v[r]||(v[r]=0);var t=++v[r];return"$unique$"===r?"".concat(t):"".concat(r).concat(t)}function m(r,t){for(var e=r.split("."),n=t.split("."),u=Math.max(e.length,n.length);e.length<u;)e.push("0");for(;n.length<u;)n.push("0");for(var a=0;a<u;a++){var c=parseInt(e[a]),o=parseInt(n[a]);if(c>o)return 1;if(c<o)return-1}return 0}var y=function(r,t,e){return r.substring(0,t)+e+r.substring(t+1)},I=function(r){return 7===r.length?/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/.test(r):8===r.length&&/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/.test(r)};export{o as checkBankCard,m as compareVersion,i as creditCard,a as detectFlexGapSupported,n as inputRange,h as isEqual,l as isFunction,I as isLicenseNo,f as isString,d as pick,u as pxTransform,y as replaceCharByIndex,c as toArray,p as tripleDefer,A as uniqueId,s as verifyIdcard};
1
+ import{__values as r}from"../../node_modules/tslib/tslib.es6.js";import t from"react";var e,n=function(r){return r.replace(/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi,"")};function u(r,t){if(void 0===t&&(t=750),!r)return"h5"===process.env.TARO_ENV?"0rem":"0rpx";return"h5"===process.env.TARO_ENV?Math.ceil(parseInt("".concat(r),10)/40*640/t*1e4)/1e4+"rem":"".concat(r/{640:1.17,750:1,828:.905}[t],"rpx")}var a=function(){if(void 0!==e)return e;var r=document.createElement("div");return r.style.display="flex",r.style.flexDirection="column",r.style.rowGap="1px",r.appendChild(document.createElement("div")),r.appendChild(document.createElement("div")),document.body.appendChild(r),e=1===r.scrollHeight,document.body.removeChild(r),e};function c(r,e){void 0===e&&(e={});var n=[];return t.Children.forEach(r,(function(r){var t;(null!=r||e.keepEmpty)&&(Array.isArray(r)?n=n.concat(c(r)):(t=r).$$typeof===Symbol.for("react.element")&&t.type===Symbol.for("react.fragment")&&r.props?n=n.concat(c(r.props.children,e)):n.push(r))})),n}var o=function(r){if(!r)return!1;for(var t=!0,e=0,n=r.length;n>0;n--){var u=+r.substring(n,n-1);(t=!t)&&(u*=2);var a=u%10;e+=a+(u-a)/10}return e%10==0};function s(r,t){var e=r.replace(/[^\d]/g,"").replace(/(\d{4})(?=\d)/g,"$1 ");return t?e.replace(/\s(\d{4})(?!\d)/g," ****"):e}function i(r){if(!r)return!1;switch(r.length){case 15:if((parseInt(r.substr(6,2))+1900)%4==0||(parseInt(r.substr(6,2))+1900)%100==0&&(parseInt(r.substr(6,2))+1900)%4==0){return!!/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/.test(r)}return!!/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/.test(r);case 18:if(/^[1-9][0-7]\d{4}((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))\d{3}(\d|X|x)?$/.test(r)){var t=7*(parseInt(r.charAt(0))+parseInt(r.charAt(10)))+9*(parseInt(r.charAt(1))+parseInt(r.charAt(11)))+10*(parseInt(r.charAt(2))+parseInt(r.charAt(12)))+5*(parseInt(r.charAt(3))+parseInt(r.charAt(13)))+8*(parseInt(r.charAt(4))+parseInt(r.charAt(14)))+4*(parseInt(r.charAt(5))+parseInt(r.charAt(15)))+2*(parseInt(r.charAt(6))+parseInt(r.charAt(16)))+1*parseInt(r.charAt(7))+6*parseInt(r.charAt(8))+3*parseInt(r.charAt(9));return"10X98765432".substr(t%11,1)===r.charAt(17).toUpperCase()}break;default:return!1}return!1}function p(r){setTimeout((function(){return setTimeout((function(){return setTimeout((function(){return r()}))}))}))}function f(r){return"string"==typeof r}function l(r){return"function"==typeof r}function h(t,e){var n,u;if(t===e)return!0;if("object"==typeof t&&null!==t&&"object"==typeof e&&null!==e){var a=Object.keys(t),c=Object.keys(e);if(a.length!==c.length)return!1;try{for(var o=r(a),s=o.next();!s.done;s=o.next()){var i=s.value;if(!h(t[i],e[i]))return!1}}catch(r){n={error:r}}finally{try{s&&!s.done&&(u=o.return)&&u.call(o)}finally{if(n)throw n.error}}return!0}return!1}function d(r,t){var e={};return t.forEach((function(t){e[t]=r[t]})),e}var v={};function A(r){void 0===r&&(r="$unique$"),v[r]||(v[r]=0);var t=++v[r];return"$unique$"===r?"".concat(t):"".concat(r).concat(t)}function m(r,t){for(var e=r.split("."),n=t.split("."),u=Math.max(e.length,n.length);e.length<u;)e.push("0");for(;n.length<u;)n.push("0");for(var a=0;a<u;a++){var c=parseInt(e[a]),o=parseInt(n[a]);if(c>o)return 1;if(c<o)return-1}return 0}var y=function(r,t,e){return r.substring(0,t)+e+r.substring(t+1)},I=function(r){return 7===r.length?/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/.test(r):8===r.length&&/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/.test(r)};export{o as checkBankCard,m as compareVersion,s as creditCard,a as detectFlexGapSupported,n as inputRange,h as isEqual,l as isFunction,I as isLicenseNo,f as isString,d as pick,u as pxTransform,y as replaceCharByIndex,c as toArray,p as tripleDefer,A as uniqueId,i as verifyIdcard};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/index.ts"],"sourcesContent":["/**\n * 禁止输入emoji表情\n * @param {string} val - 输入内容\n * @returns {boolean} - 校验结果 返回 true || false\n */\nimport React from \"react\";\n\nexport const inputRange = (val: string): string => {\n let iconRule1 =\n /[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF][\\u200D|\\uFE0F]|[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF]|[0-9|*|#]\\uFE0F\\u20E3|[0-9|#]\\u20E3|[\\u203C-\\u3299]\\uFE0F\\u200D|[\\u203C-\\u3299]\\uFE0F|[\\u2122-\\u2B55]|\\u303D|[\\A9|\\AE]\\u3030|\\uA9|\\uAE|\\u3030/gi;\n return val.replace(iconRule1, \"\");\n};\n\n// function Handler(fn) {\n// this.handler = fn;\n// this.next = null;\n// }\n\n// Handler.prototype.setNext = function setNext(h) {\n// this.next = h;\n// return h;\n// };\n\n// Handler.prototype.passRequest = function () {\n// const ret = this.handler.apply(this, arguments);\n// // 提前结束\n// if (!ret) {\n// return ret;\n// }\n\n// // 向后传递\n// if (this.next) {\n// return this.next.passRequest.apply(this.next, arguments);\n// }\n// return ret;\n// };\n\n// export class ChainHander {\n// public hander: (s: string) => boolean\n// public next\n// constructor(fn: (str: string) => boolean) {\n// this.hander = fn\n// }\n// public setNext(callback): () => boolean {\n// this.next = callback\n// return callback\n// }\n// public checkPass(...arg) {\n// const result = this.hander.apply(this, arg)\n// if (!result) {\n// return result\n// }\n\n// if (this.next != null) {\n// return this.next.checkPass.apply(this.next, arg)\n// }\n\n// return result\n// }\n// }\n\nexport const throtte = (fn: Function, delay: number = 1500) => {\n let timer: NodeJS.Timer;\n let canCall = true;\n return function (arg) {\n if (canCall) {\n canCall = false;\n fn(arg);\n }\n timer = setTimeout(() => {\n canCall = true;\n clearTimeout(timer);\n }, delay);\n };\n};\n\nexport const debounce = (fn: (...arg: any) => any, delay: number = 1500) => {\n let timer: NodeJS.Timeout | null = null;\n return function () {\n const context = this;\n const arg = arguments;\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n fn.apply(context, arg);\n }, delay);\n };\n};\n\nexport function pxTransform(size: number, designWidth = 750): string {\n if (!size) return \"\";\n const deviceRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2,\n };\n if (process.env.TARO_ENV === \"h5\")\n return (\n Math.ceil(\n (((parseInt(`${size}`, 10) / 40) * 640) / designWidth) * 10000\n ) /\n 10000 +\n \"rem\"\n );\n return `${size / deviceRatio[designWidth]}rpx`;\n}\n\nlet flexGapSupported: boolean | undefined;\nexport const detectFlexGapSupported = () => {\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n\n const flex = document.createElement(\"div\");\n flex.style.display = \"flex\";\n flex.style.flexDirection = \"column\";\n flex.style.rowGap = \"1px\";\n\n flex.appendChild(document.createElement(\"div\"));\n flex.appendChild(document.createElement(\"div\"));\n\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1;\n document.body.removeChild(flex);\n\n return flexGapSupported;\n};\n\nexport interface Option {\n keepEmpty?: boolean;\n}\n\nexport function toArray(\n children: React.ReactNode,\n option: Option = {}\n): React.ReactElement[] {\n let ret: React.ReactElement[] = [];\n\n React.Children.forEach(children, (child: any | any[]) => {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n\n return ret;\n}\n\nfunction isFragment(object) {\n return (\n object.$$typeof === Symbol.for(\"react.element\") &&\n object.type === Symbol.for(\"react.fragment\")\n );\n}\n\n// 获取 校验银行卡\nexport const checkBankCard = (cardNo: string) => {\n if (!cardNo) return false;\n let tmp = true;\n let total = 0;\n for (let i = cardNo.length; i > 0; i--) {\n let num = +cardNo.substring(i, i - 1);\n if (((tmp = !tmp), tmp)) num = num * 2;\n const gw = num % 10;\n total += gw + (num - gw) / 10;\n }\n return total % 10 === 0;\n};\n\n/**\n * 格式化银行卡号\n *\n * @export\n * @param {string} cardNum 6217002712347888987\n * @param {boolean} mask 是否掩码\n * @returns {string} 6217 0027 1234 7888 987\n */\nexport function creditCard(cardNum: string, mask?: boolean): string {\n const newCardNum = cardNum\n .replace(/[^\\d]/g, \"\")\n .replace(/(\\d{4})(?=\\d)/g, \"$1 \");\n\n return mask ? newCardNum.replace(/\\s(\\d{4})(?!\\d)/g, \" ****\") : newCardNum;\n}\n\n/**\n * 校验身份证号是否符合规范\n *\n * @export\n * @param {string} idcard\n * @returns {boolean} true 符合 | false 不符合\n */\nexport function verifyIdcard(idcard: string): boolean {\n if (!idcard) return false;\n let regex1 =\n /^[1-9][0-7]\\d{4}((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))\\d{3}(\\d|X|x)?$/;\n /* 身份号码位数及格式检验 */\n switch (idcard.length) {\n case 15:\n if (\n (parseInt(idcard.substr(6, 2)) + 1900) % 4 === 0 ||\n ((parseInt(idcard.substr(6, 2)) + 1900) % 100 === 0 &&\n (parseInt(idcard.substr(6, 2)) + 1900) % 4 === 0)\n ) {\n let regex2 =\n /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; // 测试出生日期的合法性\n if (regex2.test(idcard)) {\n return true;\n }\n return false;\n }\n // eslint-disable-next-line\n let regex2 =\n /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; // 测试出生日期的合法性\n if (regex2.test(idcard)) {\n return true;\n }\n return false;\n\n case 18:\n if (regex1.test(idcard)) {\n let S =\n (parseInt(idcard.charAt(0)) + parseInt(idcard.charAt(10))) * 7 +\n (parseInt(idcard.charAt(1)) + parseInt(idcard.charAt(11))) * 9 +\n (parseInt(idcard.charAt(2)) + parseInt(idcard.charAt(12))) * 10 +\n (parseInt(idcard.charAt(3)) + parseInt(idcard.charAt(13))) * 5 +\n (parseInt(idcard.charAt(4)) + parseInt(idcard.charAt(14))) * 8 +\n (parseInt(idcard.charAt(5)) + parseInt(idcard.charAt(15))) * 4 +\n (parseInt(idcard.charAt(6)) + parseInt(idcard.charAt(16))) * 2 +\n parseInt(idcard.charAt(7)) * 1 +\n parseInt(idcard.charAt(8)) * 6 +\n parseInt(idcard.charAt(9)) * 3;\n let Y = S % 11;\n let M = \"F\";\n let JYM = \"10X98765432\";\n M = JYM.substr(Y, 1);\n /* 判断校验位 */\n if (M === idcard.charAt(17).toUpperCase()) {\n return true;\n }\n return false;\n }\n break;\n default:\n return false;\n }\n\n return false;\n}\n\nexport function tripleDefer(func: () => void): void {\n setTimeout(() => setTimeout(() => setTimeout(() => func())));\n}\n\nexport function isString(v) {\n return typeof v === \"string\";\n}\n\nexport function isFunction(v) {\n return typeof v === \"function\";\n}\n\nexport function isEqual(x, y) {\n if (x === y) {\n return true;\n } else if (\n typeof x === \"object\" &&\n x !== null &&\n typeof y === \"object\" &&\n y !== null\n ) {\n const keysX = Object.keys(x);\n const keysY = Object.keys(y);\n if (keysX.length !== keysY.length) {\n return false;\n }\n for (const key of keysX) {\n if (!isEqual(x[key], y[key])) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n\nexport function pick(obj: any, keys) {\n const r = {};\n keys.forEach(key => {\n r[key] = obj[key];\n });\n return r;\n}\n\nconst idCounter = {};\nexport function uniqueId(prefix = \"$unique$\") {\n if (!idCounter[prefix]) {\n idCounter[prefix] = 0;\n }\n\n const id = ++idCounter[prefix];\n if (prefix === \"$unique$\") {\n return `${id}`;\n }\n\n return `${prefix}${id}`;\n}\n\n/**\n * 版本号比较进阶版\n * @param {string} ver1 5.19.1 前一个版本\n * @param {string} ver2 5.18.3 后一个版本\n * @returns {number} 1: 前一个版本 大于 后一个版本\n * -1: 前一个版本 小于 后一个版本\n * 0: 前一个版本 等于 后一个版本\n */\nexport function compareVersion(ver1: string, ver2: string): number {\n let v1 = ver1.split(\".\");\n let v2 = ver2.split(\".\");\n const len = Math.max(v1.length, v2.length);\n\n // 调整两个版本号位数相同\n while (v1.length < len) {\n v1.push(\"0\");\n }\n while (v2.length < len) {\n v2.push(\"0\");\n }\n\n // 循环判断每位数的大小\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i]);\n const num2 = parseInt(v2[i]);\n\n if (num1 > num2) {\n //前一个版本 大于 后一个版本\n return 1;\n } else if (num1 < num2) {\n //前一个版本 小于 后一个版本\n return -1;\n }\n }\n\n return 0;\n}\n\nexport const replaceCharByIndex = (\n str: string,\n index: number,\n replace: string\n) => {\n return str.substring(0, index) + replace + str.substring(index + 1);\n};\n\n/**\n * 车牌号正则校验\n *\n * @export\n * @param {string} str 车牌号\n * @returns {boolean} false | true\n */\nexport const isLicenseNo = (str: string): boolean => {\n let xreg =\n /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;\n let creg =\n /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;\n if (str.length === 7) {\n return creg.test(str);\n } else if (str.length === 8) {\n return xreg.test(str);\n }\n return false;\n};\n"],"names":["flexGapSupported","inputRange","val","replace","pxTransform","size","designWidth","process","env","TARO_ENV","Math","ceil","parseInt","concat","detectFlexGapSupported","undefined","flex","document","createElement","style","display","flexDirection","rowGap","appendChild","body","scrollHeight","removeChild","toArray","children","option","ret","React","Children","forEach","child","object","keepEmpty","Array","isArray","$$typeof","Symbol","for","type","props","push","checkBankCard","cardNo","tmp","total","i","length","num","substring","gw","creditCard","cardNum","mask","newCardNum","verifyIdcard","idcard","substr","test","S","charAt","toUpperCase","tripleDefer","func","setTimeout","isString","v","isFunction","isEqual","x","y","keysX","Object","keys","keysY","keysX_1","__values","keysX_1_1","done","next","key","value","pick","obj","r","idCounter","uniqueId","prefix","id","compareVersion","ver1","ver2","v1","split","v2","len","max","num1","num2","replaceCharByIndex","str","index","isLicenseNo"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/index.ts"],"sourcesContent":["/**\n * 禁止输入emoji表情\n * @param {string} val - 输入内容\n * @returns {boolean} - 校验结果 返回 true || false\n */\nimport React from \"react\";\n\nexport const inputRange = (val: string): string => {\n let iconRule1 =\n /[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF][\\u200D|\\uFE0F]|[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF]|[0-9|*|#]\\uFE0F\\u20E3|[0-9|#]\\u20E3|[\\u203C-\\u3299]\\uFE0F\\u200D|[\\u203C-\\u3299]\\uFE0F|[\\u2122-\\u2B55]|\\u303D|[\\A9|\\AE]\\u3030|\\uA9|\\uAE|\\u3030/gi;\n return val.replace(iconRule1, \"\");\n};\n\n// function Handler(fn) {\n// this.handler = fn;\n// this.next = null;\n// }\n\n// Handler.prototype.setNext = function setNext(h) {\n// this.next = h;\n// return h;\n// };\n\n// Handler.prototype.passRequest = function () {\n// const ret = this.handler.apply(this, arguments);\n// // 提前结束\n// if (!ret) {\n// return ret;\n// }\n\n// // 向后传递\n// if (this.next) {\n// return this.next.passRequest.apply(this.next, arguments);\n// }\n// return ret;\n// };\n\n// export class ChainHander {\n// public hander: (s: string) => boolean\n// public next\n// constructor(fn: (str: string) => boolean) {\n// this.hander = fn\n// }\n// public setNext(callback): () => boolean {\n// this.next = callback\n// return callback\n// }\n// public checkPass(...arg) {\n// const result = this.hander.apply(this, arg)\n// if (!result) {\n// return result\n// }\n\n// if (this.next != null) {\n// return this.next.checkPass.apply(this.next, arg)\n// }\n\n// return result\n// }\n// }\n\nexport const throtte = (fn: Function, delay: number = 1500) => {\n let timer: NodeJS.Timer;\n let canCall = true;\n return function (arg) {\n if (canCall) {\n canCall = false;\n fn(arg);\n }\n timer = setTimeout(() => {\n canCall = true;\n clearTimeout(timer);\n }, delay);\n };\n};\n\nexport const debounce = (fn: (...arg: any) => any, delay: number = 1500) => {\n let timer: NodeJS.Timeout | null = null;\n return function () {\n const context = this;\n const arg = arguments;\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n fn.apply(context, arg);\n }, delay);\n };\n};\n\nexport function pxTransform(size: number, designWidth = 750): string {\n if (!size) return process.env.TARO_ENV === \"h5\" ? \"0rem\" : \"0rpx\";\n const deviceRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2,\n };\n if (process.env.TARO_ENV === \"h5\")\n return (\n Math.ceil(\n (((parseInt(`${size}`, 10) / 40) * 640) / designWidth) * 10000\n ) /\n 10000 +\n \"rem\"\n );\n return `${size / deviceRatio[designWidth]}rpx`;\n}\n\nlet flexGapSupported: boolean | undefined;\nexport const detectFlexGapSupported = () => {\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n\n const flex = document.createElement(\"div\");\n flex.style.display = \"flex\";\n flex.style.flexDirection = \"column\";\n flex.style.rowGap = \"1px\";\n\n flex.appendChild(document.createElement(\"div\"));\n flex.appendChild(document.createElement(\"div\"));\n\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1;\n document.body.removeChild(flex);\n\n return flexGapSupported;\n};\n\nexport interface Option {\n keepEmpty?: boolean;\n}\n\nexport function toArray(\n children: React.ReactNode,\n option: Option = {}\n): React.ReactElement[] {\n let ret: React.ReactElement[] = [];\n\n React.Children.forEach(children, (child: any | any[]) => {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n\n return ret;\n}\n\nfunction isFragment(object) {\n return (\n object.$$typeof === Symbol.for(\"react.element\") &&\n object.type === Symbol.for(\"react.fragment\")\n );\n}\n\n// 获取 校验银行卡\nexport const checkBankCard = (cardNo: string) => {\n if (!cardNo) return false;\n let tmp = true;\n let total = 0;\n for (let i = cardNo.length; i > 0; i--) {\n let num = +cardNo.substring(i, i - 1);\n if (((tmp = !tmp), tmp)) num = num * 2;\n const gw = num % 10;\n total += gw + (num - gw) / 10;\n }\n return total % 10 === 0;\n};\n\n/**\n * 格式化银行卡号\n *\n * @export\n * @param {string} cardNum 6217002712347888987\n * @param {boolean} mask 是否掩码\n * @returns {string} 6217 0027 1234 7888 987\n */\nexport function creditCard(cardNum: string, mask?: boolean): string {\n const newCardNum = cardNum\n .replace(/[^\\d]/g, \"\")\n .replace(/(\\d{4})(?=\\d)/g, \"$1 \");\n\n return mask ? newCardNum.replace(/\\s(\\d{4})(?!\\d)/g, \" ****\") : newCardNum;\n}\n\n/**\n * 校验身份证号是否符合规范\n *\n * @export\n * @param {string} idcard\n * @returns {boolean} true 符合 | false 不符合\n */\nexport function verifyIdcard(idcard: string): boolean {\n if (!idcard) return false;\n let regex1 =\n /^[1-9][0-7]\\d{4}((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))\\d{3}(\\d|X|x)?$/;\n /* 身份号码位数及格式检验 */\n switch (idcard.length) {\n case 15:\n if (\n (parseInt(idcard.substr(6, 2)) + 1900) % 4 === 0 ||\n ((parseInt(idcard.substr(6, 2)) + 1900) % 100 === 0 &&\n (parseInt(idcard.substr(6, 2)) + 1900) % 4 === 0)\n ) {\n let regex2 =\n /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; // 测试出生日期的合法性\n if (regex2.test(idcard)) {\n return true;\n }\n return false;\n }\n // eslint-disable-next-line\n let regex2 =\n /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; // 测试出生日期的合法性\n if (regex2.test(idcard)) {\n return true;\n }\n return false;\n\n case 18:\n if (regex1.test(idcard)) {\n let S =\n (parseInt(idcard.charAt(0)) + parseInt(idcard.charAt(10))) * 7 +\n (parseInt(idcard.charAt(1)) + parseInt(idcard.charAt(11))) * 9 +\n (parseInt(idcard.charAt(2)) + parseInt(idcard.charAt(12))) * 10 +\n (parseInt(idcard.charAt(3)) + parseInt(idcard.charAt(13))) * 5 +\n (parseInt(idcard.charAt(4)) + parseInt(idcard.charAt(14))) * 8 +\n (parseInt(idcard.charAt(5)) + parseInt(idcard.charAt(15))) * 4 +\n (parseInt(idcard.charAt(6)) + parseInt(idcard.charAt(16))) * 2 +\n parseInt(idcard.charAt(7)) * 1 +\n parseInt(idcard.charAt(8)) * 6 +\n parseInt(idcard.charAt(9)) * 3;\n let Y = S % 11;\n let M = \"F\";\n let JYM = \"10X98765432\";\n M = JYM.substr(Y, 1);\n /* 判断校验位 */\n if (M === idcard.charAt(17).toUpperCase()) {\n return true;\n }\n return false;\n }\n break;\n default:\n return false;\n }\n\n return false;\n}\n\nexport function tripleDefer(func: () => void): void {\n setTimeout(() => setTimeout(() => setTimeout(() => func())));\n}\n\nexport function isString(v) {\n return typeof v === \"string\";\n}\n\nexport function isFunction(v) {\n return typeof v === \"function\";\n}\n\nexport function isEqual(x, y) {\n if (x === y) {\n return true;\n } else if (\n typeof x === \"object\" &&\n x !== null &&\n typeof y === \"object\" &&\n y !== null\n ) {\n const keysX = Object.keys(x);\n const keysY = Object.keys(y);\n if (keysX.length !== keysY.length) {\n return false;\n }\n for (const key of keysX) {\n if (!isEqual(x[key], y[key])) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n\nexport function pick(obj: any, keys) {\n const r = {};\n keys.forEach(key => {\n r[key] = obj[key];\n });\n return r;\n}\n\nconst idCounter = {};\nexport function uniqueId(prefix = \"$unique$\") {\n if (!idCounter[prefix]) {\n idCounter[prefix] = 0;\n }\n\n const id = ++idCounter[prefix];\n if (prefix === \"$unique$\") {\n return `${id}`;\n }\n\n return `${prefix}${id}`;\n}\n\n/**\n * 版本号比较进阶版\n * @param {string} ver1 5.19.1 前一个版本\n * @param {string} ver2 5.18.3 后一个版本\n * @returns {number} 1: 前一个版本 大于 后一个版本\n * -1: 前一个版本 小于 后一个版本\n * 0: 前一个版本 等于 后一个版本\n */\nexport function compareVersion(ver1: string, ver2: string): number {\n let v1 = ver1.split(\".\");\n let v2 = ver2.split(\".\");\n const len = Math.max(v1.length, v2.length);\n\n // 调整两个版本号位数相同\n while (v1.length < len) {\n v1.push(\"0\");\n }\n while (v2.length < len) {\n v2.push(\"0\");\n }\n\n // 循环判断每位数的大小\n for (let i = 0; i < len; i++) {\n const num1 = parseInt(v1[i]);\n const num2 = parseInt(v2[i]);\n\n if (num1 > num2) {\n //前一个版本 大于 后一个版本\n return 1;\n } else if (num1 < num2) {\n //前一个版本 小于 后一个版本\n return -1;\n }\n }\n\n return 0;\n}\n\nexport const replaceCharByIndex = (\n str: string,\n index: number,\n replace: string\n) => {\n return str.substring(0, index) + replace + str.substring(index + 1);\n};\n\n/**\n * 车牌号正则校验\n *\n * @export\n * @param {string} str 车牌号\n * @returns {boolean} false | true\n */\nexport const isLicenseNo = (str: string): boolean => {\n let xreg =\n /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;\n let creg =\n /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;\n if (str.length === 7) {\n return creg.test(str);\n } else if (str.length === 8) {\n return xreg.test(str);\n }\n return false;\n};\n"],"names":["flexGapSupported","inputRange","val","replace","pxTransform","size","designWidth","process","env","TARO_ENV","Math","ceil","parseInt","concat","detectFlexGapSupported","undefined","flex","document","createElement","style","display","flexDirection","rowGap","appendChild","body","scrollHeight","removeChild","toArray","children","option","ret","React","Children","forEach","child","object","keepEmpty","Array","isArray","$$typeof","Symbol","for","type","props","push","checkBankCard","cardNo","tmp","total","i","length","num","substring","gw","creditCard","cardNum","mask","newCardNum","verifyIdcard","idcard","substr","test","S","charAt","toUpperCase","tripleDefer","func","setTimeout","isString","v","isFunction","isEqual","x","y","keysX","Object","keys","keysY","keysX_1","__values","keysX_1_1","done","next","key","value","pick","obj","r","idCounter","uniqueId","prefix","id","compareVersion","ver1","ver2","v1","split","v2","len","max","num1","num2","replaceCharByIndex","str","index","isLicenseNo"],"mappings":"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"}