taro-react-uilib 1.3.4-7 → 1.3.4-8

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.3.4-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-7...v1.3.4-8) (2023-08-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * navbar title支持居左 ([716221f](https://code.xhdev.xyz/h5group/taro-uilib/commits/716221f5285f042ab721c2ac6b6842ec6c65d795))
7
+
8
+
9
+ ### Features
10
+
11
+ * 单选和复选支持size ([1008d92](https://code.xhdev.xyz/h5group/taro-uilib/commits/1008d924cdeee0e043ca7c29b2c2406e6fe37efe))
12
+
13
+
14
+
1
15
  ## [1.3.4-7](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-6...v1.3.4-7) (2023-08-01)
2
16
 
3
17
 
@@ -1,2 +1,2 @@
1
- import e from"react";import a from"classnames";import{CheckboxGroup as c}from"@tarojs/components";import t from"../src/hooks/useGenerateId.js";import l from"./Group/index.js";var s=function(l){var s=l.className,o=l.name,n=l.label,r=l.id,h=l.circle,m=l.onChange,i=l.align,p=l.direction,u=l.justify,x=l.checked,d=l.disabled,b=l.value,k=l.style,v=l.color,E=void 0===v?"#f6ab00":v,N=t(r,"xh-checkbox-id"),f=function(e){var a=x||!1,c="";"h5"===process.env.TARO_ENV?(a=e.target.checked,c=e.target.value):(a=e.detail.value.length>0,c=e.detail.value[0]),m&&m(a,c)},g=a("xh-checkbox",s,i,p,u,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(c,{onChange:f},e.createElement("label",{htmlFor:N,className:g,style:k},e.createElement("input",{type:"checkbox",id:N,name:o,className:a("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV}),onChange:f,disabled:d,value:b,checked:x,color:E}),e.createElement("span",{className:a("xh-checkbox-input-fake",h&&"circle",{tt:"tt"===process.env.TARO_ENV})}),e.createElement("span",{className:"xh-checkbox-label"},n))):e.createElement("label",{htmlFor:N,className:g,style:k},e.createElement("input",{type:"checkbox",id:N,name:o,className:"xh-checkbox-input",onChange:f,value:b,defaultChecked:x}),e.createElement("span",{className:a("xh-checkbox-input-fake",h&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},n))};s.Group=l;export{s as default};
1
+ import e from"react";import a from"classnames";import{CheckboxGroup as t}from"@tarojs/components";import c from"../src/hooks/useGenerateId.js";import{pxTransform as l}from"../src/utils/index.js";import s from"./Group/index.js";var o=function(s){var o=s.className,r=s.name,n=s.label,h=s.id,i=s.circle,m=s.onChange,p=s.align,d=s.direction,u=s.justify,x=s.checked,b=s.disabled,k=s.value,v=s.style,f=s.size,E=void 0===f?0:f,N=s.color,g=void 0===N?"#f6ab00":N,y=c(h,"xh-checkbox-id"),C=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[0]),m&&m(a,t)},j=a("xh-checkbox",o,p,d,u,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(t,{onChange:C},e.createElement("label",{htmlFor:y,className:j,style:v},e.createElement("input",{type:"checkbox",id:y,name:r,className:a("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV}),onChange:C,disabled:b,value:k,checked:x,color:g}),e.createElement("span",{className:a("xh-checkbox-input-fake",i&&"circle",{tt:"tt"===process.env.TARO_ENV}),style:E>0?{width:l(E),height:l(E)}:{}}),e.createElement("span",{className:"xh-checkbox-label"},n))):e.createElement("label",{htmlFor:y,className:j,style:v},e.createElement("input",{type:"checkbox",id:y,name:r,className:"xh-checkbox-input",onChange:C,value:k,defaultChecked:x}),e.createElement("span",{style:E>0?{width:l(E),height:l(E)}:{},className:a("xh-checkbox-input-fake",i&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},n))};o.Group=s;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 } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport Group from \"./Group\";\nimport \"./index.scss\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHCheckboxProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHCheckboxProps = {\n onChange?: (check: boolean, value: string) => void;\n checked?: boolean;\n name?: string;\n label: string | ReactNode;\n size?: number;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n value?: string | number;\n id?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHCheckbox: FC<XHCheckboxProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n color = \"#f6ab00\",\n } = props;\n\n const finalId = useGenerateId(id, \"xh-checkbox-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n if (process.env.TARO_ENV === \"h5\") {\n finalchecked = e.target.checked;\n value = e.target.value;\n } else {\n finalchecked = e.detail.value.length > 0;\n value = e.detail.value[0];\n }\n onChange && onChange(finalchecked, value);\n };\n\n const cls = classNames(\"xh-checkbox\", className, align, direction, justify, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <CheckboxGroup onChange={handleOnchange}>\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className={classNames(\"xh-checkbox-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n onChange={handleOnchange}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n className={classNames(\n \"xh-checkbox-input-fake\",\n circle && \"circle\",\n { tt: process.env.TARO_ENV === \"tt\" }\n )}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n </CheckboxGroup>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className=\"xh-checkbox-input\"\n onChange={handleOnchange}\n value={value}\n defaultChecked={checked}\n />\n <span\n className={classNames(\"xh-checkbox-input-fake\", circle && \"circle\")}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n );\n};\n\nconst CheckBox = XHCheckbox as CompoundedComponent;\nCheckBox.Group = Group;\n\nexport default CheckBox;\n"],"names":["CheckBox","props","className","name","label","id","circle","onChange","align","direction","justify","checked","disabled","value","style","_a","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","h5","React","createElement","CheckboxGroup","htmlFor","type","tt","defaultChecked","Group"],"mappings":"+KAmCA,IAqFMA,EArFkC,SAAAC,GAEpC,IAAAC,EAcED,EAAKC,UAbPC,EAaEF,EAAKE,KAZPC,EAYEH,EAAKG,MAXPC,EAWEJ,EAAKI,GAVPC,EAUEL,SATFM,EASEN,WARFO,EAQEP,QAPFQ,EAOER,EAPOQ,UACTC,EAMET,EANKS,QACPC,EAKEV,EALKU,QACPC,EAIEX,EAJMW,SACRC,EAGEZ,EAHGY,MACLC,EAEEb,EAFGa,MACLC,EACEd,QADFe,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAcb,EAAI,kBAE5Bc,EAAiB,SAAAC,GACrB,IAAIC,EAAeV,IAAW,EAC1BE,EAAQ,GACiB,OAAzBS,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOd,QACxBE,EAAQO,EAAEK,OAAOZ,QAEjBQ,EAAeD,EAAEM,OAAOb,MAAMc,OAAS,EACvCd,EAAQO,EAAEM,OAAOb,MAAM,IAEzBN,GAAYA,EAASc,EAAcR,EACrC,EAEMe,EAAMC,EAAW,cAAe3B,EAAWM,EAAOC,EAAWC,EAAS,CAC1EoB,GAA6B,OAAzBR,QAAQC,IAAIC,WAElB,MAA6B,OAAzBF,QAAQC,IAAIC,SAEZO,EAACC,cAAAC,EAAc,CAAA1B,SAAUY,GACvBY,EAAOC,cAAA,QAAA,CAAAE,QAASjB,EAASf,UAAW0B,EAAKd,MAAOA,GAC9CiB,EAAAC,cAAA,QAAA,CACEG,KAAK,WACL9B,GAAIY,EACJd,KAAMA,EACND,UAAW2B,EAAW,oBAAqB,CACzCO,GAA6B,OAAzBd,QAAQC,IAAIC,WAElBjB,SAAUY,EACVP,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTK,MAAOA,IAETe,EACEC,cAAA,OAAA,CAAA9B,UAAW2B,EACT,yBACAvB,GAAU,SACV,CAAE8B,GAA6B,OAAzBd,QAAQC,IAAIC,aAGtBO,EAAMC,cAAA,OAAA,CAAA9B,UAAU,qBAAqBE,KAO3C2B,EAAAC,cAAA,QAAA,CAAOE,QAASjB,EAASf,UAAW0B,EAAKd,MAAOA,GAC9CiB,EACEC,cAAA,QAAA,CAAAG,KAAK,WACL9B,GAAIY,EACJd,KAAMA,EACND,UAAU,oBACVK,SAAUY,EACVN,MAAOA,EACPwB,eAAgB1B,IAElBoB,EACEC,cAAA,OAAA,CAAA9B,UAAW2B,EAAW,yBAA0BvB,GAAU,YAE5DyB,EAAMC,cAAA,OAAA,CAAA9B,UAAU,qBAAqBE,GAG3C,EAGAJ,EAASsC,MAAQA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Checkbox/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { CheckboxGroup } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\nimport { pxTransform } from \"@/utils\";\nimport Group from \"./Group\";\nimport \"./index.scss\";\nimport type { XHComponentCommonProps } from \"../../types\";\n\ntype CompoundedComponent = React.ForwardRefExoticComponent<\n XHCheckboxProps & React.RefAttributes<HTMLInputElement>\n> & {\n Group: typeof Group;\n};\n\nexport type XHCheckboxProps = {\n onChange?: (check: boolean, value: string) => void;\n checked?: boolean;\n name?: string;\n label: string | ReactNode;\n size?: number;\n circle?: boolean;\n align?: \"center\" | \"end\";\n direction?: \"rtl\";\n justify?: \"around\" | \"between\";\n value?: string | number;\n id?: string;\n disabled?: boolean;\n style?: React.CSSProperties;\n /**\n * 抖音不支持属性选择器\n * @description 主要为抖音支持颜色\n */\n color?: string;\n} & XHComponentCommonProps;\n\nconst XHCheckbox: FC<XHCheckboxProps> = props => {\n const {\n className,\n name,\n label,\n id,\n circle,\n onChange,\n align,\n direction,\n justify,\n checked,\n disabled,\n value,\n style,\n size = 0,\n color = \"#f6ab00\",\n } = props;\n\n const finalId = useGenerateId(id, \"xh-checkbox-id\");\n\n const handleOnchange = e => {\n let finalchecked = checked || false;\n let value = \"\";\n if (process.env.TARO_ENV === \"h5\") {\n finalchecked = e.target.checked;\n value = e.target.value;\n } else {\n finalchecked = e.detail.value.length > 0;\n value = e.detail.value[0];\n }\n onChange && onChange(finalchecked, value);\n };\n\n const cls = classNames(\"xh-checkbox\", className, align, direction, justify, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n if (process.env.TARO_ENV !== \"h5\") {\n return (\n <CheckboxGroup onChange={handleOnchange}>\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className={classNames(\"xh-checkbox-input\", {\n tt: process.env.TARO_ENV === \"tt\",\n })}\n onChange={handleOnchange}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n className={classNames(\n \"xh-checkbox-input-fake\",\n circle && \"circle\",\n { tt: process.env.TARO_ENV === \"tt\" }\n )}\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n </CheckboxGroup>\n );\n }\n\n return (\n <label htmlFor={finalId} className={cls} style={style}>\n <input\n type=\"checkbox\"\n id={finalId}\n name={name}\n className=\"xh-checkbox-input\"\n onChange={handleOnchange}\n value={value}\n defaultChecked={checked}\n />\n <span\n style={\n size > 0\n ? {\n width: pxTransform(size),\n height: pxTransform(size),\n }\n : {}\n }\n className={classNames(\"xh-checkbox-input-fake\", circle && \"circle\")}\n ></span>\n <span className=\"xh-checkbox-label\">{label}</span>\n </label>\n );\n};\n\nconst CheckBox = XHCheckbox as CompoundedComponent;\nCheckBox.Group = Group;\n\nexport default CheckBox;\n"],"names":["CheckBox","props","className","name","label","id","circle","onChange","align","direction","justify","checked","disabled","value","style","_a","size","_b","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","h5","React","createElement","CheckboxGroup","htmlFor","type","tt","width","pxTransform","height","defaultChecked","Group"],"mappings":"mOAoCA,IAsGMA,EAtGkC,SAAAC,GAEpC,IAAAC,EAeED,EAfOC,UACTC,EAcEF,EAdEE,KACJC,EAaEH,QAZFI,EAYEJ,EAAKI,GAXPC,EAWEL,EAAKK,OAVPC,EAUEN,EAVMM,SACRC,EASEP,EATGO,MACLC,EAQER,YAPFS,EAOET,UANFU,EAMEV,UALFW,EAKEX,WAJFY,EAIEZ,EAAKY,MAHPC,EAGEb,EAAKa,MAFPC,EAEEd,OAFFe,aAAO,EAACD,EACRE,EACEhB,EADeiB,MAAjBA,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAcf,EAAI,kBAE5BgB,EAAiB,SAAAC,GACrB,IAAIC,EAAeZ,IAAW,EAC1BE,EAAQ,GACiB,OAAzBW,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOhB,QACxBE,EAAQS,EAAEK,OAAOd,QAEjBU,EAAeD,EAAEM,OAAOf,MAAMgB,OAAS,EACvChB,EAAQS,EAAEM,OAAOf,MAAM,IAEzBN,GAAYA,EAASgB,EAAcV,EACrC,EAEMiB,EAAMC,EAAW,cAAe7B,EAAWM,EAAOC,EAAWC,EAAS,CAC1EsB,GAA6B,OAAzBR,QAAQC,IAAIC,WAElB,MAA6B,OAAzBF,QAAQC,IAAIC,SAEZO,EAACC,cAAAC,EAAc,CAAA5B,SAAUc,GACvBY,EAAOC,cAAA,QAAA,CAAAE,QAASjB,EAASjB,UAAW4B,EAAKhB,MAAOA,GAC9CmB,EAAAC,cAAA,QAAA,CACEG,KAAK,WACLhC,GAAIc,EACJhB,KAAMA,EACND,UAAW6B,EAAW,oBAAqB,CACzCO,GAA6B,OAAzBd,QAAQC,IAAIC,WAElBnB,SAAUc,EACVT,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTO,MAAOA,IAETe,EACEC,cAAA,OAAA,CAAAhC,UAAW6B,EACT,yBACAzB,GAAU,SACV,CAAEgC,GAA6B,OAAzBd,QAAQC,IAAIC,WAEpBZ,MACEE,EAAO,EACH,CACEuB,MAAOC,EAAYxB,GACnByB,OAAQD,EAAYxB,IAEtB,CAAA,IAGRiB,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,KAO3C6B,EAAAC,cAAA,QAAA,CAAOE,QAASjB,EAASjB,UAAW4B,EAAKhB,MAAOA,GAC9CmB,EACEC,cAAA,QAAA,CAAAG,KAAK,WACLhC,GAAIc,EACJhB,KAAMA,EACND,UAAU,oBACVK,SAAUc,EACVR,MAAOA,EACP6B,eAAgB/B,IAElBsB,EAAAC,cAAA,OAAA,CACEpB,MACEE,EAAO,EACH,CACEuB,MAAOC,EAAYxB,GACnByB,OAAQD,EAAYxB,IAEtB,CAAE,EAERd,UAAW6B,EAAW,yBAA0BzB,GAAU,YAE5D2B,EAAMC,cAAA,OAAA,CAAAhC,UAAU,qBAAqBE,GAG3C,EAGAJ,EAAS2C,MAAQA"}
@@ -1,2 +1,2 @@
1
- import e from"react";import{View as a,Text as t}from"@tarojs/components";import r from"classnames";import{navigateBack as o}from"@tarojs/taro";import s from"../src/hooks/useCustomNavbar.js";var n=function(n){var c=n.leftIcon,m=void 0===c||c,l=n.rightIcon,i=void 0!==l&&l,h=n.title,p=n.onBack,v=n.className,f=s(),N=f.navBarHeight,u=f.statusBar,E=f.buttonRight;var x="h5"===process.env.TARO_ENV?{}:{height:"".concat(N,"px"),paddingTop:"".concat(u,"px")},b="h5"===process.env.TARO_ENV?{}:{left:"".concat(E,"px")},d=r("xh-nav-bar",v,{h5:"h5"===process.env.TARO_ENV});return e.createElement(a,{className:d,style:x},e.createElement(a,{className:r("xh-nav-bar-back",{hidden:!m}),style:b,onClick:function(){p?p():o()}}),e.createElement(t,{className:"xh-nav-bar-title"},h),"h5"===process.env.TARO_ENV&&i&&e.createElement(a,{className:"xh-nav-bar-right"},i),e.createElement(a,null))};export{n as default};
1
+ import e from"react";import{View as a,Text as r}from"@tarojs/components";import t from"classnames";import{getSystemInfoSync as o,navigateBack as s}from"@tarojs/taro";import n from"../src/hooks/useCustomNavbar.js";var c="h5"!==process.env.TARO_ENV&&"ios"===o().platform,m=function(o){var m=o.leftIcon,i=void 0===m||m,l=o.rightIcon,h=void 0!==l&&l,p=o.title,v=o.onBack,d=o.navBarBorder,f=void 0!==d&&d,N=o.className,E=n(),u=E.navBarHeight,b=E.statusBar,x=E.buttonRight;var g="h5"===process.env.TARO_ENV?{}:{height:"".concat(u,"px"),paddingTop:"".concat(b,"px")},A="h5"===process.env.TARO_ENV?{}:{left:"".concat(x,"px")},R=t("xh-nav-bar",N,{h5:"h5"===process.env.TARO_ENV,border:f});return e.createElement(a,{className:R,style:g},e.createElement(a,{className:t("xh-nav-bar-back",{hidden:!i}),style:A,onClick:function(){v?v():s()}}),e.createElement(r,{className:t("xh-nav-bar-title",{isAndroid:!c})},p),"h5"===process.env.TARO_ENV&&h&&e.createElement(a,{className:"xh-nav-bar-right"},h),e.createElement(a,null))};export{m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/NavBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { navigateBack } from \"@tarojs/taro\";\nimport useCustomNavBar from \"@/hooks/useCustomNavbar\";\n\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type NavBarProps = {\n title: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n onBack?: () => void;\n} & XHComponentCommonProps;\n\nconst NavBar: FC<NavBarProps> = props => {\n const {\n leftIcon = true,\n rightIcon = false,\n title,\n onBack,\n className,\n } = props;\n\n const { navBarHeight, statusBar, buttonRight } = useCustomNavBar();\n\n function goBackPage() {\n onBack ? onBack() : navigateBack();\n }\n\n const wrapStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n height: `${navBarHeight}px`,\n paddingTop: `${statusBar}px`,\n };\n\n const backStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n left: `${buttonRight}px`,\n };\n\n const NavBarCls = classNames(\"xh-nav-bar\", className, {\n h5: process.env.TARO_ENV === \"h5\",\n });\n\n return (\n <View className={NavBarCls} style={wrapStyle}>\n <View\n className={classNames(\"xh-nav-bar-back\", { hidden: !leftIcon })}\n style={backStyle}\n onClick={goBackPage}\n ></View>\n <Text className=\"xh-nav-bar-title\">{title}</Text>\n {process.env.TARO_ENV === \"h5\" && rightIcon && (\n <View className=\"xh-nav-bar-right\">{rightIcon}</View>\n )}\n <View />\n </View>\n );\n};\n\nexport default NavBar;\n"],"names":["NavBar","props","_a","leftIcon","_b","rightIcon","title","onBack","className","_c","useCustomNavBar","navBarHeight","statusBar","buttonRight","wrapStyle","process","env","TARO_ENV","height","concat","paddingTop","backStyle","left","NavBarCls","classNames","h5","React","createElement","View","style","hidden","onClick","navigateBack","Text"],"mappings":"8LAgBM,IAAAA,EAA0B,SAAAC,GAE5B,IAAAC,EAKED,EALaE,SAAfA,OAAW,IAAAD,GAAIA,EACfE,EAIEH,EAJeI,UAAjBA,OAAY,IAAAD,GAAKA,EACjBE,EAGEL,EAAKK,MAFPC,EAEEN,EAAKM,OADPC,EACEP,YAEEQ,EAA2CC,IAAzCC,EAAYF,EAAAE,aAAEC,EAASH,EAAAG,UAAEC,EAAWJ,EAAAI,YAM5C,IAAMC,EACqB,OAAzBC,QAAQC,IAAIC,SACR,CAAE,EACF,CACEC,OAAQ,GAAGC,OAAAR,EAAgB,MAC3BS,WAAY,GAAGD,OAAAP,EAAa,OAG9BS,EACqB,OAAzBN,QAAQC,IAAIC,SACR,CAAE,EACF,CACEK,KAAM,GAAGH,OAAAN,EAAe,OAG1BU,EAAYC,EAAW,aAAchB,EAAW,CACpDiB,GAA6B,OAAzBV,QAAQC,IAAIC,WAGlB,OACES,EAACC,cAAAC,EAAK,CAAApB,UAAWe,EAAWM,MAAOf,GACjCY,EAACC,cAAAC,GACCpB,UAAWgB,EAAW,kBAAmB,CAAEM,QAAS3B,IACpD0B,MAAOR,EACPU,QA5BN,WACExB,EAASA,IAAWyB,GACrB,IA4BGN,EAAAC,cAACM,EAAK,CAAAzB,UAAU,oBAAoBF,GACV,OAAzBS,QAAQC,IAAIC,UAAqBZ,GAChCqB,EAACC,cAAAC,GAAKpB,UAAU,oBAAoBH,GAEtCqB,EAAAC,cAACC,EAAI,MAGX"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/NavBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { navigateBack, getSystemInfoSync } from \"@tarojs/taro\";\nimport useCustomNavBar from \"@/hooks/useCustomNavbar\";\n\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type NavBarProps = {\n title: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n navBarBorder?: boolean;\n onBack?: () => void;\n} & XHComponentCommonProps;\n\n// 小程序中判断设备系统\nconst isMiniProgramIos =\n process.env.TARO_ENV !== \"h5\"\n ? getSystemInfoSync().platform === \"ios\"\n : false;\nconst NavBar: FC<NavBarProps> = props => {\n const {\n leftIcon = true,\n rightIcon = false,\n title,\n onBack,\n navBarBorder = false,\n className,\n } = props;\n\n const { navBarHeight, statusBar, buttonRight } = useCustomNavBar();\n\n function goBackPage() {\n onBack ? onBack() : navigateBack();\n }\n\n const wrapStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n height: `${navBarHeight}px`,\n paddingTop: `${statusBar}px`,\n };\n\n const backStyle =\n process.env.TARO_ENV === \"h5\"\n ? {}\n : {\n left: `${buttonRight}px`,\n };\n\n const NavBarCls = classNames(\"xh-nav-bar\", className, {\n h5: process.env.TARO_ENV === \"h5\",\n border: navBarBorder,\n });\n\n return (\n <View className={NavBarCls} style={wrapStyle}>\n <View\n className={classNames(\"xh-nav-bar-back\", { hidden: !leftIcon })}\n style={backStyle}\n onClick={goBackPage}\n ></View>\n <Text\n className={classNames(\"xh-nav-bar-title\", {\n isAndroid: !isMiniProgramIos,\n })}\n >\n {title}\n </Text>\n {process.env.TARO_ENV === \"h5\" && rightIcon && (\n <View className=\"xh-nav-bar-right\">{rightIcon}</View>\n )}\n <View />\n </View>\n );\n};\n\nexport default NavBar;\n"],"names":["isMiniProgramIos","process","env","TARO_ENV","getSystemInfoSync","platform","NavBar","props","_a","leftIcon","_b","rightIcon","title","onBack","_c","navBarBorder","className","_d","useCustomNavBar","navBarHeight","statusBar","buttonRight","wrapStyle","height","concat","paddingTop","backStyle","left","NavBarCls","classNames","h5","border","React","createElement","View","style","hidden","onClick","navigateBack","Text","isAndroid"],"mappings":"qNAkBA,IAAMA,EACqB,OAAzBC,QAAQC,IAAIC,UACyB,QAAjCC,IAAoBC,SAEpBC,EAA0B,SAAAC,GAE5B,IAAAC,EAMED,EAAKE,SANPA,OAAQ,IAAAD,GAAOA,EACfE,EAKEH,YALFI,cAAiBD,EACjBE,EAIEL,EAAKK,MAHPC,EAGEN,EAHIM,OACNC,EAEEP,EAAKQ,aAFPA,OAAY,IAAAD,GAAQA,EACpBE,EACET,YAEEU,EAA2CC,IAAzCC,EAAYF,EAAAE,aAAEC,EAASH,EAAAG,UAAEC,EAAWJ,EAAAI,YAM5C,IAAMC,EACqB,OAAzBrB,QAAQC,IAAIC,SACR,CAAE,EACF,CACEoB,OAAQ,GAAGC,OAAAL,EAAgB,MAC3BM,WAAY,GAAGD,OAAAJ,EAAa,OAG9BM,EACqB,OAAzBzB,QAAQC,IAAIC,SACR,CAAE,EACF,CACEwB,KAAM,GAAGH,OAAAH,EAAe,OAG1BO,EAAYC,EAAW,aAAcb,EAAW,CACpDc,GAA6B,OAAzB7B,QAAQC,IAAIC,SAChB4B,OAAQhB,IAGV,OACEiB,EAACC,cAAAC,EAAK,CAAAlB,UAAWY,EAAWO,MAAOb,GACjCU,EAACC,cAAAC,GACClB,UAAWa,EAAW,kBAAmB,CAAEO,QAAS3B,IACpD0B,MAAOT,EACPW,QA7BN,WACExB,EAASA,IAAWyB,GACrB,IA6BGN,EAAAC,cAACM,EACC,CAAAvB,UAAWa,EAAW,mBAAoB,CACxCW,WAAYxC,KAGbY,GAEuB,OAAzBX,QAAQC,IAAIC,UAAqBQ,GAChCqB,EAACC,cAAAC,GAAKlB,UAAU,oBAAoBL,GAEtCqB,EAAAC,cAACC,EAAI,MAGX"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Page/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View } from \"@tarojs/components\";\nimport classname from \"classnames\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\nimport Loading, { LoadingProps } from \"../Loading\";\nimport NavBar from \"../NavBar\";\n\nexport interface PageProps extends XHComponentCommonProps {\n loading?: boolean;\n mask?: LoadingProps[\"mask\"];\n tip?: ReactNode;\n loadingColor?: string;\n /**\n * @supported 小程序\n * @default false\n */\n customNavBar?: boolean;\n onBack?: () => void;\n title?: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n}\n\nconst Page: FC<PageProps> = props => {\n const {\n children,\n loading = false,\n className = \"\",\n mask = \"normal\",\n tip = \"加载中\",\n loadingColor = \"#FFF\",\n customNavBar = false,\n title = \"\",\n ...rest\n } = props;\n\n const classObj = classname(\"xh-page\", className, {\n flex: process.env.TARO_ENV !== \"h5\" && customNavBar,\n });\n\n return (\n <View className={classObj}>\n {process.env.TARO_ENV !== \"h5\" && customNavBar && (\n <NavBar title={title} {...rest} />\n )}\n {loading && (\n <View className=\"loading-wrapper\">\n <Loading mask={mask} tip={tip} color={loadingColor} />\n </View>\n )}\n {customNavBar && process.env.TARO_ENV !== \"h5\" ? (\n <View className=\"xh-page-content\">{children}</View>\n ) : (\n children\n )}\n </View>\n );\n};\n\nexport default Page;\n"],"names":["Page","props","children","_a","loading","_b","className","_c","mask","_d","tip","_e","loadingColor","_f","customNavBar","_g","title","rest","__rest","classObj","classname","flex","process","env","TARO_ENV","React","createElement","View","NavBar","Loading","color"],"mappings":"wOAwBM,IAAAA,EAAsB,SAAAC,GAExB,IAAAC,EASED,EAAKC,SARPC,EAQEF,EARaG,QAAfA,OAAU,IAAAD,GAAKA,EACfE,EAOEJ,EAAKK,UAPPA,aAAY,GAAED,EACdE,EAMEN,EANaO,KAAfA,OAAI,IAAAD,EAAG,SAAQA,EACfE,EAKER,MALFS,OAAM,IAAAD,EAAA,MAAKA,EACXE,EAIEV,eAJFW,OAAe,IAAAD,EAAA,SACfE,EAGEZ,EAAKa,aAHPA,OAAY,IAAAD,GAAQA,EACpBE,EAEEd,EAFQe,MAAVA,OAAQ,IAAAD,EAAA,GAAEA,EACPE,EACDC,EAAAjB,EAVE,CAAA,WAAA,UAAA,YAAA,OAAA,MAAA,eAAA,eAAA,UAYAkB,EAAWC,EAAU,UAAWd,EAAW,CAC/Ce,KAA+B,OAAzBC,QAAQC,IAAIC,UAAqBV,IAGzC,OACEW,EAACC,cAAAC,EAAK,CAAArB,UAAWa,GACW,OAAzBG,QAAQC,IAAIC,UAAqBV,GAChCW,EAACC,cAAAE,KAAOZ,MAAOA,GAAWC,IAE3Bb,GACCqB,EAAAC,cAACC,EAAK,CAAArB,UAAU,mBACdmB,EAAAC,cAACG,EAAO,CAACrB,KAAMA,EAAME,IAAKA,EAAKoB,MAAOlB,KAGzCE,GAAyC,OAAzBQ,QAAQC,IAAIC,SAC3BC,gBAACE,EAAI,CAACrB,UAAU,mBAAmBJ,GAEnC,EAIR"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Page/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View } from \"@tarojs/components\";\nimport classname from \"classnames\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\nimport Loading, { LoadingProps } from \"../Loading\";\nimport NavBar from \"../NavBar\";\n\nexport interface PageProps extends XHComponentCommonProps {\n loading?: boolean;\n mask?: LoadingProps[\"mask\"];\n tip?: ReactNode;\n loadingColor?: string;\n /**\n * @supported 小程序\n * @default false\n */\n customNavBar?: boolean;\n onBack?: () => void;\n title?: string;\n leftIcon?: boolean;\n rightIcon?: ReactNode;\n navBarBorder?: boolean;\n}\n\nconst Page: FC<PageProps> = props => {\n const {\n children,\n loading = false,\n className = \"\",\n mask = \"normal\",\n tip = \"加载中\",\n loadingColor = \"#FFF\",\n customNavBar = false,\n title = \"\",\n ...rest\n } = props;\n\n const classObj = classname(\"xh-page\", className, {\n flex: process.env.TARO_ENV !== \"h5\" && customNavBar,\n });\n\n return (\n <View className={classObj}>\n {process.env.TARO_ENV !== \"h5\" && customNavBar && (\n <NavBar title={title} {...rest} />\n )}\n {loading && (\n <View className=\"loading-wrapper\">\n <Loading mask={mask} tip={tip} color={loadingColor} />\n </View>\n )}\n {customNavBar && process.env.TARO_ENV !== \"h5\" ? (\n <View className=\"xh-page-content\">{children}</View>\n ) : (\n children\n )}\n </View>\n );\n};\n\nexport default Page;\n"],"names":["Page","props","children","_a","loading","_b","className","_c","mask","_d","tip","_e","loadingColor","_f","customNavBar","_g","title","rest","__rest","classObj","classname","flex","process","env","TARO_ENV","React","createElement","View","NavBar","Loading","color"],"mappings":"wOAyBM,IAAAA,EAAsB,SAAAC,GAExB,IAAAC,EASED,EAAKC,SARPC,EAQEF,EARaG,QAAfA,OAAU,IAAAD,GAAKA,EACfE,EAOEJ,EAAKK,UAPPA,aAAY,GAAED,EACdE,EAMEN,EANaO,KAAfA,OAAI,IAAAD,EAAG,SAAQA,EACfE,EAKER,MALFS,OAAM,IAAAD,EAAA,MAAKA,EACXE,EAIEV,eAJFW,OAAe,IAAAD,EAAA,SACfE,EAGEZ,EAAKa,aAHPA,OAAY,IAAAD,GAAQA,EACpBE,EAEEd,EAFQe,MAAVA,OAAQ,IAAAD,EAAA,GAAEA,EACPE,EACDC,EAAAjB,EAVE,CAAA,WAAA,UAAA,YAAA,OAAA,MAAA,eAAA,eAAA,UAYAkB,EAAWC,EAAU,UAAWd,EAAW,CAC/Ce,KAA+B,OAAzBC,QAAQC,IAAIC,UAAqBV,IAGzC,OACEW,EAACC,cAAAC,EAAK,CAAArB,UAAWa,GACW,OAAzBG,QAAQC,IAAIC,UAAqBV,GAChCW,EAACC,cAAAE,KAAOZ,MAAOA,GAAWC,IAE3Bb,GACCqB,EAAAC,cAACC,EAAK,CAAArB,UAAU,mBACdmB,EAAAC,cAACG,EAAO,CAACrB,KAAMA,EAAME,IAAKA,EAAKoB,MAAOlB,KAGzCE,GAAyC,OAAzBQ,QAAQC,IAAIC,SAC3BC,gBAACE,EAAI,CAACrB,UAAU,mBAAmBJ,GAEnC,EAIR"}
@@ -1,2 +1,2 @@
1
- import e from"react";import a from"classnames";import{RadioGroup as t}from"@tarojs/components";import l from"../src/hooks/useGenerateId.js";import r from"./Group/index.js";var o=function(r){var o=r.className,s=r.name,n=r.label,c=r.id,i=r.circle,m=void 0===i||i,d=r.onChange,p=r.align,u=r.direction,h=r.justify,v=r.checked,f=r.disabled,E=r.value,N=r.style,x=r.color,b=void 0===x?"#f6ab00":x,g=l(c,"xh-radio-id"),k=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==d||d(a,t)},y=a("xh-radio",o,p,u,h);return"h5"!==process.env.TARO_ENV?e.createElement(t,{onChange:k},e.createElement("label",{htmlFor:g,className:y,style:N},e.createElement("input",{type:"radio",id:g,name:s,className:a("xh-radio-input",{tt:"tt"===process.env.TARO_ENV}),onChange:k,disabled:f,value:E,checked:v,color:b}),e.createElement("span",{className:a("xh-radio-input-fake",m&&"circle",{tt:"tt"===process.env.TARO_ENV})}),e.createElement("span",{className:"xh-radio-label"},n))):e.createElement("label",{htmlFor:g,className:y,style:N},e.createElement("input",{type:"radio",id:g,name:s,className:"xh-radio-input",onChange:k,value:E,disabled:f,defaultChecked:v}),e.createElement("span",{className:a("xh-radio-input-fake",m&&"circle")}),e.createElement("span",{className:"xh-radio-label"},n))};o.Group=r;export{o 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,v=s.justify,f=s.checked,E=s.disabled,N=s.value,x=s.style,g=s.size,b=void 0===g?0:g,y=s.color,k=void 0===y?"#f6ab00":y,j=l(c,"xh-radio-id"),C=function(e){var a=f||!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)},R=a("xh-radio",i,p,u,v);return"h5"!==process.env.TARO_ENV?e.createElement(t,{onChange:C},e.createElement("label",{htmlFor:j,className:R,style:x},e.createElement("input",{type:"radio",id:j,name:o,className:a("xh-radio-input",{tt:"tt"===process.env.TARO_ENV}),onChange:C,disabled:E,value:N,checked:f,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})}),e.createElement("span",{className:"xh-radio-label"},n))):e.createElement("label",{htmlFor:j,className:R,style:x},e.createElement("input",{type:"radio",id:j,name:o,className:"xh-radio-input",onChange:C,value:N,disabled:E,defaultChecked:f}),e.createElement("span",{style:b>0?{width:r(b),height:r(b)}:{},className:a("xh-radio-input-fake",m&&"circle")}),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 { RadioGroup } from \"@tarojs/components\";\nimport useGenerateId from \"@/hooks/useGenerateId\";\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) => 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 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 color = \"#f6ab00\",\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 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 onChange={handleOnchange}\n disabled={disabled}\n value={value}\n checked={checked}\n color={color}\n />\n <span\n className={classNames(\"xh-radio-input-fake\", circle && \"circle\", {\n tt: process.env.TARO_ENV === \"tt\",\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 className={classNames(\"xh-radio-input-fake\", circle && \"circle\")}\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","color","finalId","useGenerateId","handleOnchange","e","finalchecked","process","env","TARO_ENV","target","detail","length","cls","classNames","React","createElement","RadioGroup","htmlFor","type","tt","defaultChecked","Group"],"mappings":"4KAqCA,IAkFMA,EAlF4B,SAAAC,GAE9B,IAAAC,EAcED,EAdOC,UACTC,EAaEF,EAbEE,KACJC,EAYEH,EAZGG,MACLC,EAWEJ,EAXAI,GACFC,EAUEL,EAAKM,OAVPA,cAAaD,EACbE,EASEP,EAAKO,SARPC,EAQER,EAAKQ,MAPPC,EAOET,EAAKS,UANPC,EAMEV,EAAKU,QALPC,EAKEX,EAAKW,QAJPC,EAIEZ,EAAKY,SAHPC,EAGEb,EAAKa,MAFPC,EAEEd,EAAKc,MADPC,EACEf,EADegB,MAAjBA,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAcd,EAAI,eAE5Be,EAAiB,SAAAC,GACrB,IAAIC,EAAeV,IAAW,EAC1BE,EAAQ,GACiB,OAAzBS,QAAQC,IAAIC,UACdH,EAAeD,EAAEK,OAAOd,QACxBE,EAAQO,EAAEK,OAAOZ,QAEjBQ,EAAeD,EAAEM,OAAOb,MAAMc,OAAS,EACvCd,EAAQO,EAAEM,OAAOb,OAEnBN,SAAAA,EAAWc,EAAcR,EAC3B,EAEMe,EAAMC,EAAW,WAAY5B,EAAWO,EAAOC,EAAWC,GAChE,MAA6B,OAAzBY,QAAQC,IAAIC,SAEZM,EAACC,cAAAC,EAAW,CAAAzB,SAAUY,GACpBW,EAAOC,cAAA,QAAA,CAAAE,QAAShB,EAAShB,UAAW2B,EAAKd,MAAOA,GAC9CgB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACL9B,GAAIa,EACJf,KAAMA,EACND,UAAW4B,EAAW,iBAAkB,CACtCM,GAA6B,OAAzBb,QAAQC,IAAIC,WAElBjB,SAAUY,EACVP,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTK,MAAOA,IAETc,EACEC,cAAA,OAAA,CAAA9B,UAAW4B,EAAW,sBAAuBvB,GAAU,SAAU,CAC/D6B,GAA6B,OAAzBb,QAAQC,IAAIC,aAGpBM,EAAMC,cAAA,OAAA,CAAA9B,UAAU,kBAAkBE,KAOxC2B,EAAAC,cAAA,QAAA,CAAOE,QAAShB,EAAShB,UAAW2B,EAAKd,MAAOA,GAC9CgB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACL9B,GAAIa,EACJf,KAAMA,EACND,UAAU,iBACVM,SAAUY,EACVN,MAAOA,EACPD,SAAUA,EACVwB,eAAgBzB,IAElBmB,EACEC,cAAA,OAAA,CAAA9B,UAAW4B,EAAW,sBAAuBvB,GAAU,YAEzDwB,EAAMC,cAAA,OAAA,CAAA9B,UAAU,kBAAkBE,GAGxC,EAGAJ,EAAMsC,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) => 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 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 } = props;\n\n const finalId = useGenerateId(id, \"xh-radio-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;\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 onChange={handleOnchange}\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 })}\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 && \"circle\")}\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","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":"gOAsCA,IAmGMA,EAnG4B,SAAAC,GAE9B,IAAAC,EAeED,YAdFE,EAcEF,EAAKE,KAbPC,EAaEH,EAAKG,MAZPC,EAYEJ,EAZAI,GACFC,EAWEL,SAXFM,cAAaD,EACbE,EAUEP,EAVMO,SACRC,EASER,QARFS,EAQET,EAAKS,UAPPC,EAOEV,EAAKU,QANPC,EAMEX,EANKW,QACPC,EAKEZ,EALMY,SACRC,EAIEb,QAHFc,EAGEd,QAFFe,EAEEf,EAFMgB,KAARA,OAAO,IAAAD,EAAA,IACPE,EACEjB,EADekB,MAAjBA,OAAQ,IAAAD,EAAA,YAGJE,EAAUC,EAAchB,EAAI,eAE5BiB,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,OAEnBN,SAAAA,EAAWgB,EAAcV,EAC3B,EAEMiB,EAAMC,EAAW,WAAY9B,EAAWO,EAAOC,EAAWC,GAChE,MAA6B,OAAzBc,QAAQC,IAAIC,SAEZM,EAACC,cAAAC,EAAW,CAAA3B,SAAUc,GACpBW,EAAOC,cAAA,QAAA,CAAAE,QAAShB,EAASlB,UAAW6B,EAAKhB,MAAOA,GAC9CkB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACLhC,GAAIe,EACJjB,KAAMA,EACND,UAAW8B,EAAW,iBAAkB,CACtCM,GAA6B,OAAzBb,QAAQC,IAAIC,WAElBnB,SAAUc,EACVT,SAAUA,EACVC,MAAOA,EACPF,QAASA,EACTO,MAAOA,IAETc,EAAAC,cAAA,OAAA,CACEnB,MACEE,EAAO,EACH,CACEsB,MAAOC,EAAYvB,GACnBwB,OAAQD,EAAYvB,IAEtB,CAAA,EAENf,UAAW8B,EAAW,sBAAuBzB,GAAU,SAAU,CAC/D+B,GAA6B,OAAzBb,QAAQC,IAAIC,aAGpBM,EAAMC,cAAA,OAAA,CAAAhC,UAAU,kBAAkBE,KAOxC6B,EAAAC,cAAA,QAAA,CAAOE,QAAShB,EAASlB,UAAW6B,EAAKhB,MAAOA,GAC9CkB,EAAAC,cAAA,QAAA,CACEG,KAAK,QACLhC,GAAIe,EACJjB,KAAMA,EACND,UAAU,iBACVM,SAAUc,EACVR,MAAOA,EACPD,SAAUA,EACV6B,eAAgB9B,IAElBqB,EAAAC,cAAA,OAAA,CACEnB,MACEE,EAAO,EACH,CACEsB,MAAOC,EAAYvB,GACnBwB,OAAQD,EAAYvB,IAEtB,CAAE,EAERf,UAAW8B,EAAW,sBAAuBzB,GAAU,YAEzD0B,EAAMC,cAAA,OAAA,CAAAhC,UAAU,kBAAkBE,GAGxC,EAGAJ,EAAM2C,MAAQA"}