taro-react-uilib 1.0.31 → 1.1.0
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 +27 -6
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ThemeProvider/index.js +2 -0
- package/dist/components/ThemeProvider/index.js.map +1 -0
- package/dist/components/src/index.js +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/styles/components/button.scss +17 -16
- package/dist/styles/components/dialog.scss +1 -1
- package/dist/styles/components/dialogref.scss +9 -5
- package/dist/styles/components/index.scss +1 -0
- package/dist/styles/components/themeprovider.scss +0 -0
- package/dist/styles/themes/default.scss +2 -1
- package/dist/styles/themes/variable.scss +2 -2
- package/lib/components/Button/index.js +3 -3
- package/lib/components/Button/index.js.map +1 -1
- package/lib/components/ThemeProvider/index.js +28 -0
- package/lib/components/ThemeProvider/index.js.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/types/components/Button/index.d.ts +2 -1
- package/types/components/Theme/index.d.ts +27 -0
- package/types/components/ThemeProvider/index.d.ts +27 -0
- package/types/index.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# [1.1.0](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.0.31...v1.1.0) (2023-04-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* 主题组件新增 ([79d796c](https://code.xhdev.xyz/h5group/taro-uilib/commits/79d796ce4bc269a2ead087727cf14564e8b19817))
|
|
7
|
+
* 导出theme组件 ([f95c875](https://code.xhdev.xyz/h5group/taro-uilib/commits/f95c87522b609125a804d30dc7671e2421d8c49d))
|
|
8
|
+
* 新增主题组件 ([7c9066c](https://code.xhdev.xyz/h5group/taro-uilib/commits/7c9066c61a0fef94eea651aba6b4df7283971492))
|
|
9
|
+
* 新增主题组件 ([529b142](https://code.xhdev.xyz/h5group/taro-uilib/commits/529b142d93f685b1639cea3fc6aa3c8f9f972312))
|
|
10
|
+
* 添加主题的支持 ([f1c1658](https://code.xhdev.xyz/h5group/taro-uilib/commits/f1c16583a23ecd4f210fb350889b427c561939c3))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
1
14
|
## [1.0.31](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.0.30...v1.0.31) (2023-03-17)
|
|
2
15
|
|
|
3
16
|
|
|
@@ -45,7 +58,7 @@
|
|
|
45
58
|
|
|
46
59
|
|
|
47
60
|
|
|
48
|
-
## [1.0.27](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.0.
|
|
61
|
+
## [1.0.27](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.0.24...v1.0.27) (2022-12-05)
|
|
49
62
|
|
|
50
63
|
|
|
51
64
|
### Bug Fixes
|
|
@@ -58,9 +71,17 @@
|
|
|
58
71
|
|
|
59
72
|
* forminput width 100% ([56586d6](https://code.xhdev.xyz/h5group/taro-uilib/commits/56586d6d8d6576f0e9b25b2cbe1294c35c5fee02))
|
|
60
73
|
* forminput width 100% ([cb368ee](https://code.xhdev.xyz/h5group/taro-uilib/commits/cb368ee6f0445cf777ef5b4c974a64d351e82b66))
|
|
74
|
+
* input的typescript问题 ([cb06bf5](https://code.xhdev.xyz/h5group/taro-uilib/commits/cb06bf581006ac671e7c9d13884194f82bbf4b0e))
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## [1.0.24](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.0.23...v1.0.24) (2022-11-16)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
61
83
|
* input ref处理 ([eeb9be4](https://code.xhdev.xyz/h5group/taro-uilib/commits/eeb9be4e213ac50c6783a3d502311793027f51fd))
|
|
62
84
|
* input ref处理 ([e899e62](https://code.xhdev.xyz/h5group/taro-uilib/commits/e899e62658789bc1ff0d62af350801f83ae6a84d))
|
|
63
|
-
* input的typescript问题 ([cb06bf5](https://code.xhdev.xyz/h5group/taro-uilib/commits/cb06bf581006ac671e7c9d13884194f82bbf4b0e))
|
|
64
85
|
|
|
65
86
|
|
|
66
87
|
|
|
@@ -70,6 +91,10 @@
|
|
|
70
91
|
### Features
|
|
71
92
|
|
|
72
93
|
* toast 增加hide回调 ([bad7c55](https://code.xhdev.xyz/h5group/taro-uilib/commits/bad7c55e9ca3ab41d9af8d3a946794d9e2200aed))
|
|
94
|
+
* 修复button存在的内存泄露问题 ([72494d8](https://code.xhdev.xyz/h5group/taro-uilib/commits/72494d877289a443e593a868c53a9e3fb86c0938))
|
|
95
|
+
* 修复button存在的内存泄露问题 ([41853b4](https://code.xhdev.xyz/h5group/taro-uilib/commits/41853b49910fc4f5c99107ddc23649bab61334fc))
|
|
96
|
+
* 修复button存在的内存泄露问题 ([59fe743](https://code.xhdev.xyz/h5group/taro-uilib/commits/59fe743744553ae213f8c43237d67a1a68230f77))
|
|
97
|
+
* 修复button存在的内存泄露问题 ([3beb7a8](https://code.xhdev.xyz/h5group/taro-uilib/commits/3beb7a82cbbb248c5ca9bd9e973af68548111510))
|
|
73
98
|
* 借款组件适配 ([3970d31](https://code.xhdev.xyz/h5group/taro-uilib/commits/3970d3135c682fe75b40b6756542ac7ce46c0920))
|
|
74
99
|
|
|
75
100
|
|
|
@@ -86,10 +111,6 @@
|
|
|
86
111
|
* picker开发 ([ff67009](https://code.xhdev.xyz/h5group/taro-uilib/commits/ff67009dc98e504cddb2cd8a677f63ea45118ade))
|
|
87
112
|
* react-transition-group不能外置 ([4854208](https://code.xhdev.xyz/h5group/taro-uilib/commits/48542088e18826043f683d472fdf8432328a63b9))
|
|
88
113
|
* v21 ([168a9d6](https://code.xhdev.xyz/h5group/taro-uilib/commits/168a9d630de84f0d50ed478ddcebf6e6f0775983))
|
|
89
|
-
* 修复button存在的内存泄露问题 ([72494d8](https://code.xhdev.xyz/h5group/taro-uilib/commits/72494d877289a443e593a868c53a9e3fb86c0938))
|
|
90
|
-
* 修复button存在的内存泄露问题 ([41853b4](https://code.xhdev.xyz/h5group/taro-uilib/commits/41853b49910fc4f5c99107ddc23649bab61334fc))
|
|
91
|
-
* 修复button存在的内存泄露问题 ([59fe743](https://code.xhdev.xyz/h5group/taro-uilib/commits/59fe743744553ae213f8c43237d67a1a68230f77))
|
|
92
|
-
* 修复button存在的内存泄露问题 ([3beb7a8](https://code.xhdev.xyz/h5group/taro-uilib/commits/3beb7a82cbbb248c5ca9bd9e973af68548111510))
|
|
93
114
|
|
|
94
115
|
|
|
95
116
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useRef as o,useEffect as r}from"react";import
|
|
1
|
+
import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useRef as o,useEffect as r}from"react";import s from"classnames";import{Button as a}from"@tarojs/components";import{useTaroEnv as i}from"../src/hooks/index.js";var u=function(u){var l=u.disabled,m=void 0!==l&&l,d=u.type,p=void 0===d?"default":d,c=u.size,h=void 0===c?"normal":c,b=u.shape,f=void 0===b?"round":b,g=u.children,x=u.className,y=u.htmlType,v=u.formType,P=u.text,T=u.openType,E=u.lang,M=u.sessionFrom,C=u.sendMessageTitle,w=u.sendMessagePath,I=u.sendMessageImg,N=u.showMessageCard,k=u.appParameter,G=u.onGetUserInfo,j=u.onGetPhoneNumber,W=u.onOpenSetting,q=u.onError,A=u.onContact,F=u.onClick,O=u.preventTime,S=void 0===O?2500:O,U=u.style,z=i(),B=e(n(!1),2),D=B[0],_=B[1],H=o(),J=s("xh-button",{"xh-button-default":"default"===p,"xh-button-primary":"primary"===p,"xh-button-secondary":"secondary"===p,"xh-button-ghost":"ghost"===p,"xh-button-warn":"warn"===p,"xh-button-square":"square"===f,"xh-button-round":"round"===f,"xh-button-rectangle":"rectangle"===f,"xh-button-normal":"normal"===h,"xh-button-small":"mini"===h,"xh-button-full":"full"===h,"xh-button-disabled":m,"xh-button-webutton":"WEAPP"===z},x),K=function(e){"WEB"===z&&e.nativeEvent.stopImmediatePropagation(),e.preventDefault(),D&&0!==S||(0!==S&&(H.current=setTimeout((function(){_(!1),clearTimeout(H.current)}),S)),0!==S&&_(!0),F&&F(e))};r((function(){return function(){clearTimeout(H.current)}}),[]);var L=t.createElement(a,{className:J,formType:v,openType:T,lang:E,type:p,sessionFrom:M,sendMessageTitle:C,sendMessagePath:w,sendMessageImg:I,showMessageCard:N,appParameter:k,onGetUserInfo:G,onGetPhoneNumber:j,onOpenSetting:W,onError:q,onContact:A,onClick:K,disabled:m,style:U},g);return"WEAPP"===z?L:t.createElement("button",{className:J,disabled:m,type:y,onClick:m?void 0:K,style:U},g||P)};export{u as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n FC,\n MouseEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { Button } from \"@tarojs/components\";\nimport { ButtonProps } from \"@tarojs/components/types/Button\";\nimport {\n ITouchEvent,\n TouchEventFunction,\n} from \"@tarojs/components/types/common\";\n\nimport { useTaroEnv } from \"../../hooks\";\nimport \"./index.scss\";\n\nexport type ButtonType = \"default\" | \"secondary\" | \"primary\" | \"warn\" | \"ghost\";\n\nexport type ButtonShape = \"square\" | \"round\" | \"rectangle\";\n\nexport type ButtonSize = \"default\" | \"mini\" | \"full\";\n\nexport type WechatOpenType =\n | \"contact\"\n /** 触发用户转发,使用前建议先阅读使用指引\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95\n */\n | \"share\"\n /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html\n */\n | \"getPhoneNumber\"\n /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */\n | \"getUserInfo\"\n /** 用户实名信息授权,已经弃用 */\n | \"getRealnameAuthInfo\"\n /** 打开APP,可以通过app-parameter属性设定向APP传的参数\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html\n */\n | \"launchApp\"\n /** 打开授权设置页 */\n | \"openSetting\"\n /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */\n | \"feedback\";\nexport type XhButtonProps = {\n htmlType?: \"button\" | \"submit\" | \"reset\";\n type?: ButtonType;\n size?: ButtonSize;\n shape?: ButtonShape;\n disabled?: boolean;\n className?: string;\n styleName?: string;\n text?: string;\n preventTime?: number;\n onClick?: (e: ITouchEvent | MouseEvent) => void;\n} & Omit<ButtonProps, \"type\" | \"size\">;\n\nconst XhButton: FC<XhButtonProps> = props => {\n const {\n disabled = false,\n type = \"default\",\n size = \"normal\",\n shape = \"round\",\n children,\n className,\n htmlType,\n formType,\n text,\n openType,\n lang,\n sessionFrom,\n sendMessageTitle,\n sendMessagePath,\n sendMessageImg,\n showMessageCard,\n appParameter,\n onGetUserInfo,\n onGetPhoneNumber,\n onOpenSetting,\n onError,\n onContact,\n onClick,\n preventTime = 2500,\n } = props;\n const state = useTaroEnv();\n const [preventClick, setPreventClick] = useState(false);\n const timer = useRef<NodeJS.Timeout | undefined>();\n const classObj = classNames(\n \"xh-button\",\n {\n \"xh-button-default\": type === \"default\",\n \"xh-button-primary\": type === \"primary\",\n \"xh-button-secondary\": type === \"secondary\",\n \"xh-button-ghost\": type === \"ghost\",\n \"xh-button-warn\": type === \"warn\",\n \"xh-button-square\": shape === \"square\",\n \"xh-button-round\": shape === \"round\",\n \"xh-button-rectangle\": shape === \"rectangle\",\n \"xh-button-normal\": size === \"normal\",\n \"xh-button-small\": size === \"mini\",\n \"xh-button-full\": size === \"full\",\n \"xh-button-disabled\": disabled,\n \"xh-button-webutton\": state === \"WEAPP\",\n },\n className\n );\n\n const handleClick: MouseEventHandler & TouchEventFunction = e => {\n state === \"WEB\" && e.nativeEvent.stopImmediatePropagation();\n e.preventDefault();\n\n if (preventClick && preventTime !== 0) {\n console.log(\"重复点击\");\n return;\n }\n if (preventTime !== 0) {\n timer.current = setTimeout(() => {\n setPreventClick(false);\n clearTimeout(timer.current);\n }, preventTime);\n }\n if (preventTime !== 0) setPreventClick(true);\n console.log(\"正常点击\");\n onClick && onClick(e);\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n\n const weButton = (\n <Button\n className={classObj}\n formType={formType}\n openType={openType}\n lang={lang}\n type={type as ButtonProps[\"type\"]}\n sessionFrom={sessionFrom}\n sendMessageTitle={sendMessageTitle}\n sendMessagePath={sendMessagePath}\n sendMessageImg={sendMessageImg}\n showMessageCard={showMessageCard}\n appParameter={appParameter}\n onGetUserInfo={onGetUserInfo}\n onGetPhoneNumber={onGetPhoneNumber}\n onOpenSetting={onOpenSetting}\n onError={onError}\n onContact={onContact}\n onClick={handleClick}\n disabled={disabled}\n >\n {children}\n </Button>\n );\n\n if (state === \"WEAPP\") {\n return weButton;\n }\n\n return (\n // eslint-disable-next-line react/button-has-type\n <button\n className={classObj}\n disabled={disabled}\n type={htmlType}\n onClick={disabled ? undefined : handleClick}\n >\n {children || text}\n </button>\n );\n};\n\nexport default XhButton;\n"],"names":["XhButton","props","_a","disabled","_b","type","_c","size","_d","shape","children","className","htmlType","formType","text","openType","lang","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","appParameter","onGetUserInfo","onGetPhoneNumber","onOpenSetting","onError","onContact","onClick","_e","preventTime","state","useTaroEnv","_f","__read","useState","preventClick","setPreventClick","timer","useRef","classObj","classNames","handleClick","e","nativeEvent","stopImmediatePropagation","preventDefault","current","setTimeout","clearTimeout","useEffect","weButton","React","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n FC,\n MouseEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { Button } from \"@tarojs/components\";\nimport { ButtonProps } from \"@tarojs/components/types/Button\";\nimport {\n ITouchEvent,\n TouchEventFunction,\n} from \"@tarojs/components/types/common\";\n\nimport { useTaroEnv } from \"../../hooks\";\nimport \"./index.scss\";\n\nexport type ButtonType = \"default\" | \"secondary\" | \"primary\" | \"warn\" | \"ghost\";\n\nexport type ButtonShape = \"square\" | \"round\" | \"rectangle\";\n\nexport type ButtonSize = \"default\" | \"mini\" | \"full\";\n\nexport type WechatOpenType =\n | \"contact\"\n /** 触发用户转发,使用前建议先阅读使用指引\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95\n */\n | \"share\"\n /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html\n */\n | \"getPhoneNumber\"\n /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */\n | \"getUserInfo\"\n /** 用户实名信息授权,已经弃用 */\n | \"getRealnameAuthInfo\"\n /** 打开APP,可以通过app-parameter属性设定向APP传的参数\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html\n */\n | \"launchApp\"\n /** 打开授权设置页 */\n | \"openSetting\"\n /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */\n | \"feedback\";\nexport type XhButtonProps = {\n htmlType?: \"button\" | \"submit\" | \"reset\";\n type?: ButtonType;\n size?: ButtonSize;\n shape?: ButtonShape;\n disabled?: boolean;\n className?: string;\n styleName?: string;\n text?: string;\n preventTime?: number;\n onClick?: (e: ITouchEvent | MouseEvent) => void;\n style?: React.CSSProperties;\n} & Omit<ButtonProps, \"type\" | \"size\">;\n\nconst XhButton: FC<XhButtonProps> = props => {\n const {\n disabled = false,\n type = \"default\",\n size = \"normal\",\n shape = \"round\",\n children,\n className,\n htmlType,\n formType,\n text,\n openType,\n lang,\n sessionFrom,\n sendMessageTitle,\n sendMessagePath,\n sendMessageImg,\n showMessageCard,\n appParameter,\n onGetUserInfo,\n onGetPhoneNumber,\n onOpenSetting,\n onError,\n onContact,\n onClick,\n preventTime = 2500,\n style,\n } = props;\n const state = useTaroEnv();\n const [preventClick, setPreventClick] = useState(false);\n const timer = useRef<NodeJS.Timeout | undefined>();\n const classObj = classNames(\n \"xh-button\",\n {\n \"xh-button-default\": type === \"default\",\n \"xh-button-primary\": type === \"primary\",\n \"xh-button-secondary\": type === \"secondary\",\n \"xh-button-ghost\": type === \"ghost\",\n \"xh-button-warn\": type === \"warn\",\n \"xh-button-square\": shape === \"square\",\n \"xh-button-round\": shape === \"round\",\n \"xh-button-rectangle\": shape === \"rectangle\",\n \"xh-button-normal\": size === \"normal\",\n \"xh-button-small\": size === \"mini\",\n \"xh-button-full\": size === \"full\",\n \"xh-button-disabled\": disabled,\n \"xh-button-webutton\": state === \"WEAPP\",\n },\n className\n );\n\n const handleClick: MouseEventHandler & TouchEventFunction = e => {\n state === \"WEB\" && e.nativeEvent.stopImmediatePropagation();\n e.preventDefault();\n\n if (preventClick && preventTime !== 0) {\n console.log(\"重复点击\");\n return;\n }\n if (preventTime !== 0) {\n timer.current = setTimeout(() => {\n setPreventClick(false);\n clearTimeout(timer.current);\n }, preventTime);\n }\n if (preventTime !== 0) setPreventClick(true);\n console.log(\"正常点击\");\n onClick && onClick(e);\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n\n const weButton = (\n <Button\n className={classObj}\n formType={formType}\n openType={openType}\n lang={lang}\n type={type as ButtonProps[\"type\"]}\n sessionFrom={sessionFrom}\n sendMessageTitle={sendMessageTitle}\n sendMessagePath={sendMessagePath}\n sendMessageImg={sendMessageImg}\n showMessageCard={showMessageCard}\n appParameter={appParameter}\n onGetUserInfo={onGetUserInfo}\n onGetPhoneNumber={onGetPhoneNumber}\n onOpenSetting={onOpenSetting}\n onError={onError}\n onContact={onContact}\n onClick={handleClick}\n disabled={disabled}\n style={style}\n >\n {children}\n </Button>\n );\n\n if (state === \"WEAPP\") {\n return weButton;\n }\n\n return (\n // eslint-disable-next-line react/button-has-type\n <button\n className={classObj}\n disabled={disabled}\n type={htmlType}\n onClick={disabled ? undefined : handleClick}\n style={style}\n >\n {children || text}\n </button>\n );\n};\n\nexport default XhButton;\n"],"names":["XhButton","props","_a","disabled","_b","type","_c","size","_d","shape","children","className","htmlType","formType","text","openType","lang","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","appParameter","onGetUserInfo","onGetPhoneNumber","onOpenSetting","onError","onContact","onClick","_e","preventTime","style","state","useTaroEnv","_f","__read","useState","preventClick","setPreventClick","timer","useRef","classObj","classNames","handleClick","e","nativeEvent","stopImmediatePropagation","preventDefault","current","setTimeout","clearTimeout","useEffect","weButton","React","Button","createElement","undefined"],"mappings":"oPA4DM,IAAAA,EAA8B,SAAAC,GAEhC,IAAAC,EAyBED,EAzBcE,SAAhBA,OAAW,IAAAD,GAAKA,EAChBE,EAwBEH,EAxBcI,KAAhBA,OAAO,IAAAD,EAAA,UAASA,EAChBE,EAuBEL,EAvBaM,KAAfA,OAAO,IAAAD,EAAA,SAAQA,EACfE,EAsBEP,EAAKQ,MAtBPA,aAAQ,QAAOD,EACfE,EAqBET,EArBMS,SACRC,EAoBEV,EApBOU,UACTC,EAmBEX,EAAKW,SAlBPC,EAkBEZ,EAAKY,SAjBPC,EAiBEb,OAhBFc,EAgBEd,WAfFe,EAeEf,OAdFgB,EAcEhB,EAdSgB,YACXC,EAaEjB,EAbciB,iBAChBC,EAYElB,EAAKkB,gBAXPC,EAWEnB,EAAKmB,eAVPC,EAUEpB,EAVaoB,gBACfC,EASErB,EATUqB,aACZC,EAQEtB,EARWsB,cACbC,EAOEvB,EAPcuB,iBAChBC,EAMExB,EAAKwB,cALPC,EAKEzB,EAAKyB,QAJPC,EAIE1B,YAHF2B,EAGE3B,EAHK2B,QACPC,EAEE5B,cAFF6B,OAAc,IAAAD,EAAA,OACdE,EACE9B,QACE+B,EAAQC,IACRC,EAAAC,EAAkCC,GAAS,GAAM,GAAhDC,EAAYH,EAAA,GAAEI,OACfC,EAAQC,IACRC,EAAWC,EACf,YACA,CACE,oBAA8B,YAATrC,EACrB,oBAA8B,YAATA,EACrB,sBAAgC,cAATA,EACvB,kBAA4B,UAATA,EACnB,iBAA2B,SAATA,EAClB,mBAA8B,WAAVI,EACpB,kBAA6B,UAAVA,EACnB,sBAAiC,cAAVA,EACvB,mBAA6B,WAATF,EACpB,kBAA4B,SAATA,EACnB,iBAA2B,SAATA,EAClB,qBAAsBJ,EACtB,qBAAgC,UAAV6B,GAExBrB,GAGIgC,EAAsD,SAAAC,GAChD,QAAVZ,GAAmBY,EAAEC,YAAYC,2BACjCF,EAAEG,iBAEEV,GAAgC,IAAhBP,IAIA,IAAhBA,IACFS,EAAMS,QAAUC,YAAW,WACzBX,GAAgB,GAChBY,aAAaX,EAAMS,QACpB,GAAElB,IAEe,IAAhBA,GAAmBQ,GAAgB,GAEvCV,GAAWA,EAAQgB,GACrB,EAEAO,GAAU,WACR,OAAO,WACLD,aAAaX,EAAMS,QACrB,CACD,GAAE,IAEH,IAAMI,EACJC,gBAACC,EAAM,CACL3C,UAAW8B,EACX5B,SAAUA,EACVE,SAAUA,EACVC,KAAMA,EACNX,KAAMA,EACNY,YAAaA,EACbC,iBAAkBA,EAClBC,gBAAiBA,EACjBC,eAAgBA,EAChBC,gBAAiBA,EACjBC,aAAcA,EACdC,cAAeA,EACfC,iBAAkBA,EAClBC,cAAeA,EACfC,QAASA,EACTC,UAAWA,EACXC,QAASe,EACTxC,SAAUA,EACV4B,MAAOA,GAENrB,GAIL,MAAc,UAAVsB,EACKoB,EAKPC,EAAAE,cAAA,SAAA,CACE5C,UAAW8B,EACXtC,SAAUA,EACVE,KAAMO,EACNgB,QAASzB,OAAWqD,EAAYb,EAChCZ,MAAOA,GAENrB,GAAYI,EAGnB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign as e}from"../node_modules/tslib/tslib.es6.js";import t,{createContext as r}from"react";var o=r(e({},{})),n=function(e){var r=e.children,n=e.value,l=e.scoped,c=r;return void 0!==l&&l?c=t.Children.map(r,(function(e,r){return 0===r?t.cloneElement(e,{style:n}):e})):Object.keys(n).forEach((function(e){document.body.style.setProperty(e,n[e])})),t.createElement(o.Provider,{value:n},c)};export{o as ThemeContext,n as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ThemeProvider/index.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\n\nexport type ThemeValue = {\n \"--color-primary\"?: string;\n \"--color-primary-dark\"?: string;\n \"--color-primary-reverse\"?: string;\n \"--color-disabled\"?: string;\n \"--color-warning\"?: string;\n \"--color-warning-light\"?: string;\n \"--background-color\"?: string;\n \"--body-background-color\"?: string;\n \"--font-color\"?: string;\n \"--font-color-secondary\"?: string;\n \"--font-color-tertiary\"?: string;\n \"--border-color\"?: string;\n \"--btn-color\"?: string;\n \"--btn-shadow-primary\"?: string;\n \"--mask-color\"?: string;\n};\n\nexport type ThemeProviderProps = {\n value: ThemeValue;\n scoped?: boolean;\n};\n\nconst createTheme = (theme: { [key: string]: string }) => {\n return createContext({ ...theme });\n};\n\nexport const ThemeContext = createTheme({});\n\nconst ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n value,\n scoped = false,\n}) => {\n let clonedElement = children;\n if (!scoped) {\n Object.keys(value).forEach(key => {\n document.body.style.setProperty(key, value[key]);\n });\n } else {\n clonedElement = React.Children.map(children, (child, index) => {\n if (index === 0) {\n return React.cloneElement(child as any, {\n style: value,\n });\n } else {\n return child;\n }\n });\n }\n\n return (\n <ThemeContext.Provider value={value}>{clonedElement}</ThemeContext.Provider>\n );\n};\n\nexport default ThemeProvider;\n"],"names":["ThemeContext","createContext","__assign","ThemeProvider","_a","children","value","_b","clonedElement","React","Children","map","child","index","cloneElement","style","Object","keys","forEach","key","document","body","setProperty","createElement","Provider"],"mappings":"uGAyBA,IAIaA,EAHJC,EAAaC,EAAA,GAGkB,KAElCC,EAA8C,SAACC,OACnDC,EAAQD,EAAAC,SACRC,EAAKF,EAAAE,MACLC,WAEIC,EAAgBH,EAiBpB,YAnBS,IAAAE,GAAKA,EAQZC,EAAgBC,EAAMC,SAASC,IAAIN,GAAU,SAACO,EAAOC,GACnD,OAAc,IAAVA,EACKJ,EAAMK,aAAaF,EAAc,CACtCG,MAAOT,IAGFM,CAEX,IAZAI,OAAOC,KAAKX,GAAOY,SAAQ,SAAAC,GACzBC,SAASC,KAAKN,MAAMO,YAAYH,EAAKb,EAAMa,GAC7C,IAcAV,EAAAc,cAACvB,EAAawB,SAAQ,CAAClB,MAAOA,GAAQE,EAE1C"}
|
|
@@ -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";
|
|
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 ThemeProvider}from"../ThemeProvider/index.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|