diff --git a/.gitignore b/.gitignore index 05647d5..be0c785 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,6 @@ yarn-error.* # typescript *.tsbuildinfo + +# envdir +.envrc diff --git a/App.tsx b/App.tsx index 0329d0c..f26d3d8 100644 --- a/App.tsx +++ b/App.tsx @@ -1,20 +1,28 @@ -import { StatusBar } from 'expo-status-bar'; -import { StyleSheet, Text, View } from 'react-native'; +import { StatusBar, View } from 'react-native'; +import { useFonts, Roboto_400Regular, Roboto_700Bold } from '@expo-google-fonts/roboto'; +import { Center, GluestackUIProvider, Text } from '@gluestack-ui/themed'; +import { config } from './config/gluestack-ui.config'; export default function App() { + const [fontsLoaded] = useFonts({ + Roboto_400Regular, + Roboto_700Bold, + }); + return ( - - Open up App.tsx to start working on your app! - - + + {fontsLoaded ? ( +
+ Ignite Gym +
+ ) : ( + Loading... + )} + +
); } - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#fff', - alignItems: 'center', - justifyContent: 'center', - }, -}); diff --git a/app.json b/app.json index 36335a1..2003121 100644 --- a/app.json +++ b/app.json @@ -22,6 +22,9 @@ }, "web": { "favicon": "./assets/favicon.png" - } + }, + "plugins": [ + "expo-font" + ] } } diff --git a/config/gluestack-ui.config.ts b/config/gluestack-ui.config.ts new file mode 100644 index 0000000..1ee3bda --- /dev/null +++ b/config/gluestack-ui.config.ts @@ -0,0 +1,731 @@ +import { AnimationResolver } from '@gluestack-style/animation-resolver'; +import { MotionAnimationDriver } from '@gluestack-style/legend-motion-animation-driver'; +import { createConfig, createComponents } from '@gluestack-style/react'; +import * as componentsTheme from './theme'; + +export const gluestackUIConfig = createConfig({ + aliases: { + bg: 'backgroundColor', + bgColor: 'backgroundColor', + h: 'height', + w: 'width', + p: 'padding', + px: 'paddingHorizontal', + py: 'paddingVertical', + pt: 'paddingTop', + pb: 'paddingBottom', + pr: 'paddingRight', + pl: 'paddingLeft', + m: 'margin', + mx: 'marginHorizontal', + my: 'marginVertical', + mt: 'marginTop', + mb: 'marginBottom', + mr: 'marginRight', + ml: 'marginLeft', + rounded: 'borderRadius', + } as const, + tokens: { + colors: { + rose50: '#fff1f2', + rose100: '#ffe4e6', + rose200: '#fecdd3', + rose300: '#fda4af', + rose400: '#fb7185', + rose500: '#f43f5e', + rose600: '#e11d48', + rose700: '#be123c', + rose800: '#9f1239', + rose900: '#881337', + pink50: '#fdf2f8', + pink100: '#fce7f3', + pink200: '#fbcfe8', + pink300: '#f9a8d4', + pink400: '#f472b6', + pink500: '#ec4899', + pink600: '#db2777', + pink700: '#be185d', + pink800: '#9d174d', + pink900: '#831843', + fuchsia50: '#fdf4ff', + fuchsia100: '#fae8ff', + fuchsia200: '#f5d0fe', + fuchsia300: '#f0abfc', + fuchsia400: '#e879f9', + fuchsia500: '#d946ef', + fuchsia600: '#c026d3', + fuchsia700: '#a21caf', + fuchsia800: '#86198f', + fuchsia900: '#701a75', + purple50: '#faf5ff', + purple100: '#f3e8ff', + purple200: '#e9d5ff', + purple300: '#d8b4fe', + purple400: '#c084fc', + purple500: '#a855f7', + purple600: '#9333ea', + purple700: '#7e22ce', + purple800: '#6b21a8', + purple900: '#581c87', + violet50: '#f5f3ff', + violet100: '#ede9fe', + violet200: '#ddd6fe', + violet300: '#c4b5fd', + violet400: '#a78bfa', + violet500: '#8b5cf6', + violet600: '#7c3aed', + violet700: '#6d28d9', + violet800: '#5b21b6', + violet900: '#4c1d95', + indigo50: '#eef2ff', + indigo100: '#e0e7ff', + indigo200: '#c7d2fe', + indigo300: '#a5b4fc', + indigo400: '#818cf8', + indigo500: '#6366f1', + indigo600: '#4f46e5', + indigo700: '#4338ca', + indigo800: '#3730a3', + indigo900: '#312e81', + blue50: '#eff6ff', + blue100: '#dbeafe', + blue200: '#bfdbfe', + blue300: '#93c5fd', + blue400: '#60a5fa', + blue500: '#3b82f6', + blue600: '#2563eb', + blue700: '#1d4ed8', + blue800: '#1e40af', + blue900: '#1e3a8a', + lightBlue50: '#f0f9ff', + lightBlue100: '#e0f2fe', + lightBlue200: '#bae6fd', + lightBlue300: '#7dd3fc', + lightBlue400: '#38bdf8', + lightBlue500: '#0ea5e9', + lightBlue600: '#0284c7', + lightBlue700: '#0369a1', + lightBlue800: '#075985', + lightBlue900: '#0c4a6e', + darkBlue50: '#dbf4ff', + darkBlue100: '#addbff', + darkBlue200: '#7cc2ff', + darkBlue300: '#4aa9ff', + darkBlue400: '#1a91ff', + darkBlue500: '#0077e6', + darkBlue600: '#005db4', + darkBlue700: '#004282', + darkBlue800: '#002851', + darkBlue900: '#000e21', + cyan50: '#ecfeff', + cyan100: '#cffafe', + cyan200: '#a5f3fc', + cyan300: '#67e8f9', + cyan400: '#22d3ee', + cyan500: '#06b6d4', + cyan600: '#0891b2', + cyan700: '#0e7490', + cyan800: '#155e75', + cyan900: '#164e63', + teal50: '#f0fdfa', + teal100: '#ccfbf1', + teal200: '#99f6e4', + teal300: '#5eead4', + teal400: '#2dd4bf', + teal500: '#14b8a6', + teal600: '#0d9488', + teal700: '#0f766e', + teal800: '#115e59', + teal900: '#134e4a', + emerald50: '#ecfdf5', + emerald100: '#d1fae5', + emerald200: '#a7f3d0', + emerald300: '#6ee7b7', + emerald400: '#34d399', + emerald500: '#10b981', + emerald600: '#059669', + emerald700: '#047857', + emerald800: '#065f46', + emerald900: '#064e3b', + gray100: "#E1E1E6", + gray200: "#C4C4CC", + gray300: "#7C7C8A", + gray400: "#323238", + gray500: "#29292E", + gray600: "#202024", + gray700: "#121214", + gray900: "#121214", + green50: '#f0fdf4', + green100: '#dcfce7', + green200: '#bbf7d0', + green300: '#86efac', + green400: '#4ade80', + green500: "#00B37E", + green600: "#16a34a", + green700: "#00875F", + green800: '#166534', + green900: '#14532d', + lime50: '#f7fee7', + lime100: '#ecfccb', + lime200: '#d9f99d', + lime300: '#bef264', + lime400: '#a3e635', + lime500: '#84cc16', + lime600: '#65a30d', + lime700: '#4d7c0f', + lime800: '#3f6212', + lime900: '#365314', + yellow50: '#fefce8', + yellow100: '#fef9c3', + yellow200: '#fef08a', + yellow300: '#fde047', + yellow400: '#facc15', + yellow500: '#eab308', + yellow600: '#ca8a04', + yellow700: '#a16207', + yellow800: '#854d0e', + yellow900: '#713f12', + amber50: '#fffbeb', + amber100: '#fef3c7', + amber200: '#fde68a', + amber300: '#fcd34d', + amber400: '#fbbf24', + amber500: '#f59e0b', + amber600: '#d97706', + amber700: '#b45309', + amber800: '#92400e', + amber900: '#78350f', + orange50: '#fff7ed', + orange100: '#ffedd5', + orange200: '#fed7aa', + orange300: '#fdba74', + orange400: '#fb923c', + orange500: '#f97316', + orange600: '#ea580c', + orange700: '#c2410c', + orange800: '#9a3412', + orange900: '#7c2d12', + red50: '#fef2f2', + red100: '#fee2e2', + red200: '#fecaca', + red300: '#fca5a5', + red400: '#f87171', + red500: '#F75A68', + red600: '#dc2626', + red700: '#b91c1c', + red800: '#991b1b', + red900: '#7f1d1d', + warmGray50: '#fafaf9', + warmGray100: '#f5f5f4', + warmGray200: '#e7e5e4', + warmGray300: '#d6d3d1', + warmGray400: '#a8a29e', + warmGray500: '#78716c', + warmGray600: '#57534e', + warmGray700: '#44403c', + warmGray800: '#292524', + warmGray900: '#1c1917', + trueGray50: '#fafafa', + trueGray100: '#f5f5f5', + trueGray200: '#e5e5e5', + trueGray300: '#d4d4d4', + trueGray400: '#a3a3a3', + trueGray500: '#737373', + trueGray600: '#525252', + trueGray700: '#404040', + trueGray800: '#262626', + trueGray900: '#171717', + coolGray50: '#f9fafb', + coolGray100: '#f3f4f6', + coolGray200: '#e5e7eb', + coolGray300: '#d1d5db', + coolGray400: '#9ca3af', + coolGray500: '#6b7280', + coolGray600: '#4b5563', + coolGray700: '#374151', + coolGray800: '#1f2937', + coolGray900: '#111827', + blueGray50: '#f8fafc', + blueGray100: '#f1f5f9', + blueGray200: '#e2e8f0', + blueGray300: '#cbd5e1', + blueGray400: '#94a3b8', + blueGray500: '#64748b', + blueGray600: '#475569', + blueGray700: '#334155', + blueGray800: '#1e293b', + blueGray900: '#0f172a', + tertiary50: '#ecfdf5', + tertiary100: '#d1fae5', + tertiary200: '#a7f3d0', + tertiary300: '#6ee7b7', + tertiary400: '#34d399', + tertiary500: '#10b981', + tertiary600: '#059669', + tertiary700: '#047857', + tertiary800: '#065f46', + tertiary900: '#064e3b', + error00: '#FEE9E9', + error50: '#FEE2E2', + error100: '#FECACA', + error200: '#FCA5A5', + error300: '#F87171', + error400: '#EF4444', + error500: '#E63535', + error600: '#DC2626', + error700: '#B91C1C', + error800: '#7F1D1D', + error900: '#991B1B', + error950: '#220808', + success0: '#E4FFF4', + success50: '#CAFFE8', + success100: '#A2F1C0', + success200: '#84D3A2', + success300: '#66B584', + success400: '#489766', + success500: '#348352', + success600: '#2A7948', + success700: '#206F3E', + success800: '#166534', + success900: '#14532D', + success950: '#071F11', + warning50: '#fff7ed', + warning100: '#ffedd5', + warning200: '#fed7aa', + warning300: '#fdba74', + warning400: '#fb923c', + warning500: '#f97316', + warning600: '#ea580c', + warning700: '#c2410c', + warning800: '#9a3412', + warning900: '#7c2d12', + info50: '#f0f9ff', + info100: '#e0f2fe', + info200: '#bae6fd', + info300: '#7dd3fc', + info400: '#38bdf8', + info500: '#0ea5e9', + info600: '#0284c7', + info700: '#0369a1', + info800: '#075985', + info900: '#0c4a6e', + light50: '#fafaf9', + light100: '#f5f5f4', + light200: '#e7e5e4', + light300: '#d6d3d1', + light400: '#a8a29e', + light500: '#78716c', + light600: '#57534e', + light700: '#44403c', + light800: '#292524', + light900: '#1c1917', + primary0: '#E5F1FB', + primary50: '#CCE9FF', + primary100: '#ADDBFF', + primary200: '#7CC2FF', + primary300: '#4AA9FF', + primary400: '#1A91FF', + primary500: '#0077E6', + primary600: '#005DB4', + primary700: '#004282', + primary800: '#002851', + primary900: '#011838', + primary950: '#000711', + secondary0: '#F6F6F6', + secondary50: '#F3F3F3', + secondary100: '#E9E9E9', + secondary200: '#DADADA', + secondary300: '#B0B0B0', + secondary400: '#737373', + secondary500: '#5F5F5F', + secondary600: '#525252', + secondary700: '#404040', + secondary800: '#262626', + secondary900: '#171717', + secondary950: '#0C0C0C', + textLight0: '#FCFCFC', + textLight50: '#F5F5F5', + textLight100: '#E5E5E5', + textLight200: '#DBDBDB', + textLight300: '#D4D4D4', + textLight400: '#A3A3A3', + textLight500: '#8C8C8C', + textLight600: '#737373', + textLight700: '#525252', + textLight800: '#404040', + textLight900: '#262626', + textLight950: '#171717', + textDark0: '#FCFCFC', + textDark50: '#F5F5F5', + textDark100: '#E5E5E5', + textDark200: '#DBDBDB', + textDark300: '#D4D4D4', + textDark400: '#A3A3A3', + textDark500: '#8C8C8C', + textDark600: '#737373', + textDark700: '#525252', + textDark800: '#404040', + textDark900: '#262626', + textDark950: '#171717', + borderDark0: '#FCFCFC', + borderDark50: '#F5F5F5', + borderDark100: '#E5E5E5', + borderDark200: '#DBDBDB', + borderDark300: '#D4D4D4', + borderDark400: '#A3A3A3', + borderDark500: '#8C8C8C', + borderDark600: '#737373', + borderDark700: '#525252', + borderDark800: '#404040', + borderDark900: '#262626', + borderDark950: '#171717', + borderLight0: '#FCFCFC', + borderLight50: '#F5F5F5', + borderLight100: '#E5E5E5', + borderLight200: '#DBDBDB', + borderLight300: '#D4D4D4', + borderLight400: '#A3A3A3', + borderLight500: '#8C8C8C', + borderLight600: '#737373', + borderLight700: '#525252', + borderLight800: '#404040', + borderLight900: '#262626', + borderLight950: '#171717', + backgroundDark0: '#FCFCFC', + backgroundDark50: '#F5F5F5', + backgroundDark100: '#F1F1F1', + backgroundDark200: '#DBDBDB', + backgroundDark300: '#D4D4D4', + backgroundDark400: '#A3A3A3', + backgroundDark500: '#8C8C8C', + backgroundDark600: '#737373', + backgroundDark700: '#525252', + backgroundDark800: '#404040', + backgroundDark900: '#262626', + backgroundDark950: '#171717', + backgroundLight0: '#FCFCFC', + backgroundLight50: '#F5F5F5', + backgroundLight100: '#F1F1F1', + backgroundLight200: '#DBDBDB', + backgroundLight300: '#D4D4D4', + backgroundLight400: '#A3A3A3', + backgroundLight500: '#8C8C8C', + backgroundLight600: '#737373', + backgroundLight700: '#525252', + backgroundLight800: '#404040', + backgroundLight900: '#262626', + backgroundLight950: '#171717', + + backgroundLightError: '#FEF1F1', + backgroundDarkError: '#422B2B', + backgroundLightWarning: '#FFF4EB', + backgroundDarkWarning: '#412F23', + backgroundLightSuccess: '#EDFCF2', + backgroundDarkSuccess: '#1C2B21', + backgroundLightInfo: '#EBF8FE', + backgroundDarkInfo: '#1A282E', + backgroundLightMuted: '#F6F6F7', + backgroundDarkMuted: '#252526', + white: '#FFFFFF', + black: '#000000', + }, + space: { + 'px': '1px', + '0': 0, + '0.5': 2, + '1': 4, + '1.5': 6, + '2': 8, + '2.5': 10, + '3': 12, + '3.5': 14, + '4': 16, + '4.5': 18, + '5': 20, + '6': 24, + '7': 28, + '8': 32, + '9': 36, + '10': 40, + '11': 44, + '12': 48, + '14': 56, + '16': 64, + '20': 80, + '24': 96, + '32': 128, + '33': 148, + '40': 160, + '48': 192, + '56': 224, + '64': 256, + '72': 288, + '80': 320, + '96': 384, + '1/2': '50%', + '1/3': '33.333%', + '2/3': '66.666%', + '1/4': '25%', + '2/4': '50%', + '3/4': '75%', + '1/5': '20%', + '2/5': '40%', + '3/5': '60%', + '4/5': '80%', + '1/6': '16.666%', + '2/6': '33.333%', + '3/6': '50%', + '4/6': '66.666%', + '5/6': '83.333%', + 'full': '100%', + }, + borderWidths: { + '0': 0, + '1': 1, + '2': 2, + '4': 4, + '8': 8, + }, + radii: { + 'none': 0, + 'xs': 2, + 'sm': 4, + 'md': 6, + 'lg': 8, + 'xl': 12, + '2xl': 16, + '3xl': 24, + 'full': 9999, + }, + breakpoints: { + base: 0, + sm: 480, + md: 768, + lg: 992, + xl: 1280, + }, + mediaQueries: { + base: '@media screen and (min-width: 0)', + xs: '@media screen and (min-width: 400px)', + sm: '@media screen and (min-width: 480px)', + md: '@media screen and (min-width: 768px)', + lg: '@media screen and (min-width: 992px)', + xl: '@media screen and (min-width: 1280px)', + }, + letterSpacings: { + 'xs': -0.4, + 'sm': -0.2, + 'md': 0, + 'lg': 0.2, + 'xl': 0.4, + '2xl': 1.6, + }, + lineHeights: { + '2xs': 16, + 'xs': 18, + 'sm': 20, + 'md': 22, + 'lg': 24, + 'xl': 28, + '2xl': 32, + '3xl': 40, + '4xl': 48, + '5xl': 56, + '6xl': 72, + '7xl': 90, + }, + fontWeights: { + hairline: '100', + thin: '200', + light: '300', + normal: '400', + medium: '500', + semibold: '600', + bold: '700', + extrabold: '800', + black: '900', + extraBlack: '950', + }, + fonts: { + heading: 'Roboto_700Bold', + body: 'Roboto_400Regular', + mono: undefined, + }, + fontSizes: { + '2xs': 10, + 'xs': 12, + 'sm': 14, + 'md': 16, + 'lg': 18, + 'xl': 20, + '2xl': 24, + '3xl': 30, + '4xl': 36, + '5xl': 48, + '6xl': 60, + '7xl': 72, + '8xl': 96, + '9xl': 128, + }, + opacity: { + 0: 0, + 5: 0.05, + 10: 0.1, + 20: 0.2, + 25: 0.25, + 30: 0.3, + 40: 0.4, + 50: 0.5, + 60: 0.6, + 70: 0.7, + 75: 0.75, + 80: 0.8, + 90: 0.9, + 95: 0.95, + 100: 1, + }, + } as const, + globalStyle: { + variants: { + hardShadow: { + '1': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: -2, + height: 2, + }, + shadowRadius: 8, + shadowOpacity: 0.5, + elevation: 10, + }, + '2': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 3, + }, + shadowRadius: 8, + shadowOpacity: 0.5, + elevation: 10, + }, + '3': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 2, + height: 2, + }, + shadowRadius: 8, + shadowOpacity: 0.5, + elevation: 10, + }, + '4': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: -3, + }, + shadowRadius: 8, + shadowOpacity: 0.5, + elevation: 10, + }, + // this 5th version is only for toast shadow + // temporary + '5': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 3, + }, + shadowRadius: 8, + shadowOpacity: 0.2, + elevation: 10, + }, + }, + softShadow: { + '1': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 0, + }, + shadowRadius: 10, + shadowOpacity: 0.1, + _android: { + shadowColor: '$backgroundLight500', + elevation: 5, + shadowOpacity: 0.05, + }, + }, + '2': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 0, + }, + shadowRadius: 20, + elevation: 3, + shadowOpacity: 0.1, + _android: { + shadowColor: '$backgroundLight500', + elevation: 10, + shadowOpacity: 0.1, + }, + }, + '3': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 0, + }, + shadowRadius: 30, + shadowOpacity: 0.1, + elevation: 4, + _android: { + shadowColor: '$backgroundLight500', + elevation: 15, + shadowOpacity: 0.15, + }, + }, + '4': { + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 0, + }, + shadowRadius: 40, + shadowOpacity: 0.1, + elevation: 10, + _android: { + shadowColor: '$backgroundLight500', + elevation: 20, + shadowOpacity: 0.2, + }, + }, + }, + }, + }, + plugins: [new AnimationResolver(MotionAnimationDriver)], +}); + +type Config = typeof gluestackUIConfig; // Assuming `config` is defined elsewhere + +type Components = typeof componentsConfig; + +export const componentsConfig = createComponents(componentsTheme); + +export type { UIConfig, UIComponents } from '@gluestack-ui/themed'; + +export interface IConfig {} +export interface IComponents {} + +declare module '@gluestack-ui/themed' { + interface UIConfig extends Omit, IConfig {} + interface UIComponents + extends Omit, + IComponents {} +} + +export const config = { + ...gluestackUIConfig, + components: componentsConfig, +}; diff --git a/config/theme/Accordion.ts b/config/theme/Accordion.ts new file mode 100644 index 0000000..99d06f2 --- /dev/null +++ b/config/theme/Accordion.ts @@ -0,0 +1,112 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Accordion = createStyle({ + width: '$full', + _icon: { + color: '$textLight900', + _dark: { + color: '$textDark50', + }, + }, + _titleText: { + color: '$textLight900', + _dark: { + color: '$textDark50', + }, + }, + _contentText: { + color: '$textLight700', + _dark: { + color: '$textDark200', + }, + }, + + variants: { + size: { + sm: { + _titleText: { + fontSize: '$sm', + fontFamily: '$body', + fontWeight: '$bold', + lineHeight: '$sm', + }, + _contentText: { + fontSize: '$sm', + fontFamily: '$body', + fontWeight: '$normal', + lineHeight: '$sm', + }, + }, + md: { + _titleText: { + fontSize: '$md', + fontFamily: '$body', + fontWeight: '$bold', + lineHeight: '$md', + }, + _contentText: { + fontSize: '$md', + fontFamily: '$body', + fontWeight: '$normal', + lineHeight: '$md', + }, + }, + lg: { + _titleText: { + fontSize: '$lg', + fontFamily: '$body', + fontWeight: '$bold', + lineHeight: '$lg', + }, + _contentText: { + fontSize: '$lg', + fontFamily: '$body', + fontWeight: '$normal', + lineHeight: '$lg', + }, + }, + }, + variant: { + filled: { + backgroundColor: '$white', + _item: { + backgroundColor: '$backgroundLight0', + }, + shadowColor: '$backgroundLight900', + shadowOffset: { + width: 0, + height: 3, + }, + shadowRadius: 8, + shadowOpacity: 0.2, + elevation: 10, + _dark: { + backgroundColor: 'transparent', + _item: { + backgroundColor: '$backgroundDark950', + }, + }, + }, + unfilled: { + shadowColor: 'transparent', + shadowOffset: { + width: 0, + height: 0, + }, + _item: { + backgroundColor: 'transparent', + }, + _dark: { + _item: { + backgroundColor: 'transparent', + }, + }, + }, + }, + }, + defaultProps: { + theme: 'light', + size: 'md', + variant: 'filled', + }, +}); diff --git a/config/theme/AccordionContent.ts b/config/theme/AccordionContent.ts new file mode 100644 index 0000000..c69f081 --- /dev/null +++ b/config/theme/AccordionContent.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionContent = createStyle({ + px: '$5', + mt: '$2', + pb: '$5', +}); diff --git a/config/theme/AccordionContentText.ts b/config/theme/AccordionContentText.ts new file mode 100644 index 0000000..8c602cc --- /dev/null +++ b/config/theme/AccordionContentText.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionContentText = createStyle({}); diff --git a/config/theme/AccordionHeader.ts b/config/theme/AccordionHeader.ts new file mode 100644 index 0000000..709db6e --- /dev/null +++ b/config/theme/AccordionHeader.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionHeader = createStyle({ + mx: '$0', + my: '$0', +}); diff --git a/config/theme/AccordionIcon.ts b/config/theme/AccordionIcon.ts new file mode 100644 index 0000000..6c6a979 --- /dev/null +++ b/config/theme/AccordionIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/AccordionItem.ts b/config/theme/AccordionItem.ts new file mode 100644 index 0000000..92dee2b --- /dev/null +++ b/config/theme/AccordionItem.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionItem = createStyle({}); diff --git a/config/theme/AccordionTitleText.ts b/config/theme/AccordionTitleText.ts new file mode 100644 index 0000000..2f078e4 --- /dev/null +++ b/config/theme/AccordionTitleText.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionTitleText = createStyle({ + flex: 1, + textAlign: 'left', +}); diff --git a/config/theme/AccordionTrigger.ts b/config/theme/AccordionTrigger.ts new file mode 100644 index 0000000..caa6917 --- /dev/null +++ b/config/theme/AccordionTrigger.ts @@ -0,0 +1,27 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AccordionTrigger = createStyle({ + 'width': '$full', + 'py': '$5', + 'px': '$5', + 'flexDirection': 'row', + 'justifyContent': 'space-between', + 'alignItems': 'center', + '_web': { + outlineWidth: 0, + }, + ':disabled': { + opacity: 0.4, + _web: { + cursor: 'not-allowed', + }, + }, + ':focusVisible': { + _light: { + bg: '$backgroundLight50', + }, + _dark: { + bg: '$backgroundDark900', + }, + }, +}); diff --git a/config/theme/Actionsheet.ts b/config/theme/Actionsheet.ts new file mode 100644 index 0000000..8b25515 --- /dev/null +++ b/config/theme/Actionsheet.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Actionsheet = createStyle({ + width: '$full', + height: '$full', + _web: { + pointerEvents: 'none', + }, +}); diff --git a/config/theme/ActionsheetBackdrop.ts b/config/theme/ActionsheetBackdrop.ts new file mode 100644 index 0000000..aef4ab7 --- /dev/null +++ b/config/theme/ActionsheetBackdrop.ts @@ -0,0 +1,28 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetBackdrop = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 0.5, + }, + ':exit': { + opacity: 0, + }, + 'position': 'absolute', + 'left': 0, + 'top': 0, + 'right': 0, + 'bottom': 0, + 'bg': '$backgroundLight950', + // @ts-ignore + '_dark': { + bg: '$backgroundDark950', + }, + // @ts-ignore + '_web': { + cursor: 'default', + pointerEvents: 'auto', + }, +}); diff --git a/config/theme/ActionsheetContent.ts b/config/theme/ActionsheetContent.ts new file mode 100644 index 0000000..74b1b46 --- /dev/null +++ b/config/theme/ActionsheetContent.ts @@ -0,0 +1,26 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetContent = createStyle({ + alignItems: 'center', + borderTopLeftRadius: '$3xl', + borderTopRightRadius: '$3xl', + h: '$full', + p: '$2', + bg: '$backgroundLight0', + _sectionHeaderBackground: { + bg: '$backgroundLight0', + }, + _dark: { + bg: '$backgroundDark900', + _sectionHeaderBackground: { + bg: '$backgroundDark900', + }, + }, + defaultProps: { + hardShadow: '5', + }, + _web: { + userSelect: 'none', + pointerEvents: 'auto', + }, +}); diff --git a/config/theme/ActionsheetDragIndicator.ts b/config/theme/ActionsheetDragIndicator.ts new file mode 100644 index 0000000..73b8ea6 --- /dev/null +++ b/config/theme/ActionsheetDragIndicator.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetDragIndicator = createStyle({ + height: '$1', + width: '$16', + bg: '$backgroundLight400', + rounded: '$full', + _dark: { + bg: '$backgroundDark500', + }, +}); diff --git a/config/theme/ActionsheetFlatList.ts b/config/theme/ActionsheetFlatList.ts new file mode 100644 index 0000000..202cce8 --- /dev/null +++ b/config/theme/ActionsheetFlatList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetFlatList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/ActionsheetIcon.ts b/config/theme/ActionsheetIcon.ts new file mode 100644 index 0000000..8801500 --- /dev/null +++ b/config/theme/ActionsheetIcon.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetIcon = createStyle({ + props: { + size: 'sm', + }, + color: '$backgroundLight500', + _dark: { + //@ts-ignore + color: '$backgroundDark400', + }, +}); diff --git a/config/theme/ActionsheetIndicatorWrapper.ts b/config/theme/ActionsheetIndicatorWrapper.ts new file mode 100644 index 0000000..b045d6b --- /dev/null +++ b/config/theme/ActionsheetIndicatorWrapper.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetIndicatorWrapper = createStyle({ + py: '$1', + w: '$full', + alignItems: 'center', +}); diff --git a/config/theme/ActionsheetItem.ts b/config/theme/ActionsheetItem.ts new file mode 100644 index 0000000..940829f --- /dev/null +++ b/config/theme/ActionsheetItem.ts @@ -0,0 +1,53 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetItem = createStyle({ + 'p': '$3', + 'flexDirection': 'row', + 'alignItems': 'center', + 'rounded': '$sm', + 'w': '$full', + + ':disabled': { + opacity: 0.4, + _web: { + // @ts-ignore + pointerEvents: 'all !important', + cursor: 'not-allowed', + }, + }, + + ':hover': { + bg: '$backgroundLight50', + }, + + ':active': { + bg: '$backgroundLight100', + }, + + ':focus': { + bg: '$backgroundLight100', + }, + + '_dark': { + ':hover': { + bg: '$backgroundDark800', + }, + + ':active': { + bg: '$backgroundDark700', + }, + + ':focus': { + bg: '$backgroundDark700', + }, + }, + + '_web': { + ':focusVisible': { + bg: '$backgroundLight100', + _dark: { + bg: '$backgroundDark700', + }, + }, + }, +}); diff --git a/config/theme/ActionsheetItemText.ts b/config/theme/ActionsheetItemText.ts new file mode 100644 index 0000000..45fc139 --- /dev/null +++ b/config/theme/ActionsheetItemText.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetItemText = createStyle({ + mx: '$2', + props: { + size: 'md', + }, + color: '$textLight800', + _dark: { + color: '$textDark100', + }, +}); diff --git a/config/theme/ActionsheetScrollView.ts b/config/theme/ActionsheetScrollView.ts new file mode 100644 index 0000000..6384e4e --- /dev/null +++ b/config/theme/ActionsheetScrollView.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetScrollView = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/ActionsheetSectionHeaderText.ts b/config/theme/ActionsheetSectionHeaderText.ts new file mode 100644 index 0000000..dbf1303 --- /dev/null +++ b/config/theme/ActionsheetSectionHeaderText.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetSectionHeaderText = createStyle({ + color: '$textLight500', + props: { size: 'xs' }, + textTransform: 'uppercase', + p: '$3', + _dark: { + color: '$textDark400', + }, +}); diff --git a/config/theme/ActionsheetSectionList.ts b/config/theme/ActionsheetSectionList.ts new file mode 100644 index 0000000..a3b2649 --- /dev/null +++ b/config/theme/ActionsheetSectionList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetSectionList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/ActionsheetVirtualizedList.ts b/config/theme/ActionsheetVirtualizedList.ts new file mode 100644 index 0000000..83859de --- /dev/null +++ b/config/theme/ActionsheetVirtualizedList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ActionsheetVirtualizedList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/Alert.ts b/config/theme/Alert.ts new file mode 100644 index 0000000..fe688bd --- /dev/null +++ b/config/theme/Alert.ts @@ -0,0 +1,101 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Alert = createStyle({ + alignItems: 'center', + p: '$3', + flexDirection: 'row', + borderRadius: '$sm', + variants: { + action: { + error: { + bg: '$backgroundLightError', + borderColor: '$error300', + _icon: { + color: '$error500', + }, + _dark: { + bg: '$backgroundDarkError', + borderColor: '$error700', + _icon: { + color: '$error500', + }, + }, + }, + warning: { + bg: '$backgroundLightWarning', + borderColor: '$warning300', + _icon: { + color: '$warning500', + }, + _dark: { + bg: '$backgroundDarkWarning', + borderColor: '$warning700', + _icon: { + color: '$warning500', + }, + }, + }, + success: { + bg: '$backgroundLightSuccess', + borderColor: '$success300', + _icon: { + color: '$success500', + }, + _dark: { + bg: '$backgroundDarkSuccess', + borderColor: '$success700', + _icon: { + color: '$success500', + }, + }, + }, + info: { + bg: '$backgroundLightInfo', + borderColor: '$info300', + _icon: { + color: '$info500', + }, + _dark: { + bg: '$backgroundDarkInfo', + borderColor: '$info700', + _icon: { + color: '$info500', + }, + }, + }, + muted: { + bg: '$backgroundLightMuted', + borderColor: '$secondary300', + _icon: { + color: '$secondary500', + }, + _dark: { + bg: '$backgroundDarkMuted', + borderColor: '$secondary700', + _icon: { + color: '$secondary500', + }, + }, + }, + }, + + variant: { + solid: {}, + outline: { + borderWidth: '$1', + bg: '$white', + _dark: { + bg: '$black', + }, + }, + accent: { + borderLeftWidth: '$4', + }, + }, + }, + + defaultProps: { + variant: 'solid', + action: 'info', + }, +}); diff --git a/config/theme/AlertDialog.ts b/config/theme/AlertDialog.ts new file mode 100644 index 0000000..cea7e91 --- /dev/null +++ b/config/theme/AlertDialog.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialog = createStyle({ + w: '$full', + h: '$full', + justifyContent: 'center', + alignItems: 'center', + + variants: { + size: { + xs: { _content: { w: '60%', maxWidth: 360 } }, + sm: { _content: { w: '70%', maxWidth: 420 } }, + md: { _content: { w: '80%', maxWidth: 510 } }, + lg: { _content: { w: '90%', maxWidth: 640 } }, + full: { _content: { w: '$full' } }, + }, + }, + defaultProps: { size: 'md' }, + + _web: { + pointerEvents: 'box-none', + }, +}); diff --git a/config/theme/AlertDialogBackdrop.ts b/config/theme/AlertDialogBackdrop.ts new file mode 100644 index 0000000..e23ea3d --- /dev/null +++ b/config/theme/AlertDialogBackdrop.ts @@ -0,0 +1,36 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogBackdrop = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 0.5, + }, + ':exit': { + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 250, + }, + }, + 'position': 'absolute', + 'left': 0, + 'top': 0, + 'right': 0, + 'bottom': 0, + 'bg': '$backgroundLight950', + // @ts-ignore + '_dark': { + bg: '$backgroundDark950', + }, + // @ts-ignore + '_web': { + cursor: 'default', + }, +}); diff --git a/config/theme/AlertDialogBody.ts b/config/theme/AlertDialogBody.ts new file mode 100644 index 0000000..aea93ef --- /dev/null +++ b/config/theme/AlertDialogBody.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogBody = createStyle({ + px: '$4', + py: '$2', +}); diff --git a/config/theme/AlertDialogCloseButton.ts b/config/theme/AlertDialogCloseButton.ts new file mode 100644 index 0000000..7283c96 --- /dev/null +++ b/config/theme/AlertDialogCloseButton.ts @@ -0,0 +1,77 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogCloseButton = createStyle({ + 'zIndex': 1, + 'rounded': '$sm', + 'p': '$2', + '_icon': { + color: '$backgroundLight400', + }, + '_text': { + color: '$backgroundLight400', + }, + ':hover': { + _icon: { + color: '$backgroundLight700', + }, + _text: { + color: '$backgroundLight700', + }, + }, + + ':active': { + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + }, + + '_dark': { + '_icon': { + color: '$backgroundLight400', + }, + '_text': { + color: '$backgroundLight400', + }, + ':hover': { + _icon: { + color: '$backgroundDark200', + }, + _text: { + color: '$backgroundLight200', + }, + }, + + ':active': { + _icon: { + color: '$backgroundDark100', + }, + }, + }, + + ':focusVisible': { + bg: '$backgroundLight100', + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + _dark: { + bg: '$backgroundDark700', + _icon: { + color: '$backgroundLight100', + }, + _text: { + color: '$backgroundLight100', + }, + }, + }, + + '_web': { + outlineWidth: 0, + cursor: 'pointer', + }, +}); diff --git a/config/theme/AlertDialogContent.ts b/config/theme/AlertDialogContent.ts new file mode 100644 index 0000000..7382937 --- /dev/null +++ b/config/theme/AlertDialogContent.ts @@ -0,0 +1,37 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogContent = createStyle({ + 'bg': '$backgroundLight50', + 'rounded': '$lg', + 'overflow': 'hidden', + //@ts-ignore + ':initial': { + scale: 0.9, + opacity: 0, + }, + ':animate': { + scale: 1, + opacity: 1, + }, + ':exit': { + scale: 0.9, + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 250, + }, + }, + + // @ts-ignore + '_dark': { + bg: '$backgroundDark900', + }, + 'defaultProps': { + softShadow: '3', + }, +}); diff --git a/config/theme/AlertDialogFooter.ts b/config/theme/AlertDialogFooter.ts new file mode 100644 index 0000000..42b9f94 --- /dev/null +++ b/config/theme/AlertDialogFooter.ts @@ -0,0 +1,13 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogFooter = createStyle({ + p: '$4', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + flexWrap: 'wrap', + borderColor: '$borderLight300', + _dark: { + borderColor: '$borderDark700', + }, +}); diff --git a/config/theme/AlertDialogHeader.ts b/config/theme/AlertDialogHeader.ts new file mode 100644 index 0000000..5021171 --- /dev/null +++ b/config/theme/AlertDialogHeader.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertDialogHeader = createStyle({ + p: '$4', + borderColor: '$borderLight300', + justifyContent: 'space-between', + alignItems: 'center', + flexDirection: 'row', + _dark: { + borderColor: '$borderDark700', + }, +}); diff --git a/config/theme/AlertIcon.ts b/config/theme/AlertIcon.ts new file mode 100644 index 0000000..55b39f1 --- /dev/null +++ b/config/theme/AlertIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/AlertText.ts b/config/theme/AlertText.ts new file mode 100644 index 0000000..2d80ff0 --- /dev/null +++ b/config/theme/AlertText.ts @@ -0,0 +1,5 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AlertText = createStyle({ + flex: 1, +}); diff --git a/config/theme/Avatar.ts b/config/theme/Avatar.ts new file mode 100644 index 0000000..b0502b1 --- /dev/null +++ b/config/theme/Avatar.ts @@ -0,0 +1,123 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Avatar = createStyle({ + borderRadius: '$full', + justifyContent: 'center', + alignItems: 'center', + position: 'relative', + bg: '$primary600', + variants: { + size: { + 'xs': { + w: '$6', + h: '$6', + + _badge: { + w: '$2', + h: '$2', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: '2xs' }, + }, + }, + + 'sm': { + w: '$8', + h: '$8', + + _badge: { + w: '$2', + h: '$2', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: 'xs' }, + }, + }, + + 'md': { + w: '$12', + h: '$12', + + _badge: { + w: '$3', + h: '$3', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: 'md' }, + }, + }, + + 'lg': { + w: '$16', + h: '$16', + + _badge: { + w: '$4', + h: '$4', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: 'xl' }, + }, + }, + + 'xl': { + w: '$24', + h: '$24', + + _badge: { + w: '$6', + h: '$6', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: '3xl' }, + }, + }, + + '2xl': { + w: '$32', + h: '$32', + + _badge: { + w: '$8', + h: '$8', + }, + _image: { + w: '$full', + h: '$full', + }, + + _text: { + props: { size: '5xl' }, + }, + }, + }, + }, + defaultProps: { + size: 'md', + }, +}); diff --git a/config/theme/AvatarBadge.ts b/config/theme/AvatarBadge.ts new file mode 100644 index 0000000..12317ed --- /dev/null +++ b/config/theme/AvatarBadge.ts @@ -0,0 +1,13 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AvatarBadge = createStyle({ + w: '$5', + h: '$5', + bg: '$success500', + borderRadius: '$full', + position: 'absolute', + right: 0, + bottom: 0, + borderColor: 'white', + borderWidth: 2, +}); diff --git a/config/theme/AvatarFallbackText.ts b/config/theme/AvatarFallbackText.ts new file mode 100644 index 0000000..7910ce7 --- /dev/null +++ b/config/theme/AvatarFallbackText.ts @@ -0,0 +1,14 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AvatarFallbackText = createStyle({ + color: '$textLight0', + fontWeight: '$semibold', + props: { + size: 'xl', + }, + overflow: 'hidden', + textTransform: 'uppercase', + _web: { + cursor: 'default', + }, +}); diff --git a/config/theme/AvatarGroup.ts b/config/theme/AvatarGroup.ts new file mode 100644 index 0000000..24ca36b --- /dev/null +++ b/config/theme/AvatarGroup.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AvatarGroup = createStyle({ + flexDirection: 'row-reverse', + position: 'relative', + _avatar: { + ml: -10, + }, +}); diff --git a/config/theme/AvatarImage.ts b/config/theme/AvatarImage.ts new file mode 100644 index 0000000..082e385 --- /dev/null +++ b/config/theme/AvatarImage.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const AvatarImage = createStyle({ + w: '$full', + h: '$full', + borderRadius: '$full', + position: 'absolute', +}); diff --git a/config/theme/Badge.ts b/config/theme/Badge.ts new file mode 100644 index 0000000..9ff3f7c --- /dev/null +++ b/config/theme/Badge.ts @@ -0,0 +1,165 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Badge = createStyle({ + 'flexDirection': 'row', + 'alignItems': 'center', + 'borderRadius': '$xs', + 'variants': { + action: { + error: { + bg: '$backgroundLightError', + borderColor: '$error300', + _icon: { + color: '$error600', + }, + _text: { + color: '$error600', + }, + _dark: { + bg: '$backgroundDarkError', + borderColor: '$error700', + _text: { + color: '$error400', + }, + _icon: { + color: '$error400', + }, + }, + }, + warning: { + bg: '$backgroundLightWarning', + borderColor: '$warning300', + _icon: { + color: '$warning600', + }, + _text: { + color: '$warning600', + }, + _dark: { + bg: '$backgroundDarkWarning', + borderColor: '$warning700', + _text: { + color: '$warning400', + }, + _icon: { + color: '$warning400', + }, + }, + }, + success: { + bg: '$backgroundLightSuccess', + borderColor: '$success300', + _icon: { + color: '$success600', + }, + _text: { + color: '$success600', + }, + _dark: { + bg: '$backgroundDarkSuccess', + borderColor: '$success700', + _text: { + color: '$success400', + }, + _icon: { + color: '$success400', + }, + }, + }, + info: { + bg: '$backgroundLightInfo', + borderColor: '$info300', + _icon: { + color: '$info600', + }, + _text: { + color: '$info600', + }, + _dark: { + bg: '$backgroundDarkInfo', + borderColor: '$info700', + _text: { + color: '$info400', + }, + _icon: { + color: '$info400', + }, + }, + }, + muted: { + bg: '$backgroundLightMuted', + borderColor: '$secondary300', + _icon: { + color: '$secondary600', + }, + _text: { + color: '$secondary600', + }, + _dark: { + bg: '$backgroundDarkMuted', + borderColor: '$secondary700', + _text: { + color: '$secondary400', + }, + _icon: { + color: '$secondary400', + }, + }, + }, + }, + + variant: { + solid: {}, + outline: { + borderWidth: '$1', + }, + }, + + size: { + sm: { + px: '$2', + _icon: { + props: { + size: '2xs', + }, + }, + _text: { + props: { + size: '2xs', + }, + }, + }, + md: { + px: '$2', + _icon: { + props: { + size: 'xs', + }, + }, + _text: { + props: { + size: 'xs', + }, + }, + }, + lg: { + px: '$2', + _icon: { + props: { size: 'sm' }, + }, + _text: { + props: { size: 'sm' }, + }, + }, + }, + }, + + ':disabled': { + opacity: 0.5, + }, + 'defaultProps': { + action: 'info', + variant: 'solid', + size: 'md', + }, +}); diff --git a/config/theme/BadgeIcon.ts b/config/theme/BadgeIcon.ts new file mode 100644 index 0000000..53b0859 --- /dev/null +++ b/config/theme/BadgeIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const BadgeIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/BadgeText.ts b/config/theme/BadgeText.ts new file mode 100644 index 0000000..2737073 --- /dev/null +++ b/config/theme/BadgeText.ts @@ -0,0 +1,5 @@ +import { createStyle } from '@gluestack-style/react'; + +export const BadgeText = createStyle({ + textTransform: 'uppercase', +}); diff --git a/config/theme/Box.ts b/config/theme/Box.ts new file mode 100644 index 0000000..cb95883 --- /dev/null +++ b/config/theme/Box.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Box = createStyle({}); diff --git a/config/theme/Button.ts b/config/theme/Button.ts new file mode 100644 index 0000000..5d6cf18 --- /dev/null +++ b/config/theme/Button.ts @@ -0,0 +1,1038 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Button = createStyle({ + 'borderRadius': '$sm', + 'backgroundColor': '$primary500', + 'flexDirection': 'row', + 'justifyContent': 'center', + 'alignItems': 'center', + + '_text': { + color: '$textLight0', + fontWeight: '$semibold', + _dark: { + color: '$textDark0', + }, + }, + + '_icon': { + color: '$textLight0', + _dark: { + color: '$textDark0', + }, + }, + + '_spinner': { + props: { + color: '$backgroundLight0', + }, + _dark: { + props: { + color: '$backgroundDark0', + }, + }, + }, + + 'variants': { + action: { + primary: { + 'bg': '$primary500', + 'borderColor': '$primary300', + + ':hover': { + bg: '$primary600', + borderColor: '$primary400', + }, + + ':active': { + bg: '$primary700', + borderColor: '$primary700', + }, + + '_text': { + 'color': '$primary600', + ':hover': { + color: '$primary600', + }, + ':active': { + color: '$primary700', + }, + }, + + '_icon': { + 'color': '$primary600', + ':hover': { + color: '$primary600', + }, + ':active': { + color: '$primary700', + }, + }, + + '_spinner': { + 'props': { + color: '$primary600', + }, + ':hover': { + props: { + color: '$primary600', + }, + }, + ':active': { + props: { + color: '$primary700', + }, + }, + }, + + '_dark': { + 'bg': '$primary400', + 'borderColor': '$primary700', + ':hover': { + bg: '$primary500', + borderColor: '$primary400', + }, + ':active': { + bg: '$primary600', + borderColor: '$primary300', + }, + '_text': { + 'color': '$primary300', + ':hover': { + color: '$primary300', + }, + ':active': { + color: '$primary200', + }, + }, + '_icon': { + 'color': '$primary300', + ':hover': { + color: '$primary300', + }, + ':active': { + color: '$primary200', + }, + }, + '_spinner': { + 'props': { color: '$primary300' }, + ':hover': { + props: { color: '$primary300' }, + }, + ':active': { + props: { color: '$primary200' }, + }, + }, + + ':focusVisible': { + _web: { + boxShadow: 'offset 0 0 0 2px $info400', + }, + }, + }, + }, + secondary: { + 'bg': '$secondary500', + 'borderColor': '$secondary300', + + ':hover': { + bg: '$secondary600', + borderColor: '$secondary400', + }, + + ':active': { + bg: '$secondary700', + borderColor: '$secondary700', + }, + + '_text': { + 'color': '$secondary600', + ':hover': { + color: '$secondary600', + }, + ':active': { + color: '$secondary700', + }, + }, + '_icon': { + 'color': '$secondary600', + ':hover': { + color: '$secondary600', + }, + ':active': { + color: '$secondary700', + }, + }, + + '_spinner': { + 'props': { + color: '$secondary600', + }, + ':hover': { + props: { color: '$secondary600' }, + }, + ':active': { + props: { color: '$secondary700' }, + }, + }, + + '_dark': { + 'bg': '$secondary400', + 'borderColor': '$secondary700', + ':hover': { + bg: '$secondary500', + borderColor: '$secondary400', + }, + ':active': { + bg: '$secondary600', + borderColor: '$secondary300', + }, + '_text': { + 'color': '$secondary300', + ':hover': { + color: '$secondary300', + }, + ':active': { + color: '$secondary200', + }, + }, + '_icon': { + 'color': '$secondary300', + ':hover': { + color: '$secondary300', + }, + ':active': { + color: '$secondary200', + }, + }, + '_spinner': { + 'props': { + color: '$secondary300', + }, + ':hover': { + props: { color: '$secondary300' }, + }, + ':active': { + props: { color: '$secondary200' }, + }, + }, + }, + }, + positive: { + 'bg': '$success500', + 'borderColor': '$success300', + ':hover': { + bg: '$success600', + borderColor: '$success400', + }, + + ':active': { + bg: '$success700', + borderColor: '$success700', + }, + + '_text': { + 'color': '$success600', + ':hover': { + color: '$success600', + }, + ':active': { + color: '$success700', + }, + }, + '_icon': { + 'color': '$success600', + ':hover': { + color: '$success600', + }, + ':active': { + color: '$success700', + }, + }, + '_spinner': { + 'props': { + color: '$success600', + }, + ':hover': { + props: { color: '$success600' }, + }, + ':active': { + props: { color: '$success700' }, + }, + }, + '_dark': { + 'bg': '$success400', + 'borderColor': '$success700', + ':hover': { + bg: '$success500', + borderColor: '$success400', + }, + ':active': { + bg: '$success600', + borderColor: '$success300', + }, + '_text': { + 'color': '$success300', + ':hover': { + color: '$success300', + }, + ':active': { + color: '$success200', + }, + }, + '_icon': { + 'color': '$success300', + ':hover': { + color: '$success300', + }, + ':active': { + color: '$success200', + }, + }, + '_spinner': { + 'props': { + color: '$success300', + }, + ':hover': { + props: { color: '$success300' }, + }, + ':active': { + props: { color: '$success200' }, + }, + }, + ':focusVisible': { + _web: { + boxShadow: 'offset 0 0 0 2px $info400', + }, + }, + }, + }, + negative: { + 'bg': '$error500', + 'borderColor': '$error300', + ':hover': { + bg: '$error600', + borderColor: '$error400', + }, + + ':active': { + bg: '$error700', + borderColor: '$error700', + }, + '_text': { + 'color': '$error600', + ':hover': { + color: '$error600', + }, + ':active': { + color: '$error700', + }, + }, + '_icon': { + 'color': '$error600', + ':hover': { + color: '$error600', + }, + ':active': { + color: '$error700', + }, + }, + '_spinner': { + 'props': { + color: '$error600', + }, + ':hover': { + props: { color: '$error600' }, + }, + ':active': { + props: { color: '$error700' }, + }, + }, + '_dark': { + 'bg': '$error400', + 'borderColor': '$error700', + ':hover': { + bg: '$error500', + borderColor: '$error400', + }, + ':active': { + bg: '$error600', + borderColor: '$error300', + }, + '_text': { + 'color': '$error300', + ':hover': { + color: '$error300', + }, + ':active': { + color: '$error200', + }, + }, + '_icon': { + 'color': '$error300', + ':hover': { + color: '$error300', + }, + ':active': { + color: '$error200', + }, + }, + '_spinner': { + 'props': { + color: '$error300', + }, + ':hover': { + props: { color: '$error300' }, + }, + ':active': { + props: { color: '$error200' }, + }, + }, + ':focusVisible': { + _web: { + boxShadow: 'offset 0 0 0 2px $info400', + }, + }, + }, + }, + + default: { + 'bg': '$transparent', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + + variant: { + link: { + 'px': '$0', + ':hover': { + _text: { + textDecorationLine: 'underline', + }, + }, + ':active': { + _text: { + textDecorationLine: 'underline', + }, + }, + }, + outline: { + 'bg': 'transparent', + 'borderWidth': '$1', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + solid: { + _text: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _spinner: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + _icon: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + _dark: { + _text: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _spinner: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + _icon: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + }, + }, + }, + + size: { + xs: { + px: '$3.5', + h: '$8', + _icon: { + props: { + size: '2xs', + }, + }, + _text: { + props: { + size: 'xs', + }, + }, + }, + sm: { + px: '$4', + h: '$9', + _icon: { + props: { + size: 'sm', + }, + }, + _text: { + props: { + size: 'sm', + }, + }, + }, + md: { + px: '$5', + h: '$10', + _icon: { + props: { + size: 'md', + }, + }, + _text: { + props: { + size: 'md', + }, + }, + }, + lg: { + px: '$6', + h: '$11', + _icon: { + props: { + size: 'md', + }, + }, + _text: { + props: { + size: 'lg', + }, + }, + }, + xl: { + px: '$7', + h: '$12', + _icon: { + props: { + size: 'lg', + }, + }, + _text: { + props: { + size: 'xl', + }, + }, + }, + }, + }, + 'compoundVariants': [ + { + action: 'primary', + variant: 'link', + value: { + 'px': '$0', + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'secondary', + variant: 'link', + value: { + 'px': '$0', + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'positive', + variant: 'link', + value: { + 'px': '$0', + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'negative', + variant: 'link', + value: { + 'px': '$0', + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: 'transparent', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'primary', + variant: 'outline', + value: { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'secondary', + variant: 'outline', + value: { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'positive', + variant: 'outline', + value: { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'negative', + variant: 'outline', + value: { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundLight50', + }, + ':active': { + bg: 'transparent', + }, + '_dark': { + 'bg': 'transparent', + ':hover': { + bg: '$backgroundDark900', + }, + ':active': { + bg: 'transparent', + }, + }, + }, + }, + { + action: 'primary', + variant: 'solid', + value: { + _text: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _icon: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _spinner: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + _dark: { + _text: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _icon: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _spinner: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + }, + }, + }, + { + action: 'secondary', + variant: 'solid', + value: { + _text: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _icon: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _spinner: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + _dark: { + _text: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _icon: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _spinner: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + }, + }, + }, + { + action: 'positive', + variant: 'solid', + value: { + _text: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _icon: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + 'props': { color: '$textLight0' }, + }, + _spinner: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + + _dark: { + _text: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _icon: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _spinner: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + }, + }, + }, + { + action: 'negative', + variant: 'solid', + value: { + _text: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _icon: { + 'color': '$textLight0', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + }, + _spinner: { + 'props': { color: '$textLight0' }, + ':hover': { + props: { color: '$textLight0' }, + }, + ':active': { + props: { color: '$textLight0' }, + }, + }, + _dark: { + _text: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _icon: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + _spinner: { + 'props': { color: '$textDark0' }, + ':hover': { + props: { color: '$textDark0' }, + }, + ':active': { + props: { color: '$textDark0' }, + }, + }, + }, + }, + }, + ], + + 'props': { + size: 'md', + variant: 'solid', + action: 'primary', + }, + + '_web': { + ':focusVisible': { + outlineWidth: '$0.5', + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary300', + }, + }, + }, + + ':disabled': { + opacity: 0.4, + }, +}); diff --git a/config/theme/ButtonGroup.ts b/config/theme/ButtonGroup.ts new file mode 100644 index 0000000..035559b --- /dev/null +++ b/config/theme/ButtonGroup.ts @@ -0,0 +1,80 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonGroup = createStyle({ + variants: { + size: { + xs: { + _button: { + props: { + size: 'xs', + }, + }, + }, + sm: { + _button: { + props: { + size: 'sm', + }, + }, + }, + md: { + _button: { + props: { + size: 'md', + }, + }, + }, + lg: { + _button: { + props: { + size: 'lg', + }, + }, + }, + xl: { + _button: { + _button: { + props: { + size: 'xl', + }, + }, + }, + }, + }, + space: { + 'xs': { + gap: '$1', + }, + 'sm': { + gap: '$2', + }, + 'md': { + gap: '$3', + }, + 'lg': { + gap: '$4', + }, + 'xl': { + gap: '$5', + }, + '2xl': { + gap: '$6', + }, + '3xl': { + gap: '$7', + }, + '4xl': { + gap: '$8', + }, + }, + isAttached: { + true: { + gap: 0, + }, + }, + }, + defaultProps: { + size: 'md', + space: 'sm', + }, +}); diff --git a/config/theme/ButtonGroupHSpacer.ts b/config/theme/ButtonGroupHSpacer.ts new file mode 100644 index 0000000..7fcdf6d --- /dev/null +++ b/config/theme/ButtonGroupHSpacer.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonGroupHSpacer = createStyle({ + variants: { + space: { + xs: { + w: '$1', + }, + sm: { + w: '$1.5', + }, + md: { + w: '$2', + }, + lg: { + w: '$3', + }, + xl: { + w: '$4', + }, + }, + }, +}); diff --git a/config/theme/ButtonGroupVSpacer.ts b/config/theme/ButtonGroupVSpacer.ts new file mode 100644 index 0000000..36634ec --- /dev/null +++ b/config/theme/ButtonGroupVSpacer.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonGroupVSpacer = createStyle({ + variants: { + space: { + xs: { + h: '$1', + }, + sm: { + h: '$1.5', + }, + md: { + h: '$2', + }, + lg: { + h: '$3', + }, + xl: { + h: '$4', + }, + }, + }, +}); diff --git a/config/theme/ButtonIcon.ts b/config/theme/ButtonIcon.ts new file mode 100644 index 0000000..bf4c110 --- /dev/null +++ b/config/theme/ButtonIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/ButtonSpinner.ts b/config/theme/ButtonSpinner.ts new file mode 100644 index 0000000..fa5de30 --- /dev/null +++ b/config/theme/ButtonSpinner.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonSpinner = createStyle({}); diff --git a/config/theme/ButtonText.ts b/config/theme/ButtonText.ts new file mode 100644 index 0000000..44d79ed --- /dev/null +++ b/config/theme/ButtonText.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ButtonText = createStyle({ + color: '$textLight0', + _web: { + userSelect: 'none', + }, +}); diff --git a/config/theme/Card.ts b/config/theme/Card.ts new file mode 100644 index 0000000..d720d40 --- /dev/null +++ b/config/theme/Card.ts @@ -0,0 +1,57 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Card = createStyle({ + variants: { + size: { + sm: { + p: '$3', + borderRadius: '$sm', + }, + md: { + p: '$4', + borderRadius: '$md', + }, + lg: { + p: '$6', + borderRadius: '$xl', + }, + }, + variant: { + elevated: { + bg: '$backgroundLight0', + shadowColor: '$backgroundLight800', + shadowOffset: { + width: 0, + height: 1, + }, + shadowOpacity: 0.22, + shadowRadius: 2.22, + elevation: 3, + _dark: { + bg: '$backgroundDark900', + }, + }, + outline: { + borderWidth: 1, + borderColor: '$borderLight200', + _dark: { + borderColor: '$borderDark800', + }, + }, + ghost: { + borderRadius: 'none', + }, + filled: { + bg: '$backgroundLight50', + _dark: { + bg: '$backgroundDark900', + }, + }, + }, + }, + defaultProps: { + theme: 'light', + size: 'md', + variant: 'elevated', + }, +}); diff --git a/config/theme/Center.ts b/config/theme/Center.ts new file mode 100644 index 0000000..f2f7c12 --- /dev/null +++ b/config/theme/Center.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Center = createStyle({ + alignItems: 'center', + justifyContent: 'center', +}); diff --git a/config/theme/Checkbox.ts b/config/theme/Checkbox.ts new file mode 100644 index 0000000..eb3444c --- /dev/null +++ b/config/theme/Checkbox.ts @@ -0,0 +1,79 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Checkbox = createStyle({ + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + + variants: { + size: { + lg: { + _text: { + props: { + size: 'lg', + }, + }, + + _icon: { + props: { + size: 'md', + }, + }, + _indicator: { + borderWidth: 3, + h: '$6', + w: '$6', + }, + }, + + md: { + _text: { + props: { + size: 'md', + }, + }, + + _icon: { + props: { + size: 'sm', + }, + }, + _indicator: { + borderWidth: 2, + h: '$5', + w: '$5', + }, + }, + + sm: { + _text: { + props: { + size: 'sm', + }, + }, + + _icon: { + props: { + size: '2xs', + }, + }, + _indicator: { + borderWidth: 2, + h: '$4', + w: '$4', + }, + }, + }, + }, + + defaultProps: { + size: 'md', + }, + + _web: { + 'cursor': 'pointer', + ':disabled': { + cursor: 'not-allowed', + }, + }, +}); diff --git a/config/theme/CheckboxGroup.ts b/config/theme/CheckboxGroup.ts new file mode 100644 index 0000000..2fe324e --- /dev/null +++ b/config/theme/CheckboxGroup.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const CheckboxGroup = createStyle({}); diff --git a/config/theme/CheckboxIcon.ts b/config/theme/CheckboxIcon.ts new file mode 100644 index 0000000..5685174 --- /dev/null +++ b/config/theme/CheckboxIcon.ts @@ -0,0 +1,18 @@ +import { createStyle } from '@gluestack-style/react'; + +export const CheckboxIcon = createStyle({ + ':checked': { + color: '$backgroundLight0', + }, + ':disabled': { + opacity: 0.4, + }, + '_dark': { + ':checked': { + color: '$backgroundDark0', + }, + ':disabled': { + opacity: 0.4, + }, + }, +}); diff --git a/config/theme/CheckboxIndicator.ts b/config/theme/CheckboxIndicator.ts new file mode 100644 index 0000000..38e4e5d --- /dev/null +++ b/config/theme/CheckboxIndicator.ts @@ -0,0 +1,112 @@ +import { createStyle } from '@gluestack-style/react'; + +export const CheckboxIndicator = createStyle({ + 'justifyContent': 'center', + 'alignItems': 'center', + 'borderColor': '$borderLight400', + 'bg': '$transparent', + 'borderRadius': 4, + + '_web': { + ':focusVisible': { + outlineWidth: '2px', + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary300', + }, + }, + }, + + ':checked': { + borderColor: '$primary600', + bg: '$primary600', + }, + + ':hover': { + 'borderColor': '$borderLight500', + 'bg': 'transparent', + ':invalid': { + borderColor: '$error700', + }, + ':checked': { + 'bg': '$primary700', + 'borderColor': '$primary700', + ':disabled': { + 'borderColor': '$primary600', + 'bg': '$primary600', + 'opacity': 0.4, + ':invalid': { + borderColor: '$error700', + }, + }, + }, + ':disabled': { + 'borderColor': '$borderLight400', + ':invalid': { + borderColor: '$error700', + }, + }, + }, + + ':active': { + ':checked': { + bg: '$primary800', + borderColor: '$primary800', + }, + }, + ':invalid': { + borderColor: '$error700', + }, + ':disabled': { + opacity: 0.4, + }, + + '_dark': { + 'borderColor': '$borderDark500', + 'bg': '$transparent', + + ':checked': { + borderColor: '$primary500', + bg: '$primary500', + }, + ':hover': { + 'borderColor': '$borderDark400', + 'bg': 'transparent', + ':invalid': { + borderColor: '$error400', + }, + ':checked': { + 'bg': '$primary400', + 'borderColor': '$primary400', + ':disabled': { + 'borderColor': '$primary500', + 'bg': '$primary500', + 'opacity': 0.4, + ':invalid': { + borderColor: '$error400', + }, + }, + }, + ':disabled': { + 'borderColor': '$borderDark500', + ':invalid': { + borderColor: '$error400', + }, + }, + }, + ':active': { + ':checked': { + bg: '$primary300', + borderColor: '$primary300', + }, + }, + + ':invalid': { + borderColor: '$error400', + }, + ':disabled': { + opacity: 0.4, + }, + }, +}); diff --git a/config/theme/CheckboxLabel.ts b/config/theme/CheckboxLabel.ts new file mode 100644 index 0000000..4d8ce9d --- /dev/null +++ b/config/theme/CheckboxLabel.ts @@ -0,0 +1,64 @@ +import { createStyle } from '@gluestack-style/react'; + +export const CheckboxLabel = createStyle({ + 'color': '$textLight600', + ':checked': { + color: '$textLight900', + }, + ':hover': { + 'color': '$textLight900', + ':checked': { + 'color': '$textLight900', + ':disabled': { + color: '$textLight900', + }, + }, + ':disabled': { + color: '$textLight600', + }, + }, + ':active': { + 'color': '$textLight900', + + ':checked': { + color: '$textLight900', + }, + }, + + ':disabled': { + opacity: 0.4, + }, + + '_web': { + MozUserSelect: 'none', + WebkitUserSelect: 'none', + msUserSelect: 'none', + userSelect: 'none', + }, + '_dark': { + 'color': '$textDark400', + ':checked': { + color: '$textDark100', + }, + ':hover': { + 'color': '$textDark100', + ':checked': { + 'color': '$textDark100', + ':disabled': { + color: '$textDark100', + }, + }, + }, + ':disabled': { + color: '$textDark100', + }, + + ':active': { + 'color': '$textDark100', + + ':checked': { + color: '$textDark100', + }, + }, + }, +}); diff --git a/config/theme/Divider.ts b/config/theme/Divider.ts new file mode 100644 index 0000000..827b7e1 --- /dev/null +++ b/config/theme/Divider.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Divider = createStyle({ + bg: '$backgroundLight200', + _dark: { + bg: '$backgroundLight800', + }, + variants: { + orientation: { + vertical: { + width: '$px', + height: '$full', + }, + horizontal: { + height: '$px', + width: '$full', + }, + }, + }, + defaultProps: { + orientation: 'horizontal', + }, +}); diff --git a/config/theme/Fab.ts b/config/theme/Fab.ts new file mode 100644 index 0000000..fc85c29 --- /dev/null +++ b/config/theme/Fab.ts @@ -0,0 +1,181 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Fab = createStyle({ + 'bg': '$primary500', + 'rounded': '$full', + 'zIndex': 20, + 'p': 16, + 'flexDirection': 'row', + + 'alignItems': 'center', + 'justifyContent': 'center', + 'position': 'absolute', + ':hover': { + bg: '$primary600', + }, + + ':active': { + bg: '$primary700', + }, + + ':disabled': { + opacity: 0.4, + _web: { + // @ts-ignore + pointerEvents: 'all !important', + cursor: 'not-allowed', + }, + }, + + '_text': { + color: '$textLight50', + fontWeight: '$normal', + _dark: { + _text: { + color: '$textDark50', + }, + }, + }, + + '_icon': { + 'color': '$textLight50', + ':hover': { + color: '$textLight0', + }, + ':active': { + color: '$textLight0', + }, + '_dark': { + _icon: { + 'color': '$textDark0', + ':hover': { + color: '$textDark0', + }, + ':active': { + color: '$textDark0', + }, + }, + }, + }, + + '_dark': { + 'bg': '$primary400', + ':hover': { + bg: '$primary500', + }, + ':active': { + bg: '$primary600', + }, + ':disabled': { + opacity: 0.4, + _web: { + cursor: 'not-allowed', + }, + }, + }, + + '_web': { + ':focusVisible': { + outlineWidth: 2, + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary300', + }, + }, + }, + + 'variants': { + size: { + sm: { + px: '$2.5', + py: '$2.5', + _text: { + fontSize: '$sm', + }, + _icon: { + props: { + size: 'sm', + }, + }, + }, + md: { + px: '$3', + py: '$3', + _text: { + fontSize: '$md', + }, + _icon: { + props: { + size: 'md', + }, + }, + }, + lg: { + px: '$4', + py: '$4', + _text: { + fontSize: '$lg', + }, + _icon: { + props: { + size: 'md', + }, + }, + }, + }, + + placement: { + 'top right': { + top: '$4', + right: '$4', + }, + + 'top left': { + top: '$4', + left: '$4', + }, + + 'bottom right': { + bottom: '$4', + right: '$4', + }, + + 'bottom left': { + bottom: '$4', + left: '$4', + }, + + 'top center': { + top: '$4', + alignSelf: 'center', + // TODO: fix this, this is correct way, but React Native doesn't support this on Native + // left: '50%', + // transform: [ + // { + // // @ts-ignore + // translateX: '-50%', + // }, + // ], + }, + + 'bottom center': { + bottom: '$4', + alignSelf: 'center', + // TODO: fix this, this is correct way, but React Native doesn't support this on Native + // left: '50%', + // transform: [ + // { + // // @ts-ignore + // translateX: '-50%', + // }, + // ], + }, + }, + }, + 'defaultProps': { + placement: 'bottom right', + size: 'md', + hardShadow: '2', + }, +}); diff --git a/config/theme/FabIcon.ts b/config/theme/FabIcon.ts new file mode 100644 index 0000000..219eb05 --- /dev/null +++ b/config/theme/FabIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FabIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/FabLabel.ts b/config/theme/FabLabel.ts new file mode 100644 index 0000000..811120b --- /dev/null +++ b/config/theme/FabLabel.ts @@ -0,0 +1,5 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FabLabel = createStyle({ + color: '$textLight50', +}); diff --git a/config/theme/FlatList.ts b/config/theme/FlatList.ts new file mode 100644 index 0000000..c36334d --- /dev/null +++ b/config/theme/FlatList.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FlatList = createStyle({}); diff --git a/config/theme/FormControl.ts b/config/theme/FormControl.ts new file mode 100644 index 0000000..364fec8 --- /dev/null +++ b/config/theme/FormControl.ts @@ -0,0 +1,55 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControl = createStyle({ + flexDirection: 'column', + variants: { + size: { + sm: { + _labelText: { + props: { size: 'sm' }, + }, + _labelAstrick: { + props: { size: 'sm' }, + }, + _helperText: { + props: { size: 'xs' }, + }, + _errorText: { + props: { size: 'xs' }, + }, + }, + md: { + _labelText: { + props: { size: 'md' }, + }, + _labelAstrick: { + props: { size: 'md' }, + }, + _helperText: { + props: { size: 'sm' }, + }, + _errorText: { + props: { size: 'sm' }, + }, + }, + lg: { + _labelText: { + props: { size: 'lg' }, + }, + _labelAstrick: { + props: { size: 'lg' }, + }, + _helperText: { + props: { size: 'md' }, + }, + _errorText: { + props: { size: 'md' }, + }, + }, + }, + }, + + defaultProps: { + size: 'md', + }, +}); diff --git a/config/theme/FormControlError.ts b/config/theme/FormControlError.ts new file mode 100644 index 0000000..07d8df2 --- /dev/null +++ b/config/theme/FormControlError.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlError = createStyle({ + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + mt: '$1', + gap: '$1', +}); diff --git a/config/theme/FormControlErrorIcon.ts b/config/theme/FormControlErrorIcon.ts new file mode 100644 index 0000000..0565c4a --- /dev/null +++ b/config/theme/FormControlErrorIcon.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlErrorIcon = createStyle({ + color: '$error700', + _dark: { + //@ts-ignore + color: '$error400', + }, + props: { + size: 'sm', + }, +}); diff --git a/config/theme/FormControlErrorText.ts b/config/theme/FormControlErrorText.ts new file mode 100644 index 0000000..a303b59 --- /dev/null +++ b/config/theme/FormControlErrorText.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlErrorText = createStyle({ + color: '$error700', + _dark: { + color: '$error400', + }, +}); diff --git a/config/theme/FormControlHelper.ts b/config/theme/FormControlHelper.ts new file mode 100644 index 0000000..5c229ed --- /dev/null +++ b/config/theme/FormControlHelper.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlHelper = createStyle({ + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + mt: '$1', +}); diff --git a/config/theme/FormControlHelperText.ts b/config/theme/FormControlHelperText.ts new file mode 100644 index 0000000..572e431 --- /dev/null +++ b/config/theme/FormControlHelperText.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlHelperText = createStyle({ + props: { + size: 'xs', + }, + color: '$textLight500', + _dark: { + color: '$textDark400', + }, +}); diff --git a/config/theme/FormControlLabel.ts b/config/theme/FormControlLabel.ts new file mode 100644 index 0000000..59d891a --- /dev/null +++ b/config/theme/FormControlLabel.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlLabel = createStyle({ + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + mb: '$1', +}); diff --git a/config/theme/FormControlLabelText.ts b/config/theme/FormControlLabelText.ts new file mode 100644 index 0000000..edcd1d2 --- /dev/null +++ b/config/theme/FormControlLabelText.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const FormControlLabelText = createStyle({ + fontWeight: '$medium', + color: '$textLight900', + _dark: { + color: '$textDark50', + }, +}); diff --git a/config/theme/HStack.ts b/config/theme/HStack.ts new file mode 100644 index 0000000..05b0be6 --- /dev/null +++ b/config/theme/HStack.ts @@ -0,0 +1,38 @@ +import { createStyle } from '@gluestack-style/react'; + +export const HStack = createStyle({ + flexDirection: 'row', + variants: { + space: { + 'xs': { + gap: `$1`, + }, + 'sm': { + gap: `$2`, + }, + 'md': { + gap: `$3`, + }, + 'lg': { + gap: `$4`, + }, + 'xl': { + gap: `$5`, + }, + '2xl': { + gap: `$6`, + }, + '3xl': { + gap: `$7`, + }, + '4xl': { + gap: `$8`, + }, + }, + reversed: { + true: { + flexDirection: 'row-reverse', + }, + }, + }, +}); diff --git a/config/theme/Heading.ts b/config/theme/Heading.ts new file mode 100644 index 0000000..eb02c2e --- /dev/null +++ b/config/theme/Heading.ts @@ -0,0 +1,124 @@ +import { createStyle } from '@gluestack-style/react'; +import { H1, H2, H3, H4, H5, H6 } from '@expo/html-elements'; + +export const Heading = createStyle({ + color: '$textLight900', + letterSpacing: '$sm', + fontWeight: '$bold', + fontFamily: '$heading', + + // Overrides expo-html default styling + marginVertical: 0, + _dark: { + color: '$textDark50', + }, + variants: { + isTruncated: { + true: { + props: { + // @ts-ignore + numberOfLines: 1, + ellipsizeMode: 'tail', + }, + }, + }, + bold: { + true: { + fontWeight: '$bold', + }, + }, + underline: { + true: { + textDecorationLine: 'underline', + }, + }, + strikeThrough: { + true: { + textDecorationLine: 'line-through', + }, + }, + sub: { + true: { + fontSize: '$xs', + lineHeight: '$xs', + }, + }, + italic: { + true: { + fontStyle: 'italic', + }, + }, + highlight: { + true: { + bg: '$yellow500', + }, + }, + size: { + '5xl': { + //@ts-ignore + props: { as: H1 }, + fontSize: '$6xl', + lineHeight: '$7xl', + }, + '4xl': { + //@ts-ignore + props: { as: H1 }, + fontSize: '$5xl', + lineHeight: '$6xl', + }, + + '3xl': { + //@ts-ignore + props: { as: H1 }, + fontSize: '$4xl', + lineHeight: '$5xl', + }, + + '2xl': { + //@ts-ignore + props: { as: H2 }, + fontSize: '$3xl', + lineHeight: '$3xl', + }, + + 'xl': { + //@ts-ignore + props: { as: H3 }, + fontSize: '$2xl', + lineHeight: '$3xl', + }, + + 'lg': { + //@ts-ignore + props: { as: H4 }, + fontSize: '$xl', + lineHeight: '$2xl', + }, + + 'md': { + //@ts-ignore + props: { as: H5 }, + fontSize: '$lg', + lineHeight: '$lg', + }, + + 'sm': { + //@ts-ignore + props: { as: H6 }, + fontSize: '$md', + lineHeight: '$lg', + }, + + 'xs': { + //@ts-ignore + props: { as: H6 }, + fontSize: '$sm', + lineHeight: '$xs', + }, + }, + }, + + defaultProps: { + size: 'lg', + }, +}); diff --git a/config/theme/Icon.ts b/config/theme/Icon.ts new file mode 100644 index 0000000..f524c56 --- /dev/null +++ b/config/theme/Icon.ts @@ -0,0 +1,76 @@ +import { createStyle } from '@gluestack-style/react'; + +export const BaseIcon = createStyle({ + color: '$backgroundLight800', + _dark: { + color: '$backgroundDark400', + }, + variants: { + size: { + '2xs': { + h: '$3', + w: '$3', + props: { + // @ts-ignore + size: 12, + }, + }, + 'xs': { + h: '$3.5', + w: '$3.5', + props: { + //@ts-ignore + size: 14, + }, + }, + 'sm': { + h: '$4', + w: '$4', + props: { + //@ts-ignore + size: 16, + }, + }, + 'md': { + h: '$4.5', + w: '$4.5', + props: { + //@ts-ignore + size: 18, + }, + }, + 'lg': { + h: '$5', + w: '$5', + props: { + //@ts-ignore + size: 20, + }, + }, + 'xl': { + h: '$6', + w: '$6', + props: { + //@ts-ignore + size: 24, + }, + }, + }, + }, + // defaultProps: { + // size: 'md', + // }, +}); + +export const Icon = createStyle({ + props: { + size: 'md', + //@ts-ignore + fill: 'none', + }, + color: '$backgroundLight800', + _dark: { + //@ts-ignore + color: '$backgroundDark400', + }, +}); diff --git a/config/theme/Image.ts b/config/theme/Image.ts new file mode 100644 index 0000000..1758c0f --- /dev/null +++ b/config/theme/Image.ts @@ -0,0 +1,60 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Image = createStyle({ + maxWidth: '$full', + _web: { + props: { + // set property to revert-layer as RNW always set image height width inline + style: { + height: 'revert-layer', + width: 'revert-layer', + }, + }, + }, + variants: { + size: { + '2xs': { + w: '$6', + h: '$6', + }, + + 'xs': { + w: '$10', + h: '$10', + }, + + 'sm': { + w: '$16', + h: '$16', + }, + + 'md': { + w: '$20', + h: '$20', + }, + + 'lg': { + w: '$24', + h: '$24', + }, + + 'xl': { + w: '$32', + h: '$32', + }, + + '2xl': { + w: '$64', + h: '$64', + }, + 'full': { + w: '$full', + h: '$full', + }, + }, + }, + + defaultProps: { + size: 'md', + }, +}); diff --git a/config/theme/ImageBackground.ts b/config/theme/ImageBackground.ts new file mode 100644 index 0000000..e16c5d3 --- /dev/null +++ b/config/theme/ImageBackground.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ImageBackground = createStyle({}); diff --git a/config/theme/Input.ts b/config/theme/Input.ts new file mode 100644 index 0000000..9bc1fa4 --- /dev/null +++ b/config/theme/Input.ts @@ -0,0 +1,352 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Input = createStyle({ + 'borderWidth': 1, + 'borderColor': '$backgroundLight300', + 'borderRadius': '$sm', + 'flexDirection': 'row', + 'overflow': 'hidden', + 'alignContent': 'center', + + ':hover': { + borderColor: '$borderLight400', + }, + + ':focus': { + 'borderColor': '$primary700', + ':hover': { + borderColor: '$primary700', + }, + }, + + ':disabled': { + 'opacity': 0.4, + ':hover': { + borderColor: '$backgroundLight300', + }, + }, + + '_input': { + py: 'auto', + px: '$3', + overflow: 'hidden', + }, + + '_icon': { + color: '$textLight400', + }, + + '_dark': { + 'borderColor': '$borderDark700', + ':hover': { + borderColor: '$borderDark400', + }, + ':focus': { + 'borderColor': '$primary400', + ':hover': { + borderColor: '$primary400', + }, + }, + ':disabled': { + ':hover': { + borderColor: '$borderDark700', + }, + }, + }, + + 'variants': { + size: { + xl: { + h: '$12', + _input: { + props: { + size: 'xl', + }, + }, + _icon: { + props: { + size: 'xl', + }, + }, + }, + lg: { + h: '$11', + _input: { + props: { + size: 'lg', + }, + }, + _icon: { + props: { + size: 'lg', + }, + }, + }, + md: { + h: '$10', + _input: { + props: { + size: 'md', + }, + }, + _icon: { + props: { + size: 'sm', + }, + }, + }, + sm: { + h: '$9', + _input: { + props: { + size: 'sm', + }, + }, + _icon: { + props: { + size: 'xs', + }, + }, + }, + }, + variant: { + underlined: { + '_input': { + _web: { + outlineWidth: 0, + outline: 'none', + }, + px: '$0', + }, + 'borderWidth': 0, + 'borderRadius': 0, + 'borderBottomWidth': '$1', + ':focus': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $primary700', + }, + }, + ':invalid': { + 'borderBottomWidth': 2, + 'borderBottomColor': '$error700', + '_web': { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + ':hover': { + borderBottomColor: '$error700', + }, + ':focus': { + 'borderBottomColor': '$error700', + ':hover': { + borderBottomColor: '$error700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderBottomColor: '$error700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + }, + }, + }, + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + ':hover': { + borderBottomColor: '$error400', + }, + ':focus': { + 'borderBottomColor': '$error400', + ':hover': { + borderBottomColor: '$error400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + }, + }, + ':disabled': { + ':hover': { + borderBottomColor: '$error400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + }, + }, + }, + }, + }, + + outline: { + '_input': { + _web: { + outlineWidth: 0, + outline: 'none', + }, + }, + ':focus': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + }, + ':invalid': { + 'borderColor': '$error700', + '_web': { + boxShadow: 'inset 0 0 0 1px $error700', + }, + ':hover': { + borderColor: '$error700', + }, + ':focus': { + 'borderColor': '$error700', + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + }, + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 0 0 1px $error400', + }, + ':hover': { + borderColor: '$error400', + }, + ':focus': { + 'borderColor': '$error400', + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + }, + }, + }, + + rounded: { + 'borderRadius': 999, + '_input': { + px: '$4', + _web: { + outlineWidth: 0, + outline: 'none', + }, + }, + ':focus': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + }, + ':invalid': { + 'borderColor': '$error700', + '_web': { + boxShadow: 'inset 0 0 0 1px $error700', + }, + ':hover': { + borderColor: '$error700', + }, + ':focus': { + 'borderColor': '$error700', + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + }, + + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 0 0 1px $error400', + }, + ':hover': { + borderColor: '$error400', + }, + ':focus': { + 'borderColor': '$error400', + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + }, + }, + }, + }, + }, + + 'defaultProps': { + size: 'md', + variant: 'outline', + }, +}); diff --git a/config/theme/InputAccessoryView.ts b/config/theme/InputAccessoryView.ts new file mode 100644 index 0000000..1c47e42 --- /dev/null +++ b/config/theme/InputAccessoryView.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const InputAccessoryView = createStyle({}); diff --git a/config/theme/InputField.ts b/config/theme/InputField.ts new file mode 100644 index 0000000..a483582 --- /dev/null +++ b/config/theme/InputField.ts @@ -0,0 +1,67 @@ +import { createStyle } from '@gluestack-style/react'; + +export const InputField = createStyle({ + flex: 1, + color: '$textLight900', + props: { + placeholderTextColor: '$textLight500', + }, + _dark: { + color: '$textDark50', + props: { + placeholderTextColor: '$textDark400', + }, + }, + _web: { + 'cursor': 'text', + ':disabled': { + cursor: 'not-allowed', + }, + }, + variants: { + size: { + '2xs': { + fontSize: '$2xs', + }, + 'xs': { + fontSize: '$xs', + }, + + 'sm': { + fontSize: '$sm', + }, + + 'md': { + fontSize: '$md', + }, + + 'lg': { + fontSize: '$lg', + }, + + 'xl': { + fontSize: '$xl', + }, + + '2xl': { + fontSize: '$2xl', + }, + + '3xl': { + fontSize: '$3xl', + }, + + '4xl': { + fontSize: '$4xl', + }, + + '5xl': { + fontSize: '$5xl', + }, + + '6xl': { + fontSize: '$6xl', + }, + }, + }, +}); diff --git a/config/theme/InputIcon.ts b/config/theme/InputIcon.ts new file mode 100644 index 0000000..3e2c2a0 --- /dev/null +++ b/config/theme/InputIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const InputIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/InputSlot.ts b/config/theme/InputSlot.ts new file mode 100644 index 0000000..d944bc0 --- /dev/null +++ b/config/theme/InputSlot.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const InputSlot = createStyle({ + justifyContent: 'center', + alignItems: 'center', + _web: { + ':disabled': { + cursor: 'not-allowed', + }, + }, +}); diff --git a/config/theme/KeyboardAvoidingView.ts b/config/theme/KeyboardAvoidingView.ts new file mode 100644 index 0000000..47b9b19 --- /dev/null +++ b/config/theme/KeyboardAvoidingView.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const KeyboardAvoidingView = createStyle({}); diff --git a/config/theme/Link.ts b/config/theme/Link.ts new file mode 100644 index 0000000..ad3221c --- /dev/null +++ b/config/theme/Link.ts @@ -0,0 +1,38 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Link = createStyle({ + _web: { + 'outlineWidth': 0, + ':disabled': { + cursor: 'not-allowed', + }, + ':focusVisible': { + outlineWidth: 2, + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary400', + }, + }, + }, + _text: { + ':hover': { + color: '$info600', + textDecorationLine: 'none', + }, + ':active': { + color: '$info700', + }, + ':disabled': { + opacity: 0.4, + }, + '_dark': { + ':hover': { + color: '$info400', + }, + ':active': { + color: '$info300', + }, + }, + }, +}); diff --git a/config/theme/LinkText.ts b/config/theme/LinkText.ts new file mode 100644 index 0000000..5b74cb1 --- /dev/null +++ b/config/theme/LinkText.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const LinkText = createStyle({ + textDecorationLine: 'underline', + color: '$info700', + _dark: { + color: '$info300', + }, +}); diff --git a/config/theme/Menu.ts b/config/theme/Menu.ts new file mode 100644 index 0000000..f4d652e --- /dev/null +++ b/config/theme/Menu.ts @@ -0,0 +1,32 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Menu = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 1, + }, + ':exit': { + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 200, + }, + }, + 'minWidth': 200, + 'py': '$2', + 'rounded': '$sm', + 'bg': '$backgroundLight0', + '_dark': { + bg: '$backgroundDark900', + }, + 'defaultProps': { + softShadow: '3', + }, +}); diff --git a/config/theme/MenuBackdrop.ts b/config/theme/MenuBackdrop.ts new file mode 100644 index 0000000..4e99c98 --- /dev/null +++ b/config/theme/MenuBackdrop.ts @@ -0,0 +1,15 @@ +import { createStyle } from '@gluestack-style/react'; + +export const MenuBackdrop = createStyle({ + position: 'absolute', + top: 0, + bottom: 0, + left: 0, + right: 0, + // use this for when you want to give background colour to backdrop + // opacity: 0.5, + // bg: '$backgroundLight500', + _web: { + cursor: 'default', + }, +}); diff --git a/config/theme/MenuItem.ts b/config/theme/MenuItem.ts new file mode 100644 index 0000000..a996c56 --- /dev/null +++ b/config/theme/MenuItem.ts @@ -0,0 +1,64 @@ +import { createStyle } from '@gluestack-style/react'; + +export const MenuItem = createStyle({ + 'p': '$3', + 'flexDirection': 'row', + 'alignItems': 'center', + + ':hover': { + bg: '$backgroundLight100', + }, + + ':disabled': { + 'opacity': 0.4, + '_web': { + cursor: 'not-allowed', + }, + ':focus': { + bg: 'transparent', + }, + '_dark': { + ':focus': { + bg: 'transparent', + }, + }, + }, + + ':active': { + bg: '$backgroundLight200', + }, + + ':focus': { + bg: '$backgroundLight100', + // @ts-ignore + outlineWidth: '$0', + outlineStyle: 'none', + }, + + ':focusVisible': { + // @ts-ignore + outlineWidth: '$0.5', + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary300', + }, + }, + + '_dark': { + ':hover': { + bg: '$backgroundDark800', + }, + + ':active': { + bg: '$backgroundDark700', + }, + + ':focus': { + bg: '$backgroundDark800', + }, + }, + '_web': { + cursor: 'pointer', + }, +}); diff --git a/config/theme/MenuLabel.ts b/config/theme/MenuLabel.ts new file mode 100644 index 0000000..d4d3533 --- /dev/null +++ b/config/theme/MenuLabel.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const MenuLabel = createStyle({}); diff --git a/config/theme/Modal.ts b/config/theme/Modal.ts new file mode 100644 index 0000000..e406326 --- /dev/null +++ b/config/theme/Modal.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Modal = createStyle({ + width: '$full', + height: '$full', + justifyContent: 'center', + alignItems: 'center', + variants: { + size: { + xs: { _content: { width: '60%', maxWidth: 360 } }, + sm: { _content: { width: '70%', maxWidth: 420 } }, + md: { _content: { width: '80%', maxWidth: 510 } }, + lg: { _content: { width: '90%', maxWidth: 640 } }, + full: { _content: { width: '100%' } }, + }, + }, + + defaultProps: { size: 'md' }, + + _web: { + pointerEvents: 'box-none', + }, +}); diff --git a/config/theme/ModalBackdrop.ts b/config/theme/ModalBackdrop.ts new file mode 100644 index 0000000..beea14b --- /dev/null +++ b/config/theme/ModalBackdrop.ts @@ -0,0 +1,36 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalBackdrop = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 0.5, + }, + ':exit': { + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 250, + }, + }, + 'position': 'absolute', + 'left': 0, + 'top': 0, + 'right': 0, + 'bottom': 0, + 'bg': '$backgroundLight950', + // @ts-ignore + '_dark': { + bg: '$backgroundDark950', + }, + // @ts-ignore + '_web': { + cursor: 'default', + }, +}); diff --git a/config/theme/ModalBody.ts b/config/theme/ModalBody.ts new file mode 100644 index 0000000..21ffa2d --- /dev/null +++ b/config/theme/ModalBody.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalBody = createStyle({ + px: '$4', + paddingTop: 0, + paddingBottom: '$2', +}); diff --git a/config/theme/ModalCloseButton.ts b/config/theme/ModalCloseButton.ts new file mode 100644 index 0000000..dc5b99d --- /dev/null +++ b/config/theme/ModalCloseButton.ts @@ -0,0 +1,80 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalCloseButton = createStyle({ + 'zIndex': 1, + 'p': '$2', + 'rounded': '$sm', + '_icon': { + color: '$backgroundLight400', + }, + '_text': { + color: '$backgroundLight400', + }, + + ':hover': { + _icon: { + color: '$backgroundLight700', + }, + _text: { + color: '$backgroundLight700', + }, + }, + + ':active': { + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + }, + + '_dark': { + '_icon': { + color: '$backgroundDark400', + }, + '_text': { + color: '$backgroundDark400', + }, + ':hover': { + _icon: { + color: '$backgroundDark200', + }, + _text: { + color: '$backgroundDark200', + }, + }, + + ':active': { + _icon: { + color: '$backgroundDark100', + }, + _text: { + color: '$backgroundDark100', + }, + }, + }, + ':focusVisible': { + bg: '$backgroundLight100', + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + _dark: { + bg: '$backgroundDark700', + _icon: { + color: '$backgroundLight100', + }, + _text: { + color: '$backgroundLight100', + }, + }, + }, + + '_web': { + outlineWidth: 0, + cursor: 'pointer', + }, +}); diff --git a/config/theme/ModalContent.ts b/config/theme/ModalContent.ts new file mode 100644 index 0000000..70b0538 --- /dev/null +++ b/config/theme/ModalContent.ts @@ -0,0 +1,35 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalContent = createStyle({ + 'bg': '$backgroundLight50', + 'rounded': '$lg', + 'overflow': 'hidden', + ':initial': { + opacity: 0, + scale: 0.9, + }, + ':animate': { + opacity: 1, + scale: 1, + }, + ':exit': { + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 250, + }, + }, + // @ts-ignore + '_dark': { + bg: '$backgroundDark900', + }, + + 'defaultProps': { + softShadow: '3', + }, +}); diff --git a/config/theme/ModalFooter.ts b/config/theme/ModalFooter.ts new file mode 100644 index 0000000..1255f67 --- /dev/null +++ b/config/theme/ModalFooter.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalFooter = createStyle({ + p: '$4', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + flexWrap: 'wrap', +}); diff --git a/config/theme/ModalHeader.ts b/config/theme/ModalHeader.ts new file mode 100644 index 0000000..4c37318 --- /dev/null +++ b/config/theme/ModalHeader.ts @@ -0,0 +1,10 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ModalHeader = createStyle({ + px: '$4', + paddingTop: '$4', + paddingBottom: '$2', + justifyContent: 'space-between', + alignItems: 'center', + flexDirection: 'row', +}); diff --git a/config/theme/Popover.ts b/config/theme/Popover.ts new file mode 100644 index 0000000..0872c7d --- /dev/null +++ b/config/theme/Popover.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Popover = createStyle({ + width: '$full', + height: '$full', + justifyContent: 'center', + alignItems: 'center', + variants: { + size: { + xs: { _content: { width: '60%', maxWidth: 360 } }, + sm: { _content: { width: '70%', maxWidth: 420 } }, + md: { _content: { width: '80%', maxWidth: 510 } }, + lg: { _content: { width: '90%', maxWidth: 640 } }, + full: { _content: { width: '100%' } }, + }, + }, + + defaultProps: { size: 'md' }, + + _web: { + pointerEvents: 'box-none', + }, +}); diff --git a/config/theme/PopoverArrow.ts b/config/theme/PopoverArrow.ts new file mode 100644 index 0000000..a7761b0 --- /dev/null +++ b/config/theme/PopoverArrow.ts @@ -0,0 +1,27 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverArrow = createStyle({ + 'bg': '$backgroundLight50', + 'zIndex': 1, + 'position': 'absolute', + 'overflow': 'hidden', + '_dark': { + bg: '$backgroundDark900', + }, + 'h': '$3.5', + 'w': '$3.5', + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + mass: 0.9, + opacity: { + type: 'timing', + duration: 50, + delay: 50, + }, + }, + 'props': { + softShadow: '3', + }, +}); diff --git a/config/theme/PopoverBackdrop.ts b/config/theme/PopoverBackdrop.ts new file mode 100644 index 0000000..b40b385 --- /dev/null +++ b/config/theme/PopoverBackdrop.ts @@ -0,0 +1,36 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverBackdrop = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 0.1, + }, + ':exit': { + opacity: 0, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 450, + mass: 0.9, + opacity: { + type: 'timing', + duration: 50, + delay: 50, + }, + }, + 'position': 'absolute', + 'left': 0, + 'top': 0, + 'right': 0, + 'bottom': 0, + 'bg': '$backgroundLight950', + '_dark': { + bg: '$backgroundDark950', + }, + '_web': { + cursor: 'default', + }, +}); diff --git a/config/theme/PopoverBody.ts b/config/theme/PopoverBody.ts new file mode 100644 index 0000000..010bbd2 --- /dev/null +++ b/config/theme/PopoverBody.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverBody = createStyle({ + p: '$4', + pt: '$2', +}); diff --git a/config/theme/PopoverCloseButton.ts b/config/theme/PopoverCloseButton.ts new file mode 100644 index 0000000..ad8b890 --- /dev/null +++ b/config/theme/PopoverCloseButton.ts @@ -0,0 +1,80 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverCloseButton = createStyle({ + 'zIndex': 1, + 'p': '$2', + 'rounded': '$sm', + '_icon': { + color: '$backgroundLight400', + }, + '_text': { + color: '$backgroundLight400', + }, + + ':hover': { + _icon: { + color: '$backgroundLight700', + }, + _text: { + color: '$backgroundLight700', + }, + }, + + ':active': { + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + }, + + '_dark': { + '_icon': { + color: '$backgroundDark400', + }, + '_text': { + color: '$backgroundDark400', + }, + ':hover': { + _icon: { + color: '$backgroundDark200', + }, + _text: { + color: '$backgroundDark200', + }, + }, + + ':active': { + _icon: { + color: '$backgroundDark100', + }, + _text: { + color: '$backgroundDark100', + }, + }, + }, + ':focusVisible': { + bg: '$backgroundLight100', + _icon: { + color: '$backgroundLight900', + }, + _text: { + color: '$backgroundLight900', + }, + _dark: { + bg: '$backgroundDark700', + _icon: { + color: '$backgroundLight100', + }, + _text: { + color: '$backgroundLight100', + }, + }, + }, + + '_web': { + outlineWidth: 0, + cursor: 'pointer', + }, +}); diff --git a/config/theme/PopoverContent.ts b/config/theme/PopoverContent.ts new file mode 100644 index 0000000..da08878 --- /dev/null +++ b/config/theme/PopoverContent.ts @@ -0,0 +1,25 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverContent = createStyle({ + 'bg': '$backgroundLight50', + 'rounded': '$lg', + 'overflow': 'hidden', + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + mass: 0.9, + opacity: { + type: 'timing', + duration: 50, + delay: 50, + }, + }, + '_dark': { + bg: '$backgroundDark900', + }, + + 'defaultProps': { + softShadow: '3', + }, +}); diff --git a/config/theme/PopoverFooter.ts b/config/theme/PopoverFooter.ts new file mode 100644 index 0000000..6df33f9 --- /dev/null +++ b/config/theme/PopoverFooter.ts @@ -0,0 +1,15 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverFooter = createStyle({ + p: '$4', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + flexWrap: 'wrap', + borderTopWidth: 1, + borderColor: '$borderLight300', + + _dark: { + borderColor: '$borderDark700', + }, +}); diff --git a/config/theme/PopoverHeader.ts b/config/theme/PopoverHeader.ts new file mode 100644 index 0000000..fa38c66 --- /dev/null +++ b/config/theme/PopoverHeader.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const PopoverHeader = createStyle({ + p: '$4', + pb: '$2', + justifyContent: 'space-between', + alignItems: 'center', + flexDirection: 'row', +}); diff --git a/config/theme/Pressable.ts b/config/theme/Pressable.ts new file mode 100644 index 0000000..62eb38c --- /dev/null +++ b/config/theme/Pressable.ts @@ -0,0 +1,14 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Pressable = createStyle({ + _web: { + ':focusVisible': { + outlineWidth: '2px', + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary300', + }, + }, + }, +}); diff --git a/config/theme/Progress.ts b/config/theme/Progress.ts new file mode 100644 index 0000000..eb31cef --- /dev/null +++ b/config/theme/Progress.ts @@ -0,0 +1,53 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Progress = createStyle({ + bg: '$backgroundLight300', + borderRadius: '$full', + w: '100%', + variants: { + size: { + 'xs': { + h: '$1', + _filledTrack: { + h: '$1', + }, + }, + 'sm': { + h: '$2', + _filledTrack: { + h: '$2', + }, + }, + 'md': { + h: '$3', + _filledTrack: { + h: '$3', + }, + }, + 'lg': { + h: '$4', + _filledTrack: { + h: '$4', + }, + }, + 'xl': { + h: '$5', + _filledTrack: { + h: '$5', + }, + }, + '2xl': { + h: '$6', + _filledTrack: { + h: '$6', + }, + }, + }, + }, + _dark: { + bg: '$backgroundDark700', + }, + defaultProps: { + size: 'md', + }, +}); diff --git a/config/theme/ProgressFilledTrack.ts b/config/theme/ProgressFilledTrack.ts new file mode 100644 index 0000000..4b2d2ab --- /dev/null +++ b/config/theme/ProgressFilledTrack.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ProgressFilledTrack = createStyle({ + bg: '$primary500', + borderRadius: '$full', + _dark: { + bg: '$primary400', + }, +}); diff --git a/config/theme/Radio.ts b/config/theme/Radio.ts new file mode 100644 index 0000000..e6e7cb7 --- /dev/null +++ b/config/theme/Radio.ts @@ -0,0 +1,73 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Radio = createStyle({ + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + + variants: { + size: { + lg: { + _text: { + props: { + size: 'lg', + }, + }, + _icon: { + props: { + size: 'md', + }, + }, + _indicator: { + p: 2, + h: '$6', + w: '$6', + }, + }, + md: { + _text: { + props: { + size: 'md', + }, + }, + _icon: { + props: { + size: 'sm', + }, + }, + _indicator: { + p: 1.5, + h: '$5', + w: '$5', + }, + }, + sm: { + _text: { + props: { + size: 'sm', + }, + }, + _icon: { + props: { + size: '2xs', + }, + }, + _indicator: { + p: 1, + h: '$4', + w: '$4', + }, + }, + }, + }, + + defaultProps: { + size: 'md', + }, + _web: { + 'cursor': 'pointer', + ':disabled': { + cursor: 'not-allowed', + }, + }, +}); diff --git a/config/theme/RadioGroup.ts b/config/theme/RadioGroup.ts new file mode 100644 index 0000000..37dec92 --- /dev/null +++ b/config/theme/RadioGroup.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const RadioGroup = createStyle({}); diff --git a/config/theme/RadioIcon.ts b/config/theme/RadioIcon.ts new file mode 100644 index 0000000..cbbdcab --- /dev/null +++ b/config/theme/RadioIcon.ts @@ -0,0 +1,28 @@ +import { createStyle } from '@gluestack-style/react'; + +export const RadioIcon = createStyle({ + 'borderRadius': '$full', + ':checked': { + 'color': '$primary600', + ':hover': { + 'color': '$primary700', + ':disabled': { + color: '$primary600', + }, + }, + }, + '_dark': { + ':checked': { + 'color': '$primary500', + ':disabled': { + color: '$primary500', + }, + ':hover': { + ':disabled': { + color: '$primary500', + }, + 'color': '$primary400', + }, + }, + }, +}); diff --git a/config/theme/RadioIndicator.ts b/config/theme/RadioIndicator.ts new file mode 100644 index 0000000..08206e0 --- /dev/null +++ b/config/theme/RadioIndicator.ts @@ -0,0 +1,107 @@ +import { createStyle } from '@gluestack-style/react'; + +export const RadioIndicator = createStyle({ + 'justifyContent': 'center', + 'alignItems': 'center', + 'bg': 'transparent', + 'borderColor': '$borderLight400', + 'borderWidth': 2, + 'borderRadius': 999, + '_web': { + ':focusVisible': { + outlineWidth: 2, + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + outlineColor: '$primary400', + }, + }, + }, + + ':checked': { + borderColor: '$primary600', + bg: 'transparent', + }, + + ':hover': { + 'borderColor': '$borderLight500', + 'bg': 'transparent', + + ':checked': { + bg: 'transparent', + borderColor: '$primary700', + }, + ':invalid': { + borderColor: '$error700', + }, + ':disabled': { + ':invalid': { + borderColor: '$error400', + opacity: 0.4, + }, + 'borderColor': '$borderLight400', + 'opacity': 0.4, + }, + }, + + ':active': { + bg: 'transparent', + borderColor: '$primary800', + }, + + '_dark': { + 'borderColor': '$borderDark500', + 'bg': '$transparent', + + ':hover': { + 'borderColor': '$borderDark400', + 'bg': 'transparent', + + ':checked': { + bg: 'transparent', + borderColor: '$primary400', + }, + ':invalid': { + borderColor: '$error400', + }, + ':disabled': { + 'borderColor': '$borderDark500', + 'opacity': 0.4, + ':checked': { + bg: 'transparent', + borderColor: '$primary500', + }, + ':invalid': { + borderColor: '$error400', + }, + }, + }, + + ':checked': { + borderColor: '$primary500', + }, + + ':active': { + bg: 'transparent', + borderColor: '$primary300', + }, + ':invalid': { + borderColor: '$error400', + }, + }, + + ':invalid': { + borderColor: '$error700', + }, + + ':disabled': { + 'opacity': 0.4, + ':checked': { + borderColor: '$borderLight400', + bg: 'transparent', + }, + ':invalid': { + borderColor: '$error400', + }, + }, +}); diff --git a/config/theme/RadioLabel.ts b/config/theme/RadioLabel.ts new file mode 100644 index 0000000..9d3530e --- /dev/null +++ b/config/theme/RadioLabel.ts @@ -0,0 +1,61 @@ +import { createStyle } from '@gluestack-style/react'; + +export const RadioLabel = createStyle({ + 'color': '$textLight600', + ':checked': { + color: '$textLight900', + }, + ':hover': { + 'color': '$textLight900', + ':checked': { + color: '$textLight900', + }, + ':disabled': { + 'color': '$textLight600', + ':checked': { + color: '$textLight900', + }, + }, + }, + ':active': { + 'color': '$textLight900', + ':checked': { + color: '$textLight900', + }, + }, + + ':disabled': { + opacity: 0.4, + }, + + '_web': { + MozUserSelect: 'none', + WebkitUserSelect: 'none', + msUserSelect: 'none', + userSelect: 'none', + }, + '_dark': { + 'color': '$textDark400', + ':checked': { + color: '$textDark100', + }, + ':hover': { + 'color': '$textDark100', + ':checked': { + color: '$textDark100', + }, + ':disabled': { + 'color': '$textDark400', + ':checked': { + color: '$textDark100', + }, + }, + }, + ':active': { + 'color': '$textDark100', + ':checked': { + color: '$textDark100', + }, + }, + }, +}); diff --git a/config/theme/RefreshControl.ts b/config/theme/RefreshControl.ts new file mode 100644 index 0000000..aaa78f9 --- /dev/null +++ b/config/theme/RefreshControl.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const RefreshControl = createStyle({}); diff --git a/config/theme/SafeAreaView.ts b/config/theme/SafeAreaView.ts new file mode 100644 index 0000000..65d25e0 --- /dev/null +++ b/config/theme/SafeAreaView.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SafeAreaView = createStyle({}); diff --git a/config/theme/ScrollView.ts b/config/theme/ScrollView.ts new file mode 100644 index 0000000..349920e --- /dev/null +++ b/config/theme/ScrollView.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ScrollView = createStyle({}); diff --git a/config/theme/SectionList.ts b/config/theme/SectionList.ts new file mode 100644 index 0000000..5c0b0b2 --- /dev/null +++ b/config/theme/SectionList.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SectionList = createStyle({}); diff --git a/config/theme/Select.ts b/config/theme/Select.ts new file mode 100644 index 0000000..008e7d6 --- /dev/null +++ b/config/theme/Select.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Select = createStyle({}); diff --git a/config/theme/SelectActionsheet.ts b/config/theme/SelectActionsheet.ts new file mode 100644 index 0000000..b120826 --- /dev/null +++ b/config/theme/SelectActionsheet.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheet = createStyle({ + width: '$full', + height: '$full', + justifyContent: 'flex-end', + alignItems: 'center', + _web: { + pointerEvents: 'none', + }, +}); diff --git a/config/theme/SelectActionsheetBackdrop.ts b/config/theme/SelectActionsheetBackdrop.ts new file mode 100644 index 0000000..cbce05e --- /dev/null +++ b/config/theme/SelectActionsheetBackdrop.ts @@ -0,0 +1,28 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetBackdrop = createStyle({ + ':initial': { + opacity: 0, + }, + ':animate': { + opacity: 0.5, + }, + ':exit': { + opacity: 0, + }, + 'position': 'absolute', + 'left': 0, + 'top': 0, + 'right': 0, + 'bottom': 0, + 'bg': '$backgroundLight950', + // @ts-ignore + '_dark': { + bg: '$backgroundDark950', + }, + // @ts-ignore + '_web': { + cursor: 'default', + }, + 'pointerEvents': 'auto', +}); diff --git a/config/theme/SelectActionsheetContent.ts b/config/theme/SelectActionsheetContent.ts new file mode 100644 index 0000000..118eefe --- /dev/null +++ b/config/theme/SelectActionsheetContent.ts @@ -0,0 +1,27 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetContent = createStyle({ + alignItems: 'center', + borderTopLeftRadius: '$3xl', + borderTopRightRadius: '$3xl', + maxHeight: '70%', + p: '$2', + bg: '$backgroundLight0', + _sectionHeaderBackground: { + bg: '$backgroundLight0', + }, + // @ts-ignore + _dark: { + bg: '$backgroundDark900', + _sectionHeaderBackground: { + bg: '$backgroundDark900', + }, + }, + pointerEvents: 'auto', + _web: { + userSelect: 'none', + }, + defaultProps: { + hardShadow: '5', + }, +}); diff --git a/config/theme/SelectActionsheetDragIndicator.ts b/config/theme/SelectActionsheetDragIndicator.ts new file mode 100644 index 0000000..84ae426 --- /dev/null +++ b/config/theme/SelectActionsheetDragIndicator.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetDragIndicator = createStyle({ + height: '$1', + width: '$16', + bg: '$backgroundLight400', + rounded: '$full', + _dark: { + bg: '$backgroundDark500', + }, +}); diff --git a/config/theme/SelectActionsheetFlatList.ts b/config/theme/SelectActionsheetFlatList.ts new file mode 100644 index 0000000..18e3f3d --- /dev/null +++ b/config/theme/SelectActionsheetFlatList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetFlatList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/SelectActionsheetIcon.ts b/config/theme/SelectActionsheetIcon.ts new file mode 100644 index 0000000..20c5a73 --- /dev/null +++ b/config/theme/SelectActionsheetIcon.ts @@ -0,0 +1,15 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetIcon = createStyle({ + w: '$4', + h: '$4', + mr: '$2', + color: '$backgroundLight500', + _dark: { + //@ts-ignore + color: '$backgroundDark400', + }, + props: { + size: 'md', + }, +}); diff --git a/config/theme/SelectActionsheetIndicatorWrapper.ts b/config/theme/SelectActionsheetIndicatorWrapper.ts new file mode 100644 index 0000000..245c1d5 --- /dev/null +++ b/config/theme/SelectActionsheetIndicatorWrapper.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetIndicatorWrapper = createStyle({ + py: '$1', + w: '$full', + alignItems: 'center', +}); diff --git a/config/theme/SelectActionsheetItem.ts b/config/theme/SelectActionsheetItem.ts new file mode 100644 index 0000000..ffc9dca --- /dev/null +++ b/config/theme/SelectActionsheetItem.ts @@ -0,0 +1,57 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetItem = createStyle({ + 'p': '$3', + 'flexDirection': 'row', + 'alignItems': 'center', + 'rounded': '$sm', + 'w': '$full', + + ':disabled': { + opacity: 0.4, + _web: { + // @ts-ignore + pointerEvents: 'all !important', + cursor: 'not-allowed', + }, + }, + + ':hover': { + bg: '$backgroundLight100', + }, + + ':active': { + bg: '$backgroundLight200', + }, + + ':checked': { + bg: '$backgroundLight300', + }, + + ':focus': { + bg: '$backgroundLight100', + }, + + '_dark': { + ':hover': { + bg: '$backgroundDark800', + }, + + ':active': { + bg: '$backgroundDark700', + }, + + ':focus': { + bg: '$backgroundDark800', + }, + }, + + '_web': { + ':focusVisible': { + bg: '$backgroundLight100', + _dark: { + bg: '$backgroundDark700', + }, + }, + }, +}); diff --git a/config/theme/SelectActionsheetItemText.ts b/config/theme/SelectActionsheetItemText.ts new file mode 100644 index 0000000..00cb69f --- /dev/null +++ b/config/theme/SelectActionsheetItemText.ts @@ -0,0 +1,13 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetItemText = createStyle({ + mx: '$2', + fontSize: '$md', + fontFamily: '$body', + fontWeight: '$normal', + lineHeight: '$md', + color: '$textLight700', + _dark: { + color: '$textDark200', + }, +}); diff --git a/config/theme/SelectActionsheetScrollView.ts b/config/theme/SelectActionsheetScrollView.ts new file mode 100644 index 0000000..571c299 --- /dev/null +++ b/config/theme/SelectActionsheetScrollView.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetScrollView = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/SelectActionsheetSectionHeaderText.ts b/config/theme/SelectActionsheetSectionHeaderText.ts new file mode 100644 index 0000000..30067bd --- /dev/null +++ b/config/theme/SelectActionsheetSectionHeaderText.ts @@ -0,0 +1,14 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetSectionHeaderText = createStyle({ + color: '$textLight500', + fontSize: '$sm', + fontFamily: '$body', + fontWeight: '$bold', + lineHeight: '$xs', + textTransform: 'uppercase', + p: '$3', + _dark: { + color: '$textDark400', + }, +}); diff --git a/config/theme/SelectActionsheetSectionList.ts b/config/theme/SelectActionsheetSectionList.ts new file mode 100644 index 0000000..187ef48 --- /dev/null +++ b/config/theme/SelectActionsheetSectionList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetSectionList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/SelectActionsheetVirtualizedList.ts b/config/theme/SelectActionsheetVirtualizedList.ts new file mode 100644 index 0000000..7a76d55 --- /dev/null +++ b/config/theme/SelectActionsheetVirtualizedList.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectActionsheetVirtualizedList = createStyle({ + w: '$full', + h: 'auto', +}); diff --git a/config/theme/SelectIcon.ts b/config/theme/SelectIcon.ts new file mode 100644 index 0000000..e33495c --- /dev/null +++ b/config/theme/SelectIcon.ts @@ -0,0 +1,7 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectIcon = createStyle({ + props: { + size: 'md', + }, +}); diff --git a/config/theme/SelectInput.ts b/config/theme/SelectInput.ts new file mode 100644 index 0000000..e415318 --- /dev/null +++ b/config/theme/SelectInput.ts @@ -0,0 +1,20 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectInput = createStyle({ + _web: { + w: '$full', + }, + pointerEvents: 'none', + flex: 1, + h: '$full', + color: '$textLight900', + props: { + placeholderTextColor: '$textLight500', + }, + _dark: { + color: '$textDark50', + props: { + placeholderTextColor: '$textDark400', + }, + }, +}); diff --git a/config/theme/SelectTrigger.ts b/config/theme/SelectTrigger.ts new file mode 100644 index 0000000..872afb6 --- /dev/null +++ b/config/theme/SelectTrigger.ts @@ -0,0 +1,353 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SelectTrigger = createStyle({ + 'borderWidth': 1, + 'borderColor': '$backgroundLight300', + 'borderRadius': '$sm', + 'flexDirection': 'row', + 'overflow': 'hidden', + 'alignItems': 'center', + + ':hover': { + borderColor: '$borderLight400', + }, + + ':focus': { + borderColor: '$primary700', + }, + + ':disabled': { + 'opacity': 0.4, + ':hover': { + borderColor: '$backgroundLight300', + }, + }, + + '_input': { + py: 'auto', + px: '$3', + }, + + '_icon': { + color: '$backgroundLight500', + _dark: { + color: '$backgroundLight500', + }, + }, + + '_dark': { + 'borderColor': '$borderDark700', + ':hover': { + borderColor: '$borderDark400', + }, + ':focus': { + borderColor: '$primary400', + }, + ':disabled': { + ':hover': { + borderColor: '$borderDark700', + }, + }, + }, + + 'variants': { + size: { + xl: { + h: '$12', + _input: { + fontSize: '$xl', + }, + _icon: { + h: '$6', + w: '$6', + }, + }, + lg: { + h: '$11', + _input: { + fontSize: '$lg', + }, + _icon: { + h: '$5', + w: '$5', + }, + }, + md: { + h: '$10', + _input: { + fontSize: '$md', + }, + _icon: { + h: '$4', + w: '$4', + }, + }, + sm: { + h: '$9', + _input: { + fontSize: '$sm', + }, + _icon: { + h: '$3.5', + w: '$3.5', + }, + }, + }, + variant: { + underlined: { + '_input': { + _web: { + outlineWidth: 0, + outline: 'none', + }, + px: '$0', + }, + 'borderWidth': 0, + 'borderRadius': 0, + 'borderBottomWidth': '$1', + ':focus': { + 'borderColor': '$primary700', + '_web': { + boxShadow: 'inset 0 -1px 0 0 $primary700', + }, + ':hover': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $primary600', + }, + }, + }, + ':invalid': { + 'borderBottomWidth': 2, + 'borderBottomColor': '$error700', + '_web': { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + ':hover': { + borderBottomColor: '$error700', + }, + ':focus': { + 'borderBottomColor': '$error700', + ':hover': { + borderBottomColor: '$error700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderBottomColor: '$error700', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error700', + }, + }, + }, + }, + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + ':hover': { + borderBottomColor: '$error400', + }, + ':focus': { + 'borderBottomColor': '$error400', + ':hover': { + borderBottomColor: '$error400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + }, + }, + + ':disabled': { + ':hover': { + borderBottomColor: '$error400', + _web: { + boxShadow: 'inset 0 -1px 0 0 $error400', + }, + }, + }, + }, + }, + }, + outline: { + '_input': { + _web: { + outlineWidth: 0, + outline: 'none', + }, + }, + ':focus': { + 'borderColor': '$primary700', + '_web': { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + ':hover': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary600', + }, + }, + }, + ':invalid': { + 'borderColor': '$error700', + '_web': { + boxShadow: 'inset 0 0 0 1px $error700', + }, + ':hover': { + borderColor: '$error700', + }, + ':focus': { + 'borderColor': '$error700', + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + }, + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 0 0 1px $error400', + }, + ':hover': { + borderColor: '$error400', + }, + ':focus': { + 'borderColor': '$error400', + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + }, + }, + }, + rounded: { + 'borderRadius': 999, + '_input': { + px: '$4', + _web: { + outlineWidth: 0, + outline: 'none', + }, + }, + ':focus': { + 'borderColor': '$primary700', + '_web': { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + ':hover': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary600', + }, + }, + }, + ':invalid': { + 'borderColor': '$error700', + '_web': { + boxShadow: 'inset 0 0 0 1px $error700', + }, + ':hover': { + borderColor: '$error700', + }, + ':focus': { + 'borderColor': '$error700', + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + }, + + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 0 0 1px $error400', + }, + ':hover': { + borderColor: '$error400', + }, + ':focus': { + 'borderColor': '$error400', + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + }, + }, + }, + }, + }, + + 'defaultProps': { + size: 'md', + variant: 'outline', + }, +}); diff --git a/config/theme/Slider.ts b/config/theme/Slider.ts new file mode 100644 index 0000000..1a36fe5 --- /dev/null +++ b/config/theme/Slider.ts @@ -0,0 +1,192 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Slider = createStyle({ + justifyContent: 'center', + alignItems: 'center', + variants: { + orientation: { + horizontal: { + w: '$full', + _track: { + width: '$full', + }, + _filledTrack: { + height: '$full', + }, + }, + vertical: { + h: '$full', + _track: { + height: '$full', + }, + _filledTrack: { + width: '$full', + }, + }, + }, + isReversed: { + true: {}, + false: {}, + }, + size: { + sm: { + _thumb: { + h: '$4', + w: '$4', + }, + }, + md: { + _thumb: { + h: '$5', + w: '$5', + }, + }, + lg: { + _thumb: { + h: '$6', + w: '$6', + }, + }, + }, + }, + compoundVariants: [ + { + orientation: 'horizontal', + size: 'sm', + value: { + _track: { + height: '$1', + flexDirection: 'row', + }, + }, + }, + { + orientation: 'horizontal', + size: 'sm', + isReversed: true, + value: { + _track: { + height: '$1', + flexDirection: 'row-reverse', + }, + }, + }, + { + orientation: 'horizontal', + size: 'md', + value: { + _track: { + height: 5, + flexDirection: 'row', + }, + }, + }, + { + orientation: 'horizontal', + size: 'md', + isReversed: true, + value: { + _track: { + height: 5, + flexDirection: 'row-reverse', + }, + }, + }, + { + orientation: 'horizontal', + size: 'lg', + value: { + _track: { + height: '$1.5', + flexDirection: 'row', + }, + }, + }, + { + orientation: 'horizontal', + size: 'lg', + isReversed: true, + value: { + _track: { + height: '$1.5', + flexDirection: 'row-reverse', + }, + }, + }, + { + orientation: 'vertical', + size: 'sm', + value: { + _track: { + w: '$1', + flexDirection: 'column-reverse', + }, + }, + }, + { + orientation: 'vertical', + size: 'sm', + isReversed: true, + value: { + _track: { + width: '$1', + flexDirection: 'column', + }, + }, + }, + { + orientation: 'vertical', + size: 'md', + value: { + _track: { + width: 5, + flexDirection: 'column-reverse', + }, + }, + }, + { + orientation: 'vertical', + size: 'md', + isReversed: true, + value: { + _track: { + width: 5, + flexDirection: 'column', + }, + }, + }, + { + orientation: 'vertical', + size: 'lg', + value: { + _track: { + width: '$1.5', + flexDirection: 'column-reverse', + }, + }, + }, + { + orientation: 'vertical', + size: 'lg', + isReversed: true, + value: { + _track: { + width: '$1.5', + flexDirection: 'column', + }, + }, + }, + ], + _web: { + ':disabled': { + // @ts-ignore + pointerEvents: 'all !important', + cursor: 'not-allowed', + opacity: 0.4, + }, + }, + defaultProps: { + size: 'md', + orientation: 'horizontal', + }, +}); diff --git a/config/theme/SliderFilledTrack.ts b/config/theme/SliderFilledTrack.ts new file mode 100644 index 0000000..e3ad3e3 --- /dev/null +++ b/config/theme/SliderFilledTrack.ts @@ -0,0 +1,26 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SliderFilledTrack = createStyle({ + 'bg': '$primary500', + '_dark': { + bg: '$primary400', + }, + ':focus': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, + ':active': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, + ':hover': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, +}); diff --git a/config/theme/SliderThumb.ts b/config/theme/SliderThumb.ts new file mode 100644 index 0000000..324c358 --- /dev/null +++ b/config/theme/SliderThumb.ts @@ -0,0 +1,57 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SliderThumb = createStyle({ + 'bg': '$primary500', + '_dark': { + bg: '$primary400', + }, + 'position': 'absolute', + 'borderRadius': '$full', + ':focus': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, + ':active': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, + ':hover': { + bg: '$primary600', + _dark: { + bg: '$primary300', + }, + }, + ':disabled': { + bg: '$primary500', + _dark: { + bg: '$primary500', + }, + }, + '_web': { + //@ts-ignore + 'cursor': 'pointer', + ':active': { + outlineWidth: 4, + outlineStyle: 'solid', + outlineColor: '$primary400', + _dark: { + outlineColor: '$primary500', + }, + }, + ':focus': { + outlineWidth: 4, + outlineStyle: 'solid', + outlineColor: '$primary400', + _dark: { + outlineColor: '$primary500', + }, + }, + }, + 'defaultProps': { + hardShadow: '1', + }, +}); diff --git a/config/theme/SliderThumbInteraction.ts b/config/theme/SliderThumbInteraction.ts new file mode 100644 index 0000000..b5498ce --- /dev/null +++ b/config/theme/SliderThumbInteraction.ts @@ -0,0 +1,6 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SliderThumbInteraction = createStyle({ + borderRadius: 9999, + zIndex: -1, +}); diff --git a/config/theme/SliderTrack.ts b/config/theme/SliderTrack.ts new file mode 100644 index 0000000..79d5544 --- /dev/null +++ b/config/theme/SliderTrack.ts @@ -0,0 +1,23 @@ +import { createStyle } from '@gluestack-style/react'; + +export const SliderTrack = createStyle({ + // h: '100%', + // w: '100%', + bg: '$backgroundLight300', + _dark: { + bg: '$backgroundDark700', + }, + borderRadius: '$lg', + overflow: 'hidden', + + variants: { + variant: { + horizontal: { + width: '100%', + }, + vertical: { + height: '100%', + }, + }, + }, +}); diff --git a/config/theme/Spinner.ts b/config/theme/Spinner.ts new file mode 100644 index 0000000..72af381 --- /dev/null +++ b/config/theme/Spinner.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Spinner = createStyle({ + props: { + color: '$primary500', + }, + _dark: { + props: { + color: '$primary400', + }, + }, +}); diff --git a/config/theme/StatusBar.ts b/config/theme/StatusBar.ts new file mode 100644 index 0000000..aabfc94 --- /dev/null +++ b/config/theme/StatusBar.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const StatusBar = createStyle({}); diff --git a/config/theme/Switch.ts b/config/theme/Switch.ts new file mode 100644 index 0000000..2151d58 --- /dev/null +++ b/config/theme/Switch.ts @@ -0,0 +1,161 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Switch = createStyle({ + 'props': { + // todo: add support for this in style.gluestack.io + // trackColor: { false: '$backgroundLight300', true: '$primary600' }, + + // hacky fix for the above + //@ts-ignore + trackColor: { false: '$backgroundLight300', true: '$primary600' }, + thumbColor: '$backgroundLight0', + //@ts-ignore + activeThumbColor: '$backgroundLight0', + + // for ios specifically in unchecked state + ios_backgroundColor: '$backgroundLight300', + }, + 'borderRadius': '$full', + 'variants': { + //@ts-ignore + + size: { + sm: { + transform: [ + { + scale: 0.75, + }, + ], + }, + md: {}, + lg: { + transform: [ + { + scale: 1.25, + }, + ], + }, + }, + }, + '_web': { + ':focus': { + outlineWidth: 0, + outlineColor: '$primary700', + outlineStyle: 'solid', + _dark: { + // @ts-ignore + outlineColor: '$primary600', + outlineWidth: 0, + outlineStyle: 'solid', + }, + }, + }, + + 'defaultProps': { + size: 'md', + }, + ':disabled': { + '_web': { + 'cursor': 'pointer', + ':disabled': { + cursor: 'not-allowed', + }, + }, + 'opacity': 0.4, + //@ts-ignore + 'trackColor': { false: '$backgroundLight300', true: '$primary600' }, + // for ios specifically in unchecked state + 'ios_backgroundColor': '$backgroundLight300', + ':hover': { + props: { + //@ts-ignore + trackColor: { false: '$backgroundLight300', true: '$primary600' }, + }, + }, + }, + ':invalid': { + borderColor: '$error700', + borderRadius: 12, + borderWidth: 2, + }, + ':hover': { + 'props': { + // todo: add support for this in style.gluestack.io + // trackColor: { false: '$backgroundLight400', true: '$primary700' }, + + // hacky fix for the above + //@ts-ignore + + trackColor: { false: '$backgroundLight400', true: '$primary700' }, + ios_backgroundColor: '$backgroundLight400', + }, + ':invalid': { + props: { + // todo: add support for this in style.gluestack.io + // trackColor: { false: '$backgroundLight400', true: '$primary700' }, + + // hacky fix for the above + //@ts-ignore + + trackColor: { false: '$backgroundLight300', true: '$primary700' }, + }, + }, + }, + ':checked': { + props: { + //@ts-ignore + thumbColor: '$backgroundLight0', + }, + }, + '_dark': { + 'props': { + //@ts-ignore + trackColor: { false: '$backgroundDark700', true: '$primary500' }, + thumbColor: '$backgroundDark0', + //@ts-ignore + activeThumbColor: '$backgroundDark0', + }, + ':invalid': { + borderColor: '$error400', + borderRadius: 12, + borderWidth: 2, + }, + ':hover': { + 'props': { + //@ts-ignore + trackColor: { false: '$backgroundDark600', true: '$primary600' }, + ios_backgroundColor: '$backgroundLight400', + }, + ':invalid': { + props: { + // todo: add support for this in style.gluestack.io + // trackColor: { false: '$backgroundLight400', true: '$primary700' }, + + // hacky fix for the above + //@ts-ignore + + trackColor: { false: '$backgroundDark700', true: '$primary600' }, + }, + }, + }, + ':disabled': { + '_web': { + 'cursor': 'pointer', + ':disabled': { + cursor: 'not-allowed', + }, + }, + 'opacity': 0.4, + //@ts-ignore + 'trackColor': { false: '$backgroundLight300', true: '$primary500' }, + // for ios specifically in unchecked state + 'ios_backgroundColor': '$backgroundLight300', + ':hover': { + props: { + //@ts-ignore + trackColor: { false: '$backgroundDark700', true: '$primary500' }, + }, + }, + }, + }, +}); diff --git a/config/theme/Tabs.ts b/config/theme/Tabs.ts new file mode 100644 index 0000000..efcf682 --- /dev/null +++ b/config/theme/Tabs.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Tabs = createStyle({}); diff --git a/config/theme/TabsTab.ts b/config/theme/TabsTab.ts new file mode 100644 index 0000000..ffec8a9 --- /dev/null +++ b/config/theme/TabsTab.ts @@ -0,0 +1,59 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTab = createStyle({ + 'bg': 'transparent', + '_web': { + outlineWidth: 0, + }, + + 'variants': { + size: { + md: { + px: '$4', + py: '$2', + + _text: { + fontSize: '$md', + lineHeight: '$md', + }, + }, + }, + }, + + 'defaultProps': { + size: 'md', + }, + ':hover': { + // bg: '$secondary50_alpha_20', + borderRadius: '$full', + }, + ':active': { + // bg: '$secondary50_alpha_10', + borderRadius: '$full', + }, + ':focus': { + // bg: '$secondary50_alpha_20', + borderRadius: '$full', + }, + ':disabled': { + opacity: 0.5, + }, + + '_dark': { + ':hover': { + bg: '$backgroundLight500', + borderRadius: '$full', + }, + ':active': { + bg: '$backgroundLight400', + borderRadius: '$full', + }, + ':focus': { + bg: '$backgroundLight400', + borderRadius: '$full', + }, + ':disabled': { + opacity: 0.5, + }, + }, +}); diff --git a/config/theme/TabsTabIcon.ts b/config/theme/TabsTabIcon.ts new file mode 100644 index 0000000..3d3140c --- /dev/null +++ b/config/theme/TabsTabIcon.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTabIcon = createStyle({ + alignItems: 'center', + justifyContent: 'center', + display: 'flex', + mr: 12, +}); diff --git a/config/theme/TabsTabList.ts b/config/theme/TabsTabList.ts new file mode 100644 index 0000000..f35d7f7 --- /dev/null +++ b/config/theme/TabsTabList.ts @@ -0,0 +1,8 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTabList = createStyle({ + flexDirection: 'row', + alignSelf: 'flex-start', + // bg: 'radial-gradient(50% 50% at 50% 50%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 100%) , rgba(255, 255, 255, 0.04);', + rounded: '$full', +}); diff --git a/config/theme/TabsTabPanel.ts b/config/theme/TabsTabPanel.ts new file mode 100644 index 0000000..e926982 --- /dev/null +++ b/config/theme/TabsTabPanel.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTabPanel = createStyle({}); diff --git a/config/theme/TabsTabPanels.ts b/config/theme/TabsTabPanels.ts new file mode 100644 index 0000000..1fba7e6 --- /dev/null +++ b/config/theme/TabsTabPanels.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTabPanels = createStyle({}); diff --git a/config/theme/TabsTabTitle.ts b/config/theme/TabsTabTitle.ts new file mode 100644 index 0000000..b6981f6 --- /dev/null +++ b/config/theme/TabsTabTitle.ts @@ -0,0 +1,5 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TabsTabTitle = createStyle({ + fontFamily: '$body', +}); diff --git a/config/theme/Text.ts b/config/theme/Text.ts new file mode 100644 index 0000000..1e853f3 --- /dev/null +++ b/config/theme/Text.ts @@ -0,0 +1,119 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Text = createStyle({ + color: '$textLight700', + _dark: { + color: '$textDark200', + }, + fontWeight: '$normal', + fontFamily: '$body', + fontStyle: 'normal', + letterSpacing: '$md', + + variants: { + isTruncated: { + true: { + props: { + // @ts-ignore + numberOfLines: 1, + ellipsizeMode: 'tail', + }, + }, + }, + bold: { + true: { + fontWeight: '$bold', + }, + }, + underline: { + true: { + textDecorationLine: 'underline', + }, + }, + strikeThrough: { + true: { + textDecorationLine: 'line-through', + }, + }, + sub: { + true: { + fontSize: '$xs', + lineHeight: '$xs', + }, + }, + italic: { + true: { + fontStyle: 'italic', + }, + }, + highlight: { + true: { + bg: '$yellow500', + }, + }, + size: { + '2xs': { + fontSize: '$2xs', + lineHeight: '$2xs', + }, + 'xs': { + fontSize: '$xs', + lineHeight: '$sm', + }, + + 'sm': { + fontSize: '$sm', + lineHeight: '$sm', + }, + + 'md': { + fontSize: '$md', + + /** + * @todo Fix the lineHeight issue + * https://github.com/gluestack/gluestack-ui/issues/1836 + */ + // lineHeight: '$md', + }, + + 'lg': { + fontSize: '$lg', + lineHeight: '$xl', + }, + + 'xl': { + fontSize: '$xl', + lineHeight: '$xl', + }, + + '2xl': { + fontSize: '$2xl', + lineHeight: '$2xl', + }, + + '3xl': { + fontSize: '$3xl', + lineHeight: '$3xl', + }, + + '4xl': { + fontSize: '$4xl', + lineHeight: '$4xl', + }, + + '5xl': { + fontSize: '$5xl', + lineHeight: '$6xl', + }, + + '6xl': { + fontSize: '$6xl', + lineHeight: '$7xl', + }, + }, + }, + + defaultProps: { + size: 'md', + }, +}); diff --git a/config/theme/Textarea.ts b/config/theme/Textarea.ts new file mode 100644 index 0000000..2d187a1 --- /dev/null +++ b/config/theme/Textarea.ts @@ -0,0 +1,155 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Textarea = createStyle({ + 'w': '100%', + 'borderWidth': 1, + 'borderColor': '$backgroundLight300', + 'borderRadius': '$sm', + 'h': 100, + '_input': { + p: '$3', + _web: { + outlineWidth: 0, + outline: 'none', + }, + }, + ':hover': { + borderColor: '$borderLight400', + }, + + ':focus': { + 'borderColor': '$primary700', + ':hover': { + borderColor: '$primary700', + }, + }, + + ':disabled': { + 'opacity': 0.4, + ':hover': { + borderColor: '$backgroundLight300', + }, + }, + '_dark': { + 'borderColor': '$borderDark700', + ':hover': { + borderColor: '$borderDark600', + }, + ':focus': { + 'borderColor': '$primary400', + ':hover': { + borderColor: '$primary400', + }, + }, + ':disabled': { + ':hover': { + borderColor: '$borderDark700', + }, + }, + }, + + 'variants': { + size: { + xl: { + _input: { + fontSize: '$xl', + }, + }, + + lg: { + _input: { + fontSize: '$lg', + }, + }, + md: { + _input: { + fontSize: '$md', + }, + }, + sm: { + _input: { + fontSize: '$sm', + }, + }, + }, + variant: { + default: { + '_input': { + _web: { + outlineWidth: '0', + outline: 'none', + }, + }, + ':focus': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + }, + ':invalid': { + 'borderColor': '$error700', + '_web': { + boxShadow: 'inset 0 0 0 1px $error700', + }, + ':hover': { + borderColor: '$error700', + }, + ':focus': { + ':hover': { + borderColor: '$primary700', + _web: { + boxShadow: 'inset 0 0 0 1px $primary700', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error700', + _web: { + boxShadow: 'inset 0 0 0 1px $error700', + }, + }, + }, + }, + '_dark': { + ':focus': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + ':invalid': { + 'borderColor': '$error400', + '_web': { + boxShadow: 'inset 0 0 0 1px $error400', + }, + ':hover': { + borderColor: '$error400', + }, + ':focus': { + ':hover': { + borderColor: '$primary400', + _web: { + boxShadow: 'inset 0 0 0 1px $primary400', + }, + }, + }, + ':disabled': { + ':hover': { + borderColor: '$error400', + _web: { + boxShadow: 'inset 0 0 0 1px $error400', + }, + }, + }, + }, + }, + }, + }, + }, + + 'defaultProps': { + variant: 'default', + size: 'md', + }, +}); diff --git a/config/theme/TextareaInput.ts b/config/theme/TextareaInput.ts new file mode 100644 index 0000000..a02dee3 --- /dev/null +++ b/config/theme/TextareaInput.ts @@ -0,0 +1,25 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TextareaInput = createStyle({ + p: '$2', + color: '$textLight900', + textAlignVertical: 'top', + flex: 1, + props: { + // @ts-ignore + multiline: true, + placeholderTextColor: '$textLight500', + }, + _dark: { + color: '$textDark50', + props: { + placeholderTextColor: '$textDark400', + }, + }, + _web: { + 'cursor': 'text', + ':disabled': { + cursor: 'not-allowed', + }, + }, +}); diff --git a/config/theme/Toast.ts b/config/theme/Toast.ts new file mode 100644 index 0000000..cf6a1c4 --- /dev/null +++ b/config/theme/Toast.ts @@ -0,0 +1,106 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Toast = createStyle({ + px: '$4', + py: '$3', + borderRadius: '$sm', + flexDirection: 'row', + variants: { + action: { + error: { + bg: '$backgroundLightError', + borderColor: '$error300', + _icon: { + color: '$error500', + }, + _dark: { + bg: '$backgroundDarkError', + borderColor: '$error700', + _icon: { + color: '$error500', + }, + }, + }, + warning: { + bg: '$backgroundLightWarning', + borderColor: '$warning300', + _icon: { + color: '$warning500', + }, + _dark: { + bg: '$backgroundDarkWarning', + borderColor: '$warning700', + _icon: { + color: '$warning500', + }, + }, + }, + success: { + bg: '$backgroundLightSuccess', + borderColor: '$success300', + _icon: { + color: '$success500', + }, + _dark: { + bg: '$backgroundDarkSuccess', + borderColor: '$success700', + _icon: { + color: '$warning500', + }, + }, + }, + info: { + bg: '$backgroundLightInfo', + borderColor: '$info300', + _icon: { + color: '$info500', + }, + _dark: { + bg: '$backgroundDarkInfo', + borderColor: '$info700', + _icon: { + color: '$info500', + }, + }, + }, + attention: { + bg: '$backgroundLightMuted', + borderColor: '$secondary300', + _icon: { + color: '$secondary600', + }, + _dark: { + bg: '$backgroundDarkMuted', + borderColor: '$secondary700', + _icon: { + color: '$secondary400', + }, + }, + }, + }, + + variant: { + solid: {}, + outline: { + borderWidth: '$1', + bg: '$white', + _dark: { + bg: '$black', + }, + }, + accent: { + borderLeftWidth: '$4', + }, + }, + }, + m: '$3', + + _web: { + pointerEvents: 'auto', + }, + defaultProps: { + hardShadow: '5', + variant: 'solid', + action: 'attention', + }, +}); diff --git a/config/theme/ToastDescription.ts b/config/theme/ToastDescription.ts new file mode 100644 index 0000000..fad2117 --- /dev/null +++ b/config/theme/ToastDescription.ts @@ -0,0 +1,11 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ToastDescription = createStyle({ + color: '$textLight700', + _dark: { + color: '$textDark200', + }, + props: { + size: 'sm', + }, +}); diff --git a/config/theme/ToastTitle.ts b/config/theme/ToastTitle.ts new file mode 100644 index 0000000..573e865 --- /dev/null +++ b/config/theme/ToastTitle.ts @@ -0,0 +1,12 @@ +import { createStyle } from '@gluestack-style/react'; + +export const ToastTitle = createStyle({ + fontWeight: '$medium', + props: { + size: 'md', + }, + color: '$textLight900', + _dark: { + color: '$textDark50', + }, +}); diff --git a/config/theme/Tooltip.ts b/config/theme/Tooltip.ts new file mode 100644 index 0000000..11d2af8 --- /dev/null +++ b/config/theme/Tooltip.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const Tooltip = createStyle({ + width: '$full', + height: '$full', + _web: { + pointerEvents: 'none', + }, +}); diff --git a/config/theme/TooltipContent.ts b/config/theme/TooltipContent.ts new file mode 100644 index 0000000..ee41727 --- /dev/null +++ b/config/theme/TooltipContent.ts @@ -0,0 +1,48 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TooltipContent = createStyle({ + ':initial': { + opacity: 0, + scale: 0.5, + }, + ':animate': { + opacity: 1, + scale: 1, + }, + ':exit': { + opacity: 0, + scale: 0.5, + }, + ':transition': { + type: 'spring', + damping: 18, + stiffness: 250, + opacity: { + type: 'timing', + duration: 250, + }, + }, + + 'py': '$1', + 'px': '$3', + 'borderRadius': '$sm', + 'bg': '$backgroundLight900', + + '_text': { + fontSize: '$xs', + color: '$textLight50', + }, + '_web': { + pointerEvents: 'auto', + }, + // @ts-ignore + '_dark': { + bg: '$backgroundDark800', + _text: { + color: '$textDark50', + }, + }, + 'defaultProps': { + hardShadow: '2', + }, +}); diff --git a/config/theme/TooltipText.ts b/config/theme/TooltipText.ts new file mode 100644 index 0000000..952840b --- /dev/null +++ b/config/theme/TooltipText.ts @@ -0,0 +1,9 @@ +import { createStyle } from '@gluestack-style/react'; + +export const TooltipText = createStyle({ + color: '$red400', + fontFamily: '$body', + _web: { + userSelect: 'none', + }, +}); diff --git a/config/theme/VStack.ts b/config/theme/VStack.ts new file mode 100644 index 0000000..1cf39d2 --- /dev/null +++ b/config/theme/VStack.ts @@ -0,0 +1,38 @@ +import { createStyle } from '@gluestack-style/react'; + +export const VStack = createStyle({ + flexDirection: 'column', + variants: { + space: { + 'xs': { + gap: `$1`, + }, + 'sm': { + gap: `$2`, + }, + 'md': { + gap: `$3`, + }, + 'lg': { + gap: `$4`, + }, + 'xl': { + gap: `$5`, + }, + '2xl': { + gap: `$6`, + }, + '3xl': { + gap: `$7`, + }, + '4xl': { + gap: `$8`, + }, + }, + reversed: { + true: { + flexDirection: 'column-reverse', + }, + }, + }, +}); diff --git a/config/theme/View.ts b/config/theme/View.ts new file mode 100644 index 0000000..a615dcd --- /dev/null +++ b/config/theme/View.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const View = createStyle({}); diff --git a/config/theme/VirtualizedList.ts b/config/theme/VirtualizedList.ts new file mode 100644 index 0000000..3ce30d9 --- /dev/null +++ b/config/theme/VirtualizedList.ts @@ -0,0 +1,3 @@ +import { createStyle } from '@gluestack-style/react'; + +export const VirtualizedList = createStyle({}); diff --git a/config/theme/index.ts b/config/theme/index.ts new file mode 100644 index 0000000..d1e344f --- /dev/null +++ b/config/theme/index.ts @@ -0,0 +1,155 @@ +export * from './Actionsheet'; +export * from './Accordion'; +export * from './AccordionItem'; +export * from './AccordionHeader'; +export * from './AccordionTrigger'; +export * from './AccordionTitleText'; +export * from './AccordionIcon'; +export * from './AccordionContent'; +export * from './AccordionContentText'; +export * from './ActionsheetBackdrop'; +export * from './ActionsheetContent'; +export * from './ActionsheetDragIndicator'; +export * from './ActionsheetFlatList'; +export * from './ActionsheetIcon'; +export * from './ActionsheetIndicatorWrapper'; +export * from './ActionsheetItem'; +export * from './ActionsheetItemText'; +export * from './ActionsheetScrollView'; +export * from './ActionsheetSectionHeaderText'; +export * from './ActionsheetSectionList'; +export * from './ActionsheetVirtualizedList'; +export * from './Alert'; +export * from './AlertDialog'; +export * from './AlertDialogBackdrop'; +export * from './AlertDialogBody'; +export * from './AlertDialogCloseButton'; +export * from './AlertDialogContent'; +export * from './AlertDialogFooter'; +export * from './AlertDialogHeader'; +export * from './AlertIcon'; +export * from './AlertText'; +export * from './Avatar'; +export * from './AvatarBadge'; +export * from './AvatarFallbackText'; +export * from './AvatarGroup'; +export * from './AvatarImage'; +export * from './Badge'; +export * from './BadgeIcon'; +export * from './BadgeText'; +export * from './Box'; +export * from './Button'; +export * from './ButtonGroup'; +export * from './ButtonGroupHSpacer'; +export * from './ButtonGroupVSpacer'; +export * from './ButtonIcon'; +export * from './ButtonSpinner'; +export * from './ButtonText'; +export * from './Card'; +export * from './Center'; +export * from './Checkbox'; +export * from './CheckboxGroup'; +export * from './CheckboxIcon'; +export * from './CheckboxIndicator'; +export * from './CheckboxLabel'; +export * from './Divider'; +export * from './Fab'; +export * from './FabIcon'; +export * from './FabLabel'; +export * from './FlatList'; +export * from './FormControl'; +export * from './FormControlError'; +export * from './FormControlErrorIcon'; +export * from './FormControlErrorText'; +export * from './FormControlHelper'; +export * from './FormControlHelperText'; +export * from './FormControlLabel'; +export * from './FormControlLabelText'; +export * from './HStack'; +export * from './Heading'; +export * from './Icon'; +export * from './Image'; +export * from './Input'; +export * from './InputField'; +export * from './InputIcon'; +export * from './InputSlot'; +export * from './KeyboardAvoidingView'; +export * from './Link'; +export * from './LinkText'; +export * from './Menu'; +export * from './MenuBackdrop'; +export * from './MenuItem'; +export * from './MenuLabel'; +export * from './Modal'; +export * from './ModalBackdrop'; +export * from './ModalBody'; +export * from './ModalCloseButton'; +export * from './ModalContent'; +export * from './ModalFooter'; +export * from './ModalHeader'; +export * from './Popover'; +export * from './PopoverArrow'; +export * from './PopoverBackdrop'; +export * from './PopoverBody'; +export * from './PopoverCloseButton'; +export * from './PopoverFooter'; +export * from './PopoverHeader'; +export * from './PopoverContent'; +export * from './Pressable'; +export * from './Progress'; +export * from './ProgressFilledTrack'; +export * from './Radio'; +export * from './RadioGroup'; +export * from './RadioIcon'; +export * from './RadioIndicator'; +export * from './RadioLabel'; +export * from './ScrollView'; +export * from './SectionList'; +export * from './Select'; +export * from './SelectActionsheet'; +export * from './SelectActionsheetBackdrop'; +export * from './SelectActionsheetContent'; +export * from './SelectActionsheetDragIndicator'; +export * from './SelectActionsheetFlatList'; +export * from './SelectActionsheetIcon'; +export * from './SelectActionsheetIndicatorWrapper'; +export * from './SelectActionsheetItem'; +export * from './SelectActionsheetItemText'; +export * from './SelectActionsheetScrollView'; +export * from './SelectActionsheetSectionHeaderText'; +export * from './SelectActionsheetSectionList'; +export * from './SelectActionsheetVirtualizedList'; +export * from './SelectIcon'; +export * from './SelectInput'; +export * from './SelectTrigger'; +export * from './Slider'; +export * from './SliderFilledTrack'; +export * from './SliderThumb'; +export * from './SliderThumbInteraction'; +export * from './SliderTrack'; +export * from './Spinner'; +export * from './StatusBar'; +export * from './Switch'; +export * from './Tabs'; +export * from './TabsTab'; +export * from './TabsTabIcon'; +export * from './TabsTabList'; +export * from './TabsTabPanel'; +export * from './TabsTabPanels'; +export * from './TabsTabTitle'; +export * from './Text'; +export * from './Textarea'; +export * from './TextareaInput'; +export * from './Toast'; +export * from './ToastDescription'; +export * from './ToastTitle'; +export * from './Tooltip'; +export * from './TooltipContent'; +export * from './TooltipText'; +export * from './VStack'; +export * from './View'; +export * from './ImageBackground'; +export * from './InputAccessoryView'; +export * from './SafeAreaView'; +export * from './RefreshControl'; +export * from './VirtualizedList'; diff --git a/package.json b/package.json index 5269f73..6e09125 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,16 @@ "web": "expo start --web" }, "dependencies": { + "@expo-google-fonts/roboto": "^0.2.3", + "@gluestack-style/react": "1.0.57", + "@gluestack-ui/config": "1.1.19", + "@gluestack-ui/themed": "1.1.34", "expo": "~51.0.28", + "expo-font": "~12.0.10", "expo-status-bar": "~1.12.1", "react": "18.2.0", - "react-native": "0.74.5" + "react-native": "0.74.5", + "react-native-svg": "15.2.0" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index edd0c19..c676af5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,24 @@ importers: .: dependencies: + '@expo-google-fonts/roboto': + specifier: ^0.2.3 + version: 0.2.3 + '@gluestack-style/react': + specifier: 1.0.57 + version: 1.0.57 + '@gluestack-ui/config': + specifier: 1.1.19 + version: 1.1.19(@gluestack-style/react@1.0.57)(@gluestack-ui/themed@1.1.34(zcnpbdehrufsjfple3lo4vg7xa)) + '@gluestack-ui/themed': + specifier: 1.1.34 + version: 1.1.34(zcnpbdehrufsjfple3lo4vg7xa) expo: specifier: ~51.0.28 version: 51.0.38(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9)) + expo-font: + specifier: ~12.0.10 + version: 12.0.10(expo@51.0.38(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))) expo-status-bar: specifier: ~1.12.1 version: 1.12.1 @@ -20,6 +35,9 @@ importers: react-native: specifier: 0.74.5 version: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + react-native-svg: + specifier: 15.2.0 + version: 15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) devDependencies: '@babel/core': specifier: ^7.20.0 @@ -33,6 +51,10 @@ importers: packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -754,6 +776,9 @@ packages: resolution: {integrity: sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==} engines: {node: '>=6.9.0'} + '@expo-google-fonts/roboto@0.2.3': + resolution: {integrity: sha512-PF6S//ZYWeXfpYTwvY2oEe0d5RnqwR5KMsGjuTgg6y9p/CPK/IkWL+wsbkzjfd+Jck1Q1pRlWOoe5uz42sQFRg==} + '@expo/bunyan@4.0.1': resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} engines: {node: '>=0.10.0'} @@ -780,6 +805,9 @@ packages: '@expo/env@0.3.0': resolution: {integrity: sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==} + '@expo/html-elements@0.10.1': + resolution: {integrity: sha512-3PTmtkV15D7+lykXVtvkH1jQ5Y6JE+e3zCaoMMux7z2cSLGQUNwDEUwG37gew3OEB1/E4/SEWgjvg8m7E6/e2Q==} + '@expo/image-utils@0.5.1': resolution: {integrity: sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A==} @@ -822,6 +850,256 @@ packages: resolution: {integrity: sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==} hasBin: true + '@formatjs/ecma402-abstract@2.2.0': + resolution: {integrity: sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ==} + + '@formatjs/fast-memoize@2.2.1': + resolution: {integrity: sha512-XS2RcOSyWxmUB7BUjj3mlPH0exsUzlf6QfhhijgI941WaJhVxXQ6mEWkdUFIdnKi3TuTYxRdelsgv3mjieIGIA==} + + '@formatjs/icu-messageformat-parser@2.8.0': + resolution: {integrity: sha512-r2un3fmF9oJv3mOkH+wwQZ037VpqmdfahbcCZ9Lh+p6Sx+sNsonI7Zcr6jNMm1s+Si7ejQORS4Ezlh05mMPAXA==} + + '@formatjs/icu-skeleton-parser@1.8.4': + resolution: {integrity: sha512-LMQ1+Wk1QSzU4zpd5aSu7+w5oeYhupRwZnMQckLPRYhSjf2/8JWQ882BauY9NyHxs5igpuQIXZDgfkaH3PoATg==} + + '@formatjs/intl-localematcher@0.5.5': + resolution: {integrity: sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g==} + + '@gluestack-style/animation-resolver@1.0.4': + resolution: {integrity: sha512-AeAQ61u41j9F2fxWTGiR6C7G3KG7qSCAYVi3jCE+aUiOEPEctfurUCT70DnrKp1Tg/Bl29a+OUwutaW/3YKvQw==} + peerDependencies: + '@gluestack-style/react': '>=1.0' + + '@gluestack-style/legend-motion-animation-driver@1.0.3': + resolution: {integrity: sha512-sD6aFS6Tq5XpyjrboFEIc8LrRY4TA4kodFYHzk6mDchvbkdLODijtjnaDQB1UqihOkMRg49e7ANRAOzc7eymaQ==} + peerDependencies: + '@gluestack-style/react': '>=1.0.27' + '@legendapp/motion': '>=2.2' + + '@gluestack-style/react@1.0.57': + resolution: {integrity: sha512-jaG78zurLNiZyJleZnCbgugTpL6OWtBkE7XKur9C9FYUicekMh11RY++2gyN4T7GJx80v5S/NHIwm/GxAAxtRw==} + + '@gluestack-ui/accordion@1.0.5': + resolution: {integrity: sha512-27AhHZnIsJLKhriG2US10QSlpcld00NGpNA1UGM6YwUE8RTevgw6uk0hIOObA4wYgO9x2fp4jo6crr83sEzrkg==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/actionsheet@0.2.43': + resolution: {integrity: sha512-+oryGTyn/mkv/VK4DGs5H/Ft3gWLNHrgPNnvu22gN5ELOy9dujcxOd25/lE7wSf7L0QP9Mw90AEWzQIkRT/WpA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/alert-dialog@0.1.30': + resolution: {integrity: sha512-fTcoKlZnSGiobh18xJ0RdCaX3WgybeSu5A3X62yqTtUEVodxLMC5S/ZZmZ9SZhzAnRqi4Hpu5hQxiEK40Au86Q==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/alert@0.1.15': + resolution: {integrity: sha512-Jlaz8awVHznQixVfc1WmO9C1Em7DuF23N44PVOiGe2fCotOOB68ru2cGggaqGlHDzqhPRVpP5Fls+gn8CRDf0Q==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/avatar@0.1.17': + resolution: {integrity: sha512-L7R3GVjYK6o+tdCiCDZXvHjPi1FKwt9XAFHGlEsQ4dX6Qe7yWEi3K+e5UBpS1ugvja7SmNS+YZwvr+nnVcmohQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/button@1.0.6': + resolution: {integrity: sha512-e94C25nvYX1YKiwnM8mKjAXWJf9wsptuzaE14s8azDPqwV8L/ro9Fr/mcJQ7kiQmFPlIViT3cg3zKmMowuX4cw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/checkbox@0.1.30': + resolution: {integrity: sha512-YXyIWXZSRHxf8NpvXuBrypZL8fbNd8JiNR09jBhPTlB2FeJhqa4tQiV6xgI72YrhsVOZxOZsIsdTRvLx11VC+w==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/config@1.1.19': + resolution: {integrity: sha512-ru/btR5f1kAV+2c1zXJTaoLaDV1w9jhUz6GqVCEPzw74z/zgEBNju/dH8vf9dZxDlRSFuImSCduIbIfCOKVGgQ==} + peerDependencies: + '@gluestack-style/react': '>=1.0.56' + '@gluestack-ui/themed': '>=1.1.33' + + '@gluestack-ui/divider@0.1.9': + resolution: {integrity: sha512-wuQDEfgZwBoxxd9AKTNKxUK5W7EZ1SiuYpEljm77yekV3vw86t6X1AIJ+zIjDaOFzlNcvWx9ZD8NRXtRkDFiHw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/fab@0.1.21': + resolution: {integrity: sha512-hQ7YZEoGOcujLHTx08dAGmcNMFn6tOBqScdaJpPc6NW+VIPOLD0sVS2zjZBUcqB2a63vIOm1wCzs9yw+IxBilQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/form-control@0.1.18': + resolution: {integrity: sha512-sVRdh5qZwZGddMiHTG0IHEEktO6iwgKFSoccjmK7P7U/shWt7xAdt5Hh2Rp7+2C/g02v76uFlycI+GhtbnwLGw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/hooks@0.1.11': + resolution: {integrity: sha512-bcBsF7bTo//JD6L9ekJu0rZs83qYD/pE/Uj3ih3OYEtGU0LDoYiGkBMmDRpVMcVv8bE3TCKivnhHaT/heafInA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/icon@0.1.22': + resolution: {integrity: sha512-6E8N0OEEike0p6ITRJoEYpRlHqjRAabekEVSOk/HM/v+MJONT613TlQari5ozBHcaNLn/JhJqRxNHxNrzxd+ZQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/image@0.1.10': + resolution: {integrity: sha512-RrWfA6PPyO7qkyH4gGPEp6YFkyQ9/4DvGHpuso0oVQeRpYGKb/ciJuIUryR1X1yoKZzrJZqMrO4lT4Uf/4mlsg==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/input@0.1.31': + resolution: {integrity: sha512-qunHYjHbuzafJhFaUHzDT28pjC7AgTUJ0jH//w53MLXmTCBDh7kEgqLt1Fxfh3/F7AAN2rLquiOOqdX14H6TOQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/link@0.1.21': + resolution: {integrity: sha512-nOY43vacmF+ssk3R1cTrHLQN6HRlw7qU+CUd1vtMu2vQJ4cPLVzdnfJQGaUHIUNxE1nOnh/40t7bXYB12R1scQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/menu@0.2.34': + resolution: {integrity: sha512-qF9txkd0KCkuiIyk4KheqjIm77l7AJbSpb0NBZYrAAV406XC9Uj8z4x8xiKCMxgL+kFBs+ZDkJjMTMCc4UKJLQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/modal@0.1.34': + resolution: {integrity: sha512-fsweYLT/CRVTg4SJNq/Rr17SU3Xvk+IFA3hsgrNgkYoZZyvooGv2m+YHA9AEZBhNYePDjhxUqZwz7j7u3u/i8Q==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/overlay@0.1.14': + resolution: {integrity: sha512-luLb6HRjF51PLfJC1RoEmdcC75WFN9x2jyMh9hTw2UPCzPKi7H0sTLgzyQwyJd57pH06otlJSzzVBxT7VV9QXw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/popover@0.1.36': + resolution: {integrity: sha512-t+xk+NkrrnOC4yqTUXXdP8a7xsoT28xgYxRWZ0tjakRkZEVx70bP7wQt4hoSqSRpnNZNNa6SLfkhnuUHuB305Q==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/pressable@0.1.16': + resolution: {integrity: sha512-SGUqCCZyMgRtlDN5mO7CN0NM+NMG9S2M3BdhdjI48Jnaks1DdWxzZeaD5xlEhg+Ww/KtmGzVrlSKqPDvVyROiA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/progress@0.1.15': + resolution: {integrity: sha512-vbp06lIytO7LOTtBIU0gjr+zlopuHjst4fHK3AqVMZwbbbdCSOa2YuFHeJAlrWppV0RziwrHKBpTHov+980KxQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/provider@0.1.12': + resolution: {integrity: sha512-EvDEknx6qkrJuKC8ygdixiTvnAAji9moArREueNJdhJp8Af53UIzgWk4m4oqGlRfgrw6p1xApgE/2VTwGE5f7w==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/radio@0.1.31': + resolution: {integrity: sha512-0sX51NL5NQ3COPXiUZjq9BW5FVWiZnSGPpGH3Ix1oEBOiQkohd9z6lj1y75kQBjRyMK+Eg9Eub9jpfkojDsPYA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/react-native-aria@0.1.5': + resolution: {integrity: sha512-6IaE4fcBaGMu3kSDKAoo1wE5qXcoKDX5YA14zzYzXN2d67/K9NYSjpoo/GbxDWZVl45X6Z9QLS/SBP7SmsPO+Q==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/select@0.1.27': + resolution: {integrity: sha512-1NSG4FSTtqfn51Dvdn8QezxPD797XcnRjX0ZfF1KEjDXIoEBvB4H3EQBxtJX6SN1Sj5mTeHpaEEXI/TMFG6yCw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/slider@0.1.25': + resolution: {integrity: sha512-wqDBdj/ebhBZmYwsGic7MHtIhTsfc36bGOiiIxDjSFQCJX+8V++zQpl7HfAIn2CAZ2E0CpM5dhDxn3y71SOFkg==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/spinner@0.1.14': + resolution: {integrity: sha512-6uLUvyJMhYR/sIMU/purfaYPqaKiLqnBi0n0LiWRsJNGDgENqdWVHMJpGTdWaFuCLxumZ7xnp0wG2KAdG9UyyQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/switch@0.1.22': + resolution: {integrity: sha512-R5gVyKh7O5vGUvao8VWI1ZAnVhlt2TFYpoiSILydbWLnYydqNa8EQujnXAH4RvjTS6/CVu/sH7sK03uKMmPdvA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/tabs@0.1.16': + resolution: {integrity: sha512-voSV4J+Ec5u9oq0cCDvgrISrVf4ObYZpbyRDJvS3L/StJYk5lM5sEfLuI3w7stlyvit9pkwi4aQKKX0BN5wBuw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/textarea@0.1.23': + resolution: {integrity: sha512-yZmCoj+0ZHkdqKMY/VTaW6AZ2EVGgaP4WOmXFnglWYsRDH+ZVUuBPYUJeqfko3WZ3gjgcS5vL+NKV98zirtyaA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/themed@1.1.34': + resolution: {integrity: sha512-9KrOWKv0SCyqb1O673yWFWsd2jR5f9Fj0loxdilmZ21HlcyMK3Jw3W7xR4KUPezMvd/cttjw5h/CoGUAEOC2PA==} + peerDependencies: + '@gluestack-style/react': '>=1.0.57' + '@types/react-native': '>=0.72' + react: '>=16' + react-dom: '>=16' + react-native: '>=0.72' + react-native-svg: '>=13.4.0' + react-native-web: '>=0.19' + + '@gluestack-ui/toast@1.0.5': + resolution: {integrity: sha512-jsYgKQkAJFlf9I/9St9XXhhvSCpX2ZvbLfvSzTQpw1hplt1iHeNGSxHkCuxB+0bBJc16wpzoC0mRUfK3t/cqdw==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/tooltip@0.1.31': + resolution: {integrity: sha512-Ts2ZgP/i7Rg1AwntJSCfgrWhUuENJQ+vWnBF8n3Km0lRLmbgUtuuZyd6PX7fiV90CRVru2LJE4r6h54/OpazoQ==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/transitions@0.1.10': + resolution: {integrity: sha512-oOwYAmbebAowDCDZyRdGwhK2of46b642OZQxBBkln/BX7YEvY4PhQIfup0HUCG9YA5IzlQnw0iwqREbaVNKIgA==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + + '@gluestack-ui/utils@0.1.13': + resolution: {integrity: sha512-L9+ddAn5FLtNJYut7KBGChelt+SvDW3C+6dXduZyP9DD1BoDVTRVwPVYblvbefZf2ZOdTALtHIIO3n/n1bWlbg==} + peerDependencies: + react: '>=16' + react-dom: '>=16' + '@graphql-typed-document-node/core@3.2.0': resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: @@ -833,6 +1111,18 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@internationalized/date@3.5.6': + resolution: {integrity: sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==} + + '@internationalized/message@3.1.5': + resolution: {integrity: sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==} + + '@internationalized/number@3.5.4': + resolution: {integrity: sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==} + + '@internationalized/string@3.2.4': + resolution: {integrity: sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -890,6 +1180,21 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@legendapp/motion@2.4.0': + resolution: {integrity: sha512-AAYpRLGvxGD5hIGl9sVHyoUufr66zoH82PuxYcKiPSMdCBI3jwZFWh6CuHjV1leRKVIRk2py1rSvIVabG8eqcw==} + peerDependencies: + nativewind: '*' + react: '>=16' + react-native: '*' + + '@legendapp/tools@2.0.1': + resolution: {integrity: sha512-Kxt0HWvWElRK6oybHRzcYxdgaKGwuaiRNreS7usW7QuHXRIHaH4yMcW2YNRG4DHE5fpefv+Bno/BohQcCE4FaA==} + peerDependencies: + react: '>=16' + peerDependenciesMeta: + react: + optional: true + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -910,6 +1215,158 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@react-aria/checkbox@3.2.1': + resolution: {integrity: sha512-XnypnlVIfhB3CD7eSjSds8hNkzHgnhu0t48I1D0jYdL1O6tQC4UytPdIqlemRYBVHDloZkWerbjenpHnxhv8iA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 + + '@react-aria/dialog@3.5.19': + resolution: {integrity: sha512-I3AJWpAWCajj8Ama8qLQ18Tc37ODyk+Ym3haYEl5L4QnuFc0dU1sMJr15fppDGIxYjwvTTfctyhaSCz+S+wpkw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/focus@3.18.4': + resolution: {integrity: sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/form@3.0.10': + resolution: {integrity: sha512-hWBrqEXxBxcpYTJv0telQKaiu2728EUFHta8/RGBqJ4+MhKKxI7+PnLoms78IuiK0MCYvukHfun1fuQvK+8jsg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/i18n@3.12.3': + resolution: {integrity: sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/interactions@3.22.4': + resolution: {integrity: sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/label@3.7.12': + resolution: {integrity: sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/menu@3.15.5': + resolution: {integrity: sha512-ygfS032hJSZCYYbMHnUSmUTVMaz99L9AUZ9kMa6g+k2X1t92K1gXfhYYkoClQD6+G0ch7zm0SwYFlUmRf9yOEA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/overlays@3.23.4': + resolution: {integrity: sha512-MZUW6SUlTWOwKuFTqUTxW5BnvdW3Y9cEwanWuz98NX3ST7JYe/3ZcZhb37/fGW4uoGHnQ9icEwVf0rbMrK2STg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/radio@3.10.9': + resolution: {integrity: sha512-XnU7zGTEku1mPvJweX4I3ifwEBtglEWYoO4CZGvA3eXj39X8iGwNZXUst1pdk2ykWUKbtwrmsWA6zG2OAGODYw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/selection@3.20.1': + resolution: {integrity: sha512-My0w8UC/7PAkz/1yZUjr2VRuzDZz1RrbgTqP36j5hsJx8RczDTjI4TmKtQNKG0ggaP4w83G2Og5JPTq3w3LMAw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/slider@3.7.13': + resolution: {integrity: sha512-yGlIpoOUKUoP0M3iI8ZHU001NASBOeZJSIQNfoS7HiqSR3bz+6BX7DRAM6B+CPHJleUtrdQ6JjO/8V8ZUV2kNQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/ssr@3.9.6': + resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==} + engines: {node: '>= 12'} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/toggle@3.10.9': + resolution: {integrity: sha512-dtfnyIU2/kcH9rFAiB48diSmaXDv45K7UCuTkMQLjbQa3QHC1oYNbleVN/VdGyAMBsIWtfl8L4uuPrAQmDV/bg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/utils@3.25.3': + resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-aria/visually-hidden@3.8.17': + resolution: {integrity: sha512-WFgny1q2CbxxU6gu46TGQXf1DjsnuSk+RBDP4M7bm1mUVZzoCp7U7AtjNmsBrWg0NejxUdgD7+7jkHHCQ91qRA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-native-aria/accordion@0.0.2': + resolution: {integrity: sha512-2Wa/YDBc2aCunTLpqwxTfCwn1t63KSAIoXd0hqrUGJJF+N2bEs2Hqs9ZgyKJ/hzFxCknVPMqo0fEVE1H23Z5+g==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/checkbox@0.2.9': + resolution: {integrity: sha512-REycBw1DKbw2r9LbynrB+egWOnJXo1YPoMkAQOv6wiKgIzRZ69l4GpmAwkwqUmKit+DJM9Van6/cGl9kOKTAeA==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/dialog@0.0.4': + resolution: {integrity: sha512-l974yT9Z8KTSfY0rjaDNx5PsuGw50jRsdrkez+eP0P8ENx2uKHDzPPZDLo5XS5aiChFWbLaZFXp8rU0TRVOMmg==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/focus@0.2.9': + resolution: {integrity: sha512-zVgOIzKwnsyyurUxlZnzUKB2ekK/cmK64sQJIKKUlkJKVxd2EAFf7Sjz/NVEoMhTODN3qGRASTv9bMk/pBzzVA==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/interactions@0.2.13': + resolution: {integrity: sha512-Uzru5Pqq5pG46lg/pzXoku9Y9k1UvuwJB/HRLSwahdC6eyNJOOm4kmadR/iziL/BeTAi5rOZsPEd0IKcMdH3nA==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/menu@0.2.12': + resolution: {integrity: sha512-sgtU3vlYdR7dx1GL7E0rMi19c2FFe7vPe3+6m6fyuGwQAZCEeHsrjDPdVbyx8HxDym8oOcmACeyfjCohiDK7/Q==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/overlays@0.3.14': + resolution: {integrity: sha512-a8MIB2aBw5yitNB0szNqKQlm4ngOozHGVmXTbslejGIX2+3YQUg8e7J4ouT7ZgK2iIr2gIB3YrstHDM6mvKVmw==} + peerDependencies: + react: '*' + react-dom: '*' + react-native: '*' + + '@react-native-aria/radio@0.2.10': + resolution: {integrity: sha512-q6oe/cMPKJDDaE11J8qBfAgn3tLRh1OFYCPDVIOXkGGm/hjEQNCR+E46kX9yQ+oD2ajf0WV/toxG3RqWAiKZ6Q==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/slider@0.2.11': + resolution: {integrity: sha512-GVT0VOEosf7jk5B6nU0stxitnHbAWLjmarOgkun0/Nnkc0/RwRaf+hfdPGA8rZqNS01CIgooJSrxfIfyNgybpg==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/toggle@0.2.8': + resolution: {integrity: sha512-4TJXuIUuVeozbV3Lk9YUxHxCHAhignn6/GfEdQv8XsfKHUmRMHyvXwdrmKTQCnbtz2Nn+NDUoqKUfZtOYpT3cg==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-aria/utils@0.2.11': + resolution: {integrity: sha512-8MzE25pYDo1ZQtu7N9grx2Q+2uK58Tvvg4iJ7Nvx3PXTEz2XKU8G//yX9un97f7zCM6ptL8viRdKbSYDBmQvsA==} + peerDependencies: + react: '*' + react-native: '*' + '@react-native-community/cli-clean@13.6.9': resolution: {integrity: sha512-7Dj5+4p9JggxuVNOjPbduZBAP1SUgNhLKVw5noBUzT/3ZpUZkDM+RCSwyoyg8xKWoE4OrdUAXwAFlMcFDPKykA==} @@ -1019,6 +1476,234 @@ packages: '@types/react': optional: true + '@react-stately/calendar@3.5.5': + resolution: {integrity: sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/checkbox@3.6.9': + resolution: {integrity: sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/collections@3.11.0': + resolution: {integrity: sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/color@3.8.0': + resolution: {integrity: sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/combobox@3.10.0': + resolution: {integrity: sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/data@3.11.7': + resolution: {integrity: sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/datepicker@3.10.3': + resolution: {integrity: sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/dnd@3.4.3': + resolution: {integrity: sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/flags@3.0.4': + resolution: {integrity: sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==} + + '@react-stately/form@3.0.6': + resolution: {integrity: sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/grid@3.9.3': + resolution: {integrity: sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/list@3.11.0': + resolution: {integrity: sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/menu@3.8.3': + resolution: {integrity: sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/numberfield@3.9.7': + resolution: {integrity: sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/overlays@3.6.11': + resolution: {integrity: sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/radio@3.10.8': + resolution: {integrity: sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/searchfield@3.5.7': + resolution: {integrity: sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/select@3.6.8': + resolution: {integrity: sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/selection@3.17.0': + resolution: {integrity: sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/slider@3.5.8': + resolution: {integrity: sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/table@3.12.3': + resolution: {integrity: sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/tabs@3.6.10': + resolution: {integrity: sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/toggle@3.7.8': + resolution: {integrity: sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/tooltip@3.4.13': + resolution: {integrity: sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/tree@3.8.5': + resolution: {integrity: sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-stately/utils@3.10.4': + resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/button@3.10.0': + resolution: {integrity: sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/calendar@3.4.10': + resolution: {integrity: sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/checkbox@3.8.4': + resolution: {integrity: sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/color@3.0.0': + resolution: {integrity: sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/combobox@3.13.0': + resolution: {integrity: sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/datepicker@3.8.3': + resolution: {integrity: sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/dialog@3.5.13': + resolution: {integrity: sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/grid@3.2.9': + resolution: {integrity: sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/menu@3.9.12': + resolution: {integrity: sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/numberfield@3.8.6': + resolution: {integrity: sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/overlays@3.8.10': + resolution: {integrity: sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/radio@3.8.4': + resolution: {integrity: sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/searchfield@3.5.9': + resolution: {integrity: sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/select@3.9.7': + resolution: {integrity: sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/shared@3.25.0': + resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/slider@3.7.6': + resolution: {integrity: sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/table@3.10.2': + resolution: {integrity: sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/tabs@3.3.10': + resolution: {integrity: sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/textfield@3.9.7': + resolution: {integrity: sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + + '@react-types/tooltip@3.4.12': + resolution: {integrity: sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@rnx-kit/chromium-edge-launcher@1.0.0': resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} engines: {node: '>=14.15'} @@ -1044,6 +1729,9 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -1068,12 +1756,22 @@ packages: '@types/prop-types@15.7.13': resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + '@types/react-native@0.73.0': + resolution: {integrity: sha512-6ZRPQrYM72qYKGWidEttRe6M5DZBEV5F+MHMHqd4TTYx0tfkcdrUFGdef6CCxY0jXU7wldvd/zA/b0A/kTeJmA==} + deprecated: This is a stub types definition. react-native provides its own type definitions, so you do not need this installed. + '@types/react@18.2.79': resolution: {integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/strip-bom@3.0.0': + resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==} + + '@types/strip-json-comments@0.0.30': + resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -1189,6 +1887,9 @@ packages: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1268,9 +1969,16 @@ packages: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + bplist-creator@0.0.7: resolution: {integrity: sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==} @@ -1345,6 +2053,10 @@ packages: resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} engines: {node: '>=4'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -1367,6 +2079,10 @@ packages: charenc@0.0.2: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -1418,6 +2134,10 @@ packages: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1456,6 +2176,10 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -1512,6 +2236,25 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} + css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1613,10 +2356,32 @@ packages: engines: {node: '>=0.10'} hasBin: true + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dotenv-expand@11.0.6: resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} engines: {node: '>=12'} @@ -1651,6 +2416,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + env-editor@0.4.2: resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} engines: {node: '>=8'} @@ -1790,6 +2559,9 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} + fast-loops@1.1.4: + resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==} + fast-xml-parser@4.5.0: resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} hasBin: true @@ -1942,6 +2714,10 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true @@ -1993,6 +2769,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -2044,6 +2824,9 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -2078,6 +2861,9 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + inline-style-prefixer@6.0.4: + resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} + internal-ip@4.3.0: resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} engines: {node: '>=6'} @@ -2086,6 +2872,9 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} + intl-messageformat@10.7.1: + resolution: {integrity: sha512-xQuJW2WcyzNJZWUu5xTVPOmNSA1Sowuu/NKFdUid5Fxx/Yl6/s4DefTU/y7zy+irZLDmFGmTLtnM8FqpN05wlA==} + invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -2107,6 +2896,10 @@ packages: is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -2289,6 +3082,10 @@ packages: jimp-compact@0.16.1: resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} @@ -2367,52 +3164,124 @@ packages: cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.27.0: + resolution: {integrity: sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.19.0: resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.27.0: + resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.27.0: + resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.19.0: resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.27.0: + resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.19.0: resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-gnu@1.27.0: + resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-musl@1.19.0: resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-musl@1.27.0: + resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-x64-gnu@1.19.0: resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-gnu@1.27.0: + resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-musl@1.19.0: resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-musl@1.27.0: + resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.27.0: + resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.19.0: resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.27.0: + resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.19.0: resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==} engines: {node: '>= 12.0.0'} + lightningcss@1.27.0: + resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==} + engines: {node: '>= 12.0.0'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -2487,9 +3356,15 @@ packages: md5hex@1.0.0: resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==} + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + memory-cache@0.2.0: resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} @@ -2653,6 +3528,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nativewind@4.1.20: + resolution: {integrity: sha512-w0TIvXvcPikbFqaRQ9DgeoGP5GVwgLYEAUiI1pV+XTD0JkMd40+oSlNG8VbaBhscLQKw4QgdZzWXT8J9sF2uHw==} + engines: {node: '>=16'} + peerDependencies: + tailwindcss: '>3.3.0' + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -2700,6 +3581,9 @@ packages: resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} engines: {node: '>=0.12.0'} + normalize-css-color@1.0.2: + resolution: {integrity: sha512-jPJ/V7Cp1UytdidsPqviKEElFQJs22hUUgK5BOPHTwOonNCk7/2qOxhhqzEajmFrWJowADFfOFh1V+aWkRfy+w==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2715,6 +3599,9 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} @@ -2726,6 +3613,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.2: resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} @@ -2885,6 +3776,10 @@ packages: resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} engines: {node: '>=10'} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -2909,6 +3804,43 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} @@ -2982,6 +3914,11 @@ packages: react-devtools-core@5.3.2: resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -2991,6 +3928,41 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-native-css-interop@0.1.19: + resolution: {integrity: sha512-Od5b0VGSpBI0auO3co3Tq3q2ot+dsoYtDUxjnGzAwsEAvb+mFmlsBLtgEpNow+jWRnFxG96z0xQNfrwCPh1tGg==} + engines: {node: '>=18'} + peerDependencies: + react: '>=18' + react-native: '*' + react-native-reanimated: '>=3.6.2' + react-native-safe-area-context: '*' + react-native-svg: '*' + tailwindcss: ~3 + peerDependenciesMeta: + react-native-safe-area-context: + optional: true + react-native-svg: + optional: true + + react-native-reanimated@3.16.1: + resolution: {integrity: sha512-Wnbo7toHZ6kPLAD8JWKoKCTfNoqYOMW5vUEP76Rr4RBmJCrdXj6oauYP0aZnZq8NCbiP5bwwu7+RECcWtoetnQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + react: '*' + react-native: '*' + + react-native-svg@15.2.0: + resolution: {integrity: sha512-R0E6IhcJfVLsL0lRmnUSm72QO+mTqcAOM5Jb8FVGxJqX3NfJMlMP0YyvcajZiaRR8CqQUpEoqrY25eyZb006kw==} + peerDependencies: + react: '*' + react-native: '*' + + react-native-web@0.19.13: + resolution: {integrity: sha512-etv3bN8rJglrRCp/uL4p7l8QvUNUC++QwDbdZ8CB7BvZiMvsxfFIRM1j04vxNldG3uo2puRd6OSWR3ibtmc29A==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + react-native@0.74.5: resolution: {integrity: sha512-Bgg2WvxaGODukJMTZFTZBNMKVaROHLwSb8VAGEdrlvKwfb1hHg/3aXTUICYk7dwgAnb+INbGMwnF8yeAgIUmqw==} engines: {node: '>=18'} @@ -3011,10 +3983,18 @@ packages: peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-stately@3.33.0: + resolution: {integrity: sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -3022,6 +4002,10 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readline@1.3.0: resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} @@ -3063,6 +4047,10 @@ packages: remove-trailing-slash@0.1.1: resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3139,6 +4127,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.24.0-canary-efb381bbf-20230505: resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} @@ -3333,6 +4324,10 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-eof@1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} @@ -3351,6 +4346,9 @@ packages: structured-headers@0.4.1: resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} + styleq@0.1.3: + resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==} + sucrase@3.34.0: resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} engines: {node: '>=8'} @@ -3385,6 +4383,11 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + tailwindcss@3.4.14: + resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} + engines: {node: '>=14.0.0'} + hasBin: true + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -3466,6 +4469,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfig@7.0.0: + resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} + tslib@2.8.0: resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} @@ -3509,6 +4515,11 @@ packages: resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} engines: {node: '>= 0.4'} + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} @@ -3783,6 +4794,8 @@ packages: snapshots: + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -4706,6 +5719,8 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@expo-google-fonts/roboto@0.2.3': {} + '@expo/bunyan@4.0.1': dependencies: uuid: 8.3.2 @@ -4866,6 +5881,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@expo/html-elements@0.10.1': {} + '@expo/image-utils@0.5.1': dependencies: '@expo/spawn-async': 1.7.2 @@ -4983,6 +6000,453 @@ snapshots: find-up: 5.0.0 js-yaml: 4.1.0 + '@formatjs/ecma402-abstract@2.2.0': + dependencies: + '@formatjs/fast-memoize': 2.2.1 + '@formatjs/intl-localematcher': 0.5.5 + tslib: 2.8.0 + + '@formatjs/fast-memoize@2.2.1': + dependencies: + tslib: 2.8.0 + + '@formatjs/icu-messageformat-parser@2.8.0': + dependencies: + '@formatjs/ecma402-abstract': 2.2.0 + '@formatjs/icu-skeleton-parser': 1.8.4 + tslib: 2.8.0 + + '@formatjs/icu-skeleton-parser@1.8.4': + dependencies: + '@formatjs/ecma402-abstract': 2.2.0 + tslib: 2.8.0 + + '@formatjs/intl-localematcher@0.5.5': + dependencies: + tslib: 2.8.0 + + '@gluestack-style/animation-resolver@1.0.4(@gluestack-style/react@1.0.57)': + dependencies: + '@gluestack-style/react': 1.0.57 + + '@gluestack-style/legend-motion-animation-driver@1.0.3(@gluestack-style/react@1.0.57)(@legendapp/motion@2.4.0(nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))': + dependencies: + '@gluestack-style/react': 1.0.57 + '@legendapp/motion': 2.4.0(nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + + '@gluestack-style/react@1.0.57': + dependencies: + inline-style-prefixer: 6.0.4 + normalize-css-color: 1.0.2 + + '@gluestack-ui/accordion@1.0.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/accordion': 0.0.2(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/actionsheet@0.2.43(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/transitions': 0.1.10(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/dialog': 0.0.4(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/alert-dialog@0.1.30(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/dialog': 0.0.4(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/alert@0.1.15(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@gluestack-ui/avatar@0.1.17(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/button@1.0.6(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/checkbox@0.1.30(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-aria/visually-hidden': 3.8.17(react@18.2.0) + '@react-native-aria/checkbox': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/checkbox': 3.6.9(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/config@1.1.19(@gluestack-style/react@1.0.57)(@gluestack-ui/themed@1.1.34(zcnpbdehrufsjfple3lo4vg7xa))': + dependencies: + '@gluestack-style/react': 1.0.57 + '@gluestack-ui/themed': 1.1.34(zcnpbdehrufsjfple3lo4vg7xa) + + '@gluestack-ui/divider@0.1.9(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@gluestack-ui/fab@0.1.21(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/form-control@0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/hooks@0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@gluestack-ui/icon@0.1.22(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/provider': 0.1.12(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/image@0.1.10(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/input@0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/link@0.1.21(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/menu@0.2.34(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/menu': 0.2.12(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + react-stately: 3.33.0(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/modal@0.1.34(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/dialog': 0.0.4(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/overlay@0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/popover@0.1.36(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/dialog': 0.0.4(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/pressable@0.1.16(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/progress@0.1.15(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/provider@0.1.12(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + tsconfig: 7.0.0 + typescript: 4.9.5 + transitivePeerDependencies: + - react-native + + '@gluestack-ui/radio@0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-aria/visually-hidden': 3.8.17(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/radio': 0.2.10(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/radio': 3.10.8(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/react-native-aria@0.1.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/select@0.1.27(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/slider@0.1.25(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-aria/visually-hidden': 3.8.17(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/slider': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/slider': 3.5.8(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/spinner@0.1.14(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@gluestack-ui/switch@0.1.22(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/tabs@0.1.16(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/textarea@0.1.23(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/themed@1.1.34(zcnpbdehrufsjfple3lo4vg7xa)': + dependencies: + '@expo/html-elements': 0.10.1 + '@gluestack-style/animation-resolver': 1.0.4(@gluestack-style/react@1.0.57) + '@gluestack-style/legend-motion-animation-driver': 1.0.3(@gluestack-style/react@1.0.57)(@legendapp/motion@2.4.0(nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)) + '@gluestack-style/react': 1.0.57 + '@gluestack-ui/accordion': 1.0.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/actionsheet': 0.2.43(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/alert': 0.1.15(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/alert-dialog': 0.1.30(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/avatar': 0.1.17(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/button': 1.0.6(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/checkbox': 0.1.30(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/divider': 0.1.9(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/fab': 0.1.21(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/form-control': 0.1.18(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/icon': 0.1.22(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/image': 0.1.10(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/input': 0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/link': 0.1.21(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/menu': 0.2.34(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/modal': 0.1.34(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/popover': 0.1.36(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/pressable': 0.1.16(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/progress': 0.1.15(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/provider': 0.1.12(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/radio': 0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/select': 0.1.27(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/slider': 0.1.25(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/spinner': 0.1.14(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/switch': 0.1.22(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/tabs': 0.1.16(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/textarea': 0.1.23(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/toast': 1.0.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/tooltip': 0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@legendapp/motion': 2.4.0(nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@types/react-native': 0.73.0(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + react-native-svg: 15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react-native-web: 0.19.13(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + transitivePeerDependencies: + - nativewind + + '@gluestack-ui/toast@1.0.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/transitions': 0.1.10(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/tooltip@0.1.31(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/hooks': 0.1.11(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/transitions@0.1.10(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@gluestack-ui/overlay': 0.1.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/react-native-aria': 0.1.5(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@gluestack-ui/utils': 0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + + '@gluestack-ui/utils@0.1.13(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-native-aria/focus': 0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + transitivePeerDependencies: + - react-native + '@graphql-typed-document-node/core@3.2.0(graphql@15.8.0)': dependencies: graphql: 15.8.0 @@ -4993,6 +6457,23 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 + '@internationalized/date@3.5.6': + dependencies: + '@swc/helpers': 0.5.13 + + '@internationalized/message@3.1.5': + dependencies: + '@swc/helpers': 0.5.13 + intl-messageformat: 10.7.1 + + '@internationalized/number@3.5.4': + dependencies: + '@swc/helpers': 0.5.13 + + '@internationalized/string@3.2.4': + dependencies: + '@swc/helpers': 0.5.13 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5073,6 +6554,17 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@legendapp/motion@2.4.0(nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@legendapp/tools': 2.0.1(react@18.2.0) + nativewind: 4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@legendapp/tools@2.0.1(react@18.2.0)': + optionalDependencies: + react: 18.2.0 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5092,6 +6584,290 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@react-aria/checkbox@3.2.1(react@18.2.0)': + dependencies: + '@babel/runtime': 7.25.9 + '@react-aria/label': 3.7.12(react@18.2.0) + '@react-aria/toggle': 3.10.9(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/checkbox': 3.6.9(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + '@react-types/checkbox': 3.8.4(react@18.2.0) + react: 18.2.0 + + '@react-aria/dialog@3.5.19(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/dialog': 3.5.13(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@react-aria/focus@3.18.4(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + clsx: 2.1.1 + react: 18.2.0 + + '@react-aria/form@3.0.10(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/i18n@3.12.3(react@18.2.0)': + dependencies: + '@internationalized/date': 3.5.6 + '@internationalized/message': 3.1.5 + '@internationalized/number': 3.5.4 + '@internationalized/string': 3.2.4 + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/interactions@3.22.4(react@18.2.0)': + dependencies: + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/label@3.7.12(react@18.2.0)': + dependencies: + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/menu@3.15.5(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/menu': 3.8.3(react@18.2.0) + '@react-stately/tree': 3.8.5(react@18.2.0) + '@react-types/button': 3.10.0(react@18.2.0) + '@react-types/menu': 3.9.12(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@react-aria/overlays@3.23.4(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-aria/visually-hidden': 3.8.17(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-types/button': 3.10.0(react@18.2.0) + '@react-types/overlays': 3.8.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@react-aria/radio@3.10.9(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/form': 3.0.10(react@18.2.0) + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/label': 3.7.12(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/radio': 3.10.8(react@18.2.0) + '@react-types/radio': 3.8.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/selection@3.20.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + + '@react-aria/slider@3.7.13(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/label': 3.7.12(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/slider': 3.5.8(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/slider': 3.7.6(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/ssr@3.9.6(react@18.2.0)': + dependencies: + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/toggle@3.10.9(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + '@react-types/checkbox': 3.8.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-aria/utils@3.25.3(react@18.2.0)': + dependencies: + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + clsx: 2.1.1 + react: 18.2.0 + + '@react-aria/visually-hidden@3.8.17(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-native-aria/accordion@0.0.2(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/checkbox@0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/checkbox': 3.2.1(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/toggle': 0.2.8(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/dialog@0.0.4(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/dialog': 3.5.19(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-types/dialog': 3.5.13(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + transitivePeerDependencies: + - react-dom + + '@react-native-aria/focus@0.2.9(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/interactions@0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/menu@0.2.12(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/menu': 3.15.5(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/overlays': 0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/menu': 3.8.3(react@18.2.0) + '@react-stately/tree': 3.8.5(react@18.2.0) + '@react-types/menu': 3.9.12(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + transitivePeerDependencies: + - react-dom + + '@react-native-aria/overlays@0.3.14(react-dom@18.3.1(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-types/overlays': 3.8.10(react@18.2.0) + dom-helpers: 5.2.1 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/radio@0.2.10(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/radio': 3.10.9(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/radio': 3.10.8(react@18.2.0) + '@react-types/radio': 3.8.4(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/slider@0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/interactions': 3.22.4(react@18.2.0) + '@react-aria/label': 3.7.12(react@18.2.0) + '@react-aria/slider': 3.7.13(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/slider': 3.5.8(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/toggle@0.2.8(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/focus': 3.18.4(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + '@react-native-aria/interactions': 0.2.13(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-native-aria/utils': 0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + '@react-types/checkbox': 3.8.4(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + '@react-native-aria/utils@0.2.11(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)': + dependencies: + '@react-aria/ssr': 3.9.6(react@18.2.0) + '@react-aria/utils': 3.25.3(react@18.2.0) + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + '@react-native-community/cli-clean@13.6.9': dependencies: '@react-native-community/cli-tools': 13.6.9 @@ -5405,6 +7181,334 @@ snapshots: optionalDependencies: '@types/react': 18.2.79 + '@react-stately/calendar@3.5.5(react@18.2.0)': + dependencies: + '@internationalized/date': 3.5.6 + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/calendar': 3.4.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/checkbox@3.6.9(react@18.2.0)': + dependencies: + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/checkbox': 3.8.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/collections@3.11.0(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/color@3.8.0(react@18.2.0)': + dependencies: + '@internationalized/number': 3.5.4 + '@internationalized/string': 3.2.4 + '@react-aria/i18n': 3.12.3(react@18.2.0) + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/numberfield': 3.9.7(react@18.2.0) + '@react-stately/slider': 3.5.8(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/color': 3.0.0(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/combobox@3.10.0(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/list': 3.11.0(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-stately/select': 3.6.8(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/combobox': 3.13.0(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/data@3.11.7(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/datepicker@3.10.3(react@18.2.0)': + dependencies: + '@internationalized/date': 3.5.6 + '@internationalized/string': 3.2.4 + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/datepicker': 3.8.3(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/dnd@3.4.3(react@18.2.0)': + dependencies: + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/flags@3.0.4': + dependencies: + '@swc/helpers': 0.5.13 + + '@react-stately/form@3.0.6(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/grid@3.9.3(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-types/grid': 3.2.9(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/list@3.11.0(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/menu@3.8.3(react@18.2.0)': + dependencies: + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-types/menu': 3.9.12(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/numberfield@3.9.7(react@18.2.0)': + dependencies: + '@internationalized/number': 3.5.4 + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/numberfield': 3.8.6(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/overlays@3.6.11(react@18.2.0)': + dependencies: + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/overlays': 3.8.10(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/radio@3.10.8(react@18.2.0)': + dependencies: + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/radio': 3.8.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/searchfield@3.5.7(react@18.2.0)': + dependencies: + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/searchfield': 3.5.9(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/select@3.6.8(react@18.2.0)': + dependencies: + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/list': 3.11.0(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-types/select': 3.9.7(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/selection@3.17.0(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/slider@3.5.8(react@18.2.0)': + dependencies: + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/slider': 3.7.6(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/table@3.12.3(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/flags': 3.0.4 + '@react-stately/grid': 3.9.3(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/grid': 3.2.9(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/table': 3.10.2(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/tabs@3.6.10(react@18.2.0)': + dependencies: + '@react-stately/list': 3.11.0(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/tabs': 3.3.10(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/toggle@3.7.8(react@18.2.0)': + dependencies: + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/checkbox': 3.8.4(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/tooltip@3.4.13(react@18.2.0)': + dependencies: + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-types/tooltip': 3.4.12(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/tree@3.8.5(react@18.2.0)': + dependencies: + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-stately/utils': 3.10.4(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-stately/utils@3.10.4(react@18.2.0)': + dependencies: + '@swc/helpers': 0.5.13 + react: 18.2.0 + + '@react-types/button@3.10.0(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/calendar@3.4.10(react@18.2.0)': + dependencies: + '@internationalized/date': 3.5.6 + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/checkbox@3.8.4(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/color@3.0.0(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/slider': 3.7.6(react@18.2.0) + react: 18.2.0 + + '@react-types/combobox@3.13.0(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/datepicker@3.8.3(react@18.2.0)': + dependencies: + '@internationalized/date': 3.5.6 + '@react-types/calendar': 3.4.10(react@18.2.0) + '@react-types/overlays': 3.8.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/dialog@3.5.13(react@18.2.0)': + dependencies: + '@react-types/overlays': 3.8.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/grid@3.2.9(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/menu@3.9.12(react@18.2.0)': + dependencies: + '@react-types/overlays': 3.8.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/numberfield@3.8.6(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/overlays@3.8.10(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/radio@3.8.4(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/searchfield@3.5.9(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + '@react-types/textfield': 3.9.7(react@18.2.0) + react: 18.2.0 + + '@react-types/select@3.9.7(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/shared@3.25.0(react@18.2.0)': + dependencies: + react: 18.2.0 + + '@react-types/slider@3.7.6(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/table@3.10.2(react@18.2.0)': + dependencies: + '@react-types/grid': 3.2.9(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/tabs@3.3.10(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/textfield@3.9.7(react@18.2.0)': + dependencies: + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + + '@react-types/tooltip@3.4.12(react@18.2.0)': + dependencies: + '@react-types/overlays': 3.8.10(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: '@types/node': 18.19.59 @@ -5439,6 +7543,10 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@swc/helpers@0.5.13': + dependencies: + tslib: 2.8.0 + '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -5468,6 +7576,19 @@ snapshots: '@types/prop-types@15.7.13': {} + '@types/react-native@0.73.0(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0)': + dependencies: + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - '@types/react' + - bufferutil + - encoding + - react + - supports-color + - utf-8-validate + '@types/react@18.2.79': dependencies: '@types/prop-types': 15.7.13 @@ -5475,6 +7596,10 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/strip-bom@3.0.0': {} + + '@types/strip-json-comments@0.0.30': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@13.0.12': @@ -5581,6 +7706,8 @@ snapshots: call-bind: 1.0.7 is-array-buffer: 3.0.4 + array-timsort@1.0.3: {} + array-union@2.1.0: {} arraybuffer.prototype.slice@1.0.3: @@ -5685,12 +7812,16 @@ snapshots: big-integer@1.6.52: {} + binary-extensions@2.3.0: {} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + boolbase@1.0.0: {} + bplist-creator@0.0.7: dependencies: stream-buffers: 2.2.0 @@ -5784,6 +7915,8 @@ snapshots: callsites@2.0.0: {} + camelcase-css@2.0.1: {} + camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -5803,6 +7936,18 @@ snapshots: charenc@0.0.2: {} + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chownr@2.0.0: {} chrome-launcher@0.15.2: @@ -5852,6 +7997,8 @@ snapshots: clone@2.1.2: {} + clsx@2.1.1: {} + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -5880,6 +8027,14 @@ snapshots: commander@9.5.0: {} + comment-json@4.2.5: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 + commondir@1.0.1: {} component-type@1.2.2: {} @@ -5952,6 +8107,27 @@ snapshots: crypto-random-string@2.0.0: {} + css-in-js-utils@3.1.0: + dependencies: + hyphenate-style-name: 1.1.0 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + csstype@3.1.3: {} dag-map@1.0.2: {} @@ -6038,10 +8214,37 @@ snapshots: detect-libc@1.0.3: {} + didyoumean@1.2.2: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 + dlv@1.1.3: {} + + dom-helpers@5.2.1: + dependencies: + '@babel/runtime': 7.25.9 + csstype: 3.1.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dotenv-expand@11.0.6: dependencies: dotenv: 16.4.5 @@ -6066,6 +8269,8 @@ snapshots: dependencies: once: 1.4.0 + entities@4.5.0: {} + env-editor@0.4.2: {} envinfo@7.14.0: {} @@ -6279,6 +8484,8 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-loops@1.1.4: {} + fast-xml-parser@4.5.0: dependencies: strnum: 1.0.5 @@ -6454,6 +8661,10 @@ snapshots: dependencies: is-glob: 4.0.3 + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + glob@10.4.5: dependencies: foreground-child: 3.3.0 @@ -6516,6 +8727,8 @@ snapshots: has-flag@4.0.0: {} + has-own-prop@2.0.0: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 @@ -6569,6 +8782,8 @@ snapshots: human-signals@2.1.0: {} + hyphenate-style-name@1.1.0: {} + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -6595,6 +8810,11 @@ snapshots: ini@1.3.8: {} + inline-style-prefixer@6.0.4: + dependencies: + css-in-js-utils: 3.1.0 + fast-loops: 1.1.4 + internal-ip@4.3.0: dependencies: default-gateway: 4.2.0 @@ -6606,6 +8826,13 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 + intl-messageformat@10.7.1: + dependencies: + '@formatjs/ecma402-abstract': 2.2.0 + '@formatjs/fast-memoize': 2.2.1 + '@formatjs/icu-messageformat-parser': 2.8.0 + tslib: 2.8.0 + invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -6625,6 +8852,10 @@ snapshots: dependencies: has-bigints: 1.0.2 + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 @@ -6799,6 +9030,8 @@ snapshots: jimp-compact@0.16.1: {} + jiti@1.21.6: {} + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 @@ -6894,27 +9127,57 @@ snapshots: lightningcss-darwin-arm64@1.19.0: optional: true + lightningcss-darwin-arm64@1.27.0: + optional: true + lightningcss-darwin-x64@1.19.0: optional: true + lightningcss-darwin-x64@1.27.0: + optional: true + + lightningcss-freebsd-x64@1.27.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.19.0: optional: true + lightningcss-linux-arm-gnueabihf@1.27.0: + optional: true + lightningcss-linux-arm64-gnu@1.19.0: optional: true + lightningcss-linux-arm64-gnu@1.27.0: + optional: true + lightningcss-linux-arm64-musl@1.19.0: optional: true + lightningcss-linux-arm64-musl@1.27.0: + optional: true + lightningcss-linux-x64-gnu@1.19.0: optional: true + lightningcss-linux-x64-gnu@1.27.0: + optional: true + lightningcss-linux-x64-musl@1.19.0: optional: true + lightningcss-linux-x64-musl@1.27.0: + optional: true + + lightningcss-win32-arm64-msvc@1.27.0: + optional: true + lightningcss-win32-x64-msvc@1.19.0: optional: true + lightningcss-win32-x64-msvc@1.27.0: + optional: true + lightningcss@1.19.0: dependencies: detect-libc: 1.0.3 @@ -6928,6 +9191,25 @@ snapshots: lightningcss-linux-x64-musl: 1.19.0 lightningcss-win32-x64-msvc: 1.19.0 + lightningcss@1.27.0: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.27.0 + lightningcss-darwin-x64: 1.27.0 + lightningcss-freebsd-x64: 1.27.0 + lightningcss-linux-arm-gnueabihf: 1.27.0 + lightningcss-linux-arm64-gnu: 1.27.0 + lightningcss-linux-arm64-musl: 1.27.0 + lightningcss-linux-x64-gnu: 1.27.0 + lightningcss-linux-x64-musl: 1.27.0 + lightningcss-win32-arm64-msvc: 1.27.0 + lightningcss-win32-x64-msvc: 1.27.0 + + lilconfig@2.1.0: {} + + lilconfig@3.1.2: {} + lines-and-columns@1.2.4: {} locate-path@3.0.0: @@ -7007,8 +9289,12 @@ snapshots: md5hex@1.0.0: {} + mdn-data@2.0.14: {} + memoize-one@5.2.1: {} + memoize-one@6.0.0: {} + memory-cache@0.2.0: {} merge-stream@2.0.0: {} @@ -7267,6 +9553,20 @@ snapshots: nanoid@3.3.7: {} + nativewind@4.1.20(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14): + dependencies: + comment-json: 4.2.5 + debug: 4.3.7 + react-native-css-interop: 0.1.19(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14) + tailwindcss: 3.4.14 + transitivePeerDependencies: + - react + - react-native + - react-native-reanimated + - react-native-safe-area-context + - react-native-svg + - supports-color + negotiator@0.6.3: {} neo-async@2.6.2: {} @@ -7295,6 +9595,8 @@ snapshots: node-stream-zip@1.15.0: {} + normalize-css-color@1.0.2: {} + normalize-path@3.0.0: {} npm-package-arg@7.0.0: @@ -7312,6 +9614,10 @@ snapshots: dependencies: path-key: 3.1.1 + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + nullthrows@1.1.1: {} ob1@0.80.12: @@ -7320,6 +9626,8 @@ snapshots: object-assign@4.1.1: {} + object-hash@3.0.0: {} + object-inspect@1.13.2: {} object-keys@1.1.1: {} @@ -7469,6 +9777,8 @@ snapshots: picomatch@3.0.1: {} + pify@2.3.0: {} + pify@4.0.1: {} pirates@4.0.6: {} @@ -7487,6 +9797,37 @@ snapshots: possible-typed-array-names@1.0.0: {} + postcss-import@15.1.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.47): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.47 + + postcss-load-config@4.0.2(postcss@8.4.47): + dependencies: + lilconfig: 3.1.2 + yaml: 2.6.0 + optionalDependencies: + postcss: 8.4.47 + + postcss-nested@6.2.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + postcss@8.4.47: dependencies: nanoid: 3.3.7 @@ -7572,12 +9913,76 @@ snapshots: - bufferutil - utf-8-validate + react-dom@18.3.1(react@18.2.0): + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.2 + react-is@16.13.1: {} react-is@17.0.2: {} react-is@18.3.1: {} + react-native-css-interop@0.1.19(react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0))(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0)(tailwindcss@3.4.14): + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.25.9 + debug: 4.3.7 + lightningcss: 1.27.0 + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + react-native-reanimated: 3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + semver: 7.6.3 + tailwindcss: 3.4.14 + optionalDependencies: + react-native-svg: 15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0) + transitivePeerDependencies: + - supports-color + + react-native-reanimated@3.16.1(@babel/core@7.25.9)(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/core': 7.25.9 + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.25.9) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.25.9) + '@babel/preset-typescript': 7.25.9(@babel/core@7.25.9) + convert-source-map: 2.0.0 + invariant: 2.2.4 + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + transitivePeerDependencies: + - supports-color + + react-native-svg@15.2.0(react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0))(react@18.2.0): + dependencies: + css-select: 5.1.0 + css-tree: 1.1.3 + react: 18.2.0 + react-native: 0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0) + + react-native-web@0.19.13(react-dom@18.3.1(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/runtime': 7.25.9 + '@react-native/normalize-colors': 0.74.87 + fbjs: 3.0.5 + inline-style-prefixer: 6.0.4 + memoize-one: 6.0.0 + nullthrows: 1.1.1 + postcss-value-parser: 4.2.0 + react: 18.2.0 + react-dom: 18.3.1(react@18.2.0) + styleq: 0.1.3 + transitivePeerDependencies: + - encoding + react-native@0.74.5(@babel/core@7.25.9)(@babel/preset-env@7.25.9(@babel/core@7.25.9))(@types/react@18.2.79)(react@18.2.0): dependencies: '@jest/create-cache-key-function': 29.7.0 @@ -7636,10 +10041,42 @@ snapshots: react: 18.2.0 react-is: 18.3.1 + react-stately@3.33.0(react@18.2.0): + dependencies: + '@react-stately/calendar': 3.5.5(react@18.2.0) + '@react-stately/checkbox': 3.6.9(react@18.2.0) + '@react-stately/collections': 3.11.0(react@18.2.0) + '@react-stately/color': 3.8.0(react@18.2.0) + '@react-stately/combobox': 3.10.0(react@18.2.0) + '@react-stately/data': 3.11.7(react@18.2.0) + '@react-stately/datepicker': 3.10.3(react@18.2.0) + '@react-stately/dnd': 3.4.3(react@18.2.0) + '@react-stately/form': 3.0.6(react@18.2.0) + '@react-stately/list': 3.11.0(react@18.2.0) + '@react-stately/menu': 3.8.3(react@18.2.0) + '@react-stately/numberfield': 3.9.7(react@18.2.0) + '@react-stately/overlays': 3.6.11(react@18.2.0) + '@react-stately/radio': 3.10.8(react@18.2.0) + '@react-stately/searchfield': 3.5.7(react@18.2.0) + '@react-stately/select': 3.6.8(react@18.2.0) + '@react-stately/selection': 3.17.0(react@18.2.0) + '@react-stately/slider': 3.5.8(react@18.2.0) + '@react-stately/table': 3.12.3(react@18.2.0) + '@react-stately/tabs': 3.6.10(react@18.2.0) + '@react-stately/toggle': 3.7.8(react@18.2.0) + '@react-stately/tooltip': 3.4.13(react@18.2.0) + '@react-stately/tree': 3.8.5(react@18.2.0) + '@react-types/shared': 3.25.0(react@18.2.0) + react: 18.2.0 + react@18.2.0: dependencies: loose-envify: 1.4.0 + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -7656,6 +10093,10 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + readline@1.3.0: {} recast@0.21.5: @@ -7703,6 +10144,8 @@ snapshots: remove-trailing-slash@0.1.1: {} + repeat-string@1.6.1: {} + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -7774,6 +10217,10 @@ snapshots: sax@1.4.1: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scheduler@0.24.0-canary-efb381bbf-20230505: dependencies: loose-envify: 1.4.0 @@ -7995,6 +10442,8 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-bom@3.0.0: {} + strip-eof@1.0.0: {} strip-final-newline@2.0.0: {} @@ -8005,6 +10454,8 @@ snapshots: structured-headers@0.4.1: {} + styleq@0.1.3: {} + sucrase@3.34.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -8040,6 +10491,33 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + tailwindcss@3.4.14: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -8126,6 +10604,13 @@ snapshots: ts-interface-checker@0.1.13: {} + tsconfig@7.0.0: + dependencies: + '@types/strip-bom': 3.0.0 + '@types/strip-json-comments': 0.0.30 + strip-bom: 3.0.0 + strip-json-comments: 2.0.1 + tslib@2.8.0: {} type-detect@4.0.8: {} @@ -8179,6 +10664,8 @@ snapshots: typed-array-buffer: 1.0.2 typed-array-byte-offset: 1.0.2 + typescript@4.9.5: {} + typescript@5.6.3: {} ua-parser-js@1.0.39: {} diff --git a/src/assets/background.png b/src/assets/background.png new file mode 100755 index 0000000..9bd3965 Binary files /dev/null and b/src/assets/background.png differ diff --git a/src/assets/background@2x.png b/src/assets/background@2x.png new file mode 100755 index 0000000..fcea34b Binary files /dev/null and b/src/assets/background@2x.png differ diff --git a/src/assets/background@3x.png b/src/assets/background@3x.png new file mode 100755 index 0000000..b390909 Binary files /dev/null and b/src/assets/background@3x.png differ diff --git a/src/assets/body.svg b/src/assets/body.svg new file mode 100755 index 0000000..88dcdbb --- /dev/null +++ b/src/assets/body.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/history.svg b/src/assets/history.svg new file mode 100755 index 0000000..728773d --- /dev/null +++ b/src/assets/history.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/home.svg b/src/assets/home.svg new file mode 100755 index 0000000..9909aa8 --- /dev/null +++ b/src/assets/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100755 index 0000000..a7bc613 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/profile.svg b/src/assets/profile.svg new file mode 100755 index 0000000..e1c0bcc --- /dev/null +++ b/src/assets/profile.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/repetitions.svg b/src/assets/repetitions.svg new file mode 100755 index 0000000..d530517 --- /dev/null +++ b/src/assets/repetitions.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/series.svg b/src/assets/series.svg new file mode 100755 index 0000000..f18e0d1 --- /dev/null +++ b/src/assets/series.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/userPhotoDefault.png b/src/assets/userPhotoDefault.png new file mode 100755 index 0000000..a8b0b6d Binary files /dev/null and b/src/assets/userPhotoDefault.png differ diff --git a/src/assets/userPhotoDefault@2x.png b/src/assets/userPhotoDefault@2x.png new file mode 100755 index 0000000..ff350ef Binary files /dev/null and b/src/assets/userPhotoDefault@2x.png differ diff --git a/src/assets/userPhotoDefault@3x.png b/src/assets/userPhotoDefault@3x.png new file mode 100755 index 0000000..c00afbe Binary files /dev/null and b/src/assets/userPhotoDefault@3x.png differ diff --git a/tsconfig.json b/tsconfig.json index b9567f6..92f5a05 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,18 @@ { "extends": "expo/tsconfig.base", "compilerOptions": { - "strict": true + "strict": true, + "paths": { + "@dtos/*": ["./src/dtos/*"], + "@assets/*": ["./src/assets/*"], + "@components/*": ["./src/components/*"], + "@screens/*": ["./src/screens/*"], + "@storage/*": ["./src/storage/*"], + "@utils/*": ["./src/utils/*"], + "@services/*": ["./src/services/*"], + "@hooks/*": ["./src/hooks/*"], + "@contexts/*": ["./src/contexts/*"], + "@routes/*": ["./src/routes/*"] + } } }