aport-tools 4.0.32 → 4.0.33

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/dist/index.esm.js CHANGED
@@ -1,8 +1,8 @@
1
- /*! aport-tools v4.0.32 | ISC */
1
+ /*! aport-tools v4.0.33 | ISC */
2
2
  import React, { createContext, useState, useEffect, useContext, useMemo } from 'react';
3
3
  import { Appearance, StyleSheet, View, Text, Switch, TouchableOpacity, Platform } from 'react-native';
4
4
  import { useAsyncStorage } from '@react-native-async-storage/async-storage';
5
- import * as Reanimated from 'react-native-reanimated';
5
+ import Animated, { useSharedValue, useAnimatedStyle, withSpring } from 'react-native-reanimated';
6
6
 
7
7
  function _arrayLikeToArray(r, a) {
8
8
  (null == a || a > r.length) && (a = r.length);
@@ -698,10 +698,6 @@ var styles$1 = StyleSheet.create({
698
698
  });
699
699
 
700
700
  // src/cards/Card.tsx
701
- var Animated = Reanimated["default"];
702
- var useAnimatedStyle = Reanimated.useAnimatedStyle,
703
- useSharedValue = Reanimated.useSharedValue,
704
- withSpring = Reanimated.withSpring;
705
701
  /**
706
702
  * Card component that adapts its styles based on the current theme.
707
703
  * Supports dynamic styling, shadows, and press animations.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport * as Reanimated from 'react-native-reanimated';\nconst Animated = Reanimated.default;\nconst { useAnimatedStyle, useSharedValue, withSpring } = Reanimated;\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nexport const Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n \n // Animation state for pressable effect\n const scale = useSharedValue(1);\n \n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n \n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n \n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n \n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={cardStyles}\n >\n <Animated.View style={animatedStyle}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_ref","children","initialTheme","_useState","useState","_useState2","_slicedToArray","colorScheme","setColorScheme","_useAsyncStorage","useAsyncStorage","getItem","setItem","useEffect","loadTheme","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","systemTheme","wrap","_callee$","_context","prev","next","Appearance","getColorScheme","error","console","stop","apply","arguments","subscription","addChangeListener","_ref3","remove","_ref4","_callee2","newTheme","_callee2$","_context2","t0","React","createElement","Provider","value","ThemeToggle","_useContext","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_ref$disabled","_ref$type","_ref$rounded","rounded","_ref$borderRadius","borderRadius","_ref$isFullWidth","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Animated","Reanimated","useAnimatedStyle","useSharedValue","withSpring","Card","_ref$pressable","pressable","_ref$elevation","elevation","_ref$shadowProps","shadowProps","scale","animatedStyle","transform","handlePressIn","handlePressOut","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","onPressIn","onPressOut","padding"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\nimport { default as Animated, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nexport const Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n \n // Animation state for pressable effect\n const scale = useSharedValue(1);\n \n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n \n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n \n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n \n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={cardStyles}\n >\n <Animated.View style={animatedStyle}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_ref","children","initialTheme","_useState","useState","_useState2","_slicedToArray","colorScheme","setColorScheme","_useAsyncStorage","useAsyncStorage","getItem","setItem","useEffect","loadTheme","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","systemTheme","wrap","_callee$","_context","prev","next","Appearance","getColorScheme","error","console","stop","apply","arguments","subscription","addChangeListener","_ref3","remove","_ref4","_callee2","newTheme","_callee2$","_context2","t0","React","createElement","Provider","value","ThemeToggle","_useContext","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_ref$disabled","_ref$type","_ref$rounded","rounded","_ref$borderRadius","borderRadius","_ref$isFullWidth","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Card","_ref$pressable","pressable","_ref$elevation","elevation","_ref$shadowProps","shadowProps","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","handlePressIn","withSpring","handlePressOut","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","onPressIn","onPressOut","Animated","padding"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,29 +1,10 @@
1
- /*! aport-tools v4.0.32 | ISC */
1
+ /*! aport-tools v4.0.33 | ISC */
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
5
5
  var reactNative = require('react-native');
6
6
  var asyncStorage = require('@react-native-async-storage/async-storage');
7
- var Reanimated = require('react-native-reanimated');
8
-
9
- function _interopNamespaceDefault(e) {
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
18
- });
19
- }
20
- });
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
24
- }
25
-
26
- var Reanimated__namespace = /*#__PURE__*/_interopNamespaceDefault(Reanimated);
7
+ var Animated = require('react-native-reanimated');
27
8
 
28
9
  function _arrayLikeToArray(r, a) {
29
10
  (null == a || a > r.length) && (a = r.length);
@@ -719,10 +700,6 @@ var styles$1 = reactNative.StyleSheet.create({
719
700
  });
720
701
 
721
702
  // src/cards/Card.tsx
722
- var Animated = Reanimated__namespace["default"];
723
- var useAnimatedStyle = Reanimated__namespace.useAnimatedStyle,
724
- useSharedValue = Reanimated__namespace.useSharedValue,
725
- withSpring = Reanimated__namespace.withSpring;
726
703
  /**
727
704
  * Card component that adapts its styles based on the current theme.
728
705
  * Supports dynamic styling, shadows, and press animations.
@@ -751,8 +728,8 @@ var Card = function Card(_ref) {
751
728
  theme = _useContext.theme;
752
729
  var colors = theme.colors;
753
730
  // Animation state for pressable effect
754
- var scale = useSharedValue(1);
755
- var animatedStyle = useAnimatedStyle(function () {
731
+ var scale = Animated.useSharedValue(1);
732
+ var animatedStyle = Animated.useAnimatedStyle(function () {
756
733
  return {
757
734
  transform: [{
758
735
  scale: scale.value
@@ -760,10 +737,10 @@ var Card = function Card(_ref) {
760
737
  };
761
738
  });
762
739
  var handlePressIn = function handlePressIn() {
763
- scale.value = withSpring(0.95);
740
+ scale.value = Animated.withSpring(0.95);
764
741
  };
765
742
  var handlePressOut = function handlePressOut() {
766
- scale.value = withSpring(1);
743
+ scale.value = Animated.withSpring(1);
767
744
  };
768
745
  // Default shadow styles (improved platform-specific handling)
769
746
  var defaultShadow = reactNative.Platform.select({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport * as Reanimated from 'react-native-reanimated';\nconst Animated = Reanimated.default;\nconst { useAnimatedStyle, useSharedValue, withSpring } = Reanimated;\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nexport const Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n \n // Animation state for pressable effect\n const scale = useSharedValue(1);\n \n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n \n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n \n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n \n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={cardStyles}\n >\n <Animated.View style={animatedStyle}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_ref","children","initialTheme","_useState","useState","_useState2","_slicedToArray","colorScheme","setColorScheme","_useAsyncStorage","useAsyncStorage","getItem","setItem","useEffect","loadTheme","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","systemTheme","wrap","_callee$","_context","prev","next","Appearance","getColorScheme","error","console","stop","apply","arguments","subscription","addChangeListener","_ref3","remove","_ref4","_callee2","newTheme","_callee2$","_context2","t0","React","createElement","Provider","value","ThemeToggle","_useContext","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_ref$disabled","_ref$type","_ref$rounded","rounded","_ref$borderRadius","borderRadius","_ref$isFullWidth","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Animated","Reanimated","useAnimatedStyle","useSharedValue","withSpring","Card","_ref$pressable","pressable","_ref$elevation","elevation","_ref$shadowProps","shadowProps","scale","animatedStyle","transform","handlePressIn","handlePressOut","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","onPressIn","onPressOut","padding"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nexport const Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\nimport { default as Animated, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nexport const Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n \n // Animation state for pressable effect\n const scale = useSharedValue(1);\n \n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n \n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n \n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n \n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={cardStyles}\n >\n <Animated.View style={animatedStyle}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_ref","children","initialTheme","_useState","useState","_useState2","_slicedToArray","colorScheme","setColorScheme","_useAsyncStorage","useAsyncStorage","getItem","setItem","useEffect","loadTheme","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","systemTheme","wrap","_callee$","_context","prev","next","Appearance","getColorScheme","error","console","stop","apply","arguments","subscription","addChangeListener","_ref3","remove","_ref4","_callee2","newTheme","_callee2$","_context2","t0","React","createElement","Provider","value","ThemeToggle","_useContext","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_ref$disabled","_ref$type","_ref$rounded","rounded","_ref$borderRadius","borderRadius","_ref$isFullWidth","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Card","_ref$pressable","pressable","_ref$elevation","elevation","_ref$shadowProps","shadowProps","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","handlePressIn","withSpring","handlePressOut","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","onPressIn","onPressOut","Animated","padding"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aport-tools",
3
- "version": "4.0.32",
3
+ "version": "4.0.33",
4
4
  "description": "Aport mobile Tools with modern and minimalistic design",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",