@thewhileloop/whileui 0.2.1 → 0.2.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-menu.d.ts","sourceRoot":"","sources":["../../../src/blocks/navigation/drawer-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAetB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"drawer-menu.d.ts","sourceRoot":"","sources":["../../../src/blocks/navigation/drawer-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAetB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CAwHjB"}
|
|
@@ -4,9 +4,9 @@ import { View, Pressable, useWindowDimensions, StyleSheet, } from 'react-native'
|
|
|
4
4
|
import Animated, { useSharedValue, useAnimatedStyle, withTiming, Easing, interpolate, } from 'react-native-reanimated';
|
|
5
5
|
import { Text } from '../../components/text';
|
|
6
6
|
import { cn } from '../../lib/cn';
|
|
7
|
-
const DRAWER_WIDTH_RATIO = 0.
|
|
8
|
-
const OPEN_DURATION =
|
|
9
|
-
const CLOSE_DURATION =
|
|
7
|
+
const DRAWER_WIDTH_RATIO = 0.82;
|
|
8
|
+
const OPEN_DURATION = 300;
|
|
9
|
+
const CLOSE_DURATION = 220;
|
|
10
10
|
export function DrawerMenu({ visible, onClose, sections, activeKey, onSelect, header, footer, className, style, }) {
|
|
11
11
|
const { width: screenWidth } = useWindowDimensions();
|
|
12
12
|
const drawerWidth = screenWidth * DRAWER_WIDTH_RATIO;
|
|
@@ -14,7 +14,9 @@ export function DrawerMenu({ visible, onClose, sections, activeKey, onSelect, he
|
|
|
14
14
|
React.useEffect(() => {
|
|
15
15
|
progress.value = withTiming(visible ? 1 : 0, {
|
|
16
16
|
duration: visible ? OPEN_DURATION : CLOSE_DURATION,
|
|
17
|
-
easing: visible
|
|
17
|
+
easing: visible
|
|
18
|
+
? Easing.bezier(0.2, 0.8, 0.2, 1) // Swift, decelerating entrance
|
|
19
|
+
: Easing.bezier(0.4, 0, 1, 1), // Accelerating, sharp exit
|
|
18
20
|
});
|
|
19
21
|
}, [visible, progress]);
|
|
20
22
|
const backdropStyle = useAnimatedStyle(() => ({
|
|
@@ -37,16 +39,21 @@ export function DrawerMenu({ visible, onClose, sections, activeKey, onSelect, he
|
|
|
37
39
|
bottom: 0,
|
|
38
40
|
left: 0,
|
|
39
41
|
width: drawerWidth,
|
|
42
|
+
shadowColor: '#000',
|
|
43
|
+
shadowOffset: { width: 4, height: 0 },
|
|
44
|
+
shadowOpacity: 0.15,
|
|
45
|
+
shadowRadius: 24,
|
|
46
|
+
elevation: 16,
|
|
40
47
|
},
|
|
41
48
|
drawerStyle,
|
|
42
49
|
style,
|
|
43
|
-
], className: cn('bg-background border-r border-border', className), children: _jsxs(View, { className: "flex-1 pt-14", children: [header && _jsx(View, { className: "px-5 pb-4 mb-2 border-b border-border", children: header }), _jsx(View, { className: "flex-1 px-3", children: sections.map((section, sectionIndex) => (_jsxs(View, { className: "mb-4", children: [section.title && (_jsx(Text, { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 mb-2", children: section.title })), _jsx(View, { className: "gap-0.5", children: section.items.map((item) => {
|
|
50
|
+
], className: cn('bg-background border-r border-border rounded-r-2xl', className), children: _jsxs(View, { className: "flex-1 pt-14 pb-8", children: [header && _jsx(View, { className: "px-5 pb-4 mb-2 border-b border-border", children: header }), _jsx(View, { className: "flex-1 px-3", children: sections.map((section, sectionIndex) => (_jsxs(View, { className: "mb-4", children: [section.title && (_jsx(Text, { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide px-3 mb-2", children: section.title })), _jsx(View, { className: "gap-0.5", children: section.items.map((item) => {
|
|
44
51
|
const isActive = activeKey === item.key;
|
|
45
|
-
return (_jsxs(Pressable, { onPress: () => handleItemPress(item.key), className: cn('flex-row items-center gap-3 px-
|
|
52
|
+
return (_jsxs(Pressable, { onPress: () => handleItemPress(item.key), className: cn('flex-row items-center gap-3 px-4 py-3 mx-1 rounded-xl active:opacity-70 transition-colors', isActive && 'bg-primary/5'), children: [item.icon, _jsx(Text, { className: cn('flex-1 text-[15px] font-semibold tracking-tight', item.destructive
|
|
46
53
|
? 'text-destructive'
|
|
47
54
|
: isActive
|
|
48
55
|
? 'text-primary'
|
|
49
|
-
: 'text-foreground'), children: item.label }), item.badge !== undefined && (_jsx(View, { className: "bg-primary px-2 py-0.5 rounded-full min-w-[20px] items-center", children: _jsx(Text, { className: "text-xs font-semibold text-primary-foreground", children: item.badge }) }))] }, item.key));
|
|
56
|
+
: 'text-foreground'), children: item.label }), isActive && (_jsx(View, { className: "w-1.5 h-1.5 rounded-full bg-primary ml-2" })), item.badge !== undefined && (_jsx(View, { className: "bg-primary px-2 py-0.5 rounded-full min-w-[20px] items-center", children: _jsx(Text, { className: "text-xs font-semibold text-primary-foreground", children: item.badge }) }))] }, item.key));
|
|
50
57
|
}) })] }, sectionIndex))) }), footer && _jsx(View, { className: "px-5 py-4 mt-auto border-t border-border", children: footer })] }) })] }));
|
|
51
58
|
}
|
|
52
59
|
//# sourceMappingURL=drawer-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-menu.js","sourceRoot":"","sources":["../../../src/blocks/navigation/drawer-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,UAAU,GAGX,MAAM,cAAc,CAAC;AACtB,OAAO,QAAQ,EAAE,EACf,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAC;AA2B3B,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,GACW;IAChB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,WAAW,GAAG,kBAAkB,CAAC;IACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAEnC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;YAClD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"drawer-menu.js","sourceRoot":"","sources":["../../../src/blocks/navigation/drawer-menu.tsx"],"names":[],"mappings":"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"}
|