prizmux 1.0.2 β†’ 1.1.3

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
@@ -1,96 +1,92 @@
1
- # Prizmux
1
+ # πŸ‘½ Prizmux
2
2
 
3
- A modern, developer-first React Native component system built for flexibility, customization, and real-world mobile apps.
3
+ A developer-first React Native component system.
4
4
 
5
- Prizmux provides clean, production-ready UI primitives that you fully own β€” no heavy UI kits, no locked abstractions, no unnecessary bloat.
5
+ Prizmux gives you production-ready UI primitives that you actually own.
6
+ No bloated UI kits. No locked abstractions. No fighting the framework.
7
+
8
+ Just clean components you can copy, modify, and ship.
6
9
 
7
10
  ---
8
11
 
9
- ## ✨ Philosophy
12
+ ## Philosophy
13
+
14
+ Prizmux is built around a simple idea:
10
15
 
11
- Prizmux is built around one core idea:
16
+ > You should control your UI β€” not your UI library.
12
17
 
13
- > Developers should own their UI.
18
+ Instead of installing a massive dependency that dictates how your app looks and behaves, Prizmux lets you bring components directly into your codebase.
14
19
 
15
- Instead of installing a massive UI framework, Prizmux allows you to copy components directly into your project. You can modify, extend, and adapt them without fighting the library.
20
+ Edit them. Refactor them. Break them. Improve them.
16
21
 
17
- Inspired by modern system-based design approaches, Prizmux focuses on:
22
+ They’re yours.
18
23
 
19
- - 🎯 Mobile-first components
20
- - 🎨 Strong design tokens
21
- - πŸŒ™ Built-in dark mode support
22
- - ⚑ Smooth interactions & animations
23
- - 🧱 Clean, composable primitives
24
- - 🧠 Production-ready patterns
24
+ The system is inspired by modern design-token and system-based approaches, but built specifically for real-world mobile apps.
25
25
 
26
26
  ---
27
27
 
28
- ## πŸš€ Why Prizmux?
28
+ ## Why Prizmux?
29
29
 
30
30
  Most React Native UI libraries are:
31
31
 
32
- - Too opinionated
33
- - Hard to customize
34
- - Heavy with dependencies
35
- - Styled in ways that are difficult to override
32
+ * Over-opinionated
33
+ * Hard to override
34
+ * Packed with unnecessary dependencies
35
+ * Designed more for demos than production
36
36
 
37
- Prizmux is different.
37
+ Prizmux takes a different approach.
38
38
 
39
- - Lightweight
40
- - Minimal dependencies
41
- - Built for real production apps
42
- - Designed to scale with your system
39
+ It’s lightweight.
40
+ It scales with your system.
41
+ It stays out of your way.
43
42
 
44
- You control the components.
45
- Not the other way around.
43
+ You stay in control.
46
44
 
47
45
  ---
48
46
 
49
- ## πŸ“¦ Core Features
47
+ ## Core Components
50
48
 
51
- - Button (variants, loading, animation)
52
- - Input (label, error, secure support)
53
- - Card (composable structure)
54
- - Sheet / Modal (mobile-native UX)
55
- - Toast system
56
- - Theming & design tokens
57
- - Variant system
58
- - Dark mode ready
59
- - Fully typed with TypeScript
49
+ * Button (variants, loading states, subtle animation)
50
+ * Input (label, validation, secure support)
51
+ * Card (composable structure)
52
+ * Sheet / Modal (mobile-native UX)
53
+ * Toast system
54
+ * Theming & design tokens
55
+ * Variant system
56
+ * Dark mode support
57
+ * Fully typed with TypeScript
60
58
 
61
59
  ---
62
60
 
63
- ## 🧱 Architecture
61
+ ## Architecture
64
62
 
65
63
  Prizmux follows a system-first structure:
66
64
 
67
65
  ```
68
-
69
66
  /components
70
- /ui
71
- button.tsx
72
- input.tsx
73
- card.tsx
67
+ /ui
68
+ button.tsx
69
+ input.tsx
70
+ card.tsx
74
71
 
75
72
  /lib
76
- theme.ts
77
- variants.ts
78
- cn.ts
79
-
73
+ theme.ts
74
+ variants.ts
75
+ cn.ts
80
76
  ```
81
77
 
82
78
  Every component:
83
79
 
84
- - Reads from design tokens
85
- - Supports variants
86
- - Is fully customizable
87
- - Is safe to edit directly
80
+ * Reads from centralized design tokens
81
+ * Supports variants
82
+ * Is safe to edit directly
83
+ * Is built for production, not playgrounds
88
84
 
89
85
  ---
90
86
 
91
- ## 🎨 Theming
87
+ ## Theming
92
88
 
93
- Prizmux uses centralized design tokens:
89
+ Design tokens live in one place:
94
90
 
95
91
  ```ts
96
92
  export const theme = {
@@ -0,0 +1,3 @@
1
+ import type { BottomSheetProps } from './BottomSheet.types';
2
+ export default function BottomSheet({ visible, onClose, title, children, dismissOnTouchOutside, showCloseButton, showDragHandle, swipeToClose, closeIcon, }: BottomSheetProps): import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=BottomSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,qBAA4B,EAC5B,eAAsB,EACtB,cAAqB,EACrB,YAAmB,EACnB,SAAS,GACV,EAAE,gBAAgB,kDAyIlB"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = BottomSheet;
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 { height: SCREEN_HEIGHT } = react_native_1.Dimensions.get('window');
8
+ const DefaultCloseIcon = () => ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.defaultCloseIcon, children: "\u2715" }));
9
+ function BottomSheet({ visible, onClose, title, children, dismissOnTouchOutside = true, showCloseButton = true, showDragHandle = true, swipeToClose = true, closeIcon, }) {
10
+ const slideAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(SCREEN_HEIGHT)).current;
11
+ const backdropAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
12
+ const [dynamicHeight, setDynamicHeight] = (0, react_1.useState)(SCREEN_HEIGHT * 0.6);
13
+ const panResponder = (0, react_1.useRef)(react_native_1.PanResponder.create({
14
+ onMoveShouldSetPanResponder: (_, gestureState) => {
15
+ return swipeToClose && gestureState.dy > 5;
16
+ },
17
+ onPanResponderMove: (_, gestureState) => {
18
+ if (gestureState.dy > 0) {
19
+ slideAnim.setValue(gestureState.dy);
20
+ }
21
+ },
22
+ onPanResponderRelease: (_, gestureState) => {
23
+ if (gestureState.dy > dynamicHeight * 0.4) {
24
+ closeModal();
25
+ }
26
+ else {
27
+ react_native_1.Animated.spring(slideAnim, {
28
+ toValue: 0,
29
+ useNativeDriver: true,
30
+ bounciness: 5,
31
+ }).start();
32
+ }
33
+ },
34
+ })).current;
35
+ const openModal = (0, react_1.useCallback)(() => {
36
+ react_native_1.Animated.parallel([
37
+ react_native_1.Animated.timing(backdropAnim, {
38
+ toValue: 1,
39
+ duration: 300,
40
+ useNativeDriver: true,
41
+ }),
42
+ react_native_1.Animated.spring(slideAnim, {
43
+ toValue: 0,
44
+ useNativeDriver: true,
45
+ bounciness: 0,
46
+ }),
47
+ ]).start();
48
+ }, [backdropAnim, slideAnim]);
49
+ const closeModal = (0, react_1.useCallback)(() => {
50
+ react_native_1.Animated.parallel([
51
+ react_native_1.Animated.timing(backdropAnim, {
52
+ toValue: 0,
53
+ duration: 250,
54
+ useNativeDriver: true,
55
+ }),
56
+ react_native_1.Animated.timing(slideAnim, {
57
+ toValue: dynamicHeight,
58
+ duration: 250,
59
+ useNativeDriver: true,
60
+ }),
61
+ ]).start(() => {
62
+ onClose();
63
+ });
64
+ }, [backdropAnim, slideAnim, dynamicHeight, onClose]);
65
+ (0, react_1.useEffect)(() => {
66
+ if (visible) {
67
+ openModal();
68
+ }
69
+ }, [visible, openModal]);
70
+ if (!visible)
71
+ return null;
72
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.Modal, { animationType: "none", transparent: true, visible: visible, onRequestClose: closeModal, statusBarTranslucent: true, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: styles.backdropPressable, onPress: () => dismissOnTouchOutside && closeModal(), children: (0, jsx_runtime_1.jsx)(react_native_1.Animated.View, { style: [styles.backdrop, { opacity: backdropAnim }] }) }), (0, jsx_runtime_1.jsxs)(react_native_1.Animated.View, { style: [
73
+ styles.modalContainer,
74
+ {
75
+ maxHeight: SCREEN_HEIGHT * 0.9,
76
+ transform: [{ translateY: slideAnim }],
77
+ },
78
+ ], onLayout: (event) => {
79
+ const { height: layoutHeight } = event.nativeEvent.layout;
80
+ setDynamicHeight(layoutHeight);
81
+ if (visible) {
82
+ slideAnim.setValue(layoutHeight);
83
+ openModal();
84
+ }
85
+ }, ...panResponder.panHandlers, children: [showDragHandle && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.dragHandleContainer, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.dragHandle }) })), (title || showCloseButton) && ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.titleContainer, children: title && (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.title, children: title }) }), showCloseButton && ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: styles.closeButton, onPress: closeModal, hitSlop: { top: 10, bottom: 10, left: 10, right: 10 }, children: closeIcon ?? (0, jsx_runtime_1.jsx)(DefaultCloseIcon, {}) }))] })), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.contentContainer, children: children })] })] }));
86
+ }
87
+ const styles = react_native_1.StyleSheet.create({
88
+ backdropPressable: {
89
+ ...react_native_1.StyleSheet.absoluteFillObject,
90
+ zIndex: 1,
91
+ },
92
+ backdrop: {
93
+ ...react_native_1.StyleSheet.absoluteFillObject,
94
+ flex: 1,
95
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
96
+ },
97
+ modalContainer: {
98
+ position: 'absolute',
99
+ bottom: 0,
100
+ left: 0,
101
+ right: 0,
102
+ borderTopLeftRadius: 20,
103
+ borderTopRightRadius: 20,
104
+ overflow: 'hidden',
105
+ zIndex: 2,
106
+ backgroundColor: '#FFFFFF',
107
+ shadowColor: '#000000',
108
+ shadowOffset: { width: 0, height: -3 },
109
+ shadowOpacity: 0.1,
110
+ shadowRadius: 5,
111
+ elevation: 10,
112
+ },
113
+ dragHandleContainer: {
114
+ alignItems: 'center',
115
+ paddingVertical: 12,
116
+ },
117
+ dragHandle: {
118
+ width: 40,
119
+ height: 4,
120
+ borderRadius: 2,
121
+ backgroundColor: '#E5E7EB',
122
+ },
123
+ header: {
124
+ flexDirection: 'row',
125
+ alignItems: 'center',
126
+ justifyContent: 'space-between',
127
+ paddingHorizontal: 20,
128
+ paddingBottom: 16,
129
+ borderBottomWidth: react_native_1.StyleSheet.hairlineWidth,
130
+ borderBottomColor: '#E5E7EB',
131
+ },
132
+ titleContainer: {
133
+ flex: 1,
134
+ },
135
+ title: {
136
+ fontSize: 18,
137
+ fontWeight: '600',
138
+ color: '#111827',
139
+ },
140
+ closeButton: {
141
+ width: 32,
142
+ height: 32,
143
+ borderRadius: 16,
144
+ alignItems: 'center',
145
+ justifyContent: 'center',
146
+ marginLeft: 16,
147
+ backgroundColor: '#F3F4F6',
148
+ },
149
+ contentContainer: {
150
+ flex: 1,
151
+ paddingHorizontal: 20,
152
+ paddingTop: 16,
153
+ paddingBottom: 24,
154
+ },
155
+ defaultCloseIcon: {
156
+ fontSize: 14,
157
+ color: '#6B7280',
158
+ fontWeight: '600',
159
+ },
160
+ });
161
+ //# sourceMappingURL=BottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.js","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export interface BottomSheetProps {
3
+ visible: boolean;
4
+ onClose: () => void;
5
+ title?: string;
6
+ children: ReactNode;
7
+ dismissOnTouchOutside?: boolean;
8
+ showCloseButton?: boolean;
9
+ showDragHandle?: boolean;
10
+ swipeToClose?: boolean;
11
+ closeIcon?: ReactNode;
12
+ }
13
+ //# sourceMappingURL=BottomSheet.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.types.d.ts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BottomSheet.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.types.js","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { default as BottomSheet } from './BottomSheet';
2
+ export type { BottomSheetProps } from './BottomSheet.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/BottomSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BottomSheet = void 0;
7
+ var BottomSheet_1 = require("./BottomSheet");
8
+ Object.defineProperty(exports, "BottomSheet", { enumerable: true, get: function () { return __importDefault(BottomSheet_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/BottomSheet/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAuD;AAA9C,2HAAA,OAAO,OAAe"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prizmux",
3
- "version": "1.0.2",
3
+ "version": "1.1.3",
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",
@@ -35,11 +35,11 @@
35
35
  "typescript",
36
36
  "expo"
37
37
  ],
38
- "author": "",
38
+ "author": "Lukwago Joel Jr",
39
39
  "license": "ISC",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/yourusername/prizmux"
42
+ "url": "https://github.com/contecfy/prizmux"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",