@xhsreds/reds-rn-next 0.0.4 → 0.0.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.
Files changed (126) hide show
  1. package/coverage/coverage-final.json +13 -13
  2. package/lib/cjs/components/Button/index.js +2 -2
  3. package/lib/cjs/components/Button/index.js.map +1 -1
  4. package/lib/cjs/components/Button/interface/index.js +7 -0
  5. package/lib/cjs/components/Button/interface/index.js.map +1 -1
  6. package/lib/cjs/components/ConfigProvider/ConfigProvider.js +39 -7
  7. package/lib/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  8. package/lib/cjs/components/ConfigProvider/index.js +2 -2
  9. package/lib/cjs/components/ConfigProvider/interface/index.js +17 -0
  10. package/lib/cjs/components/ConfigProvider/interface/index.js.map +1 -1
  11. package/lib/cjs/components/Popover/hook.js.map +1 -1
  12. package/lib/cjs/components/Popover/interface/index.js +2 -3
  13. package/lib/cjs/components/Popover/interface/index.js.map +1 -1
  14. package/lib/cjs/components/Switch/index.js +1 -1
  15. package/lib/cjs/components/Switch/index.js.map +1 -1
  16. package/lib/cjs/components/Switch/interface/index.js +2 -2
  17. package/lib/cjs/components/Switch/interface/index.js.map +1 -1
  18. package/lib/cjs/index.js +4 -2
  19. package/lib/cjs/index.js.map +1 -1
  20. package/lib/esm/components/Button/index.js +2 -2
  21. package/lib/esm/components/Button/index.js.map +1 -1
  22. package/lib/esm/components/Button/interface/index.js +7 -1
  23. package/lib/esm/components/Button/interface/index.js.map +1 -1
  24. package/lib/esm/components/ConfigProvider/ConfigProvider.js +41 -5
  25. package/lib/esm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  26. package/lib/esm/components/ConfigProvider/index.js +1 -1
  27. package/lib/esm/components/ConfigProvider/interface/index.js +17 -1
  28. package/lib/esm/components/ConfigProvider/interface/index.js.map +1 -1
  29. package/lib/esm/components/Popover/hook.js.map +1 -1
  30. package/lib/esm/components/Popover/interface/index.js +2 -3
  31. package/lib/esm/components/Popover/interface/index.js.map +1 -1
  32. package/lib/esm/components/Switch/index.js +2 -2
  33. package/lib/esm/components/Switch/index.js.map +1 -1
  34. package/lib/esm/components/Switch/interface/index.js +2 -2
  35. package/lib/esm/components/Switch/interface/index.js.map +1 -1
  36. package/lib/esm/index.js +2 -1
  37. package/lib/esm/index.js.map +1 -1
  38. package/lib/types/packages/reds-rn/src/components/Button/demo/index.d.ts +2 -0
  39. package/lib/types/packages/reds-rn/src/components/Button/index.d.ts +3 -0
  40. package/lib/types/{src → packages/reds-rn/src}/components/Button/interface/index.d.ts +1 -0
  41. package/lib/types/packages/reds-rn/src/components/Button/test/index.bench.d.ts +1 -0
  42. package/lib/types/packages/reds-rn/src/components/Button/test/index.test.d.ts +1 -0
  43. package/lib/types/packages/reds-rn/src/components/ConfigProvider/ConfigProvider.d.ts +4 -0
  44. package/lib/types/packages/reds-rn/src/components/ConfigProvider/demo/index.d.ts +2 -0
  45. package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/index.d.ts +1 -1
  46. package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/interface/index.d.ts +1 -0
  47. package/lib/types/packages/reds-rn/src/components/ConfigProvider/test/index.bench.d.ts +1 -0
  48. package/lib/types/packages/reds-rn/src/components/ConfigProvider/test/index.test.d.ts +1 -0
  49. package/lib/types/packages/reds-rn/src/components/Popover/demo/index.d.ts +2 -0
  50. package/lib/types/{src → packages/reds-rn/src}/components/Popover/hook.d.ts +2 -1
  51. package/lib/types/{src → packages/reds-rn/src}/components/Popover/interface/index.d.ts +2 -2
  52. package/lib/types/packages/reds-rn/src/components/Popover/test/index.bench.d.ts +1 -0
  53. package/lib/types/packages/reds-rn/src/components/Popover/test/index.test.d.ts +1 -0
  54. package/lib/types/packages/reds-rn/src/components/Switch/demo/index.d.ts +2 -0
  55. package/lib/types/{src → packages/reds-rn/src}/components/Switch/interface/index.d.ts +3 -3
  56. package/lib/types/packages/reds-rn/src/components/Switch/test/index.bench.d.ts +1 -0
  57. package/lib/types/packages/reds-rn/src/components/Switch/test/index.test.d.ts +1 -0
  58. package/lib/types/{src → packages/reds-rn/src}/index.d.ts +1 -0
  59. package/lib/types/utils/redsBench.d.ts +3 -0
  60. package/package.json +3 -3
  61. package/src/components/Button/demo/index.tsx +6 -6
  62. package/src/components/Button/index.tsx +3 -1
  63. package/src/components/Button/interface/index.ts +6 -0
  64. package/src/components/Button/test/index.bench.tsx +1 -1
  65. package/src/components/Button/test/index.test.tsx +0 -1
  66. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  67. package/src/components/ConfigProvider/demo/index.tsx +8 -8
  68. package/src/components/ConfigProvider/index.ts +1 -1
  69. package/src/components/ConfigProvider/interface/index.ts +16 -0
  70. package/src/components/ConfigProvider/test/index.bench.tsx +1 -1
  71. package/src/components/Popover/demo/index.tsx +2 -2
  72. package/src/components/Popover/doc/index.mdx +11 -11
  73. package/src/components/Popover/hook.ts +2 -1
  74. package/src/components/Popover/interface/index.ts +2 -3
  75. package/src/components/Switch/demo/index.tsx +4 -3
  76. package/src/components/Switch/doc/index.mdx +4 -4
  77. package/src/components/Switch/index.tsx +2 -2
  78. package/src/components/Switch/interface/index.ts +4 -5
  79. package/src/index.ts +2 -0
  80. package/tsconfig.json +6 -2
  81. package/lib/cjs/_chunks/DiJl2cva.js +0 -49
  82. package/lib/cjs/_chunks/DiJl2cva.js.map +0 -1
  83. package/lib/cjs/components/NN/index.js +0 -83
  84. package/lib/cjs/components/NN/index.js.map +0 -1
  85. package/lib/cjs/components/NN/interface/index.js +0 -13
  86. package/lib/cjs/components/NN/interface/index.js.map +0 -1
  87. package/lib/cjs/components/NNNN/index.js +0 -83
  88. package/lib/cjs/components/NNNN/index.js.map +0 -1
  89. package/lib/cjs/components/NNNN/interface/index.js +0 -13
  90. package/lib/cjs/components/NNNN/interface/index.js.map +0 -1
  91. package/lib/cjs/components/PP/index.js +0 -83
  92. package/lib/cjs/components/PP/index.js.map +0 -1
  93. package/lib/cjs/components/PP/interface/index.js +0 -14
  94. package/lib/cjs/components/PP/interface/index.js.map +0 -1
  95. package/lib/esm/_chunks/Br6Ked0G.js +0 -46
  96. package/lib/esm/_chunks/Br6Ked0G.js.map +0 -1
  97. package/lib/esm/components/NN/index.js +0 -79
  98. package/lib/esm/components/NN/index.js.map +0 -1
  99. package/lib/esm/components/NN/interface/index.js +0 -11
  100. package/lib/esm/components/NN/interface/index.js.map +0 -1
  101. package/lib/esm/components/NNNN/index.js +0 -79
  102. package/lib/esm/components/NNNN/index.js.map +0 -1
  103. package/lib/esm/components/NNNN/interface/index.js +0 -11
  104. package/lib/esm/components/NNNN/interface/index.js.map +0 -1
  105. package/lib/esm/components/PP/index.js +0 -79
  106. package/lib/esm/components/PP/index.js.map +0 -1
  107. package/lib/esm/components/PP/interface/index.js +0 -12
  108. package/lib/esm/components/PP/interface/index.js.map +0 -1
  109. package/lib/types/src/components/Button/index.d.ts +0 -4
  110. package/lib/types/src/components/ConfigProvider/ConfigProvider.d.ts +0 -4
  111. package/lib/types/src/components/NN/index.d.ts +0 -7
  112. package/lib/types/src/components/NN/interface/index.d.ts +0 -10
  113. package/lib/types/src/components/NNNN/index.d.ts +0 -7
  114. package/lib/types/src/components/NNNN/interface/index.d.ts +0 -10
  115. package/lib/types/src/components/PP/index.d.ts +0 -7
  116. package/lib/types/src/components/PP/interface/index.d.ts +0 -11
  117. package/src/components/Button/demo/index.jsx +0 -50
  118. /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/ConfigCache.d.ts +0 -0
  119. /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/index.d.ts +0 -0
  120. /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/interface.d.ts +0 -0
  121. /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigContext/ConfigContext.d.ts +0 -0
  122. /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/themeToken/useThemeToken.d.ts +0 -0
  123. /package/lib/types/{src → packages/reds-rn/src}/components/Popover/component.d.ts +0 -0
  124. /package/lib/types/{src → packages/reds-rn/src}/components/Popover/index.d.ts +0 -0
  125. /package/lib/types/{src → packages/reds-rn/src}/components/Popover/manifest.d.ts +0 -0
  126. /package/lib/types/{src → packages/reds-rn/src}/components/Switch/index.d.ts +0 -0
@@ -1,83 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _rollupPluginBabelHelpers = require('../../_chunks/CAyGJuk1.js');
6
- var React = require('react');
7
- var reactNative = require('react-native');
8
- var components_PP_interface_index = require('./interface/index.js');
9
- var redsTokenNext = require('@xhs/reds-token-next');
10
-
11
- var PP = function PP(_ref) {
12
- var cValue = _ref.value,
13
- defaultValue = _ref.defaultValue,
14
- onChange = _ref.onChange,
15
- onClick = _ref.onClick,
16
- trackOnColor = _ref.trackOnColor,
17
- trackOffColor = _ref.trackOffColor;
18
- var isControlled = cValue !== void 0;
19
- var _useState = React.useState(defaultValue),
20
- _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
21
- value = _useState2[0],
22
- setValue = _useState2[1];
23
- var animatedValue = React.useRef(new reactNative.Animated.Value(defaultValue ? 18 : 2)).current;
24
- var thumbTranslateX = React.useMemo(function () {
25
- return animatedValue.interpolate({
26
- inputRange: [2, 18],
27
- outputRange: [2, 18]
28
- });
29
- }, []);
30
- React.useEffect(function () {
31
- isControlled && setValue(cValue);
32
- onChange === null || onChange === void 0 || onChange(!!value);
33
- reactNative.Animated.timing(animatedValue, {
34
- toValue: value ? 18 : 2,
35
- duration: 200,
36
- useNativeDriver: true
37
- }).start();
38
- }, [value, cValue]);
39
- var togglePP = function togglePP(e) {
40
- onClick === null || onClick === void 0 || onClick(e);
41
- !isControlled && setValue(function (v) {
42
- return !v;
43
- });
44
- };
45
- return /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
46
- onPress: function onPress(e) {
47
- return togglePP(e);
48
- }
49
- }, /* @__PURE__ */React.createElement(reactNative.View, {
50
- style: [styles.container, {
51
- backgroundColor: value ? trackOnColor : trackOffColor
52
- }]
53
- }, /* @__PURE__ */React.createElement(reactNative.Animated.View, {
54
- style: [styles.thumb, {
55
- transform: [{
56
- translateX: thumbTranslateX
57
- }]
58
- }]
59
- })));
60
- };
61
- PP.defaultProps = components_PP_interface_index.defaultProps;
62
- var styles = reactNative.StyleSheet.create({
63
- container: {
64
- width: 40,
65
- height: 24,
66
- borderRadius: 15,
67
- justifyContent: "center",
68
- alignItems: "center"
69
- },
70
- thumb: {
71
- width: 20,
72
- height: 20,
73
- borderRadius: 10,
74
- backgroundColor: redsTokenNext.alwaysColor.White,
75
- justifyContent: "center",
76
- alignItems: "center",
77
- position: "absolute",
78
- left: 0
79
- }
80
- });
81
-
82
- exports.default = PP;
83
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/PP/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsPP, defaultProps } from \"./interface/index\";\nimport { alwaysColor } from \"@xhs/reds-token-next\";\n\nconst PP = ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsPP) => {\n const isControlled = cValue !== undefined;\n const [value, setValue] = useState(defaultValue);\n\n const animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;\n\n const thumbTranslateX = useMemo(() => animatedValue.interpolate({ inputRange: [2, 18], outputRange: [2, 18] }), []);\n\n useEffect(() => {\n isControlled && setValue(cValue);\n onChange?.(!!value);\n Animated.timing(animatedValue, {\n toValue: value ? 18 : 2,\n duration: 200,\n useNativeDriver: true,\n }).start();\n }, [value, cValue]);\n\n const togglePP = (e: GestureResponderEvent) => {\n onClick?.(e);\n !isControlled && setValue((v) => !v);\n };\n\n return (\n <TouchableWithoutFeedback onPress={(e) => togglePP(e)}>\n <View style={[styles.container, { backgroundColor: value ? trackOnColor : trackOffColor }]}>\n <Animated.View style={[styles.thumb, { transform: [{ translateX: thumbTranslateX }] }]}></Animated.View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nPP.defaultProps = defaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n width: 40,\n height: 24,\n borderRadius: 15,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n thumb: {\n width: 20,\n height: 20,\n borderRadius: 10,\n backgroundColor: alwaysColor.White,\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n left: 0,\n },\n});\n\nexport default PP;\n"],"names":["PP","_ref","cValue","value","defaultValue","onChange","onClick","trackOnColor","trackOffColor","isControlled","_useState","useState","_useState2","_slicedToArray","setValue","animatedValue","useRef","Animated","Value","current","thumbTranslateX","useMemo","interpolate","inputRange","outputRange","useEffect","timing","toValue","duration","useNativeDriver","start","togglePP","e","v","TouchableWithoutFeedback","onPress","React","createElement","View","style","styles","container","backgroundColor","thumb","transform","translateX","defaultProps","StyleSheet","create","width","height","borderRadius","justifyContent","alignItems","alwaysColor","White","position","left"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- var redsTokenNext = require('@xhs/reds-token-next');
4
-
5
- var defaultProps = {
6
- value: void 0,
7
- defaultValue: false,
8
- disabled: false,
9
- trackOnColor: redsTokenNext.lightColor.Primary,
10
- trackOffColor: redsTokenNext.lightColor.Fill2
11
- };
12
-
13
- exports.defaultProps = defaultProps;
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/PP/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsPP {\n value?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => void;\n onClick?: (value: GestureResponderEvent) => void;\n}\n\nexport const defaultProps: RedsPP = {\n value: undefined,\n defaultValue: false,\n disabled: false,\n trackOnColor: lightColor.Primary,\n trackOffColor: lightColor.Fill2,\n};\n"],"names":["defaultProps","value","defaultValue","disabled","trackOnColor","lightColor","Primary","trackOffColor","Fill2"],"mappings":";;;;AAYO,IAAMA,YAAuB,GAAA;EAClCC,KAAO,EAAA,KAAA,CAAA;AACPC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,QAAU,EAAA,KAAA;EACVC,cAAcC,wBAAW,CAAAC,OAAA;EACzBC,eAAeF,wBAAW,CAAAG,KAAAA;AAC5B;;;;"}
@@ -1,46 +0,0 @@
1
- import { _ as _objectSpread2 } from './BHmvJnIm.js';
2
- import { configCache } from '../components/ConfigProvider/hooks/ConfigCache/ConfigCache.js';
3
- import { ConfigProviderContext } from '../components/ConfigProvider/hooks/ConfigContext/ConfigContext.js';
4
-
5
- var ConfigProvider = function ConfigProvider(props) {
6
- var _theme$token, _theme$token2, _theme$token3, _theme$token4;
7
- var _props$id = props.id,
8
- id = _props$id === void 0 ? "root" : _props$id,
9
- _props$theme = props.theme,
10
- theme = _props$theme === void 0 ? {
11
- colorMode: "light",
12
- inherit: true
13
- } : _props$theme,
14
- _props$parentId = props.parentId,
15
- parentId = _props$parentId === void 0 ? "root" : _props$parentId,
16
- children = props.children;
17
- var themeCache = {
18
- colorMode: theme.colorMode || "light",
19
- token: {
20
- lightColor: _objectSpread2({}, (_theme$token = theme.token) === null || _theme$token === void 0 ? void 0 : _theme$token.lightColor),
21
- darkColor: _objectSpread2({}, (_theme$token2 = theme.token) === null || _theme$token2 === void 0 ? void 0 : _theme$token2.darkColor),
22
- alwaysColor: _objectSpread2({}, (_theme$token3 = theme.token) === null || _theme$token3 === void 0 ? void 0 : _theme$token3.alwaysColor),
23
- components: _objectSpread2({}, (_theme$token4 = theme.token) === null || _theme$token4 === void 0 ? void 0 : _theme$token4.components)
24
- },
25
- inherit: theme.inherit
26
- };
27
- configCache.addNewConfigCache({
28
- id: id,
29
- themeCache: themeCache,
30
- parentId: parentId
31
- });
32
- var configProviderContextValue = {
33
- id: id
34
- };
35
- return /* @__PURE__ */React.createElement(ConfigProviderContext.Provider, {
36
- value: configProviderContextValue
37
- }, children);
38
- };
39
-
40
- var ConfigProvider$1 = /*#__PURE__*/Object.freeze({
41
- __proto__: null,
42
- default: ConfigProvider
43
- });
44
-
45
- export { ConfigProvider$1 as C, ConfigProvider as a };
46
- //# sourceMappingURL=Br6Ked0G.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Br6Ked0G.js","sources":["../../../src/components/ConfigProvider/ConfigProvider.tsx"],"sourcesContent":["import { ConfigProviderProps } from \"./interface\";\nimport { configCache } from \"./hooks/ConfigCache/ConfigCache\";\nimport { ConfigProviderContext, IConfigProviderContext } from \"./hooks/ConfigContext/ConfigContext\";\n\nconst ConfigProvider = (props: ConfigProviderProps) => {\n const {\n id = \"root\",\n theme = {\n colorMode: \"light\",\n inherit: true,\n },\n parentId = \"root\",\n children,\n } = props;\n\n const themeCache = {\n colorMode: theme.colorMode || \"light\",\n token: {\n lightColor: {\n ...theme.token?.lightColor,\n },\n darkColor: {\n ...theme.token?.darkColor,\n },\n alwaysColor: {\n ...theme.token?.alwaysColor,\n },\n components: {\n ...theme.token?.components,\n },\n },\n inherit: theme.inherit,\n };\n\n configCache.addNewConfigCache({\n id,\n themeCache,\n parentId,\n });\n\n const configProviderContextValue: IConfigProviderContext = {\n id: id,\n };\n\n return <ConfigProviderContext.Provider value={configProviderContextValue}>{children}</ConfigProviderContext.Provider>;\n};\n\nexport default ConfigProvider;\n"],"names":["ConfigProvider","props","_theme$token","_theme$token2","_theme$token3","_theme$token4","_props$id","id","_props$theme","theme","colorMode","inherit","_props$parentId","parentId","children","themeCache","token","lightColor","_objectSpread","darkColor","alwaysColor","components","configCache","addNewConfigCache","configProviderContextValue","ConfigProviderContext","Provider","value"],"mappings":";;;;AAIA,IAAMA,cAAA,GAAiB,SAAjBA,cAAAA,CAAkBC,KAA+B,EAAA;AAAA,EAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,aAAA,CAAA;AAC/C,EAAA,IAAAC,SAAA,GAQFL,KAAA,CAPFM,EAAK;AAALA,IAAAA,EAAK,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAAA,SAAA;IAAAE,YAAA,GAOHP,KAAA,CANFQ,KAAQ;IAARA,KAAQ,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAA;AACNE,MAAAA,SAAW,EAAA,OAAA;AACXC,MAAAA,OAAS,EAAA,IAAA;AACX,KAAA,GAAAH,YAAA;IAAAI,eAAA,GAGEX,KAAA,CAFFY,QAAW;AAAXA,IAAAA,QAAW,GAAAD,eAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAAA,eAAA;IACXE,QAAA,GACEb,KAAA,CADFa,QAAA,CAAA;AAGF,EAAA,IAAMC,UAAa,GAAA;AACjBL,IAAAA,SAAA,EAAWD,MAAMC,SAAa,IAAA,OAAA;AAC9BM,IAAAA,KAAO,EAAA;AACLC,MAAAA,UAAY,EAAAC,cAAA,CAAAhB,EAAAA,EAAAA,CAAAA,YAAA,GACPO,MAAMO,KAAO,MAAA,IAAA,IAAAd,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,YAAA,CAAae,UAAA,CAClB;AACAE,MAAAA,SAAW,EAAAD,cAAA,CAAAf,EAAAA,EAAAA,CAAAA,aAAA,GACNM,MAAMO,KAAO,MAAA,IAAA,IAAAb,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAA,CAAagB,SAAA,CAClB;AACAC,MAAAA,WAAa,EAAAF,cAAA,CAAAd,EAAAA,EAAAA,CAAAA,aAAA,GACRK,MAAMO,KAAO,MAAA,IAAA,IAAAZ,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAA,CAAagB,WAAA,CAClB;AACAC,MAAAA,UAAY,EAAAH,cAAA,CAAAb,EAAAA,EAAAA,CAAAA,aAAA,GACPI,MAAMO,KAAO,MAAAX,IAAAA,IAAAA,aAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAA,CAAagB,UAAA,CAAA;KAEpB;IACAV,SAASF,KAAM,CAAAE,OAAAA;GACjB,CAAA;EAEAW,WAAA,CAAYC,iBAAkB,CAAA;AAC5BhB,IAAAA,EAAA,EAAAA,EAAA;AACAQ,IAAAA,UAAA,EAAAA,UAAA;AACAF,IAAAA,QAAA,EAAAA,QAAAA;AACF,GAAC,CAAA,CAAA;AAED,EAAA,IAAMW,0BAAqD,GAAA;AACzDjB,IAAAA,EAAA,EAAAA,EAAAA;GACF,CAAA;EAEA,0CAAQkB,qBAAsB,CAAAC,QAAA,EAAtB;AAA+BC,IAAAA,KAAA,EAAOH,0BAAAA;KAA6BV,QAAS,CAAA,CAAA;AACtF;;;;;;;;;"}
@@ -1,79 +0,0 @@
1
- import { a as _slicedToArray } from '../../_chunks/BHmvJnIm.js';
2
- import React, { useState, useRef, useMemo, useEffect } from 'react';
3
- import { StyleSheet, Animated, TouchableWithoutFeedback, View } from 'react-native';
4
- import { defaultProps } from './interface/index.js';
5
- import { alwaysColor } from '@xhs/reds-token-next';
6
-
7
- var NN = function NN(_ref) {
8
- var cValue = _ref.value,
9
- defaultValue = _ref.defaultValue,
10
- onChange = _ref.onChange,
11
- onClick = _ref.onClick,
12
- trackOnColor = _ref.trackOnColor,
13
- trackOffColor = _ref.trackOffColor;
14
- var isControlled = cValue !== void 0;
15
- var _useState = useState(defaultValue),
16
- _useState2 = _slicedToArray(_useState, 2),
17
- value = _useState2[0],
18
- setValue = _useState2[1];
19
- var animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;
20
- var thumbTranslateX = useMemo(function () {
21
- return animatedValue.interpolate({
22
- inputRange: [2, 18],
23
- outputRange: [2, 18]
24
- });
25
- }, []);
26
- useEffect(function () {
27
- isControlled && setValue(cValue);
28
- onChange === null || onChange === void 0 || onChange(!!value);
29
- Animated.timing(animatedValue, {
30
- toValue: value ? 18 : 2,
31
- duration: 200,
32
- useNativeDriver: true
33
- }).start();
34
- }, [value, cValue]);
35
- var toggleNN = function toggleNN(e) {
36
- onClick === null || onClick === void 0 || onClick(e);
37
- !isControlled && setValue(function (v) {
38
- return !v;
39
- });
40
- };
41
- return /* @__PURE__ */React.createElement(TouchableWithoutFeedback, {
42
- onPress: function onPress(e) {
43
- return toggleNN(e);
44
- }
45
- }, /* @__PURE__ */React.createElement(View, {
46
- style: [styles.container, {
47
- backgroundColor: value ? trackOnColor : trackOffColor
48
- }]
49
- }, /* @__PURE__ */React.createElement(Animated.View, {
50
- style: [styles.thumb, {
51
- transform: [{
52
- translateX: thumbTranslateX
53
- }]
54
- }]
55
- })));
56
- };
57
- NN.defaultProps = defaultProps;
58
- var styles = StyleSheet.create({
59
- container: {
60
- width: 40,
61
- height: 24,
62
- borderRadius: 15,
63
- justifyContent: "center",
64
- alignItems: "center"
65
- },
66
- thumb: {
67
- width: 20,
68
- height: 20,
69
- borderRadius: 10,
70
- backgroundColor: alwaysColor.White,
71
- justifyContent: "center",
72
- alignItems: "center",
73
- position: "absolute",
74
- left: 0
75
- }
76
- });
77
-
78
- export { NN as default };
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/NN/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsNN, defaultProps } from \"./interface/index\";\nimport { alwaysColor } from \"@xhs/reds-token-next\";\n\nconst NN = ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsNN) => {\n const isControlled = cValue !== undefined;\n const [value, setValue] = useState(defaultValue);\n\n const animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;\n\n const thumbTranslateX = useMemo(() => animatedValue.interpolate({ inputRange: [2, 18], outputRange: [2, 18] }), []);\n\n useEffect(() => {\n isControlled && setValue(cValue);\n onChange?.(!!value);\n Animated.timing(animatedValue, {\n toValue: value ? 18 : 2,\n duration: 200,\n useNativeDriver: true,\n }).start();\n }, [value, cValue]);\n\n const toggleNN = (e: GestureResponderEvent) => {\n onClick?.(e);\n !isControlled && setValue((v) => !v);\n };\n\n return (\n <TouchableWithoutFeedback onPress={(e) => toggleNN(e)}>\n <View style={[styles.container, { backgroundColor: value ? trackOnColor : trackOffColor }]}>\n <Animated.View style={[styles.thumb, { transform: [{ translateX: thumbTranslateX }] }]}></Animated.View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nNN.defaultProps = defaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n width: 40,\n height: 24,\n borderRadius: 15,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n thumb: {\n width: 20,\n height: 20,\n borderRadius: 10,\n backgroundColor: alwaysColor.White,\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n left: 0,\n },\n});\n\nexport default NN;\n"],"names":["NN","_ref","cValue","value","defaultValue","onChange","onClick","trackOnColor","trackOffColor","isControlled","_useState","useState","_useState2","_slicedToArray","setValue","animatedValue","useRef","Animated","Value","current","thumbTranslateX","useMemo","interpolate","inputRange","outputRange","useEffect","timing","toValue","duration","useNativeDriver","start","toggleNN","e","v","TouchableWithoutFeedback","onPress","React","createElement","View","style","styles","container","backgroundColor","thumb","transform","translateX","defaultProps","StyleSheet","create","width","height","borderRadius","justifyContent","alignItems","alwaysColor","White","position","left"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { lightColor } from '@xhs/reds-token-next';
2
-
3
- var defaultProps = {
4
- defaultValue: false,
5
- disabled: false,
6
- trackOnColor: lightColor.Primary,
7
- trackOffColor: lightColor.Fill2
8
- };
9
-
10
- export { defaultProps };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/NN/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsNN {\n value?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => void;\n onClick?: (value: Event) => void;\n}\n\nexport const defaultProps: RedsNN = {\n defaultValue: false,\n disabled: false,\n trackOnColor: lightColor.Primary,\n trackOffColor: lightColor.Fill2,\n};\n"],"names":["defaultProps","defaultValue","disabled","trackOnColor","lightColor","Primary","trackOffColor","Fill2"],"mappings":";;AAYO,IAAMA,YAAuB,GAAA;AAClCC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,QAAU,EAAA,KAAA;EACVC,cAAcC,UAAW,CAAAC,OAAA;EACzBC,eAAeF,UAAW,CAAAG,KAAAA;AAC5B;;;;"}
@@ -1,79 +0,0 @@
1
- import { a as _slicedToArray } from '../../_chunks/BHmvJnIm.js';
2
- import React, { useState, useRef, useMemo, useEffect } from 'react';
3
- import { StyleSheet, Animated, TouchableWithoutFeedback, View } from 'react-native';
4
- import { defaultProps } from './interface/index.js';
5
- import { alwaysColor } from '@xhs/reds-token-next';
6
-
7
- var NNNN = function NNNN(_ref) {
8
- var cValue = _ref.value,
9
- defaultValue = _ref.defaultValue,
10
- onChange = _ref.onChange,
11
- onClick = _ref.onClick,
12
- trackOnColor = _ref.trackOnColor,
13
- trackOffColor = _ref.trackOffColor;
14
- var isControlled = cValue !== void 0;
15
- var _useState = useState(defaultValue),
16
- _useState2 = _slicedToArray(_useState, 2),
17
- value = _useState2[0],
18
- setValue = _useState2[1];
19
- var animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;
20
- var thumbTranslateX = useMemo(function () {
21
- return animatedValue.interpolate({
22
- inputRange: [2, 18],
23
- outputRange: [2, 18]
24
- });
25
- }, []);
26
- useEffect(function () {
27
- isControlled && setValue(cValue);
28
- onChange === null || onChange === void 0 || onChange(!!value);
29
- Animated.timing(animatedValue, {
30
- toValue: value ? 18 : 2,
31
- duration: 200,
32
- useNativeDriver: true
33
- }).start();
34
- }, [value, cValue]);
35
- var toggleNNNN = function toggleNNNN(e) {
36
- onClick === null || onClick === void 0 || onClick(e);
37
- !isControlled && setValue(function (v) {
38
- return !v;
39
- });
40
- };
41
- return /* @__PURE__ */React.createElement(TouchableWithoutFeedback, {
42
- onPress: function onPress(e) {
43
- return toggleNNNN(e);
44
- }
45
- }, /* @__PURE__ */React.createElement(View, {
46
- style: [styles.container, {
47
- backgroundColor: value ? trackOnColor : trackOffColor
48
- }]
49
- }, /* @__PURE__ */React.createElement(Animated.View, {
50
- style: [styles.thumb, {
51
- transform: [{
52
- translateX: thumbTranslateX
53
- }]
54
- }]
55
- })));
56
- };
57
- NNNN.defaultProps = defaultProps;
58
- var styles = StyleSheet.create({
59
- container: {
60
- width: 40,
61
- height: 24,
62
- borderRadius: 15,
63
- justifyContent: "center",
64
- alignItems: "center"
65
- },
66
- thumb: {
67
- width: 20,
68
- height: 20,
69
- borderRadius: 10,
70
- backgroundColor: alwaysColor.White,
71
- justifyContent: "center",
72
- alignItems: "center",
73
- position: "absolute",
74
- left: 0
75
- }
76
- });
77
-
78
- export { NNNN as default };
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/NNNN/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsNNNN, defaultProps } from \"./interface/index\";\nimport { alwaysColor } from \"@xhs/reds-token-next\";\n\nconst NNNN = ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsNNNN) => {\n const isControlled = cValue !== undefined;\n const [value, setValue] = useState(defaultValue);\n\n const animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;\n\n const thumbTranslateX = useMemo(() => animatedValue.interpolate({ inputRange: [2, 18], outputRange: [2, 18] }), []);\n\n useEffect(() => {\n isControlled && setValue(cValue);\n onChange?.(!!value);\n Animated.timing(animatedValue, {\n toValue: value ? 18 : 2,\n duration: 200,\n useNativeDriver: true,\n }).start();\n }, [value, cValue]);\n\n const toggleNNNN = (e: GestureResponderEvent) => {\n onClick?.(e);\n !isControlled && setValue((v) => !v);\n };\n\n return (\n <TouchableWithoutFeedback onPress={(e) => toggleNNNN(e)}>\n <View style={[styles.container, { backgroundColor: value ? trackOnColor : trackOffColor }]}>\n <Animated.View style={[styles.thumb, { transform: [{ translateX: thumbTranslateX }] }]}></Animated.View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nNNNN.defaultProps = defaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n width: 40,\n height: 24,\n borderRadius: 15,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n thumb: {\n width: 20,\n height: 20,\n borderRadius: 10,\n backgroundColor: alwaysColor.White,\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n left: 0,\n },\n});\n\nexport default NNNN;\n"],"names":["NNNN","_ref","cValue","value","defaultValue","onChange","onClick","trackOnColor","trackOffColor","isControlled","_useState","useState","_useState2","_slicedToArray","setValue","animatedValue","useRef","Animated","Value","current","thumbTranslateX","useMemo","interpolate","inputRange","outputRange","useEffect","timing","toValue","duration","useNativeDriver","start","toggleNNNN","e","v","TouchableWithoutFeedback","onPress","React","createElement","View","style","styles","container","backgroundColor","thumb","transform","translateX","defaultProps","StyleSheet","create","width","height","borderRadius","justifyContent","alignItems","alwaysColor","White","position","left"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { lightColor } from '@xhs/reds-token-next';
2
-
3
- var defaultProps = {
4
- defaultValue: false,
5
- disabled: false,
6
- trackOnColor: lightColor.Primary,
7
- trackOffColor: lightColor.Fill2
8
- };
9
-
10
- export { defaultProps };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/NNNN/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsNNNN {\n value?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => void;\n onClick?: (value: Event) => void;\n}\n\nexport const defaultProps: RedsNNNN = {\n defaultValue: false,\n disabled: false,\n trackOnColor: lightColor.Primary,\n trackOffColor: lightColor.Fill2,\n};\n"],"names":["defaultProps","defaultValue","disabled","trackOnColor","lightColor","Primary","trackOffColor","Fill2"],"mappings":";;AAYO,IAAMA,YAAyB,GAAA;AACpCC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,QAAU,EAAA,KAAA;EACVC,cAAcC,UAAW,CAAAC,OAAA;EACzBC,eAAeF,UAAW,CAAAG,KAAAA;AAC5B;;;;"}
@@ -1,79 +0,0 @@
1
- import { a as _slicedToArray } from '../../_chunks/BHmvJnIm.js';
2
- import React, { useState, useRef, useMemo, useEffect } from 'react';
3
- import { StyleSheet, Animated, TouchableWithoutFeedback, View } from 'react-native';
4
- import { defaultProps } from './interface/index.js';
5
- import { alwaysColor } from '@xhs/reds-token-next';
6
-
7
- var PP = function PP(_ref) {
8
- var cValue = _ref.value,
9
- defaultValue = _ref.defaultValue,
10
- onChange = _ref.onChange,
11
- onClick = _ref.onClick,
12
- trackOnColor = _ref.trackOnColor,
13
- trackOffColor = _ref.trackOffColor;
14
- var isControlled = cValue !== void 0;
15
- var _useState = useState(defaultValue),
16
- _useState2 = _slicedToArray(_useState, 2),
17
- value = _useState2[0],
18
- setValue = _useState2[1];
19
- var animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;
20
- var thumbTranslateX = useMemo(function () {
21
- return animatedValue.interpolate({
22
- inputRange: [2, 18],
23
- outputRange: [2, 18]
24
- });
25
- }, []);
26
- useEffect(function () {
27
- isControlled && setValue(cValue);
28
- onChange === null || onChange === void 0 || onChange(!!value);
29
- Animated.timing(animatedValue, {
30
- toValue: value ? 18 : 2,
31
- duration: 200,
32
- useNativeDriver: true
33
- }).start();
34
- }, [value, cValue]);
35
- var togglePP = function togglePP(e) {
36
- onClick === null || onClick === void 0 || onClick(e);
37
- !isControlled && setValue(function (v) {
38
- return !v;
39
- });
40
- };
41
- return /* @__PURE__ */React.createElement(TouchableWithoutFeedback, {
42
- onPress: function onPress(e) {
43
- return togglePP(e);
44
- }
45
- }, /* @__PURE__ */React.createElement(View, {
46
- style: [styles.container, {
47
- backgroundColor: value ? trackOnColor : trackOffColor
48
- }]
49
- }, /* @__PURE__ */React.createElement(Animated.View, {
50
- style: [styles.thumb, {
51
- transform: [{
52
- translateX: thumbTranslateX
53
- }]
54
- }]
55
- })));
56
- };
57
- PP.defaultProps = defaultProps;
58
- var styles = StyleSheet.create({
59
- container: {
60
- width: 40,
61
- height: 24,
62
- borderRadius: 15,
63
- justifyContent: "center",
64
- alignItems: "center"
65
- },
66
- thumb: {
67
- width: 20,
68
- height: 20,
69
- borderRadius: 10,
70
- backgroundColor: alwaysColor.White,
71
- justifyContent: "center",
72
- alignItems: "center",
73
- position: "absolute",
74
- left: 0
75
- }
76
- });
77
-
78
- export { PP as default };
79
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/PP/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsPP, defaultProps } from \"./interface/index\";\nimport { alwaysColor } from \"@xhs/reds-token-next\";\n\nconst PP = ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsPP) => {\n const isControlled = cValue !== undefined;\n const [value, setValue] = useState(defaultValue);\n\n const animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;\n\n const thumbTranslateX = useMemo(() => animatedValue.interpolate({ inputRange: [2, 18], outputRange: [2, 18] }), []);\n\n useEffect(() => {\n isControlled && setValue(cValue);\n onChange?.(!!value);\n Animated.timing(animatedValue, {\n toValue: value ? 18 : 2,\n duration: 200,\n useNativeDriver: true,\n }).start();\n }, [value, cValue]);\n\n const togglePP = (e: GestureResponderEvent) => {\n onClick?.(e);\n !isControlled && setValue((v) => !v);\n };\n\n return (\n <TouchableWithoutFeedback onPress={(e) => togglePP(e)}>\n <View style={[styles.container, { backgroundColor: value ? trackOnColor : trackOffColor }]}>\n <Animated.View style={[styles.thumb, { transform: [{ translateX: thumbTranslateX }] }]}></Animated.View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nPP.defaultProps = defaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n width: 40,\n height: 24,\n borderRadius: 15,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n thumb: {\n width: 20,\n height: 20,\n borderRadius: 10,\n backgroundColor: alwaysColor.White,\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n left: 0,\n },\n});\n\nexport default PP;\n"],"names":["PP","_ref","cValue","value","defaultValue","onChange","onClick","trackOnColor","trackOffColor","isControlled","_useState","useState","_useState2","_slicedToArray","setValue","animatedValue","useRef","Animated","Value","current","thumbTranslateX","useMemo","interpolate","inputRange","outputRange","useEffect","timing","toValue","duration","useNativeDriver","start","togglePP","e","v","TouchableWithoutFeedback","onPress","React","createElement","View","style","styles","container","backgroundColor","thumb","transform","translateX","defaultProps","StyleSheet","create","width","height","borderRadius","justifyContent","alignItems","alwaysColor","White","position","left"],"mappings":";;;;;;AAKA,IAAMA,EAAA,GAAK,SAALA,EAAAA,CAAAC,IAAA,EAAkG;AAAA,EAAA,IAAnFC,MAAA,GAAAD,IAAA,CAAPE,KAAO;IAAQC,oBAAAA;IAAcC,QAAU,GAAAJ,IAAA,CAAVI,QAAU;IAAAC,OAAA,GAAAL,IAAA,CAAAK,OAAA;IAASC,YAAc,GAAAN,IAAA,CAAdM,YAAc;IAAAC,aAAA,GAAAP,IAAA,CAAAO,aAAA,CAAA;AAC1E,EAAA,IAAMC,eAAeP,MAAW,KAAA,KAAA,CAAA,CAAA;AAChC,EAAA,IAAAQ,SAAA,GAA0BC,SAASP,YAAY,CAAA;IAAAQ,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxCP,IAAAA,KAAA,GAAAS,UAAA,CAAA,CAAA,CAAA;AAAOE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhB,EAAA,IAAAG,aAAA,GAAgBC,OAAO,IAAIC,QAAA,CAASC,MAAMd,YAAe,GAAA,EAAA,GAAK,CAAC,CAAC,CAAE,CAAAe,OAAA,CAAA;EAExE,IAAMC,kBAAkBC,OAAQ,CAAA,YAAA;IAAA,OAAMN,cAAcO,WAAY,CAAA;AAAEC,MAAAA,YAAY,CAAC,CAAA,EAAG,EAAE,CAAG;AAAAC,MAAAA,WAAA,EAAa,CAAC,CAAG,EAAA,EAAE,CAAA;AAAE,KAAC,CAAA,CAAA;AAAA,GAAA,EAAG,EAAE,CAAA,CAAA;AAElHC,EAAAA,SAAA,CAAU,YAAM;AACdhB,IAAAA,YAAA,IAAgBK,SAASZ,MAAM,CAAA,CAAA;IACpBG,QAAA,KAAA,IAAA,IAAAA,QAAA,KAAAA,KAAAA,CAAAA,IAAAA,QAAA,CAAA,CAAC,CAACF,KAAK,CAAA,CAAA;AAClBc,IAAAA,QAAA,CAASS,OAAOX,aAAe,EAAA;AAC7BY,MAAAA,OAAA,EAASxB,QAAQ,EAAK,GAAA,CAAA;AACtByB,MAAAA,QAAU,EAAA,GAAA;AACVC,MAAAA,eAAiB,EAAA,IAAA;AACnB,KAAC,EAAEC,KAAM,EAAA,CAAA;AACX,GAAG,EAAA,CAAC3B,KAAO,EAAAD,MAAM,CAAC,CAAA,CAAA;AAEZ,EAAA,IAAA6B,QAAA,GAAW,SAAXA,QAAAA,CAAYC,CAA6B,EAAA;AAC7C1B,IAAAA,OAAA,aAAAA,OAAA,KAAA,KAAA,CAAA,IAAAA,OAAA,CAAU0B,CAAC,CAAA,CAAA;AACX,IAAA,CAACvB,YAAgB,IAAAK,QAAA,CAAS,UAACmB,CAAA,EAAA;AAAA,MAAA,OAAM,CAACA,CAAC,CAAA;KAAA,CAAA,CAAA;GACrC,CAAA;AAEA,EAAA,0CACGC,wBAAyB,EAAA;IAAAC,OAAA,EAAS,SAAAA,OAAAA,CAACH,CAAM,EAAA;MAAA,OAAAD,QAAA,CAASC,CAAC,CAClD,CAAA;AAAA,KAAA;AAAA,GAAA,iBAAAI,KAAA,CAAAC,aAAA,CAACC,IAAK,EAAA;AAAAC,IAAAA,KAAA,EAAO,CAACC,MAAO,CAAAC,SAAA,EAAW;AAAEC,MAAAA,eAAiB,EAAAvC,KAAA,GAAQI,eAAeC,aAAAA;KAAe,CAAA;GACvF,iBAAA4B,KAAA,CAAAC,aAAA,CAACpB,SAASqB,IAAT,EAAA;AAAcC,IAAAA,OAAO,CAACC,MAAA,CAAOG,OAAO;AAAEC,MAAAA,SAAA,EAAW,CAAC;AAAEC,QAAAA,YAAYzB,eAAAA;OAAiB,CAAA;KAAG,CAAA;GAAG,CAC1F,CACF,CAAA,CAAA;AAEJ,EAAA;AAEApB,EAAA,CAAG8C,YAAe,GAAAA,YAAA,CAAA;AAElB,IAAMN,MAAA,GAASO,WAAWC,MAAO,CAAA;AAC/BP,EAAAA,SAAW,EAAA;AACTQ,IAAAA,KAAO,EAAA,EAAA;AACPC,IAAAA,MAAQ,EAAA,EAAA;AACRC,IAAAA,YAAc,EAAA,EAAA;AACdC,IAAAA,cAAgB,EAAA,QAAA;AAChBC,IAAAA,UAAY,EAAA,QAAA;GACd;AACAV,EAAAA,KAAO,EAAA;AACLM,IAAAA,KAAO,EAAA,EAAA;AACPC,IAAAA,MAAQ,EAAA,EAAA;AACRC,IAAAA,YAAc,EAAA,EAAA;IACdT,iBAAiBY,WAAY,CAAAC,KAAA;AAC7BH,IAAAA,cAAgB,EAAA,QAAA;AAChBC,IAAAA,UAAY,EAAA,QAAA;AACZG,IAAAA,QAAU,EAAA,UAAA;AACVC,IAAAA,IAAM,EAAA,CAAA;AACR,GAAA;AACF,CAAC,CAAA;;;;"}
@@ -1,12 +0,0 @@
1
- import { lightColor } from '@xhs/reds-token-next';
2
-
3
- var defaultProps = {
4
- value: void 0,
5
- defaultValue: false,
6
- disabled: false,
7
- trackOnColor: lightColor.Primary,
8
- trackOffColor: lightColor.Fill2
9
- };
10
-
11
- export { defaultProps };
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/PP/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsPP {\n value?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => void;\n onClick?: (value: GestureResponderEvent) => void;\n}\n\nexport const defaultProps: RedsPP = {\n value: undefined,\n defaultValue: false,\n disabled: false,\n trackOnColor: lightColor.Primary,\n trackOffColor: lightColor.Fill2,\n};\n"],"names":["defaultProps","value","defaultValue","disabled","trackOnColor","lightColor","Primary","trackOffColor","Fill2"],"mappings":";;AAYO,IAAMA,YAAuB,GAAA;EAClCC,KAAO,EAAA,KAAA,CAAA;AACPC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,QAAU,EAAA,KAAA;EACVC,cAAcC,UAAW,CAAAC,OAAA;EACzBC,eAAeF,UAAW,CAAAG,KAAAA;AAC5B;;;;"}
@@ -1,4 +0,0 @@
1
- import React from "react";
2
- import { View } from "react-native";
3
- declare const _default: React.ForwardRefExoticComponent<React.RefAttributes<View>>;
4
- export default _default;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import { ConfigProviderProps } from "./interface";
3
- declare const ConfigProvider: (props: ConfigProviderProps) => import("react").JSX.Element;
4
- export default ConfigProvider;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { RedsNN } from "./interface/index";
3
- declare const NN: {
4
- ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsNN): React.JSX.Element;
5
- defaultProps: RedsNN;
6
- };
7
- export default NN;
@@ -1,10 +0,0 @@
1
- export interface RedsNN {
2
- value?: boolean;
3
- defaultValue?: boolean;
4
- disabled?: boolean;
5
- trackOnColor?: string;
6
- trackOffColor?: string;
7
- onChange?: (value: boolean) => void;
8
- onClick?: (value: Event) => void;
9
- }
10
- export declare const defaultProps: RedsNN;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { RedsNNNN } from "./interface/index";
3
- declare const NNNN: {
4
- ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsNNNN): React.JSX.Element;
5
- defaultProps: RedsNNNN;
6
- };
7
- export default NNNN;
@@ -1,10 +0,0 @@
1
- export interface RedsNNNN {
2
- value?: boolean;
3
- defaultValue?: boolean;
4
- disabled?: boolean;
5
- trackOnColor?: string;
6
- trackOffColor?: string;
7
- onChange?: (value: boolean) => void;
8
- onClick?: (value: Event) => void;
9
- }
10
- export declare const defaultProps: RedsNNNN;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { RedsPP } from "./interface/index";
3
- declare const PP: {
4
- ({ value: cValue, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsPP): React.JSX.Element;
5
- defaultProps: RedsPP;
6
- };
7
- export default PP;
@@ -1,11 +0,0 @@
1
- import { GestureResponderEvent } from "react-native";
2
- export interface RedsPP {
3
- value?: boolean;
4
- defaultValue?: boolean;
5
- disabled?: boolean;
6
- trackOnColor?: string;
7
- trackOffColor?: string;
8
- onChange?: (value: boolean) => void;
9
- onClick?: (value: GestureResponderEvent) => void;
10
- }
11
- export declare const defaultProps: RedsPP;
@@ -1,50 +0,0 @@
1
- import React, { useRef, useEffect, useState } from "react";
2
- import { View, Text, StyleSheet, FlatList, ScrollView } from "react-native";
3
- import { Button } from "@xhs/reds-rn-next";
4
-
5
- const styles = StyleSheet.create({
6
- container: {
7
- flex: 1,
8
- justifyContent: "center",
9
- paddingTop: 100,
10
- paddingBottom: 100,
11
- },
12
- scrollView: {
13
- backgroundColor: "pink",
14
- },
15
- root: {
16
- flex: 1,
17
- backgroundColor: "blue",
18
- },
19
- });
20
- const Desc = ({ children = "" }) => {
21
- return <Text>{children}</Text>;
22
- };
23
- const Br = (props) => <View style={{ height: props.height || 20 }}></View>;
24
-
25
- export default function App() {
26
- const [value, setValue] = useState(false);
27
- const [valueStr, setValueStr] = useState(value.toString());
28
- const onClick = (e) => setValue((v) => !v);
29
- const onChange = (v) => setValueStr(v.toString());
30
- return (
31
- <View style={styles.container}>
32
- <Desc>默认用法</Desc>
33
- <Button></Button>
34
- <Br />
35
-
36
- <Desc>设置默认值</Desc>
37
- <Button defaultValue={true}></Button>
38
- <Br />
39
-
40
- <Desc>修改开关颜色</Desc>
41
- <Button trackOnColor={"#1b8bcd"} trackOffColor={"#da36c9"}></Button>
42
- <Br />
43
-
44
- <Desc>受控用法</Desc>
45
- <Text>当前值:{valueStr}</Text>
46
- <Button value={value} onClick={onClick} onChange={onChange}></Button>
47
- <Br />
48
- </View>
49
- );
50
- }