prizmux 1.4.4 → 1.4.5

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/README.md CHANGED
@@ -28,14 +28,14 @@ npm install prizmux
28
28
  | -------------- | ------------------------------------------------------------------------------------- |
29
29
  | `Alert` | Customizable modal alert — bring your own buttons |
30
30
  | `BottomSheet` | Swipeable sheet with drag handle and backdrop dismiss |
31
- | `Button` | Variants, sizes, loading state, icon support, full accessibility |
31
+ | `Button` | Variants, sizes, loading state, icon support, full with touch feed back |
32
32
  | `Card` | Composable container, put anything inside |
33
33
  | `EmptyState` | Placeholder UI for empty lists and zero-data screens |
34
34
  | `FAB` | Floating action button with icon, label, or both |
35
35
  | `Header` | Navigation header with or without a back button, avatar, and action icons with badges |
36
36
  | `ImagePreview` | Full screen image viewer with gallery support |
37
37
  | `PhoneInput` | International phone input with searchable country picker and auto-detection |
38
- | `Sidebar` | Collapsible navigation panel with customizable items, icons, and active states |
38
+ | `ContextMenu` | Collapsible navigation panel with customizable items, icons, and active states |
39
39
  | `Toast` | Auto, manual, and swipe-to-dismiss notifications |
40
40
 
41
41
  ---
@@ -50,6 +50,12 @@ npm install prizmux
50
50
 
51
51
  ---
52
52
 
53
+ Contact
54
+
55
+ Have questions, suggestions, or just want to say hi? Reach out via email:
56
+
57
+ 📧 contecfy@gmail.com
58
+
53
59
  ## License
54
60
 
55
61
  MIT
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { ViewStyle, TextStyle } from 'react-native';
3
+ export type MenuItem = {
4
+ id: string;
5
+ title: string;
6
+ icon?: React.ReactNode;
7
+ onPress: () => void;
8
+ badge?: number | string;
9
+ badgeColor?: string;
10
+ };
11
+ export interface ContextMenuProps {
12
+ visible: boolean;
13
+ onClose: () => void;
14
+ items: MenuItem[];
15
+ position?: {
16
+ top?: number;
17
+ left?: number;
18
+ right?: number;
19
+ bottom?: number;
20
+ };
21
+ backgroundColor?: string;
22
+ borderRadius?: number;
23
+ itemTextColor?: string;
24
+ itemStyle?: ViewStyle;
25
+ itemTextStyle?: TextStyle;
26
+ badgeStyle?: ViewStyle;
27
+ badgeTextStyle?: TextStyle;
28
+ showIconBackground?: boolean;
29
+ iconBackgroundColor?: string;
30
+ iconBorderRadius?: number;
31
+ animation?: 'fade' | 'scale' | 'fade-scale' | 'none';
32
+ }
33
+ export declare const ContextMenu: React.FC<ContextMenuProps>;
34
+ //# sourceMappingURL=ContextMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAOL,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;CACtD;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmHlD,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextMenu = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_native_1 = require("react-native");
7
+ const ContextMenu = ({ visible, onClose, items, position = { top: 40, right: 16 }, backgroundColor = '#fff', borderRadius = 8, itemTextColor = '#111827', itemStyle, itemTextStyle, badgeStyle, badgeTextStyle, showIconBackground = false, iconBackgroundColor = 'rgba(0,0,0,0.06)', iconBorderRadius = 6, animation = 'fade-scale', // default
8
+ }) => {
9
+ const opacity = (0, react_1.useRef)(new react_native_1.Animated.Value(animation === 'fade' || animation === 'fade-scale' ? 0 : 1)).current;
10
+ const scale = (0, react_1.useRef)(new react_native_1.Animated.Value(animation === 'scale' || animation === 'fade-scale' ? 0.8 : 1)).current;
11
+ (0, react_1.useEffect)(() => {
12
+ if (visible) {
13
+ if (animation === 'none') {
14
+ opacity.setValue(1);
15
+ scale.setValue(1);
16
+ }
17
+ else {
18
+ const anims = [];
19
+ if (animation === 'fade' || animation === 'fade-scale') {
20
+ anims.push(react_native_1.Animated.timing(opacity, { toValue: 1, duration: 150, useNativeDriver: true }));
21
+ }
22
+ if (animation === 'scale' || animation === 'fade-scale') {
23
+ anims.push(react_native_1.Animated.spring(scale, { toValue: 1, friction: 6, useNativeDriver: true }));
24
+ }
25
+ react_native_1.Animated.parallel(anims).start();
26
+ }
27
+ }
28
+ else {
29
+ if (animation === 'none') {
30
+ opacity.setValue(0);
31
+ scale.setValue(0);
32
+ }
33
+ else {
34
+ const anims = [];
35
+ if (animation === 'fade' || animation === 'fade-scale') {
36
+ anims.push(react_native_1.Animated.timing(opacity, { toValue: 0, duration: 100, useNativeDriver: true }));
37
+ }
38
+ if (animation === 'scale' || animation === 'fade-scale') {
39
+ anims.push(react_native_1.Animated.timing(scale, { toValue: 0.8, duration: 100, useNativeDriver: true }));
40
+ }
41
+ react_native_1.Animated.parallel(anims).start();
42
+ }
43
+ }
44
+ }, [visible, animation]);
45
+ if (!visible)
46
+ return null;
47
+ return ((0, jsx_runtime_1.jsx)(react_native_1.TouchableWithoutFeedback, { onPress: onClose, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.overlay, children: (0, jsx_runtime_1.jsx)(react_native_1.Animated.View, { style: [
48
+ styles.menuContainer,
49
+ position,
50
+ { backgroundColor, borderRadius, opacity, transform: [{ scale }] },
51
+ ], children: items.map((item) => ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: ({ pressed }) => [
52
+ styles.menuItem,
53
+ pressed && { backgroundColor: 'rgba(0,0,0,0.05)' },
54
+ itemStyle,
55
+ ], onPress: () => {
56
+ onClose();
57
+ setTimeout(() => item.onPress(), 150);
58
+ }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.itemContent, children: [item.icon && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
59
+ showIconBackground && {
60
+ width: 32,
61
+ height: 32,
62
+ borderRadius: iconBorderRadius,
63
+ backgroundColor: iconBackgroundColor,
64
+ alignItems: 'center',
65
+ justifyContent: 'center',
66
+ },
67
+ ], children: item.icon })), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [{ color: itemTextColor }, itemTextStyle], children: item.title }), item.badge !== undefined && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
68
+ styles.badge,
69
+ badgeStyle,
70
+ item.badgeColor && { backgroundColor: item.badgeColor },
71
+ ], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.badgeText, badgeTextStyle], children: typeof item.badge === 'number' && item.badge > 99 ? '99+' : item.badge }) }))] }) }, item.id))) }) }) }));
72
+ };
73
+ exports.ContextMenu = ContextMenu;
74
+ const styles = react_native_1.StyleSheet.create({
75
+ overlay: { ...react_native_1.StyleSheet.absoluteFillObject },
76
+ menuContainer: {
77
+ position: 'absolute',
78
+ paddingVertical: 8,
79
+ minWidth: 160,
80
+ shadowColor: '#000',
81
+ shadowOffset: { width: 0, height: 4 },
82
+ shadowOpacity: 0.15,
83
+ shadowRadius: 8,
84
+ elevation: 8,
85
+ },
86
+ menuItem: {
87
+ paddingHorizontal: 12,
88
+ paddingVertical: 10,
89
+ flexDirection: 'row',
90
+ alignItems: 'center',
91
+ gap: 10,
92
+ },
93
+ itemContent: {
94
+ flexDirection: 'row',
95
+ alignItems: 'center',
96
+ gap: 10,
97
+ flex: 1,
98
+ },
99
+ badge: {
100
+ minWidth: 20,
101
+ height: 20,
102
+ borderRadius: 10,
103
+ backgroundColor: '#6B7280',
104
+ alignItems: 'center',
105
+ justifyContent: 'center',
106
+ paddingHorizontal: 6,
107
+ },
108
+ badgeText: {
109
+ color: '#fff',
110
+ fontSize: 11,
111
+ fontWeight: '700',
112
+ },
113
+ });
114
+ //# sourceMappingURL=ContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { ReactNode } from 'react';
2
+ import { TextStyle, ViewStyle } from 'react-native';
3
+ export interface ContextMenuItem {
4
+ id: string;
5
+ title: string;
6
+ icon?: ReactNode;
7
+ onPress: () => void;
8
+ badge?: number | string;
9
+ badgeColor?: string;
10
+ }
11
+ export interface ContextMenuProps {
12
+ /** Show/hide the menu */
13
+ visible: boolean;
14
+ onClose: () => void;
15
+ /** Menu items */
16
+ items: ContextMenuItem[];
17
+ /** Position relative to the parent or screen */
18
+ position?: {
19
+ top?: number;
20
+ left?: number;
21
+ right?: number;
22
+ bottom?: number;
23
+ };
24
+ /** Menu appearance */
25
+ backgroundColor?: string;
26
+ borderRadius?: number;
27
+ /** Item text styling */
28
+ itemTextColor?: string;
29
+ itemStyle?: ViewStyle;
30
+ itemTextStyle?: TextStyle;
31
+ /** Badge styling */
32
+ badgeStyle?: ViewStyle;
33
+ badgeTextStyle?: TextStyle;
34
+ /** Icon styling */
35
+ showIconBackground?: boolean;
36
+ iconBackgroundColor?: string;
37
+ iconBorderRadius?: number;
38
+ /** Animation for showing/hiding the menu */
39
+ animation?: 'fade' | 'scale' | 'fade-scale' | 'none';
40
+ /** Optional shadow */
41
+ shadow?: boolean;
42
+ }
43
+ //# sourceMappingURL=ContextMenu.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.types.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,iBAAiB;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;IAEzB,gDAAgD;IAChD,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE5E,sBAAsB;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B,oBAAoB;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,mBAAmB;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;IAErD,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ContextMenu.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.types.js","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { ContextMenu } from './ContextMenu';
2
+ export type { ContextMenuProps, ContextMenuItem } from './ContextMenu.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAG,eAAe,EAAG,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextMenu = void 0;
4
+ // Re-export the new ContextMenu as Sidebar for backwards compatibility
5
+ var ContextMenu_1 = require("./ContextMenu");
6
+ Object.defineProperty(exports, "ContextMenu", { enumerable: true, get: function () { return ContextMenu_1.ContextMenu; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ContextMenu/index.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AACvE,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -7,6 +7,6 @@ export * from './Fab';
7
7
  export * from './Header';
8
8
  export * from './ImagePreview';
9
9
  export * from './PhoneInput';
10
- export * from './Sidebar';
10
+ export * from './ContextMenu';
11
11
  export * from './Toast';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -23,6 +23,6 @@ __exportStar(require("./Fab"), exports);
23
23
  __exportStar(require("./Header"), exports);
24
24
  __exportStar(require("./ImagePreview"), exports);
25
25
  __exportStar(require("./PhoneInput"), exports);
26
- __exportStar(require("./Sidebar"), exports);
26
+ __exportStar(require("./ContextMenu"), exports);
27
27
  __exportStar(require("./Toast"), exports);
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B;AAC9B,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,wCAAsB;AACtB,2CAAyB;AACzB,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B;AAC9B,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,wCAAsB;AACtB,2CAAyB;AACzB,iDAA+B;AAC/B,+CAA6B;AAC7B,gDAA8B;AAC9B,0CAAwB"}
@@ -1,3 +1,12 @@
1
1
  export type { ButtonProps } from '../components/Button';
2
2
  export type { CardProps } from '../components/Card';
3
+ export type { EmptyStateProps } from '../components/EmptyState';
4
+ export type { FABProps } from '../components/Fab';
5
+ export type { HeaderProps } from '../components/Header';
6
+ export type { ImagePreviewProps } from '../components/ImagePreview';
7
+ export type { PhoneInputProps } from '../components/PhoneInput';
8
+ export type { ToastProps } from '../components/Toast';
9
+ export type { BottomSheetProps } from '../components/BottomSheet';
10
+ export type { AlertProps } from '../components/Alert';
11
+ export type { ContextMenuProps, ContextMenuItem } from '../components/ContextMenu';
3
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prizmux",
3
- "version": "1.4.4",
3
+ "version": "1.4.5",
4
4
  "description": "A smooth and modern UI component library for React Native",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",