@xhsreds/reds-rn-next 0.0.5 → 0.0.9
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/coverage/coverage-final.json +13 -13
- package/lib/cjs/components/Button/index.js +2 -2
- package/lib/cjs/components/Button/index.js.map +1 -1
- package/lib/cjs/components/Button/interface/index.js +8 -1
- package/lib/cjs/components/Button/interface/index.js.map +1 -1
- package/lib/cjs/components/ConfigProvider/ConfigProvider.js +40 -8
- package/lib/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
- package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js.map +1 -1
- package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
- package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
- package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js.map +1 -1
- package/lib/cjs/components/ConfigProvider/index.js +3 -3
- package/lib/cjs/components/ConfigProvider/interface/index.js +17 -0
- package/lib/cjs/components/ConfigProvider/interface/index.js.map +1 -1
- package/lib/cjs/components/Popover/hook.js.map +1 -1
- package/lib/cjs/components/Popover/index.js +1 -1
- package/lib/cjs/components/Popover/index.js.map +1 -1
- package/lib/cjs/components/Popover/interface/index.js +2 -3
- package/lib/cjs/components/Popover/interface/index.js.map +1 -1
- package/lib/cjs/components/Switch/index.js +2 -2
- package/lib/cjs/components/Switch/index.js.map +1 -1
- package/lib/cjs/components/Switch/interface/index.js +3 -3
- package/lib/cjs/components/Switch/interface/index.js.map +1 -1
- package/lib/cjs/index.js +5 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/components/Button/index.js +2 -2
- package/lib/esm/components/Button/index.js.map +1 -1
- package/lib/esm/components/Button/interface/index.js +8 -2
- package/lib/esm/components/Button/interface/index.js.map +1 -1
- package/lib/esm/components/ConfigProvider/ConfigProvider.js +42 -6
- package/lib/esm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
- package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js.map +1 -1
- package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
- package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
- package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js.map +1 -1
- package/lib/esm/components/ConfigProvider/index.js +2 -2
- package/lib/esm/components/ConfigProvider/interface/index.js +17 -1
- package/lib/esm/components/ConfigProvider/interface/index.js.map +1 -1
- package/lib/esm/components/Popover/hook.js.map +1 -1
- package/lib/esm/components/Popover/index.js +1 -1
- package/lib/esm/components/Popover/index.js.map +1 -1
- package/lib/esm/components/Popover/interface/index.js +2 -3
- package/lib/esm/components/Popover/interface/index.js.map +1 -1
- package/lib/esm/components/Switch/index.js +3 -3
- package/lib/esm/components/Switch/index.js.map +1 -1
- package/lib/esm/components/Switch/interface/index.js +3 -3
- package/lib/esm/components/Switch/interface/index.js.map +1 -1
- package/lib/esm/index.js +3 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/types/packages/reds-rn/src/components/Button/demo/index.d.ts +2 -0
- package/lib/types/packages/reds-rn/src/components/Button/index.d.ts +3 -0
- package/lib/types/{src → packages/reds-rn/src}/components/Button/interface/index.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Button/test/index.bench.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Button/test/index.test.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/lib/types/packages/reds-rn/src/components/ConfigProvider/demo/index.d.ts +2 -0
- package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/interface.d.ts +1 -1
- package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/index.d.ts +1 -1
- package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/interface/index.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/ConfigProvider/test/index.bench.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/ConfigProvider/test/index.test.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Popover/demo/index.d.ts +2 -0
- package/lib/types/{src → packages/reds-rn/src}/components/Popover/hook.d.ts +2 -1
- package/lib/types/{src → packages/reds-rn/src}/components/Popover/interface/index.d.ts +2 -2
- package/lib/types/packages/reds-rn/src/components/Popover/test/index.bench.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Popover/test/index.test.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Switch/demo/index.d.ts +2 -0
- package/lib/types/{src → packages/reds-rn/src}/components/Switch/interface/index.d.ts +3 -3
- package/lib/types/packages/reds-rn/src/components/Switch/test/index.bench.d.ts +1 -0
- package/lib/types/packages/reds-rn/src/components/Switch/test/index.test.d.ts +1 -0
- package/lib/types/{src → packages/reds-rn/src}/index.d.ts +1 -0
- package/lib/types/utils/redsBench.d.ts +3 -0
- package/package.json +3 -3
- package/src/components/Button/demo/index.tsx +6 -6
- package/src/components/Button/index.tsx +3 -1
- package/src/components/Button/interface/index.ts +6 -0
- package/src/components/Button/test/index.bench.tsx +1 -1
- package/src/components/Button/test/index.test.tsx +0 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
- package/src/components/ConfigProvider/demo/index.tsx +8 -8
- package/src/components/ConfigProvider/index.ts +1 -1
- package/src/components/ConfigProvider/interface/index.ts +16 -0
- package/src/components/ConfigProvider/test/index.bench.tsx +1 -1
- package/src/components/Popover/demo/index.tsx +2 -2
- package/src/components/Popover/doc/index.mdx +11 -11
- package/src/components/Popover/hook.ts +2 -1
- package/src/components/Popover/interface/index.ts +2 -3
- package/src/components/Switch/demo/index.tsx +4 -3
- package/src/components/Switch/doc/index.mdx +4 -4
- package/src/components/Switch/index.tsx +2 -2
- package/src/components/Switch/interface/index.ts +4 -5
- package/src/index.ts +2 -0
- package/tsconfig.json +6 -2
- package/lib/cjs/_chunks/DiJl2cva.js +0 -49
- package/lib/cjs/_chunks/DiJl2cva.js.map +0 -1
- package/lib/cjs/components/NN/index.js +0 -83
- package/lib/cjs/components/NN/index.js.map +0 -1
- package/lib/cjs/components/NN/interface/index.js +0 -13
- package/lib/cjs/components/NN/interface/index.js.map +0 -1
- package/lib/cjs/components/NNNN/index.js +0 -83
- package/lib/cjs/components/NNNN/index.js.map +0 -1
- package/lib/cjs/components/NNNN/interface/index.js +0 -13
- package/lib/cjs/components/NNNN/interface/index.js.map +0 -1
- package/lib/cjs/components/PP/index.js +0 -83
- package/lib/cjs/components/PP/index.js.map +0 -1
- package/lib/cjs/components/PP/interface/index.js +0 -14
- package/lib/cjs/components/PP/interface/index.js.map +0 -1
- package/lib/esm/_chunks/Br6Ked0G.js +0 -46
- package/lib/esm/_chunks/Br6Ked0G.js.map +0 -1
- package/lib/esm/components/NN/index.js +0 -79
- package/lib/esm/components/NN/index.js.map +0 -1
- package/lib/esm/components/NN/interface/index.js +0 -11
- package/lib/esm/components/NN/interface/index.js.map +0 -1
- package/lib/esm/components/NNNN/index.js +0 -79
- package/lib/esm/components/NNNN/index.js.map +0 -1
- package/lib/esm/components/NNNN/interface/index.js +0 -11
- package/lib/esm/components/NNNN/interface/index.js.map +0 -1
- package/lib/esm/components/PP/index.js +0 -79
- package/lib/esm/components/PP/index.js.map +0 -1
- package/lib/esm/components/PP/interface/index.js +0 -12
- package/lib/esm/components/PP/interface/index.js.map +0 -1
- package/lib/types/src/components/Button/index.d.ts +0 -4
- package/lib/types/src/components/ConfigProvider/ConfigProvider.d.ts +0 -4
- package/lib/types/src/components/NN/index.d.ts +0 -7
- package/lib/types/src/components/NN/interface/index.d.ts +0 -10
- package/lib/types/src/components/NNNN/index.d.ts +0 -7
- package/lib/types/src/components/NNNN/interface/index.d.ts +0 -10
- package/lib/types/src/components/PP/index.d.ts +0 -7
- package/lib/types/src/components/PP/interface/index.d.ts +0 -11
- package/src/components/Button/demo/index.jsx +0 -50
- /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/ConfigCache.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigCache/index.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/ConfigContext/ConfigContext.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/ConfigProvider/hooks/themeToken/useThemeToken.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/Popover/component.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/Popover/index.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/Popover/manifest.d.ts +0 -0
- /package/lib/types/{src → packages/reds-rn/src}/components/Switch/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sources":["../../../../src/components/Popover/hook.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { Platform, View } from \"react-native\";\nimport type { MeasureOnSuccessCallback, NativeMethods, LayoutChangeEvent } from \"react-native\";\nimport { useFloating as useFloatingUI, shift, limitShift, flip, offset, arrow } from \"@floating-ui/react-native\";\n\nexport const useFloating = ({ placement, needModal }: { placement: \"
|
|
1
|
+
{"version":3,"file":"hook.js","sources":["../../../../src/components/Popover/hook.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { Platform, View } from \"react-native\";\nimport type { MeasureOnSuccessCallback, NativeMethods, LayoutChangeEvent } from \"react-native\";\nimport { useFloating as useFloatingUI, shift, limitShift, flip, offset, arrow } from \"@floating-ui/react-native\";\nimport { RedsPopover } from \"./interface\";\n\nexport const useFloating = ({ placement, needModal }: { placement: RedsPopover[\"placement\"]; needModal: boolean }) => {\n const arrowRef = useRef(null);\n const floatingHeight = useRef(0);\n const referenceX = useRef(0);\n const referenceY = useRef(0);\n const { refs, floatingStyles, middlewareData, elements, ...other } = useFloatingUI({\n placement,\n sameScrollView: !needModal,\n // offset 9,箭头加空隙的宽度\n middleware: [\n shift({ limiter: limitShift({ offset: 9 }), padding: 8 }),\n flip(),\n offset(9),\n arrow({ element: arrowRef, padding: 8 }),\n ],\n });\n // hack 的方式解决 android reactnode measure 方法返回 x、y 一直为 0 的情况。\n // https://github.com/facebook/react-native/issues/35755\n if (Platform.OS === \"android\" && elements.reference) {\n if (!elements.reference.oldmeasure) {\n elements.reference.oldmeasure = (elements.reference as View).measure.bind(elements.reference);\n elements.reference.measure = (fn: MeasureOnSuccessCallback) => {\n return (elements.reference.oldmeasure as NativeMethods[\"measure\"])((x, y, ...other) => {\n return fn(referenceX.current, referenceY.current, ...other);\n });\n };\n }\n }\n\n return {\n setFloatingRef: <T>(ref: T) => refs.setFloating(ref),\n setReferenceRef: <T>(ref: T) => refs.setReference(ref),\n // setOffsetParentRef: <T>(ref: T) => refs.setOffsetParent(ref),\n setOffsetParentRef: refs.offsetParent,\n setArrowRef: arrowRef,\n onReferenceLayout: (event: { nativeEvent: { layout: { x: any; y: any } } }) => {\n const { x, y } = event.nativeEvent.layout;\n referenceX.current = x;\n referenceY.current = y;\n },\n onFloatingLayout: (event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n floatingHeight.current = height;\n },\n refs,\n elements,\n middlewareData,\n floatingStyles:\n (floatingStyles.left || floatingStyles.top) && middlewareData.arrow?.x\n ? floatingStyles\n : { ...floatingStyles, opacity: 0 }, // 因为 rn 的大小位置信息获取皆为异步,且时间有差异,渲染有时间差。故在未全部计算完成前,控制透明度\n arrowStyles: {\n position: \"absolute\",\n left: middlewareData.arrow?.x != null ? middlewareData.arrow.x : null,\n top: middlewareData.offset?.placement.includes(\"top\") ? floatingHeight.current : -12,\n transform: middlewareData.offset?.placement.includes(\"top\") ? `rotate(180deg)` : `rotate(0deg)`,\n },\n ...other,\n };\n};\n"],"names":["useFloating","_ref","_middlewareData$arrow","_middlewareData$arrow2","_middlewareData$offse","_middlewareData$offse2","placement","needModal","arrowRef","useRef","floatingHeight","referenceX","referenceY","_useFloatingUI","useFloatingUI","sameScrollView","middleware","shift","limiter","limitShift","offset","padding","flip","arrow","element","refs","floatingStyles","middlewareData","elements","other","_objectWithoutProperties","_excluded","Platform","OS","reference","oldmeasure","measure","bind","fn","x","y","_len","arguments","length","Array","_key","current","concat","_objectSpread","setFloatingRef","ref","setFloating","setReferenceRef","setReference","setOffsetParentRef","offsetParent","setArrowRef","onReferenceLayout","event","_event$nativeEvent$la","nativeEvent","layout","onFloatingLayout","height","left","top","opacity","arrowStyles","position","includes","transform"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import React, { useState, useMemo, useEffect, isValidElement, cloneElement } fro
|
|
|
3
3
|
import { TouchableWithoutFeedback, View, Text } from 'react-native';
|
|
4
4
|
import { ModalWrapper, Arrow } from './component.js';
|
|
5
5
|
import { useFloating } from './hook.js';
|
|
6
|
-
import { typography } from '@
|
|
6
|
+
import { typography } from '@xhsreds/reds-token-next';
|
|
7
7
|
import '@floating-ui/react-native';
|
|
8
8
|
|
|
9
9
|
var index = (function (_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Popover/index.tsx"],"sourcesContent":["import React, { useState, useMemo, cloneElement, isValidElement, useEffect } from \"react\";\nimport { Text, View, TouchableWithoutFeedback } from \"react-native\";\nimport { RedsPopover } from \"./interface/index\";\nimport { ModalWrapper, Arrow } from \"./component\";\nimport { useFloating } from \"./hook\";\nimport { typography } from \"@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Popover/index.tsx"],"sourcesContent":["import React, { useState, useMemo, cloneElement, isValidElement, useEffect } from \"react\";\nimport { Text, View, TouchableWithoutFeedback } from \"react-native\";\nimport { RedsPopover } from \"./interface/index\";\nimport { ModalWrapper, Arrow } from \"./component\";\nimport { useFloating } from \"./hook\";\nimport { typography } from \"@xhsreds/reds-token-next\";\n\nexport default ({\n mode = \"light\",\n opacity = 0,\n content,\n children,\n placement = \"top\",\n closeOnClickAgain = true,\n trigger = \"click\",\n zIndex = 1000,\n visible: defaultVisible = false,\n onVisibleChange,\n}: RedsPopover) => {\n const [visible, setVisible] = useState(defaultVisible);\n const needModal = useMemo(() => opacity !== 0, [opacity]);\n const {\n setArrowRef,\n setFloatingRef,\n setReferenceRef,\n setOffsetParentRef,\n floatingStyles,\n arrowStyles,\n onReferenceLayout,\n onFloatingLayout,\n } = useFloating({\n placement,\n needModal,\n });\n useEffect(() => {\n onVisibleChange?.(visible);\n }, [visible]);\n\n const popoverStyle = useMemo(() => {\n return mode === \"light\"\n ? {\n backgroundColor: \"#303034FC\",\n color: \"#FFFFFF\",\n }\n : {\n backgroundColor: \"#FFFFFFFC\",\n color: \"#000000\",\n };\n }, [mode]);\n\n return (\n <>\n {React.Children.map(children, (child, index) => {\n if (index === 0 && isValidElement(child)) {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n if (trigger === \"click\") {\n if (closeOnClickAgain) {\n setVisible(!visible);\n } else {\n setVisible(true);\n }\n }\n }}\n onPressIn={() => {\n trigger === \"touch\" && setVisible(true);\n }}\n onPressOut={() => {\n trigger === \"touch\" && setVisible(false);\n }}\n >\n {cloneElement<any>(child, {\n ref: setReferenceRef,\n collapsable: false,\n onLayout: onReferenceLayout,\n })}\n {/* <Text>131</Text> */}\n </TouchableWithoutFeedback>\n );\n }\n return child;\n })}\n <ModalWrapper\n needModal={needModal}\n visible={visible}\n ref={setOffsetParentRef}\n setVisible={setVisible}\n opacity={opacity}\n >\n {visible && (\n <View\n collapsable={false}\n ref={setFloatingRef}\n onLayout={onFloatingLayout}\n style={{\n ...floatingStyles,\n backgroundColor: popoverStyle.backgroundColor,\n paddingHorizontal: 12,\n paddingVertical: 7,\n maxWidth: 280,\n borderRadius: 12,\n zIndex,\n shadowColor: \"#000000\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 2,\n }}\n >\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.B2LooseFontSize,\n lineHeight: typography.B2LooseLineHeight,\n color: popoverStyle.color,\n }}\n >\n {content}\n </Text>\n <Arrow ref={setArrowRef} style={{ ...arrowStyles }} color={popoverStyle.backgroundColor}></Arrow>\n </View>\n )}\n </ModalWrapper>\n </>\n );\n};\n"],"names":["_ref","_ref$mode","mode","_ref$opacity","opacity","content","children","_ref$placement","placement","_ref$closeOnClickAgai","closeOnClickAgain","_ref$trigger","trigger","_ref$zIndex","zIndex","_ref$visible","visible","defaultVisible","onVisibleChange","_useState","useState","_useState2","_slicedToArray","setVisible","needModal","useMemo","_useFloating","useFloating","setArrowRef","setFloatingRef","setReferenceRef","setOffsetParentRef","floatingStyles","arrowStyles","onReferenceLayout","onFloatingLayout","useEffect","popoverStyle","backgroundColor","color","React","Children","map","child","index","isValidElement","createElement","TouchableWithoutFeedback","onPress","onPressIn","onPressOut","cloneElement","ref","collapsable","onLayout","ModalWrapper","View","style","_objectSpread","paddingHorizontal","paddingVertical","maxWidth","borderRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","Text","fontWeight","typography","B2LooseFontWeight","fontSize","B2LooseFontSize","lineHeight","B2LooseLineHeight","Arrow"],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
var
|
|
1
|
+
var PopoverDefaultProps = {
|
|
2
2
|
visible: void 0,
|
|
3
3
|
placement: "top",
|
|
4
4
|
content: "",
|
|
5
5
|
opacity: 0,
|
|
6
|
-
mode: "light",
|
|
7
6
|
trigger: "click",
|
|
8
7
|
zIndex: 1e3,
|
|
9
8
|
closeOnClickAgain: true
|
|
10
9
|
};
|
|
11
10
|
|
|
12
|
-
export {
|
|
11
|
+
export { PopoverDefaultProps };
|
|
13
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Popover/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nexport interface RedsPopover {\n visible?: boolean;\n placement?: \"top\" | \"bottom\";\n content?: string;\n opacity?: number;\n mode?: \"light\" | \"dark\";\n trigger?: \"click\" | \"touch\";\n zIndex?: number;\n closeOnClickAgain?: boolean;\n children?: ReactNode;\n onClickMask?: (evnet: Event) => void;\n onVisibleChange?: (value: boolean) => void;\n}\n\nexport interface RedsPopoverEvent {}\nexport const
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Popover/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nexport interface RedsPopover {\n visible?: boolean;\n placement?: \"top-start\" | \"top\" | \"top-end\" | \"bottom-start\" | \"bottom\" | \"bottom-end\";\n content?: string;\n opacity?: number;\n mode?: \"light\" | \"dark\";\n trigger?: \"click\" | \"touch\";\n zIndex?: number;\n closeOnClickAgain?: boolean;\n children?: ReactNode;\n onClickMask?: (evnet: Event) => void;\n onVisibleChange?: (value: boolean) => void;\n}\n\nexport interface RedsPopoverEvent {}\nexport const PopoverDefaultProps: RedsPopover = {\n visible: undefined,\n placement: \"top\",\n content: \"\",\n opacity: 0,\n trigger: \"click\",\n zIndex: 1000,\n closeOnClickAgain: true,\n};\n"],"names":["PopoverDefaultProps","visible","placement","content","opacity","trigger","zIndex","closeOnClickAgain"],"mappings":"AAgBO,IAAMA,mBAAmC,GAAA;EAC9CC,OAAS,EAAA,KAAA,CAAA;AACTC,EAAAA,SAAW,EAAA,KAAA;AACXC,EAAAA,OAAS,EAAA,EAAA;AACTC,EAAAA,OAAS,EAAA,CAAA;AACTC,EAAAA,OAAS,EAAA,OAAA;AACTC,EAAAA,MAAQ,EAAA,GAAA;AACRC,EAAAA,iBAAmB,EAAA,IAAA;AACrB;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as _slicedToArray } from '../../_chunks/BHmvJnIm.js';
|
|
2
2
|
import React, { useState, useRef, useMemo, useEffect } from 'react';
|
|
3
3
|
import { StyleSheet, Animated, TouchableWithoutFeedback, View } from 'react-native';
|
|
4
|
-
import {
|
|
5
|
-
import { alwaysColor } from '@
|
|
4
|
+
import { SwitchDefaultProps } from './interface/index.js';
|
|
5
|
+
import { alwaysColor } from '@xhsreds/reds-token-next';
|
|
6
6
|
|
|
7
7
|
var Switch = function Switch(_ref) {
|
|
8
8
|
var isOn = _ref.value,
|
|
@@ -56,7 +56,7 @@ var Switch = function Switch(_ref) {
|
|
|
56
56
|
}]
|
|
57
57
|
})));
|
|
58
58
|
};
|
|
59
|
-
Switch.defaultProps =
|
|
59
|
+
Switch.defaultProps = SwitchDefaultProps;
|
|
60
60
|
var styles = StyleSheet.create({
|
|
61
61
|
switchContainer: {
|
|
62
62
|
width: 40,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Switch/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsSwitch,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Switch/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, StyleSheet, Animated, GestureResponderEvent } from \"react-native\";\nimport { RedsSwitch, SwitchDefaultProps } from \"./interface/index\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\n\nconst Switch = ({ value: isOn, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsSwitch) => {\n const isControlled = isOn !== 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 onChange?.(!!value);\n Animated.timing(animatedValue, {\n toValue: value ? 18 : 2,\n duration: 200,\n useNativeDriver: true,\n }).start();\n }, [value]);\n useEffect(() => {\n isControlled && setValue(isOn);\n }, [isOn]);\n\n const toggleSwitch = (e: GestureResponderEvent) => {\n onClick?.(e);\n !isControlled && setValue((v) => !v);\n };\n\n return (\n <TouchableWithoutFeedback onPress={(e) => toggleSwitch(e)}>\n <View style={[styles.switchContainer, { backgroundColor: value ? trackOnColor : trackOffColor }]}>\n <Animated.View style={[styles.thumb, { transform: [{ translateX: thumbTranslateX }] }]}></Animated.View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nSwitch.defaultProps = SwitchDefaultProps;\n\nconst styles = StyleSheet.create({\n switchContainer: {\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 Switch;\n"],"names":["Switch","_ref","isOn","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","toggleSwitch","e","v","TouchableWithoutFeedback","onPress","React","createElement","View","style","styles","switchContainer","backgroundColor","thumb","transform","translateX","defaultProps","SwitchDefaultProps","StyleSheet","create","width","height","borderRadius","justifyContent","alignItems","alwaysColor","White","position","left"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { lightColor } from '@
|
|
1
|
+
import { lightColor } from '@xhsreds/reds-token-next';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var SwitchDefaultProps = {
|
|
4
4
|
value: void 0,
|
|
5
5
|
defaultValue: false,
|
|
6
6
|
disabled: false,
|
|
@@ -8,5 +8,5 @@ var defaultProps = {
|
|
|
8
8
|
trackOffColor: lightColor.Fill2
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
export {
|
|
11
|
+
export { SwitchDefaultProps };
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Switch/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Switch/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nexport interface RedsSwitch {\n value?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => any;\n onClick?: (value: GestureResponderEvent) => any;\n}\n\nexport interface RedsSwitchEvent {}\nexport const SwitchDefaultProps: RedsSwitch = {\n value: undefined,\n defaultValue: false,\n disabled: false,\n trackOnColor: lightColor.Primary,\n trackOffColor: lightColor.Fill2,\n};\n"],"names":["SwitchDefaultProps","value","defaultValue","disabled","trackOnColor","lightColor","Primary","trackOffColor","Fill2"],"mappings":";;AAaO,IAAMA,kBAAiC,GAAA;EAC5CC,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;;;;"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export { default as Button } from './components/Button/index.js';
|
|
2
2
|
export { default as Popover } from './components/Popover/index.js';
|
|
3
3
|
export { default as Switch } from './components/Switch/index.js';
|
|
4
|
-
export {
|
|
4
|
+
export { default as ConfigProvider } from './components/ConfigProvider/ConfigProvider.js';
|
|
5
5
|
export { useThemeColor } from './components/ConfigProvider/hooks/themeToken/useThemeToken.js';
|
|
6
|
+
export { PopoverDefaultProps } from './components/Popover/interface/index.js';
|
|
6
7
|
import './_chunks/BHmvJnIm.js';
|
|
7
8
|
import 'react';
|
|
8
9
|
import 'react-native';
|
|
9
10
|
import './components/Popover/component.js';
|
|
10
11
|
import './components/Popover/hook.js';
|
|
11
12
|
import '@floating-ui/react-native';
|
|
12
|
-
import '@
|
|
13
|
+
import '@xhsreds/reds-token-next';
|
|
13
14
|
import './components/Switch/interface/index.js';
|
|
14
15
|
import './components/ConfigProvider/hooks/ConfigCache/ConfigCache.js';
|
|
15
16
|
import './components/ConfigProvider/hooks/ConfigContext/ConfigContext.js';
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { lightColor, darkColor, typography } from "@
|
|
1
|
+
import { lightColor, darkColor, typography } from "@xhsreds/reds-token-next";
|
|
2
2
|
type ValueOf<T> = T[keyof T];
|
|
3
3
|
export type LightToken = keyof typeof lightColor;
|
|
4
4
|
export type DarkToken = keyof typeof darkColor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { LayoutChangeEvent } from "react-native";
|
|
3
|
+
import { RedsPopover } from "./interface";
|
|
3
4
|
export declare const useFloating: ({ placement, needModal }: {
|
|
4
|
-
placement: "
|
|
5
|
+
placement: RedsPopover["placement"];
|
|
5
6
|
needModal: boolean;
|
|
6
7
|
}) => {
|
|
7
8
|
update: () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
export interface RedsPopover {
|
|
3
3
|
visible?: boolean;
|
|
4
|
-
placement?: "top" | "bottom";
|
|
4
|
+
placement?: "top-start" | "top" | "top-end" | "bottom-start" | "bottom" | "bottom-end";
|
|
5
5
|
content?: string;
|
|
6
6
|
opacity?: number;
|
|
7
7
|
mode?: "light" | "dark";
|
|
@@ -14,4 +14,4 @@ export interface RedsPopover {
|
|
|
14
14
|
}
|
|
15
15
|
export interface RedsPopoverEvent {
|
|
16
16
|
}
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const PopoverDefaultProps: RedsPopover;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -5,9 +5,9 @@ export interface RedsSwitch {
|
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
trackOnColor?: string;
|
|
7
7
|
trackOffColor?: string;
|
|
8
|
-
onChange?: (value: boolean) =>
|
|
9
|
-
onClick?: (value: GestureResponderEvent) =>
|
|
8
|
+
onChange?: (value: boolean) => any;
|
|
9
|
+
onClick?: (value: GestureResponderEvent) => any;
|
|
10
10
|
}
|
|
11
|
-
export declare const defaultProps: RedsSwitch;
|
|
12
11
|
export interface RedsSwitchEvent {
|
|
13
12
|
}
|
|
13
|
+
export declare const SwitchDefaultProps: RedsSwitch;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
@@ -2,4 +2,5 @@ import Button from "./components/Button";
|
|
|
2
2
|
import Popover from "./components/Popover";
|
|
3
3
|
import Switch from "./components/Switch";
|
|
4
4
|
import ConfigProvider, { useThemeColor } from "./components/ConfigProvider";
|
|
5
|
+
export * from "./components/Popover/interface";
|
|
5
6
|
export { Button, Popover, Switch, ConfigProvider, useThemeColor };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xhsreds/reds-rn-next",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@floating-ui/react-native": "~0.10.6",
|
|
8
8
|
"dayjs": "^1.10.7",
|
|
9
|
-
"@
|
|
9
|
+
"@xhsreds/reds-token-next": "0.0.9"
|
|
10
10
|
},
|
|
11
11
|
"peerDependencies": {
|
|
12
12
|
"react": "~18.2.0",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"module": "./lib/esm/index.js",
|
|
16
16
|
"main": "./lib/cjs/index.js",
|
|
17
|
-
"types": "./lib/types/index.d.ts",
|
|
17
|
+
"types": "./lib/types/src/index.d.ts",
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
|
20
20
|
"import": "./lib/esm/index.js",
|
|
@@ -20,13 +20,13 @@ const styles = StyleSheet.create({
|
|
|
20
20
|
const Desc = ({ children = "" }) => {
|
|
21
21
|
return <Text>{children}</Text>;
|
|
22
22
|
};
|
|
23
|
-
const Br = (props) => <View style={{ height: props.height || 20 }}></View>;
|
|
23
|
+
const Br = (props: { height?: number }) => <View style={{ height: props.height || 20 }}></View>;
|
|
24
24
|
|
|
25
25
|
export default function App() {
|
|
26
26
|
const [value, setValue] = useState(false);
|
|
27
27
|
const [valueStr, setValueStr] = useState(value.toString());
|
|
28
|
-
const onClick = (
|
|
29
|
-
const onChange = (v) => setValueStr(v.toString());
|
|
28
|
+
const onClick = (_e: any) => setValue((v) => !v);
|
|
29
|
+
const onChange = (v: boolean) => setValueStr(v.toString());
|
|
30
30
|
return (
|
|
31
31
|
<View style={styles.container}>
|
|
32
32
|
<Desc>默认用法</Desc>
|
|
@@ -34,16 +34,16 @@ export default function App() {
|
|
|
34
34
|
<Br />
|
|
35
35
|
|
|
36
36
|
<Desc>设置默认值</Desc>
|
|
37
|
-
<Button
|
|
37
|
+
<Button></Button>
|
|
38
38
|
<Br />
|
|
39
39
|
|
|
40
40
|
<Desc>修改开关颜色</Desc>
|
|
41
|
-
<Button
|
|
41
|
+
<Button></Button>
|
|
42
42
|
<Br />
|
|
43
43
|
|
|
44
44
|
<Desc>受控用法</Desc>
|
|
45
45
|
<Text>当前值:{valueStr}</Text>
|
|
46
|
-
<Button
|
|
46
|
+
<Button></Button>
|
|
47
47
|
<Br />
|
|
48
48
|
</View>
|
|
49
49
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from "react";
|
|
2
2
|
import { Text, View } from "react-native";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const Button: React.FC<any> = forwardRef<View>((props: any, ref) => {
|
|
5
5
|
return (
|
|
6
6
|
<View
|
|
7
7
|
ref={ref}
|
|
@@ -21,3 +21,5 @@ export default forwardRef<View>((props: any, ref) => {
|
|
|
21
21
|
</View>
|
|
22
22
|
);
|
|
23
23
|
});
|
|
24
|
+
|
|
25
|
+
export default Button;
|
|
@@ -16,3 +16,9 @@ export const defaultProps: RedsButton = {
|
|
|
16
16
|
trackOnColor: lightColor.Primary,
|
|
17
17
|
trackOffColor: lightColor.Fill2,
|
|
18
18
|
};
|
|
19
|
+
export const ButtonDefaultProps: RedsButton = {
|
|
20
|
+
defaultValue: false,
|
|
21
|
+
disabled: false,
|
|
22
|
+
trackOnColor: lightColor.Primary,
|
|
23
|
+
trackOffColor: lightColor.Fill2,
|
|
24
|
+
};
|
|
@@ -7,7 +7,7 @@ import Button from "../index";
|
|
|
7
7
|
describe("Button", () => {
|
|
8
8
|
it(":base", async () => {
|
|
9
9
|
let isOn = false;
|
|
10
|
-
const wrapper = render(<Button
|
|
10
|
+
const wrapper = render(<Button></Button>);
|
|
11
11
|
expect(wrapper.UNSAFE_root.props.defaultValue).toBe(false);
|
|
12
12
|
await fireEvent(wrapper.UNSAFE_root.children[0], "press");
|
|
13
13
|
expect(isOn).toBe(true);
|
|
@@ -2,7 +2,6 @@ import { describe, it, expect } from "vitest";
|
|
|
2
2
|
import { render, fireEvent, userEvent } from "@testing-library/react-native";
|
|
3
3
|
import "@testing-library/react-native/extend-expect";
|
|
4
4
|
import { Pressable, Text, View } from "react-native";
|
|
5
|
-
import Button from "../index";
|
|
6
5
|
|
|
7
6
|
describe("Button", () => {
|
|
8
7
|
it(":base", async () => {});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ConfigProviderProps } from "./interface";
|
|
2
2
|
import { configCache } from "./hooks/ConfigCache/ConfigCache";
|
|
3
3
|
import { ConfigProviderContext, IConfigProviderContext } from "./hooks/ConfigContext/ConfigContext";
|
|
4
|
+
import React from "react";
|
|
4
5
|
|
|
5
|
-
const ConfigProvider = (props: ConfigProviderProps) => {
|
|
6
|
+
const ConfigProvider: React.FC<ConfigProviderProps> = (props: ConfigProviderProps) => {
|
|
6
7
|
const {
|
|
7
8
|
id = "root",
|
|
8
9
|
theme = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useRef, useEffect, useState } from "react";
|
|
2
2
|
import { View, Text, StyleSheet, FlatList, ScrollView } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { Button } from "@xhs/reds-rn-next";
|
|
4
4
|
|
|
5
5
|
const styles = StyleSheet.create({
|
|
6
6
|
container: {
|
|
@@ -20,30 +20,30 @@ const styles = StyleSheet.create({
|
|
|
20
20
|
const Desc = ({ children = "" }) => {
|
|
21
21
|
return <Text>{children}</Text>;
|
|
22
22
|
};
|
|
23
|
-
const Br = (props) => <View style={{ height: props.height || 20 }}></View>;
|
|
23
|
+
const Br = (props: { height?: number }) => <View style={{ height: props.height || 20 }}></View>;
|
|
24
24
|
|
|
25
25
|
export default function App() {
|
|
26
26
|
const [value, setValue] = useState(false);
|
|
27
27
|
const [valueStr, setValueStr] = useState(value.toString());
|
|
28
|
-
const onClick = (
|
|
29
|
-
const onChange = (v) => setValueStr(v.toString());
|
|
28
|
+
const onClick = (_e: any) => setValue((v) => !v);
|
|
29
|
+
const onChange = (v: boolean) => setValueStr(v.toString());
|
|
30
30
|
return (
|
|
31
31
|
<View style={styles.container}>
|
|
32
32
|
<Desc>默认用法</Desc>
|
|
33
|
-
<
|
|
33
|
+
<Button></Button>
|
|
34
34
|
<Br />
|
|
35
35
|
|
|
36
36
|
<Desc>设置默认值</Desc>
|
|
37
|
-
<
|
|
37
|
+
<Button></Button>
|
|
38
38
|
<Br />
|
|
39
39
|
|
|
40
40
|
<Desc>修改开关颜色</Desc>
|
|
41
|
-
<
|
|
41
|
+
<Button></Button>
|
|
42
42
|
<Br />
|
|
43
43
|
|
|
44
44
|
<Desc>受控用法</Desc>
|
|
45
45
|
<Text>当前值:{valueStr}</Text>
|
|
46
|
-
<
|
|
46
|
+
<Button></Button>
|
|
47
47
|
<Br />
|
|
48
48
|
</View>
|
|
49
49
|
);
|
|
@@ -52,3 +52,19 @@ export const defaultProps: RedsConfigProvider = {
|
|
|
52
52
|
inherit: true,
|
|
53
53
|
token: {},
|
|
54
54
|
};
|
|
55
|
+
export const ConfigProviderDefaultProps: RedsConfigProvider = {
|
|
56
|
+
id: "root",
|
|
57
|
+
parentId: "root",
|
|
58
|
+
theme: {
|
|
59
|
+
colorMode: "light",
|
|
60
|
+
inherit: true,
|
|
61
|
+
token: {
|
|
62
|
+
lightColor: {},
|
|
63
|
+
darkColor: {},
|
|
64
|
+
alwaysColor: {},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
colorMode: "light",
|
|
68
|
+
inherit: true,
|
|
69
|
+
token: {},
|
|
70
|
+
};
|
|
@@ -7,7 +7,7 @@ import ConfigProvider from "../index";
|
|
|
7
7
|
describe("ConfigProvider", () => {
|
|
8
8
|
it(":base", async () => {
|
|
9
9
|
let isOn = false;
|
|
10
|
-
const wrapper = render(<ConfigProvider
|
|
10
|
+
const wrapper = render(<ConfigProvider>123</ConfigProvider>);
|
|
11
11
|
expect(wrapper.UNSAFE_root.props.defaultValue).toBe(false);
|
|
12
12
|
await fireEvent(wrapper.UNSAFE_root.children[0], "press");
|
|
13
13
|
expect(isOn).toBe(true);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useRef, useEffect, useState, forwardRef } from "react";
|
|
2
2
|
import { View, Text, StyleSheet, FlatList, ScrollView } from "react-native";
|
|
3
|
-
import { Popover, Button } from "@xhs/reds-rn-next";
|
|
3
|
+
import { Popover, Button, RedsPopover } from "@xhs/reds-rn-next";
|
|
4
4
|
|
|
5
5
|
const styles = StyleSheet.create({
|
|
6
6
|
container: {
|
|
@@ -62,7 +62,7 @@ export default function App() {
|
|
|
62
62
|
|
|
63
63
|
<Br />
|
|
64
64
|
|
|
65
|
-
<Popover content={placement} placement={placement} visible>
|
|
65
|
+
<Popover content={placement} placement={placement as RedsPopover["placement"]} visible>
|
|
66
66
|
<Button>{"气泡位置"}</Button>
|
|
67
67
|
</Popover>
|
|
68
68
|
</View>
|