@dryanovski/react-native-components 1.0.7 → 1.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/lib/module/components/Accordion/Accordion.js +58 -0
- package/lib/module/components/Accordion/Accordion.js.map +1 -0
- package/lib/module/components/Accordion/AccordionContext.js +12 -0
- package/lib/module/components/Accordion/AccordionContext.js.map +1 -0
- package/lib/module/components/Accordion/AccordionItem.js +50 -0
- package/lib/module/components/Accordion/AccordionItem.js.map +1 -0
- package/lib/module/components/Accordion/style.js +11 -0
- package/lib/module/components/Accordion/style.js.map +1 -0
- package/lib/module/components/Accordion/type.js +4 -0
- package/lib/module/components/Accordion/type.js.map +1 -0
- package/lib/module/components/Button/Button.js.map +1 -1
- package/lib/module/components/Button/DangerButton.js.map +1 -1
- package/lib/module/components/Button/GhostButton.js.map +1 -1
- package/lib/module/components/Button/PrimaryButton.js.map +1 -1
- package/lib/module/components/Button/SecondaryButton.js.map +1 -1
- package/lib/module/components/Collapse/Collapse.js +114 -0
- package/lib/module/components/Collapse/Collapse.js.map +1 -0
- package/lib/module/components/Collapse/index.js +5 -0
- package/lib/module/components/Collapse/index.js.map +1 -0
- package/lib/module/components/Collapse/types.js +4 -0
- package/lib/module/components/Collapse/types.js.map +1 -0
- package/lib/module/components/Divider/Divider.js +33 -0
- package/lib/module/components/Divider/Divider.js.map +1 -0
- package/lib/module/components/Divider/styles.js +2 -0
- package/lib/module/components/Divider/styles.js.map +1 -0
- package/lib/module/components/Divider/types.js +4 -0
- package/lib/module/components/Divider/types.js.map +1 -0
- package/lib/module/components/Layout/HStack.js +24 -0
- package/lib/module/components/Layout/HStack.js.map +1 -0
- package/lib/module/components/Layout/VStack.js +24 -0
- package/lib/module/components/Layout/VStack.js.map +1 -0
- package/lib/module/components/Layout/layout.types.js +4 -0
- package/lib/module/components/Layout/layout.types.js.map +1 -0
- package/lib/module/index.js +22 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/Accordion/Accordion.d.ts +4 -0
- package/lib/typescript/src/components/Accordion/Accordion.d.ts.map +1 -0
- package/lib/typescript/src/components/Accordion/AccordionContext.d.ts +12 -0
- package/lib/typescript/src/components/Accordion/AccordionContext.d.ts.map +1 -0
- package/lib/typescript/src/components/Accordion/AccordionItem.d.ts +5 -0
- package/lib/typescript/src/components/Accordion/AccordionItem.d.ts.map +1 -0
- package/lib/typescript/src/components/Accordion/style.d.ts +8 -0
- package/lib/typescript/src/components/Accordion/style.d.ts.map +1 -0
- package/lib/typescript/src/components/Accordion/type.d.ts +56 -0
- package/lib/typescript/src/components/Accordion/type.d.ts.map +1 -0
- package/lib/typescript/src/components/Button/Button.d.ts +0 -2
- package/lib/typescript/src/components/Button/Button.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/DangerButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/GhostButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/PrimaryButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/SecondaryButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/types.d.ts +11 -0
- package/lib/typescript/src/components/Button/types.d.ts.map +1 -1
- package/lib/typescript/src/components/Collapse/Collapse.d.ts +14 -0
- package/lib/typescript/src/components/Collapse/Collapse.d.ts.map +1 -0
- package/lib/typescript/src/components/Collapse/index.d.ts +3 -0
- package/lib/typescript/src/components/Collapse/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Collapse/types.d.ts +51 -0
- package/lib/typescript/src/components/Collapse/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Divider/Divider.d.ts +5 -0
- package/lib/typescript/src/components/Divider/Divider.d.ts.map +1 -0
- package/lib/typescript/src/components/Divider/styles.d.ts +1 -0
- package/lib/typescript/src/components/Divider/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Divider/types.d.ts +31 -0
- package/lib/typescript/src/components/Divider/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Layout/HStack.d.ts +4 -0
- package/lib/typescript/src/components/Layout/HStack.d.ts.map +1 -0
- package/lib/typescript/src/components/Layout/VStack.d.ts +4 -0
- package/lib/typescript/src/components/Layout/VStack.d.ts.map +1 -0
- package/lib/typescript/src/components/Layout/layout.types.d.ts +8 -0
- package/lib/typescript/src/components/Layout/layout.types.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +20 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.tsx +75 -0
- package/src/components/Accordion/AccordionContext.tsx +22 -0
- package/src/components/Accordion/AccordionItem.tsx +60 -0
- package/src/components/Accordion/style.ts +10 -0
- package/src/components/Accordion/type.ts +65 -0
- package/src/components/Button/Button.tsx +1 -3
- package/src/components/Button/DangerButton.tsx +2 -2
- package/src/components/Button/GhostButton.tsx +2 -2
- package/src/components/Button/PrimaryButton.tsx +2 -2
- package/src/components/Button/SecondaryButton.tsx +2 -2
- package/src/components/Button/types.ts +12 -0
- package/src/components/Collapse/Collapse.tsx +126 -0
- package/src/components/Collapse/index.ts +3 -0
- package/src/components/Collapse/types.ts +62 -0
- package/src/components/Divider/Divider.tsx +28 -0
- package/src/components/Divider/styles.ts +0 -0
- package/src/components/Divider/types.ts +36 -0
- package/src/components/Layout/HStack.tsx +19 -0
- package/src/components/Layout/VStack.tsx +19 -0
- package/src/components/Layout/layout.types.ts +9 -0
- package/src/index.tsx +22 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { AccordionCtx } from "./AccordionContext.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const Accordion = /*#__PURE__*/forwardRef((props, ref) => {
|
|
8
|
+
const {
|
|
9
|
+
children,
|
|
10
|
+
style,
|
|
11
|
+
singleExpand = true,
|
|
12
|
+
defaultExpandedIndices = [],
|
|
13
|
+
animation
|
|
14
|
+
} = props;
|
|
15
|
+
const [expandedIndices, setExpandedIndices] = useState(new Set(defaultExpandedIndices));
|
|
16
|
+
const toggleItem = useCallback(index => {
|
|
17
|
+
setExpandedIndices(prev => {
|
|
18
|
+
const newSet = new Set(prev);
|
|
19
|
+
if (singleExpand) {
|
|
20
|
+
// Single expand mode: only one item can be open at a time
|
|
21
|
+
if (newSet.has(index)) {
|
|
22
|
+
// If clicking the currently open item, close it
|
|
23
|
+
newSet.delete(index);
|
|
24
|
+
} else {
|
|
25
|
+
// Close all others and open this one
|
|
26
|
+
newSet.clear();
|
|
27
|
+
newSet.add(index);
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
// Multiple expand mode: toggle the clicked item
|
|
31
|
+
if (newSet.has(index)) {
|
|
32
|
+
newSet.delete(index);
|
|
33
|
+
} else {
|
|
34
|
+
newSet.add(index);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return newSet;
|
|
38
|
+
});
|
|
39
|
+
}, [singleExpand]);
|
|
40
|
+
const isItemExpanded = useCallback(index => expandedIndices.has(index), [expandedIndices]);
|
|
41
|
+
const contextValue = useMemo(() => ({
|
|
42
|
+
expandedIndices,
|
|
43
|
+
toggleItem,
|
|
44
|
+
isItemExpanded,
|
|
45
|
+
singleExpand,
|
|
46
|
+
animationConfig: animation
|
|
47
|
+
}), [expandedIndices, toggleItem, isItemExpanded, singleExpand, animation]);
|
|
48
|
+
return /*#__PURE__*/_jsx(AccordionCtx.Provider, {
|
|
49
|
+
value: contextValue,
|
|
50
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
51
|
+
ref: ref,
|
|
52
|
+
style: style,
|
|
53
|
+
children: children
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
Accordion.displayName = 'Accordion';
|
|
58
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useMemo","useState","View","AccordionCtx","jsx","_jsx","Accordion","props","ref","children","style","singleExpand","defaultExpandedIndices","animation","expandedIndices","setExpandedIndices","Set","toggleItem","index","prev","newSet","has","delete","clear","add","isItemExpanded","contextValue","animationConfig","Provider","value","displayName"],"sourceRoot":"../../../../src","sources":["components/Accordion/Accordion.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAClE,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,YAAY,QAAoC,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9E,OAAO,MAAMC,SAAS,gBAAGR,UAAU,CAA0B,CAACS,KAAK,EAAEC,GAAG,KAAK;EAC3E,MAAM;IACJC,QAAQ;IACRC,KAAK;IACLC,YAAY,GAAG,IAAI;IACnBC,sBAAsB,GAAG,EAAE;IAC3BC;EACF,CAAC,GAAGN,KAAK;EAET,MAAM,CAACO,eAAe,EAAEC,kBAAkB,CAAC,GAAGd,QAAQ,CACpD,IAAIe,GAAG,CAACJ,sBAAsB,CAChC,CAAC;EAED,MAAMK,UAAU,GAAGlB,WAAW,CAC3BmB,KAAa,IAAK;IACjBH,kBAAkB,CAAEI,IAAI,IAAK;MAC3B,MAAMC,MAAM,GAAG,IAAIJ,GAAG,CAACG,IAAI,CAAC;MAE5B,IAAIR,YAAY,EAAE;QAChB;QACA,IAAIS,MAAM,CAACC,GAAG,CAACH,KAAK,CAAC,EAAE;UACrB;UACAE,MAAM,CAACE,MAAM,CAACJ,KAAK,CAAC;QACtB,CAAC,MAAM;UACL;UACAE,MAAM,CAACG,KAAK,CAAC,CAAC;UACdH,MAAM,CAACI,GAAG,CAACN,KAAK,CAAC;QACnB;MACF,CAAC,MAAM;QACL;QACA,IAAIE,MAAM,CAACC,GAAG,CAACH,KAAK,CAAC,EAAE;UACrBE,MAAM,CAACE,MAAM,CAACJ,KAAK,CAAC;QACtB,CAAC,MAAM;UACLE,MAAM,CAACI,GAAG,CAACN,KAAK,CAAC;QACnB;MACF;MAEA,OAAOE,MAAM;IACf,CAAC,CAAC;EACJ,CAAC,EACD,CAACT,YAAY,CACf,CAAC;EAED,MAAMc,cAAc,GAAG1B,WAAW,CAC/BmB,KAAa,IAAKJ,eAAe,CAACO,GAAG,CAACH,KAAK,CAAC,EAC7C,CAACJ,eAAe,CAClB,CAAC;EAED,MAAMY,YAAY,GAAG1B,OAAO,CAC1B,OAAO;IACLc,eAAe;IACfG,UAAU;IACVQ,cAAc;IACdd,YAAY;IACZgB,eAAe,EAAEd;EACnB,CAAC,CAAC,EACF,CAACC,eAAe,EAAEG,UAAU,EAAEQ,cAAc,EAAEd,YAAY,EAAEE,SAAS,CACvE,CAAC;EAED,oBACER,IAAA,CAACF,YAAY,CAACyB,QAAQ;IAACC,KAAK,EAAEH,YAAa;IAAAjB,QAAA,eACzCJ,IAAA,CAACH,IAAI;MAACM,GAAG,EAAEA,GAAI;MAACE,KAAK,EAAEA,KAAM;MAAAD,QAAA,EAC1BA;IAAQ,CACL;EAAC,CACc,CAAC;AAE5B,CAAC,CAAC;AAEFH,SAAS,CAACwB,WAAW,GAAG,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export const AccordionCtx = /*#__PURE__*/React.createContext(undefined);
|
|
5
|
+
export const useAccordionContext = () => {
|
|
6
|
+
const context = React.useContext(AccordionCtx);
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error('AccordionItem must be used within an Accordion component');
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=AccordionContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","AccordionCtx","createContext","undefined","useAccordionContext","context","useContext","Error"],"sourceRoot":"../../../../src","sources":["components/Accordion/AccordionContext.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAWzB,OAAO,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAE7CC,SAAS,CAAC;AAEZ,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,OAAO,GAAGL,KAAK,CAACM,UAAU,CAACL,YAAY,CAAC;EAC9C,IAAI,CAACI,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,OAAOF,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useCallback, useMemo } from 'react';
|
|
4
|
+
import { Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import { Collapse } from "../Collapse/index.js";
|
|
6
|
+
import { useAccordionContext } from "./AccordionContext.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export let itemIndexCounter = 0;
|
|
9
|
+
export const AccordionItem = /*#__PURE__*/forwardRef((props, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
children,
|
|
12
|
+
title,
|
|
13
|
+
onPress,
|
|
14
|
+
isExpanded: externalIsExpanded,
|
|
15
|
+
style
|
|
16
|
+
} = props;
|
|
17
|
+
const {
|
|
18
|
+
toggleItem,
|
|
19
|
+
isItemExpanded,
|
|
20
|
+
animationConfig
|
|
21
|
+
} = useAccordionContext();
|
|
22
|
+
|
|
23
|
+
// Assign a unique index to this item
|
|
24
|
+
const itemIndex = useMemo(() => itemIndexCounter++, []);
|
|
25
|
+
|
|
26
|
+
// Use external isExpanded if provided, otherwise use context state
|
|
27
|
+
const isExpanded = externalIsExpanded !== undefined ? externalIsExpanded : isItemExpanded(itemIndex);
|
|
28
|
+
const handlePress = useCallback(event => {
|
|
29
|
+
if (onPress) {
|
|
30
|
+
onPress(event);
|
|
31
|
+
}
|
|
32
|
+
toggleItem(itemIndex);
|
|
33
|
+
}, [onPress, toggleItem, itemIndex]);
|
|
34
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
style: style,
|
|
37
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
38
|
+
onPress: handlePress,
|
|
39
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
40
|
+
children: title
|
|
41
|
+
})
|
|
42
|
+
}), /*#__PURE__*/_jsx(Collapse, {
|
|
43
|
+
isExpanded: isExpanded,
|
|
44
|
+
animationConfig: animationConfig,
|
|
45
|
+
children: children
|
|
46
|
+
})]
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
AccordionItem.displayName = 'AccordionItem';
|
|
50
|
+
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useMemo","Text","TouchableOpacity","View","Collapse","useAccordionContext","jsx","_jsx","jsxs","_jsxs","itemIndexCounter","AccordionItem","props","ref","children","title","onPress","isExpanded","externalIsExpanded","style","toggleItem","isItemExpanded","animationConfig","itemIndex","undefined","handlePress","event","displayName"],"sourceRoot":"../../../../src","sources":["components/Accordion/AccordionItem.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACxD,SACEC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QAEC,cAAc;AAErB,SAASC,QAAQ,QAAQ,sBAAa;AACtC,SAASC,mBAAmB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGzD,OAAO,IAAIC,gBAAgB,GAAG,CAAC;AAE/B,OAAO,MAAMC,aAAa,gBAAGb,UAAU,CACrC,CAACc,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IACJC,QAAQ;IACRC,KAAK;IACLC,OAAO;IACPC,UAAU,EAAEC,kBAAkB;IAC9BC;EACF,CAAC,GAAGP,KAAK;EAET,MAAM;IAAEQ,UAAU;IAAEC,cAAc;IAAEC;EAAgB,CAAC,GACnDjB,mBAAmB,CAAC,CAAC;;EAEvB;EACA,MAAMkB,SAAS,GAAGvB,OAAO,CAAC,MAAMU,gBAAgB,EAAE,EAAE,EAAE,CAAC;;EAEvD;EACA,MAAMO,UAAU,GACdC,kBAAkB,KAAKM,SAAS,GAC5BN,kBAAkB,GAClBG,cAAc,CAACE,SAAS,CAAC;EAE/B,MAAME,WAAW,GAAG1B,WAAW,CAC5B2B,KAA4B,IAAK;IAChC,IAAIV,OAAO,EAAE;MACXA,OAAO,CAACU,KAAK,CAAC;IAChB;IACAN,UAAU,CAACG,SAAS,CAAC;EACvB,CAAC,EACD,CAACP,OAAO,EAAEI,UAAU,EAAEG,SAAS,CACjC,CAAC;EAED,oBACEd,KAAA,CAACN,IAAI;IAACU,GAAG,EAAEA,GAAI;IAACM,KAAK,EAAEA,KAAM;IAAAL,QAAA,gBAC3BP,IAAA,CAACL,gBAAgB;MAACc,OAAO,EAAES,WAAY;MAAAX,QAAA,eACrCP,IAAA,CAACN,IAAI;QAAAa,QAAA,EAAEC;MAAK,CAAO;IAAC,CACJ,CAAC,eACnBR,IAAA,CAACH,QAAQ;MAACa,UAAU,EAAEA,UAAW;MAACK,eAAe,EAAEA,eAAgB;MAAAR,QAAA,EAChEA;IAAQ,CACD,CAAC;EAAA,CACP,CAAC;AAEX,CACF,CAAC;AAEDH,aAAa,CAACgB,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","accordionStyles","create","measurementView","position","opacity","zIndex"],"sourceRoot":"../../../../src","sources":["components/Accordion/style.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,eAAe,GAAGD,UAAU,CAACE,MAAM,CAAC;EAC/CC,eAAe,EAAE;IACfC,QAAQ,EAAE,UAAU;IACpBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Accordion/type.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Text","TouchableOpacity","Styles","jsx","_jsx","Button","props","ref","variant","title","size","onPress","undefined","style","disabled","textStyle","rest","textVariant","_base","_disabled","children","_text","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"mappings":";;AAAA,SAASA,UAAU,
|
|
1
|
+
{"version":3,"names":["forwardRef","Text","TouchableOpacity","Styles","jsx","_jsx","Button","props","ref","variant","title","size","onPress","undefined","style","disabled","textStyle","rest","textVariant","_base","_disabled","children","_text","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/Button.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACrD,OAAOC,MAAM,MAAM,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ7B;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,gBAAGN,UAAU,CAA6B,CAACO,KAAK,EAAEC,GAAG,KAAK;EAC3E,MAAM;IACJC,OAAO,GAAG,SAAS;IACnBC,KAAK;IACLC,IAAI,GAAG,QAAQ;IACfC,OAAO,GAAGA,CAAA,KAAMC,SAAS;IACzBC,KAAK;IACLC,QAAQ,GAAG,KAAK;IAChBC,SAAS;IACT,GAAGC;EACL,CAAC,GAAGV,KAAK;;EAET;AACF;AACA;EACE,MAAMW,WAAW,GAAI,OAAO,GAAGT,OAAmC;EAElE,oBACEJ,IAAA,CAACH,gBAAgB;IACfM,GAAG,EAAEA,GAAI;IACTI,OAAO,EAAEA,OAAQ;IACjBG,QAAQ,EAAEA,QAAS;IACnBD,KAAK,EAAE,CACLX,MAAM,CAACgB,KAAK,EACZhB,MAAM,CAACQ,IAAI,CAAe,EAC1BR,MAAM,CAACM,OAAO,CAAkB,EAChCM,QAAQ,IAAIZ,MAAM,CAACiB,SAAS,EAC5BN,KAAK,CACL;IAAA,GACEG,IAAI;IAAAI,QAAA,eAERhB,IAAA,CAACJ,IAAI;MAACa,KAAK,EAAE,CAACX,MAAM,CAACmB,KAAK,EAAEnB,MAAM,CAACe,WAAW,CAAC,EAAEF,SAAS,CAAE;MAAAK,QAAA,EACzDX;IAAK,CACF;EAAC,CACS,CAAC;AAEvB,CAAC,CAAC;AAEFJ,MAAM,CAACiB,WAAW,GAAG,YAAY;AAEjC,eAAejB,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Button","jsx","_jsx","DangerButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/DangerButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,
|
|
1
|
+
{"version":3,"names":["forwardRef","Button","jsx","_jsx","DangerButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/DangerButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,gBAAGJ,UAAU,CACpC,CAACK,KAAK,EAAEC,GAAG,KAAK;EACd,oBAAOH,IAAA,CAACF,MAAM;IAACK,GAAG,EAAEA,GAAI;IAACC,OAAO,EAAC,QAAQ;IAAA,GAAKF;EAAK,CAAG,CAAC;AACzD,CACF,CAAC;AAEDD,YAAY,CAACI,WAAW,GAAG,cAAc;AAEzC,eAAeJ,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Button","jsx","_jsx","GhostButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/GhostButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,
|
|
1
|
+
{"version":3,"names":["forwardRef","Button","jsx","_jsx","GhostButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/GhostButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC,OAAO,MAAMC,WAAW,gBAAGJ,UAAU,CACnC,CAACK,KAAK,EAAEC,GAAG,KAAK;EACd,oBAAOH,IAAA,CAACF,MAAM;IAACK,GAAG,EAAEA,GAAI;IAACC,OAAO,EAAC,OAAO;IAAA,GAAKF;EAAK,CAAG,CAAC;AACxD,CACF,CAAC;AAEDD,WAAW,CAACI,WAAW,GAAG,aAAa;AAEvC,eAAeJ,WAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Button","jsx","_jsx","PrimaryButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/PrimaryButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,
|
|
1
|
+
{"version":3,"names":["forwardRef","Button","jsx","_jsx","PrimaryButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/PrimaryButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC;AACA;AACA;AACA,OAAO,MAAMC,aAAa,gBAAGJ,UAAU,CACrC,CAACK,KAAK,EAAEC,GAAG,KAAK;EACd,oBAAOH,IAAA,CAACF,MAAM;IAACK,GAAG,EAAEA,GAAI;IAACC,OAAO,EAAC,SAAS;IAAA,GAAKF;EAAK,CAAG,CAAC;AAC1D,CACF,CAAC;AAEDD,aAAa,CAACI,WAAW,GAAG,eAAe;AAE3C,eAAeJ,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Button","jsx","_jsx","SecondaryButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/SecondaryButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,
|
|
1
|
+
{"version":3,"names":["forwardRef","Button","jsx","_jsx","SecondaryButton","props","ref","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/Button/SecondaryButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC;AACA;AACA;AACA,OAAO,MAAMC,eAAe,gBAAGJ,UAAU,CACvC,CAACK,KAAK,EAAEC,GAAG,KAAK;EACd,oBAAOH,IAAA,CAACF,MAAM;IAACK,GAAG,EAAEA,GAAI;IAACC,OAAO,EAAC,WAAW;IAAA,GAAKF;EAAK,CAAG,CAAC;AAC5D,CACF,CAAC;AAEDD,eAAe,CAACI,WAAW,GAAG,iBAAiB;AAE/C,eAAeJ,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import Animated, { useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const DEFAULT_ANIMATION = {
|
|
8
|
+
type: 'timing',
|
|
9
|
+
duration: 100
|
|
10
|
+
};
|
|
11
|
+
const DEFAULT_SPRING = {
|
|
12
|
+
damping: 20,
|
|
13
|
+
stiffness: 300
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Collapse - A reusable component for smooth expand/collapse animations
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <Collapse isExpanded={isOpen}>
|
|
22
|
+
* <Text>Your content here</Text>
|
|
23
|
+
* </Collapse>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export const Collapse = ({
|
|
27
|
+
isExpanded,
|
|
28
|
+
children,
|
|
29
|
+
animationConfig,
|
|
30
|
+
style,
|
|
31
|
+
contentStyle,
|
|
32
|
+
onMeasured
|
|
33
|
+
}) => {
|
|
34
|
+
const [contentHeight, setContentHeight] = useState(null);
|
|
35
|
+
const [shouldRender, setShouldRender] = useState(isExpanded);
|
|
36
|
+
const heightValue = useSharedValue(isExpanded ? 'auto' : 0);
|
|
37
|
+
const opacityValue = useSharedValue(isExpanded ? 1 : 0);
|
|
38
|
+
const config = animationConfig || DEFAULT_ANIMATION;
|
|
39
|
+
const isSpring = config.type === 'spring';
|
|
40
|
+
const duration = config.duration || 100;
|
|
41
|
+
|
|
42
|
+
// Measure content height
|
|
43
|
+
const onLayout = useCallback(event => {
|
|
44
|
+
const {
|
|
45
|
+
height
|
|
46
|
+
} = event.nativeEvent.layout;
|
|
47
|
+
if (height > 0 && contentHeight !== height) {
|
|
48
|
+
setContentHeight(height);
|
|
49
|
+
onMeasured?.(height);
|
|
50
|
+
}
|
|
51
|
+
}, [contentHeight, onMeasured]);
|
|
52
|
+
|
|
53
|
+
// Animate on expand/collapse
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
// Show component when expanding
|
|
56
|
+
if (isExpanded) {
|
|
57
|
+
setShouldRender(true);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Wait for measurement before animating
|
|
61
|
+
if (!contentHeight) {
|
|
62
|
+
heightValue.value = isExpanded ? 'auto' : 0;
|
|
63
|
+
opacityValue.value = isExpanded ? 1 : 0;
|
|
64
|
+
if (!isExpanded) setShouldRender(false);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Run animation
|
|
69
|
+
const targetHeight = isExpanded ? contentHeight : 0;
|
|
70
|
+
const targetOpacity = isExpanded ? 1 : 0;
|
|
71
|
+
if (isSpring) {
|
|
72
|
+
const springConfig = config.springConfig || DEFAULT_SPRING;
|
|
73
|
+
heightValue.value = withSpring(targetHeight, springConfig);
|
|
74
|
+
opacityValue.value = withSpring(targetOpacity, springConfig);
|
|
75
|
+
|
|
76
|
+
// Remove from DOM after collapse animation
|
|
77
|
+
if (!isExpanded) {
|
|
78
|
+
const stiffness = springConfig.stiffness || 300;
|
|
79
|
+
const damping = springConfig.damping || 20;
|
|
80
|
+
const settleTime = 1000 / stiffness * damping * 10;
|
|
81
|
+
setTimeout(() => setShouldRender(false), settleTime);
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
const timingConfig = 'timingConfig' in config && config.timingConfig ? config.timingConfig : {
|
|
85
|
+
duration
|
|
86
|
+
};
|
|
87
|
+
heightValue.value = withTiming(targetHeight, timingConfig);
|
|
88
|
+
opacityValue.value = withTiming(targetOpacity, timingConfig);
|
|
89
|
+
|
|
90
|
+
// Remove from DOM after collapse animation
|
|
91
|
+
if (!isExpanded) {
|
|
92
|
+
setTimeout(() => setShouldRender(false), duration);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, [isExpanded, contentHeight, isSpring, duration, config, heightValue, opacityValue]);
|
|
96
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
97
|
+
height: heightValue.value,
|
|
98
|
+
opacity: opacityValue.value,
|
|
99
|
+
overflow: 'hidden'
|
|
100
|
+
}));
|
|
101
|
+
if (!shouldRender) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
105
|
+
style: [animatedStyle, style],
|
|
106
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
107
|
+
onLayout: onLayout,
|
|
108
|
+
style: contentStyle,
|
|
109
|
+
children: children
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
Collapse.displayName = 'Collapse';
|
|
114
|
+
//# sourceMappingURL=Collapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","View","Animated","useAnimatedStyle","useSharedValue","withSpring","withTiming","jsx","_jsx","DEFAULT_ANIMATION","type","duration","DEFAULT_SPRING","damping","stiffness","Collapse","isExpanded","children","animationConfig","style","contentStyle","onMeasured","contentHeight","setContentHeight","shouldRender","setShouldRender","heightValue","opacityValue","config","isSpring","onLayout","event","height","nativeEvent","layout","value","targetHeight","targetOpacity","springConfig","settleTime","setTimeout","timingConfig","animatedStyle","opacity","overflow","displayName"],"sourceRoot":"../../../../src","sources":["components/Collapse/Collapse.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Collapse/index.ts"],"mappings":";;AAAA,cAAc,eAAY;AAC1B,cAAc,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Collapse/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const Divider = /*#__PURE__*/forwardRef((props, ref) => {
|
|
7
|
+
const {
|
|
8
|
+
thickness = 1,
|
|
9
|
+
color = '#c4c4c4',
|
|
10
|
+
orientation = 'horizontal',
|
|
11
|
+
length = '100%',
|
|
12
|
+
style,
|
|
13
|
+
...rest
|
|
14
|
+
} = props;
|
|
15
|
+
const dividerStyle = {
|
|
16
|
+
backgroundColor: color,
|
|
17
|
+
...(orientation === 'vertical' ? {
|
|
18
|
+
width: thickness,
|
|
19
|
+
height: length
|
|
20
|
+
} : {
|
|
21
|
+
height: thickness,
|
|
22
|
+
width: length
|
|
23
|
+
})
|
|
24
|
+
};
|
|
25
|
+
return /*#__PURE__*/_jsx(View, {
|
|
26
|
+
ref: ref,
|
|
27
|
+
style: [dividerStyle, style],
|
|
28
|
+
...rest
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
Divider.displayName = 'Divider';
|
|
32
|
+
export default Divider;
|
|
33
|
+
//# sourceMappingURL=Divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","View","jsx","_jsx","Divider","props","ref","thickness","color","orientation","length","style","rest","dividerStyle","backgroundColor","width","height","displayName"],"sourceRoot":"../../../../src","sources":["components/Divider/Divider.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIpD,OAAO,MAAMC,OAAO,gBAAGJ,UAAU,CAAwB,CAACK,KAAK,EAAEC,GAAG,KAAK;EACvE,MAAM;IACJC,SAAS,GAAG,CAAC;IACbC,KAAK,GAAG,SAAS;IACjBC,WAAW,GAAG,YAAY;IAC1BC,MAAM,GAAG,MAAM;IACfC,KAAK;IACL,GAAGC;EACL,CAAC,GAAGP,KAAK;EAET,MAAMQ,YAAY,GAAG;IACnBC,eAAe,EAAEN,KAAK;IACtB,IAAIC,WAAW,KAAK,UAAU,GAC1B;MAAEM,KAAK,EAAER,SAAS;MAAES,MAAM,EAAEN;IAAO,CAAC,GACpC;MAAEM,MAAM,EAAET,SAAS;MAAEQ,KAAK,EAAEL;IAAO,CAAC;EAC1C,CAAc;EAEd,oBAAOP,IAAA,CAACF,IAAI;IAACK,GAAG,EAAEA,GAAI;IAACK,KAAK,EAAE,CAACE,YAAY,EAAEF,KAAK,CAAE;IAAA,GAAKC;EAAI,CAAG,CAAC;AACnE,CAAC,CAAC;AAEFR,OAAO,CAACa,WAAW,GAAG,SAAS;AAE/B,eAAeb,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Divider/styles.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Divider/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import Style from "../../utils/Style.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const HStack = /*#__PURE__*/forwardRef((props, ref) => {
|
|
8
|
+
const {
|
|
9
|
+
style,
|
|
10
|
+
...rest
|
|
11
|
+
} = props;
|
|
12
|
+
return /*#__PURE__*/_jsx(View, {
|
|
13
|
+
ref: ref,
|
|
14
|
+
style: [elementStyle.base, style],
|
|
15
|
+
...rest
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
HStack.displayName = 'HStack';
|
|
19
|
+
const elementStyle = Style.create({
|
|
20
|
+
base: {
|
|
21
|
+
flexDirection: 'row'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=HStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","View","Style","jsx","_jsx","HStack","props","ref","style","rest","elementStyle","base","displayName","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/Layout/HStack.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,KAAK,MAAM,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,OAAO,MAAMC,MAAM,gBAAGL,UAAU,CAAuB,CAACM,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAEhC,oBAAOF,IAAA,CAACH,IAAI;IAACM,GAAG,EAAEA,GAAI;IAACC,KAAK,EAAE,CAACE,YAAY,CAACC,IAAI,EAAEH,KAAK,CAAE;IAAA,GAAKC;EAAI,CAAG,CAAC;AACxE,CAAC,CAAC;AAEFJ,MAAM,CAACO,WAAW,GAAG,QAAQ;AAE7B,MAAMF,YAAY,GAAGR,KAAK,CAACW,MAAM,CAAC;EAChCF,IAAI,EAAE;IACJG,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import Style from "../../utils/Style.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const VStack = /*#__PURE__*/forwardRef((props, ref) => {
|
|
8
|
+
const {
|
|
9
|
+
style,
|
|
10
|
+
...rest
|
|
11
|
+
} = props;
|
|
12
|
+
return /*#__PURE__*/_jsx(View, {
|
|
13
|
+
ref: ref,
|
|
14
|
+
style: [elementStyle.base, style],
|
|
15
|
+
...rest
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
VStack.displayName = 'VStack';
|
|
19
|
+
const elementStyle = Style.create({
|
|
20
|
+
base: {
|
|
21
|
+
flexDirection: 'column'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=VStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","View","Style","jsx","_jsx","VStack","props","ref","style","rest","elementStyle","base","displayName","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/Layout/VStack.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,KAAK,MAAM,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,OAAO,MAAMC,MAAM,gBAAGL,UAAU,CAAuB,CAACM,KAAK,EAAEC,GAAG,KAAK;EACrE,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAEhC,oBAAOF,IAAA,CAACH,IAAI;IAACM,GAAG,EAAEA,GAAI;IAACC,KAAK,EAAE,CAACE,YAAY,CAACC,IAAI,EAAEH,KAAK,CAAE;IAAA,GAAKC;EAAI,CAAG,CAAC;AACxE,CAAC,CAAC;AAEFJ,MAAM,CAACO,WAAW,GAAG,QAAQ;AAE7B,MAAMF,YAAY,GAAGR,KAAK,CAACW,MAAM,CAAC;EAChCF,IAAI,EAAE;IACJG,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Layout/layout.types.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
// Export Components
|
|
4
|
+
export * from "./components/Accordion/Accordion.js";
|
|
5
|
+
export * from "./components/Accordion/AccordionItem.js";
|
|
6
|
+
export * from "./components/Collapse/index.js";
|
|
7
|
+
export * from "./components/Button/Button.js";
|
|
8
|
+
export * from "./components/Button/DangerButton.js";
|
|
9
|
+
export * from "./components/Button/GhostButton.js";
|
|
10
|
+
export * from "./components/Button/PrimaryButton.js";
|
|
11
|
+
export * from "./components/Button/SecondaryButton.js";
|
|
4
12
|
export * from "./components/Card/Card.js";
|
|
13
|
+
export * from "./components/Divider/Divider.js";
|
|
14
|
+
export * from "./components/Layout/HStack.js";
|
|
15
|
+
export * from "./components/Layout/VStack.js";
|
|
16
|
+
export * from "./components/Surface/Surface.js";
|
|
17
|
+
|
|
18
|
+
// types
|
|
19
|
+
export * from "./components/Accordion/type.js";
|
|
20
|
+
export * from "./components/Collapse/types.js";
|
|
21
|
+
export * from "./components/Button/types.js";
|
|
22
|
+
export * from "./components/Card/types.js";
|
|
23
|
+
export * from "./components/Divider/types.js";
|
|
24
|
+
export * from "./components/Layout/layout.types.js";
|
|
25
|
+
export * from "./components/Surface/types.js";
|
|
26
|
+
export * from "./types/general.types.js";
|
|
5
27
|
|
|
6
28
|
// Provider
|
|
7
29
|
export * from "./providers/ThemeProvider.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,2BAAwB;;
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,qCAAkC;AAChD,cAAc,yCAAsC;AACpD,cAAc,gCAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,qCAAkC;AAChD,cAAc,oCAAiC;AAC/C,cAAc,sCAAmC;AACjD,cAAc,wCAAqC;AACnD,cAAc,2BAAwB;AACtC,cAAc,iCAA8B;AAC5C,cAAc,+BAA4B;AAC1C,cAAc,+BAA4B;AAC1C,cAAc,iCAA8B;;AAE5C;AACA,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,4BAAyB;AACvC,cAAc,+BAA4B;AAC1C,cAAc,qCAAkC;AAChD,cAAc,+BAA4B;AAC1C,cAAc,0BAAuB;;AAErC;AACA,cAAc,8BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,eAAO,MAAM,SAAS,iGAkEpB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AnimationConfig } from '../Collapse/types';
|
|
3
|
+
export type AccordionContextValue = {
|
|
4
|
+
expandedIndices: Set<number>;
|
|
5
|
+
toggleItem: (index: number) => void;
|
|
6
|
+
isItemExpanded: (index: number) => boolean;
|
|
7
|
+
singleExpand: boolean;
|
|
8
|
+
animationConfig?: AnimationConfig;
|
|
9
|
+
};
|
|
10
|
+
export declare const AccordionCtx: React.Context<AccordionContextValue | undefined>;
|
|
11
|
+
export declare const useAccordionContext: () => AccordionContextValue;
|
|
12
|
+
//# sourceMappingURL=AccordionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Accordion/AccordionContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,YAAY,kDAEb,CAAC;AAEb,eAAO,MAAM,mBAAmB,6BAM/B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { View } from 'react-native';
|
|
2
|
+
import type { AccordionItemProps } from './type';
|
|
3
|
+
export declare let itemIndexCounter: number;
|
|
4
|
+
export declare const AccordionItem: import("react").ForwardRefExoticComponent<AccordionItemProps & import("react").RefAttributes<View>>;
|
|
5
|
+
//# sourceMappingURL=AccordionItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Accordion/AccordionItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,IAAI,EAEL,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,IAAI,gBAAgB,QAAI,CAAC;AAEhC,eAAO,MAAM,aAAa,qGA2CzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../../src/components/Accordion/style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;CAM1B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { StyleProp, TouchableOpacityProps, ViewStyle } from 'react-native';
|
|
2
|
+
import type { AnimationConfig } from '../Collapse/types';
|
|
3
|
+
export type AccordionProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Style for the accordion component.
|
|
6
|
+
* Optional.
|
|
7
|
+
*/
|
|
8
|
+
style?: StyleProp<ViewStyle>;
|
|
9
|
+
/**
|
|
10
|
+
* Content of the accordion (AccordionItems).
|
|
11
|
+
*/
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Whether only one item can be expanded at a time.
|
|
15
|
+
* If true, expanding one item will collapse all others.
|
|
16
|
+
* If false, multiple items can be expanded simultaneously.
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
singleExpand?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Initially expanded item indices.
|
|
22
|
+
* Optional.
|
|
23
|
+
*/
|
|
24
|
+
defaultExpandedIndices?: number[];
|
|
25
|
+
/**
|
|
26
|
+
* Animation configuration for expanding/collapsing items.
|
|
27
|
+
* @default { type: 'timing', duration: 100 }
|
|
28
|
+
*/
|
|
29
|
+
animation?: AnimationConfig;
|
|
30
|
+
};
|
|
31
|
+
export type AccordionItemProps = {
|
|
32
|
+
/**
|
|
33
|
+
* Style for the accordion item component.
|
|
34
|
+
* Optional.
|
|
35
|
+
*/
|
|
36
|
+
style?: StyleProp<ViewStyle>;
|
|
37
|
+
/**
|
|
38
|
+
* Content of the accordion item.
|
|
39
|
+
*/
|
|
40
|
+
children?: React.ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Title of the accordion item.
|
|
43
|
+
*/
|
|
44
|
+
title: string;
|
|
45
|
+
/**
|
|
46
|
+
* Function to be called when the accordion item is pressed.
|
|
47
|
+
*/
|
|
48
|
+
onPress?: TouchableOpacityProps['onPress'];
|
|
49
|
+
/**
|
|
50
|
+
* Whether the accordion item is expanded.
|
|
51
|
+
* This is controlled internally by the Accordion context.
|
|
52
|
+
* Optional - for external control.
|
|
53
|
+
*/
|
|
54
|
+
isExpanded?: boolean;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../src/components/Accordion/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAE3C;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { type ComponentRef } from 'react';
|
|
2
1
|
import type { ButtonBaseProps } from './types';
|
|
3
|
-
export type ButtonBaseRef = ComponentRef<typeof Button>;
|
|
4
2
|
/**
|
|
5
3
|
* A customizable button component that supports different variants and sizes.
|
|
6
4
|
* @return A TouchableOpacity button with text.
|