prizmux 1.0.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.
Files changed (51) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +105 -0
  3. package/dist/components/Button/Button.d.ts +4 -0
  4. package/dist/components/Button/Button.d.ts.map +1 -0
  5. package/dist/components/Button/Button.js +167 -0
  6. package/dist/components/Button/Button.js.map +1 -0
  7. package/dist/components/Button/Button.types.d.ts +16 -0
  8. package/dist/components/Button/Button.types.d.ts.map +1 -0
  9. package/dist/components/Button/Button.types.js +3 -0
  10. package/dist/components/Button/Button.types.js.map +1 -0
  11. package/dist/components/Button/index.d.ts +3 -0
  12. package/dist/components/Button/index.d.ts.map +1 -0
  13. package/dist/components/Button/index.js +6 -0
  14. package/dist/components/Button/index.js.map +1 -0
  15. package/dist/components/Card/Card.d.ts +4 -0
  16. package/dist/components/Card/Card.d.ts.map +1 -0
  17. package/dist/components/Card/Card.js +25 -0
  18. package/dist/components/Card/Card.js.map +1 -0
  19. package/dist/components/Card/Card.types.d.ts +7 -0
  20. package/dist/components/Card/Card.types.d.ts.map +1 -0
  21. package/dist/components/Card/Card.types.js +3 -0
  22. package/dist/components/Card/Card.types.js.map +1 -0
  23. package/dist/components/Card/index.d.ts +3 -0
  24. package/dist/components/Card/index.d.ts.map +1 -0
  25. package/dist/components/Card/index.js +6 -0
  26. package/dist/components/Card/index.js.map +1 -0
  27. package/dist/components/index.d.ts +3 -0
  28. package/dist/components/index.d.ts.map +1 -0
  29. package/dist/components/index.js +19 -0
  30. package/dist/components/index.js.map +1 -0
  31. package/dist/index.d.ts +4 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +20 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/theme/colors.d.ts +28 -0
  36. package/dist/theme/colors.d.ts.map +1 -0
  37. package/dist/theme/colors.js +30 -0
  38. package/dist/theme/colors.js.map +1 -0
  39. package/dist/theme/index.d.ts +3 -0
  40. package/dist/theme/index.d.ts.map +1 -0
  41. package/dist/theme/index.js +19 -0
  42. package/dist/theme/index.js.map +1 -0
  43. package/dist/theme/spacing.d.ts +10 -0
  44. package/dist/theme/spacing.d.ts.map +1 -0
  45. package/dist/theme/spacing.js +12 -0
  46. package/dist/theme/spacing.js.map +1 -0
  47. package/dist/types/index.d.ts +3 -0
  48. package/dist/types/index.d.ts.map +1 -0
  49. package/dist/types/index.js +3 -0
  50. package/dist/types/index.js.map +1 -0
  51. package/package.json +59 -0
package/LICENSE ADDED
@@ -0,0 +1,16 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
+
package/README.md ADDED
@@ -0,0 +1,105 @@
1
+ # Prizmux
2
+
3
+ A modern, developer-first React Native component system built for flexibility, customization, and real-world mobile apps.
4
+
5
+ Prizmux provides clean, production-ready UI primitives that you fully own — no heavy UI kits, no locked abstractions, no unnecessary bloat.
6
+
7
+ ---
8
+
9
+ ## ✨ Philosophy
10
+
11
+ Prizmux is built around one core idea:
12
+
13
+ > Developers should own their UI.
14
+
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.
16
+
17
+ Inspired by modern system-based design approaches, Prizmux focuses on:
18
+
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
25
+
26
+ ---
27
+
28
+ ## 🚀 Why Prizmux?
29
+
30
+ Most React Native UI libraries are:
31
+
32
+ - Too opinionated
33
+ - Hard to customize
34
+ - Heavy with dependencies
35
+ - Styled in ways that are difficult to override
36
+
37
+ Prizmux is different.
38
+
39
+ - Lightweight
40
+ - Minimal dependencies
41
+ - Built for real production apps
42
+ - Designed to scale with your system
43
+
44
+ You control the components.
45
+ Not the other way around.
46
+
47
+ ---
48
+
49
+ ## 📦 Core Features
50
+
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
60
+
61
+ ---
62
+
63
+ ## 🧱 Architecture
64
+
65
+ Prizmux follows a system-first structure:
66
+
67
+ ```
68
+
69
+ /components
70
+ /ui
71
+ button.tsx
72
+ input.tsx
73
+ card.tsx
74
+
75
+ /lib
76
+ theme.ts
77
+ variants.ts
78
+ cn.ts
79
+
80
+ ```
81
+
82
+ Every component:
83
+
84
+ - Reads from design tokens
85
+ - Supports variants
86
+ - Is fully customizable
87
+ - Is safe to edit directly
88
+
89
+ ---
90
+
91
+ ## 🎨 Theming
92
+
93
+ Prizmux uses centralized design tokens:
94
+
95
+ ```ts
96
+ export const theme = {
97
+ radius: 12,
98
+ spacing: 8,
99
+ colors: {
100
+ primary: "#2563eb",
101
+ background: "#0f172a",
102
+ foreground: "#ffffff",
103
+ },
104
+ };
105
+ ```
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ButtonProps } from './Button.types';
3
+ export declare const Button: React.FC<ButtonProps>;
4
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAgDlD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuFxC,CAAC"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Button = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const colors_1 = require("../../theme/colors");
6
+ const react_native_1 = require("react-native");
7
+ // Button Configuration - All styles defined here for maintainability
8
+ const BUTTON_CONFIG = {
9
+ colors: {
10
+ primary: colors_1.Colors.light.primary,
11
+ primaryDisabled: '#9CA3AF',
12
+ outlineBorder: colors_1.Colors.light.primary,
13
+ outlineBorderDisabled: '#9CA3AF',
14
+ text: {
15
+ filled: '#FFFFFF',
16
+ outline: colors_1.Colors.light.primary,
17
+ outlineDisabled: '#9CA3AF',
18
+ },
19
+ shadow: colors_1.Colors.light.primary,
20
+ },
21
+ sizes: {
22
+ small: {
23
+ paddingVertical: 10,
24
+ paddingHorizontal: 16,
25
+ fontSize: 14,
26
+ iconSize: 16,
27
+ gap: 6,
28
+ },
29
+ medium: {
30
+ paddingVertical: 14,
31
+ paddingHorizontal: 20,
32
+ fontSize: 16,
33
+ iconSize: 20,
34
+ gap: 8,
35
+ },
36
+ large: {
37
+ paddingVertical: 16,
38
+ paddingHorizontal: 24,
39
+ fontSize: 18,
40
+ iconSize: 22,
41
+ gap: 10,
42
+ },
43
+ },
44
+ borderRadius: 12,
45
+ shadow: {
46
+ shadowOffset: { width: 0, height: 4 },
47
+ shadowOpacity: 0.2,
48
+ shadowRadius: 8,
49
+ elevation: 4,
50
+ },
51
+ };
52
+ const Button = ({ title, variant = 'filled', size = 'medium', onPress, isLoading = false, disabled = false, style, textStyle, icon, iconPosition = 'left', fullWidth = false, }) => {
53
+ const isDisabled = disabled || isLoading;
54
+ const sizeConfig = BUTTON_CONFIG.sizes[size];
55
+ const isFilled = variant === 'filled';
56
+ // Get base button style
57
+ const getButtonStyle = () => {
58
+ const baseStyle = isFilled ? styles.filledButton : styles.outlineButton;
59
+ const sizeStyle = styles[`${size}Button`];
60
+ const disabledStyle = isDisabled
61
+ ? (isFilled ? styles.filledButtonDisabled : styles.outlineButtonDisabled)
62
+ : undefined;
63
+ return [
64
+ baseStyle,
65
+ sizeStyle,
66
+ disabledStyle,
67
+ fullWidth && styles.fullWidth,
68
+ style,
69
+ ].filter(Boolean);
70
+ };
71
+ // Get text style
72
+ const getTextStyle = () => {
73
+ const baseTextStyle = isFilled ? styles.filledButtonText : styles.outlineButtonText;
74
+ const sizeTextStyle = styles[`${size}ButtonText`];
75
+ const disabledTextStyle = isDisabled && !isFilled
76
+ ? styles.outlineButtonTextDisabled
77
+ : null;
78
+ return [
79
+ baseTextStyle,
80
+ sizeTextStyle,
81
+ disabledTextStyle,
82
+ textStyle,
83
+ ];
84
+ };
85
+ // Get loading indicator color
86
+ const getLoadingColor = () => {
87
+ if (isFilled)
88
+ return BUTTON_CONFIG.colors.text.filled;
89
+ return BUTTON_CONFIG.colors.text.outline;
90
+ };
91
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: getButtonStyle(), onPress: onPress, disabled: isDisabled, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.buttonContent, children: isLoading ? ((0, jsx_runtime_1.jsx)(react_native_1.ActivityIndicator, { size: "small", color: getLoadingColor() })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [icon && iconPosition === 'left' && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.iconContainer, { marginRight: sizeConfig.gap }], children: icon })), title && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: getTextStyle(), children: title })), icon && iconPosition === 'right' && ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.iconContainer, { marginLeft: sizeConfig.gap }], children: icon }))] })) }) }));
92
+ };
93
+ exports.Button = Button;
94
+ const styles = react_native_1.StyleSheet.create({
95
+ // Base Button Styles
96
+ filledButton: {
97
+ backgroundColor: BUTTON_CONFIG.colors.primary,
98
+ borderRadius: BUTTON_CONFIG.borderRadius,
99
+ alignItems: "center",
100
+ justifyContent: "center",
101
+ shadowColor: BUTTON_CONFIG.colors.shadow,
102
+ ...BUTTON_CONFIG.shadow,
103
+ },
104
+ filledButtonDisabled: {
105
+ backgroundColor: BUTTON_CONFIG.colors.primaryDisabled,
106
+ shadowOpacity: 0.1,
107
+ },
108
+ outlineButton: {
109
+ borderWidth: 2,
110
+ borderColor: BUTTON_CONFIG.colors.outlineBorder,
111
+ borderRadius: BUTTON_CONFIG.borderRadius,
112
+ backgroundColor: 'transparent',
113
+ alignItems: "center",
114
+ justifyContent: "center",
115
+ },
116
+ outlineButtonDisabled: {
117
+ borderColor: BUTTON_CONFIG.colors.outlineBorderDisabled,
118
+ },
119
+ // Size Variants
120
+ smallButton: {
121
+ paddingVertical: BUTTON_CONFIG.sizes.small.paddingVertical,
122
+ paddingHorizontal: BUTTON_CONFIG.sizes.small.paddingHorizontal,
123
+ },
124
+ mediumButton: {
125
+ paddingVertical: BUTTON_CONFIG.sizes.medium.paddingVertical,
126
+ paddingHorizontal: BUTTON_CONFIG.sizes.medium.paddingHorizontal,
127
+ },
128
+ largeButton: {
129
+ paddingVertical: BUTTON_CONFIG.sizes.large.paddingVertical,
130
+ paddingHorizontal: BUTTON_CONFIG.sizes.large.paddingHorizontal,
131
+ },
132
+ // Text Styles
133
+ filledButtonText: {
134
+ color: BUTTON_CONFIG.colors.text.filled,
135
+ fontWeight: "600",
136
+ },
137
+ outlineButtonText: {
138
+ color: BUTTON_CONFIG.colors.text.outline,
139
+ fontWeight: "600",
140
+ },
141
+ outlineButtonTextDisabled: {
142
+ color: BUTTON_CONFIG.colors.text.outlineDisabled,
143
+ },
144
+ smallButtonText: {
145
+ fontSize: BUTTON_CONFIG.sizes.small.fontSize,
146
+ },
147
+ mediumButtonText: {
148
+ fontSize: BUTTON_CONFIG.sizes.medium.fontSize,
149
+ },
150
+ largeButtonText: {
151
+ fontSize: BUTTON_CONFIG.sizes.large.fontSize,
152
+ },
153
+ // Layout Styles
154
+ buttonContent: {
155
+ flexDirection: 'row',
156
+ alignItems: 'center',
157
+ justifyContent: 'center',
158
+ },
159
+ iconContainer: {
160
+ alignItems: 'center',
161
+ justifyContent: 'center',
162
+ },
163
+ fullWidth: {
164
+ width: '100%',
165
+ },
166
+ });
167
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ViewStyle, TextStyle } from 'react-native';
2
+ import { ReactNode } from 'react';
3
+ export interface ButtonProps {
4
+ title: string;
5
+ onPress: () => void;
6
+ variant?: 'filled' | 'outline';
7
+ size?: 'small' | 'medium' | 'large';
8
+ isLoading?: boolean;
9
+ icon?: ReactNode;
10
+ iconPosition?: 'left' | 'right';
11
+ disabled?: boolean;
12
+ style?: ViewStyle;
13
+ textStyle?: TextStyle;
14
+ fullWidth?: boolean;
15
+ }
16
+ //# sourceMappingURL=Button.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Button.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.types.js","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonProps } from './Button.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Button = void 0;
4
+ var Button_1 = require("./Button");
5
+ Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Button_1.Button; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { CardProps } from './Card.types';
3
+ export declare const Card: React.FC<CardProps>;
4
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAUpC,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Card = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_native_1 = require("react-native");
6
+ const Card = ({ children, style, ...props }) => {
7
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.card, style], ...props, children: children }));
8
+ };
9
+ exports.Card = Card;
10
+ const styles = react_native_1.StyleSheet.create({
11
+ card: {
12
+ backgroundColor: '#FFFFFF',
13
+ borderRadius: 12,
14
+ padding: 16,
15
+ shadowColor: '#000',
16
+ shadowOffset: {
17
+ width: 0,
18
+ height: 2,
19
+ },
20
+ shadowOpacity: 0.1,
21
+ shadowRadius: 4,
22
+ elevation: 3,
23
+ },
24
+ });
25
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;AACA,+CAAgD;AAGzC,MAAM,IAAI,GAAwB,CAAC,EACxC,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAM,KAAK,YACzC,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,IAAI,QAUf;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV;QACD,aAAa,EAAE,GAAG;QAClB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ViewProps, StyleProp, ViewStyle } from 'react-native';
2
+ import { ReactNode } from 'react';
3
+ export interface CardProps extends ViewProps {
4
+ children: ReactNode;
5
+ style?: StyleProp<ViewStyle>;
6
+ }
7
+ //# sourceMappingURL=Card.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Card.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.types.js","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { Card } from './Card';
2
+ export type { CardProps } from './Card.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Card = void 0;
4
+ var Card_1 = require("./Card");
5
+ Object.defineProperty(exports, "Card", { enumerable: true, get: function () { return Card_1.Card; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAArB,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Button';
2
+ export * from './Card';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Button"), exports);
18
+ __exportStar(require("./Card"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB"}
@@ -0,0 +1,4 @@
1
+ export * from './components';
2
+ export * from './theme';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./components"), exports);
18
+ __exportStar(require("./theme"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB"}
@@ -0,0 +1,28 @@
1
+ export declare const Colors: {
2
+ readonly light: {
3
+ readonly primary: "#007AFF";
4
+ readonly secondary: "#5856D6";
5
+ readonly success: "#34C759";
6
+ readonly warning: "#FF9500";
7
+ readonly error: "#FF3B30";
8
+ readonly background: "#FFFFFF";
9
+ readonly surface: "#F2F2F7";
10
+ readonly text: "#000000";
11
+ readonly textSecondary: "#8E8E93";
12
+ readonly border: "#C7C7CC";
13
+ };
14
+ readonly dark: {
15
+ readonly primary: "#0A84FF";
16
+ readonly secondary: "#5E5CE6";
17
+ readonly success: "#32D74B";
18
+ readonly warning: "#FF9F0A";
19
+ readonly error: "#FF453A";
20
+ readonly background: "#000000";
21
+ readonly surface: "#1C1C1E";
22
+ readonly text: "#FFFFFF";
23
+ readonly textSecondary: "#8E8E93";
24
+ readonly border: "#38383A";
25
+ };
26
+ };
27
+ export type Colors = typeof Colors;
28
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CAyBT,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Colors = void 0;
4
+ exports.Colors = {
5
+ light: {
6
+ primary: '#007AFF',
7
+ secondary: '#5856D6',
8
+ success: '#34C759',
9
+ warning: '#FF9500',
10
+ error: '#FF3B30',
11
+ background: '#FFFFFF',
12
+ surface: '#F2F2F7',
13
+ text: '#000000',
14
+ textSecondary: '#8E8E93',
15
+ border: '#C7C7CC',
16
+ },
17
+ dark: {
18
+ primary: '#0A84FF',
19
+ secondary: '#5E5CE6',
20
+ success: '#32D74B',
21
+ warning: '#FF9F0A',
22
+ error: '#FF453A',
23
+ background: '#000000',
24
+ surface: '#1C1C1E',
25
+ text: '#FFFFFF',
26
+ textSecondary: '#8E8E93',
27
+ border: '#38383A',
28
+ },
29
+ };
30
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE;QACL,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;KAClB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;KAClB;CACO,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './colors';
2
+ export * from './spacing';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./colors"), exports);
18
+ __exportStar(require("./spacing"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B"}
@@ -0,0 +1,10 @@
1
+ export declare const spacing: {
2
+ readonly xs: 4;
3
+ readonly sm: 8;
4
+ readonly md: 16;
5
+ readonly lg: 24;
6
+ readonly xl: 32;
7
+ readonly xxl: 48;
8
+ };
9
+ export type Spacing = typeof spacing;
10
+ //# sourceMappingURL=spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/theme/spacing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;CAOV,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.spacing = void 0;
4
+ exports.spacing = {
5
+ xs: 4,
6
+ sm: 8,
7
+ md: 16,
8
+ lg: 24,
9
+ xl: 32,
10
+ xxl: 48,
11
+ };
12
+ //# sourceMappingURL=spacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../src/theme/spacing.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG;IACrB,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,EAAE;CACC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { ButtonProps } from '../components/Button';
2
+ export type { CardProps } from '../components/Card';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "prizmux",
3
+ "version": "1.0.2",
4
+ "description": "A smooth and modern UI component library for React Native",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "build:watch": "tsc --watch",
15
+ "prepublishOnly": "npm run build",
16
+ "prepack": "npm run build",
17
+ "test": "echo \"Error: no test specified\" && exit 1",
18
+ "example": "cd examples/ExampleApp && npm start",
19
+ "example:ios": "cd examples/ExampleApp && npm run ios",
20
+ "example:android": "cd examples/ExampleApp && npm run android",
21
+ "example:web": "cd examples/ExampleApp && npm run web",
22
+ "version:patch": "npm version patch",
23
+ "version:minor": "npm version minor",
24
+ "version:major": "npm version major",
25
+ "publish:patch": "npm run version:patch && npm publish",
26
+ "publish:minor": "npm run version:minor && npm publish",
27
+ "publish:major": "npm run version:major && npm publish"
28
+ },
29
+ "keywords": [
30
+ "react-native",
31
+ "ui",
32
+ "components",
33
+ "button",
34
+ "card",
35
+ "typescript",
36
+ "expo"
37
+ ],
38
+ "author": "",
39
+ "license": "ISC",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/yourusername/prizmux"
43
+ },
44
+ "peerDependencies": {
45
+ "react": ">=16.8.0",
46
+ "react-native": ">=0.60.0"
47
+ },
48
+ "devDependencies": {
49
+ "@types/react": "^19.2.7",
50
+ "@types/react-native": "^0.72.8",
51
+ "@typescript-eslint/eslint-plugin": "^8.48.1",
52
+ "@typescript-eslint/parser": "^8.48.1",
53
+ "eslint": "^9.39.1",
54
+ "prettier": "^3.7.4",
55
+ "react": "^19.2.1",
56
+ "react-native": "^0.82.1",
57
+ "typescript": "^5.9.3"
58
+ }
59
+ }