elseware-ui 2.40.4 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/clsx/dist/clsx.mjs","../src/utils/cn.ts","../src/utils/styles.ts","../src/components/eui/EUIProvider.tsx","../src/components/eui/resolveGlobalConfigs.tsx","../src/components/data-entry/button/base/Button.config.ts","../src/data/styles.tsx","../src/components/data-entry/button/base/Button.styles.ts","../src/components/data-entry/button/native/Button.native.styles.ts","../src/components/data-entry/button/native/Button.native.tsx","../src/components/data-entry/checkbox/base/Checkbox.config.ts","../src/components/data-entry/checkbox/base/Checkbox.styles.ts","../src/components/data-entry/checkbox/native/Checkbox.native.styles.ts","../src/components/data-entry/checkbox/native/Checkbox.native.tsx","../src/components/data-entry/input/input-label/base/InputLabel.styles.ts","../src/components/data-entry/input/input-label/native/InputLabel.native.tsx","../src/components/data-entry/input/input-response/base/InputResponse.styles.ts","../src/components/data-entry/input/input-response/native/InputResponse.native.tsx","../src/components/data-entry/input/input/base/Input.config.ts","../src/components/data-entry/input/input/base/Input.styles.ts","../src/components/data-entry/input/input/native/Input.native.styles.ts","../src/components/data-entry/input/input/native/Input.native.tsx"],"names":["jsx","Text","jsxs","View","Pressable","useState","Animated","useField","useRef","useEffect","Easing"],"mappings":"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","file":"index.native.mjs","sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { ClassValue } from \"clsx\";\r\nimport clsx from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import { Appearance, Variant } from \"../types\";\r\n\r\ninterface ResolveAppearanceStylesProps<T> {\r\n appearance?: Appearance;\r\n variant: Variant;\r\n solid: Record<Variant, T>;\r\n lite: Record<Variant, T>;\r\n ghost: Record<Variant, T>;\r\n}\r\n\r\nexport function resolveAppearanceStyles<T = string>({\r\n appearance = \"solid\",\r\n variant = \"default\",\r\n solid,\r\n lite,\r\n ghost,\r\n}: ResolveAppearanceStylesProps<T>): T {\r\n switch (appearance) {\r\n case \"ghost\":\r\n return ghost[variant];\r\n\r\n case \"lite\":\r\n return lite[variant];\r\n\r\n default:\r\n return solid[variant];\r\n }\r\n}\r\n","import React, { createContext, useContext, useState } from \"react\";\r\nimport { EUIConfigs } from \"./EUITypes\";\r\n\r\ninterface EUIContextValue {\r\n config: EUIConfigs;\r\n setConfig: React.Dispatch<React.SetStateAction<EUIConfigs>>;\r\n}\r\n\r\nconst EUIContext = createContext<EUIContextValue | null>(null);\r\n\r\nexport const EUIProvider = ({\r\n config,\r\n children,\r\n}: {\r\n config: EUIConfigs;\r\n children: React.ReactNode;\r\n}) => {\r\n const [state, setState] = useState<EUIConfigs>(config);\r\n\r\n return (\r\n <EUIContext.Provider value={{ config: state, setConfig: setState }}>\r\n {children}\r\n </EUIContext.Provider>\r\n );\r\n};\r\n\r\nexport const useEUIConfig = () => {\r\n const ctx = useContext(EUIContext);\r\n if (!ctx) {\r\n throw new Error(\"useEUIConfig must be used inside EUIProvider\");\r\n }\r\n return ctx;\r\n};\r\n","import { EUIConfigs } from \"./EUITypes\";\r\n\r\nexport function resolveWithGlobal<T>(\r\n config: EUIConfigs | null,\r\n props: T,\r\n defaults: Partial<T>,\r\n): T {\r\n return {\r\n ...defaults,\r\n ...(config?.global ?? {}),\r\n ...props,\r\n } as T;\r\n}\r\n","import { useEUIConfig } from \"../../../eui\";\r\n\r\nimport type { Appearance, Shape, Size, Variant } from \"../../../../types\";\r\nimport type { ButtonMode, ButtonProps } from \"./Button.types\";\r\n\r\nexport const buttonModeAppearance: Record<ButtonMode, Appearance> = {\r\n contained: \"solid\",\r\n \"contained-tonal\": \"lite\",\r\n outlined: \"ghost\",\r\n text: \"ghost\",\r\n};\r\n\r\nexport interface ResolvedButtonConfig {\r\n shape: Shape;\r\n size: Size;\r\n variant: Variant;\r\n appearance: Appearance;\r\n}\r\n\r\nexport function useResolvedButtonConfig({\r\n compact = false,\r\n mode,\r\n variant,\r\n appearance,\r\n shape,\r\n size,\r\n}: Pick<\r\n ButtonProps,\r\n \"compact\" | \"mode\" | \"variant\" | \"appearance\" | \"shape\" | \"size\"\r\n>): ResolvedButtonConfig {\r\n const eui = useEUIConfig();\r\n const configuredSize = size ?? eui?.config?.global?.size ?? \"md\";\r\n\r\n return {\r\n shape: shape ?? eui?.config?.global?.shape ?? \"square\",\r\n size: compact && configuredSize === \"md\" ? \"sm\" : configuredSize,\r\n variant: variant ?? eui?.config?.global?.variant ?? \"success\",\r\n appearance: appearance ?? (mode ? buttonModeAppearance[mode] : \"solid\"),\r\n };\r\n}\r\n","import {\n Decoration,\n Shape,\n Target,\n ToastPosition,\n ToastStatus,\n Variant,\n} from \"./enums\";\n\nexport const variantsSolid: Record<Variant, string> = {\n [Variant.default]:\n \"bg-gray-300 text-gray-900 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-100 dark:hover:bg-gray-600\",\n [Variant.primary]: \"bg-eui-primary-500 text-white hover:bg-eui-primary-600\",\n [Variant.secondary]:\n \"bg-eui-secondary-500 text-white hover:bg-eui-secondary-600\",\n [Variant.success]: \"bg-eui-success-500 text-white hover:bg-eui-success-600\",\n [Variant.danger]: \"bg-eui-danger-500 text-white hover:bg-eui-danger-600\",\n [Variant.warning]: \"bg-eui-warning-500 text-black hover:bg-eui-warning-400\",\n [Variant.info]: \"bg-eui-info-500 text-white hover:bg-eui-info-600\",\n [Variant.light]:\n \"bg-eui-light-400 text-gray-900 hover:bg-eui-light-300 dark:bg-gray-200 dark:text-gray-900 dark:hover:bg-gray-100\",\n [Variant.dark]:\n \"bg-eui-dark-500 text-white hover:bg-eui-dark-400 dark:bg-eui-dark-400 dark:hover:bg-eui-dark-300\",\n};\n\nexport const variantsLite: Record<Variant, string> = {\n [Variant.default]:\n \"bg-gray-500/10 border border-gray-300 text-gray-700 dark:bg-gray-400/10 dark:border-gray-700 dark:text-gray-200\",\n [Variant.primary]:\n \"bg-eui-primary-500/10 border border-eui-primary-500/30 text-eui-primary-400 dark:text-eui-primary-300\",\n [Variant.secondary]:\n \"bg-eui-secondary-500/10 border border-eui-secondary-500/30 text-eui-secondary-500 dark:text-eui-secondary-400\",\n [Variant.success]:\n \"bg-eui-success-500/10 border border-eui-success-500/30 text-eui-success-500 dark:text-eui-success-400\",\n [Variant.danger]:\n \"bg-eui-danger-500/10 border border-eui-danger-500/30 text-eui-danger-500 dark:text-eui-danger-400\",\n [Variant.warning]:\n \"bg-eui-warning-500/10 border border-eui-warning-500/30 text-eui-warning-600 dark:text-eui-warning-400\",\n [Variant.info]:\n \"bg-eui-info-500/10 border border-eui-info-500/30 text-eui-info-500 dark:text-eui-info-400\",\n [Variant.light]:\n \"bg-white/40 border border-white/30 text-gray-800 dark:bg-white/10 dark:border-white/10 dark:text-gray-100\",\n [Variant.dark]:\n \"bg-eui-dark-500/10 border border-eui-dark-500/30 text-eui-dark-500 dark:text-eui-dark-300\",\n};\n\nexport const variantsGhost: Record<Variant, string> = {\n [Variant.default]:\n \"bg-transparent border border-gray-300 text-gray-700 hover:bg-gray-100 dark:border-gray-700 dark:text-gray-200 dark:hover:bg-gray-800\",\n [Variant.primary]:\n \"bg-transparent border border-eui-primary-500 text-eui-primary-500 hover:bg-eui-primary-500/10 dark:text-eui-primary-300 dark:border-eui-primary-400\",\n [Variant.secondary]:\n \"bg-transparent border border-eui-secondary-500 text-eui-secondary-500 hover:bg-eui-secondary-500/10 dark:text-eui-secondary-400 dark:border-eui-secondary-400\",\n [Variant.success]:\n \"bg-transparent border border-eui-success-500 text-eui-success-500 hover:bg-eui-success-500/10 dark:text-eui-success-400 dark:border-eui-success-400\",\n [Variant.danger]:\n \"bg-transparent border border-eui-danger-500 text-eui-danger-500 hover:bg-eui-danger-500/10 dark:text-eui-danger-400 dark:border-eui-danger-400\",\n [Variant.warning]:\n \"bg-transparent border border-eui-warning-500 text-eui-warning-600 hover:bg-eui-warning-500/10 dark:text-eui-warning-400 dark:border-eui-warning-400\",\n [Variant.info]:\n \"bg-transparent border border-eui-info-500 text-eui-info-500 hover:bg-eui-info-500/10 dark:text-eui-info-400 dark:border-eui-info-400\",\n [Variant.light]:\n \"bg-transparent border border-gray-300 text-gray-700 hover:bg-white/10 dark:border-gray-500 dark:text-gray-100 dark:hover:bg-white/5\",\n [Variant.dark]:\n \"bg-transparent border border-eui-dark-500 text-eui-dark-500 hover:bg-eui-dark-500/10 dark:text-eui-dark-300 dark:border-eui-dark-300\",\n};\n\nexport const textVariants: Record<Variant, string> = {\n [Variant.default]: \"eui-text-md\",\n [Variant.primary]: \"text-blue-500\",\n [Variant.secondary]: \"text-gray-500\",\n [Variant.success]: \"text-green-500\",\n [Variant.danger]: \"text-red-500\",\n [Variant.warning]: \"text-yellow-500\",\n [Variant.info]: \"text-blue-400\",\n [Variant.light]: \"text-gray-300\",\n [Variant.dark]: \"text-gray-900\",\n};\n\nexport const borderVariants: Record<Variant, string> = {\n [Variant.default]: \"border-gray-300\",\n [Variant.primary]: \"border-eui-primary-500\",\n [Variant.secondary]: \"border-eui-secondary-500\",\n [Variant.success]: \"border-eui-success-500\",\n [Variant.danger]: \"border-eui-danger-500\",\n [Variant.warning]: \"border-eui-warning-500\",\n [Variant.info]: \"border-eui-info-500\",\n [Variant.light]: \"border-eui-light-500\",\n [Variant.dark]: \"border-eui-dark-500\",\n};\n\nexport const decorations: Record<Decoration, string> = {\n [Decoration.underline]: \"underline\",\n [Decoration.overline]: \"overline\",\n [Decoration.lineThrough]: \"line-through\",\n [Decoration.noUnderline]: \"no-underline\",\n};\n\nexport const targets: Record<Target, string> = {\n [Target.blank]: \"_blank\",\n [Target.self]: \"_self\",\n [Target.parent]: \"_parent\",\n [Target.top]: \"_top\",\n};\n\nexport const shapes: Record<Shape, string> = {\n [Shape.square]: \"rounded-none\",\n [Shape.roundedSquare]: \"rounded-md\",\n [Shape.softRoundedSquare]: \"rounded-lg\",\n [Shape.circle]: \"rounded-full\",\n};\n\nexport const cardBorderVariants: Record<Variant, string> = {\n [Variant.default]: \"border-white/10\",\n [Variant.primary]: \"border-eui-primary-500/30\",\n [Variant.secondary]: \"border-eui-secondary-500/30\",\n [Variant.success]: \"border-eui-success-500/30\",\n [Variant.danger]: \"border-eui-danger-500/30\",\n [Variant.warning]: \"border-eui-warning-500/30\",\n [Variant.info]: \"border-eui-info-500/30\",\n [Variant.light]: \"border-eui-light-500/30\",\n [Variant.dark]: \"border-eui-dark-500/30\",\n};\n\nexport const cardHoverBorderVariants: Record<Variant, string> = {\n [Variant.default]: \"hover:border-white/20\",\n [Variant.primary]: \"hover:border-eui-primary-500\",\n [Variant.secondary]: \"hover:border-eui-secondary-500\",\n [Variant.success]: \"hover:border-eui-success-500\",\n [Variant.danger]: \"hover:border-eui-danger-500\",\n [Variant.warning]: \"hover:border-eui-warning-500\",\n [Variant.info]: \"hover:border-eui-info-500\",\n [Variant.light]: \"hover:border-eui-light-500\",\n [Variant.dark]: \"hover:border-eui-dark-500\",\n};\n\nexport const cardBgVariants: Record<Variant, string> = {\n [Variant.default]: \"bg-white/5\",\n [Variant.primary]: \"bg-eui-primary-500/10\",\n [Variant.secondary]: \"bg-eui-secondary-500/10\",\n [Variant.success]: \"bg-eui-success-500/10\",\n [Variant.danger]: \"bg-eui-danger-500/10\",\n [Variant.warning]: \"bg-eui-warning-500/10\",\n [Variant.info]: \"bg-eui-info-500/10\",\n [Variant.light]: \"bg-eui-light-500/10\",\n [Variant.dark]: \"bg-eui-dark-500/20\",\n};\n\nexport const toastPositionStyles: Record<ToastPosition, string> = {\n [ToastPosition.topLeft]: \"top-4 left-4 items-start\",\n [ToastPosition.topCenter]: \"top-4 left-1/2 -translate-x-1/2 items-center\",\n [ToastPosition.topRight]: \"top-4 right-4 items-end\",\n\n [ToastPosition.bottomLeft]: \"bottom-4 left-4 items-start\",\n [ToastPosition.bottomCenter]:\n \"bottom-4 left-1/2 -translate-x-1/2 items-center\",\n [ToastPosition.bottomRight]: \"bottom-4 right-4 items-end\",\n};\n\nexport type ToastDisplayVariant =\n | Variant.default\n | Variant.success\n | Variant.warning\n | Variant.danger\n | Variant.info;\n\nexport interface ToastVariantStyle {\n root: string;\n icon: string;\n progress: string;\n title: string;\n message: string;\n}\n\nexport const toastStatusVariantMap: Record<ToastStatus, ToastDisplayVariant> = {\n [ToastStatus.default]: Variant.default,\n [ToastStatus.success]: Variant.success,\n [ToastStatus.warning]: Variant.warning,\n [ToastStatus.error]: Variant.danger,\n [ToastStatus.danger]: Variant.danger,\n [ToastStatus.info]: Variant.info,\n};\n\nexport const toastVariantStyles: Record<\n ToastDisplayVariant,\n ToastVariantStyle\n> = {\n [Variant.default]: {\n root: \"border-gray-200 bg-white text-gray-900 shadow-xl dark:border-gray-700 dark:bg-gray-900 dark:text-white\",\n icon: \"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-200\",\n progress: \"bg-gray-500\",\n title: \"text-gray-950 dark:text-white\",\n message: \"text-gray-600 dark:text-gray-300\",\n },\n\n [Variant.success]: {\n root: \"border-eui-success-500/30 bg-eui-success-500/10 text-eui-success-700 shadow-xl dark:border-eui-success-400/40 dark:bg-eui-success-500/15 dark:text-eui-success-300\",\n icon: \"bg-eui-success-500/15 text-eui-success-600 dark:bg-eui-success-500/20 dark:text-eui-success-300\",\n progress: \"bg-eui-success-500\",\n title: \"text-eui-success-700 dark:text-eui-success-300\",\n message: \"text-eui-success-600 dark:text-eui-success-300/80\",\n },\n\n [Variant.warning]: {\n root: \"border-eui-warning-500/30 bg-eui-warning-500/10 text-eui-warning-700 shadow-xl dark:border-eui-warning-400/40 dark:bg-eui-warning-500/15 dark:text-eui-warning-300\",\n icon: \"bg-eui-warning-500/15 text-eui-warning-600 dark:bg-eui-warning-500/20 dark:text-eui-warning-300\",\n progress: \"bg-eui-warning-500\",\n title: \"text-eui-warning-700 dark:text-eui-warning-300\",\n message: \"text-eui-warning-600 dark:text-eui-warning-300/80\",\n },\n\n [Variant.danger]: {\n root: \"border-eui-danger-500/30 bg-eui-danger-500/10 text-eui-danger-700 shadow-xl dark:border-eui-danger-400/40 dark:bg-eui-danger-500/15 dark:text-eui-danger-300\",\n icon: \"bg-eui-danger-500/15 text-eui-danger-600 dark:bg-eui-danger-500/20 dark:text-eui-danger-300\",\n progress: \"bg-eui-danger-500\",\n title: \"text-eui-danger-700 dark:text-eui-danger-300\",\n message: \"text-eui-danger-600 dark:text-eui-danger-300/80\",\n },\n\n [Variant.info]: {\n root: \"border-eui-info-500/30 bg-eui-info-500/10 text-eui-info-700 shadow-xl dark:border-eui-info-400/40 dark:bg-eui-info-500/15 dark:text-eui-info-300\",\n icon: \"bg-eui-info-500/15 text-eui-info-600 dark:bg-eui-info-500/20 dark:text-eui-info-300\",\n progress: \"bg-eui-info-500\",\n title: \"text-eui-info-700 dark:text-eui-info-300\",\n message: \"text-eui-info-600 dark:text-eui-info-300/80\",\n },\n};\n\nexport const toastShapeStyles: Record<Shape, string> = {\n [Shape.circle]: \"!rounded-3xl\",\n [Shape.roundedSquare]: \"!rounded-lg\",\n [Shape.softRoundedSquare]: \"!rounded-3xl\",\n [Shape.square]: \"!rounded-none\",\n};\n","import {\n shapes,\n variantsGhost,\n variantsLite,\n variantsSolid,\n} from \"../../../../data/styles\";\nimport type { Shape, Size } from \"../../../../types\";\nimport { resolveAppearanceStyles } from \"../../../../utils\";\nimport type { ResolvedButtonConfig } from \"./Button.config\";\n\nexport const buttonShapes: Record<Shape, string> = shapes;\n\nexport const buttonIconSizes: Record<Size, number> = {\n xs: 14,\n sm: 16,\n md: 18,\n lg: 20,\n xl: 22,\n};\n\nexport function resolveButtonVariantStyles({\n appearance,\n variant,\n}: Pick<ResolvedButtonConfig, \"appearance\" | \"variant\">): string {\n return resolveAppearanceStyles({\n appearance,\n variant,\n solid: variantsSolid,\n lite: variantsLite,\n ghost: variantsGhost,\n });\n}\n\nexport function getButtonLabelColorClassName(className: string): string {\n return className\n .split(/\\s+/)\n .filter(\n (token) =>\n token.startsWith(\"text-\") ||\n token.startsWith(\"dark:text-\") ||\n token.startsWith(\"disabled:text-\"),\n )\n .join(\" \");\n}\n","import type { Size } from \"../../../../types\";\r\n\r\nexport interface NativeButtonSizeStyles {\r\n rootClassName: string;\r\n labelClassName: string;\r\n slotClassName: string;\r\n}\r\n\r\nexport const nativeButtonSizes: Record<Size, NativeButtonSizeStyles> = {\r\n xs: {\r\n rootClassName: \"min-h-[30px] px-2.5 py-1\",\r\n labelClassName: \"text-xs leading-[14px]\",\r\n slotClassName: \"h-[14px] w-[14px]\",\r\n },\r\n sm: {\r\n rootClassName: \"min-h-9 px-3 py-1.5\",\r\n labelClassName: \"text-sm leading-4\",\r\n slotClassName: \"h-4 w-4\",\r\n },\r\n md: {\r\n rootClassName: \"min-h-11 px-4 py-2\",\r\n labelClassName: \"text-[15px] leading-[18px]\",\r\n slotClassName: \"h-[18px] w-[18px]\",\r\n },\r\n lg: {\r\n rootClassName: \"min-h-[50px] px-[18px] py-3\",\r\n labelClassName: \"text-[17px] leading-5\",\r\n slotClassName: \"h-5 w-5\",\r\n },\r\n xl: {\r\n rootClassName: \"min-h-14 px-[22px] py-4\",\r\n labelClassName: \"text-[19px] leading-[22px]\",\r\n slotClassName: \"h-[22px] w-[22px]\",\r\n },\r\n};\r\n","/** @jsxImportSource nativewind */\n// External\nimport { ActivityIndicator, Pressable, Text, View } from \"react-native\";\n\n// Internal\nimport { cn } from \"../../../../utils\";\nimport {\n getButtonLabelColorClassName,\n resolveButtonVariantStyles,\n useResolvedButtonConfig,\n} from \"../base\";\n\n// Types\nimport type { ButtonProps } from \"../base\";\n\n// Data\nimport { buttonIconSizes, buttonShapes } from \"../base\";\nimport { nativeButtonSizes } from \"./Button.native.styles\";\n\nconst nativeLabelBaseStyle = {\n includeFontPadding: false,\n textAlignVertical: \"center\",\n} as const;\n\nfunction Button({\n icon,\n text,\n children,\n loading = false,\n disabled = false,\n block = false,\n compact = false,\n mode,\n contentClassName,\n labelClassName,\n className,\n variant,\n appearance,\n shape,\n size,\n accessibilityRole = \"button\",\n accessibilityState,\n type: _type,\n onClick: _onClick,\n onMouseMove: _onMouseMove,\n onPress,\n ...rest\n}: ButtonProps) {\n const {\n shape: resolvedShape,\n size: resolvedSize,\n variant: resolvedVariant,\n appearance: resolvedAppearance,\n } = useResolvedButtonConfig({\n compact,\n mode,\n variant,\n appearance,\n shape,\n size,\n });\n\n const metrics = nativeButtonSizes[resolvedSize];\n const iconSize = buttonIconSizes[resolvedSize];\n const variantStyles = resolveButtonVariantStyles({\n appearance: resolvedAppearance,\n variant: resolvedVariant,\n });\n const labelColorClassName = getButtonLabelColorClassName(variantStyles);\n const content = text ?? children;\n const resolvedIcon =\n typeof icon === \"function\"\n ? icon({ color: \"currentColor\", size: iconSize })\n : icon;\n\n return (\n <Pressable\n {...rest}\n accessibilityRole={accessibilityRole}\n accessibilityState={{\n disabled: disabled || loading,\n ...(accessibilityState as object),\n }}\n className={cn(\n \"relative items-center justify-center overflow-hidden\",\n variantStyles,\n buttonShapes[resolvedShape],\n metrics.rootClassName,\n block && \"w-full\",\n mode === \"text\" && \"border-transparent bg-transparent\",\n (disabled || loading) && \"opacity-55\",\n !disabled && !loading && \"active:opacity-80\",\n className,\n )}\n disabled={disabled || loading}\n onPress={onPress}\n style={({ pressed }: { pressed: boolean }) => [\n pressed && !disabled && !loading ? { opacity: 0.82 } : null,\n disabled || loading ? { opacity: 0.55 } : null,\n ]}\n >\n <View\n className={cn(\n \"z-10 flex-row items-center justify-center gap-2\",\n contentClassName,\n )}\n >\n {loading ? (\n <View\n className={cn(\n \"shrink-0 items-center justify-center\",\n metrics.slotClassName,\n )}\n >\n <ActivityIndicator className={labelColorClassName} size=\"small\" />\n </View>\n ) : null}\n {!loading && resolvedIcon ? (\n <View\n className={cn(\n \"shrink-0 items-center justify-center\",\n metrics.slotClassName,\n )}\n >\n {resolvedIcon}\n </View>\n ) : null}\n {typeof content === \"string\" || typeof content === \"number\" ? (\n <View className=\"items-center justify-center\">\n <Text\n className={cn(\n \"font-bold\",\n metrics.labelClassName,\n labelColorClassName,\n labelClassName,\n )}\n numberOfLines={1}\n style={nativeLabelBaseStyle}\n >\n {content}\n </Text>\n </View>\n ) : (\n content\n )}\n </View>\n </Pressable>\n );\n}\n\nexport default Button;\n","import {\r\n useField,\r\n type FieldHelperProps,\r\n type FieldHookConfig,\r\n type FieldInputProps,\r\n type FieldMetaProps,\r\n} from \"formik\";\r\n\r\nimport { useEUIConfig } from \"../../../eui\";\r\n\r\nimport type { Shape, Variant } from \"../../../../types\";\r\nimport type {\r\n CheckboxOption,\r\n CheckboxProps,\r\n FormikCheckboxProps,\r\n} from \"./Checkbox.types\";\r\n\r\nexport interface ResolvedCheckboxConfig {\r\n shape: Shape;\r\n variant: Variant;\r\n label?: string;\r\n}\r\n\r\nexport interface CheckboxFieldState {\r\n isMulti: boolean;\r\n multiField: FieldInputProps<string[]>;\r\n multiMeta: FieldMetaProps<string[]>;\r\n multiHelpers: FieldHelperProps<string[]>;\r\n singleField: FieldInputProps<boolean>;\r\n singleMeta: FieldMetaProps<boolean>;\r\n singleHelpers: FieldHelperProps<boolean>;\r\n}\r\n\r\nexport function isMultiCheckbox(\r\n props: CheckboxProps,\r\n): props is Extract<CheckboxProps, { options: CheckboxOption[] }> {\r\n return Array.isArray(props.options);\r\n}\r\n\r\nexport function useResolvedCheckboxConfig({\r\n label,\r\n placeholder,\r\n variant,\r\n shape,\r\n}: Pick<CheckboxProps, \"label\" | \"placeholder\" | \"variant\" | \"shape\">): ResolvedCheckboxConfig {\r\n const eui = useEUIConfig();\r\n\r\n return {\r\n shape: shape ?? eui?.config?.global?.shape ?? \"roundedSquare\",\r\n variant: variant ?? \"secondary\",\r\n label: label ?? placeholder,\r\n };\r\n}\r\n\r\nexport function useCheckboxFieldState(\r\n props: FormikCheckboxProps,\r\n): CheckboxFieldState {\r\n const isMulti = isMultiCheckbox(props);\r\n const [multiField, multiMeta, multiHelpers] = useField<string[]>(\r\n props as FieldHookConfig<string[]>,\r\n );\r\n const [singleField, singleMeta, singleHelpers] = useField<boolean>(\r\n props as FieldHookConfig<boolean>,\r\n );\r\n\r\n return {\r\n isMulti,\r\n multiField,\r\n multiMeta,\r\n multiHelpers,\r\n singleField,\r\n singleMeta,\r\n singleHelpers,\r\n };\r\n}\r\n","import { shapes } from \"../../../../data/styles\";\r\n\r\nexport const checkboxShapes = shapes;\r\n\r\nexport const checkboxGroupClassName = \"flex flex-col gap-2\";\r\nexport const checkboxOptionRowClassName = \"flex flex-row items-start gap-3\";\r\nexport const checkboxLabelClassName =\r\n \"cursor-pointer select-none text-sm leading-relaxed text-gray-800 dark:text-gray-200\";\r\nexport const checkboxIndicatorBaseClassName =\r\n \"relative h-5 w-5 min-h-[1.25rem] min-w-[1.25rem] shrink-0 appearance-none border-2 border-gray-300 bg-white transition-all duration-300 hover:border-gray-400 focus:outline-none focus:ring-2 focus:ring-eui-primary-500/30 dark:border-neutral-600 dark:bg-neutral-900 dark:hover:border-neutral-500\";\r\nexport const checkboxIndicatorDisabledClassName =\r\n \"cursor-not-allowed opacity-50\";\r\n","import type { Variant } from \"../../../../types\";\r\n\r\nexport interface NativeCheckboxVariantStyles {\r\n checkedClassName: string;\r\n iconClassName: string;\r\n}\r\n\r\nexport const nativeCheckboxVariants: Record<\r\n Variant,\r\n NativeCheckboxVariantStyles\r\n> = {\r\n default: {\r\n checkedClassName:\r\n \"border-eui-secondary-600 bg-eui-secondary-600 dark:border-eui-secondary-500 dark:bg-eui-secondary-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n primary: {\r\n checkedClassName:\r\n \"border-eui-primary-600 bg-eui-primary-600 dark:border-eui-primary-500 dark:bg-eui-primary-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n secondary: {\r\n checkedClassName:\r\n \"border-eui-secondary-600 bg-eui-secondary-600 dark:border-eui-secondary-500 dark:bg-eui-secondary-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n success: {\r\n checkedClassName:\r\n \"border-eui-success-600 bg-eui-success-600 dark:border-eui-success-500 dark:bg-eui-success-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n danger: {\r\n checkedClassName:\r\n \"border-eui-danger-600 bg-eui-danger-600 dark:border-eui-danger-500 dark:bg-eui-danger-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n warning: {\r\n checkedClassName:\r\n \"border-eui-warning-500 bg-eui-warning-500 dark:border-eui-warning-400 dark:bg-eui-warning-400\",\r\n iconClassName: \"text-black\",\r\n },\r\n info: {\r\n checkedClassName:\r\n \"border-eui-info-600 bg-eui-info-600 dark:border-eui-info-500 dark:bg-eui-info-500\",\r\n iconClassName: \"text-white\",\r\n },\r\n light: {\r\n checkedClassName:\r\n \"border-eui-light-400 bg-eui-light-400 dark:border-gray-200 dark:bg-gray-200\",\r\n iconClassName: \"text-gray-900\",\r\n },\r\n dark: {\r\n checkedClassName:\r\n \"border-eui-dark-500 bg-eui-dark-500 dark:border-eui-dark-300 dark:bg-eui-dark-300\",\r\n iconClassName: \"text-white\",\r\n },\r\n};\r\n\r\nexport function resolveNativeCheckboxVariantStyles(variant: Variant) {\r\n return nativeCheckboxVariants[variant];\r\n}\r\n","/** @jsxImportSource nativewind */\r\n// External\r\nimport { Pressable, Text, View } from \"react-native\";\r\n\r\n// Internal\r\nimport { cn } from \"../../../../utils\";\r\nimport {\r\n checkboxGroupClassName,\r\n checkboxIndicatorDisabledClassName,\r\n checkboxLabelClassName,\r\n checkboxOptionRowClassName,\r\n checkboxShapes,\r\n isMultiCheckbox,\r\n useCheckboxFieldState,\r\n useResolvedCheckboxConfig,\r\n} from \"../base\";\r\nimport { resolveNativeCheckboxVariantStyles } from \"./Checkbox.native.styles\";\r\n\r\n// Types\r\nimport type { CheckboxProps } from \"../base\";\r\nimport type { Shape } from \"../../../../types\";\r\n\r\nfunction getIndicatorClassName({\r\n checked,\r\n className,\r\n disabled,\r\n indicatorClassName,\r\n checkedIndicatorClassName,\r\n resolvedShape,\r\n variantCheckedClassName,\r\n}: {\r\n checked: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n indicatorClassName?: string;\r\n checkedIndicatorClassName?: string;\r\n resolvedShape: Shape;\r\n variantCheckedClassName: string;\r\n}) {\r\n return cn(\r\n \"h-5 w-5 shrink-0 items-center justify-center border-2 border-gray-300 bg-white dark:border-neutral-600 dark:bg-neutral-900\",\r\n checkboxShapes[resolvedShape],\r\n indicatorClassName,\r\n className,\r\n checked && variantCheckedClassName,\r\n checked && checkedIndicatorClassName,\r\n disabled && checkboxIndicatorDisabledClassName,\r\n );\r\n}\r\n\r\nfunction Tick({\r\n checkedIconClassName,\r\n iconClassName,\r\n}: {\r\n checkedIconClassName?: string;\r\n iconClassName: string;\r\n}) {\r\n return (\r\n <Text\r\n className={cn(\r\n \"text-sm font-bold leading-none\",\r\n iconClassName,\r\n checkedIconClassName,\r\n )}\r\n >\r\n ✓\r\n </Text>\r\n );\r\n}\r\n\r\nfunction Checkbox(checkboxProps: CheckboxProps) {\r\n const {\r\n label,\r\n placeholder,\r\n variant,\r\n shape,\r\n disabled = false,\r\n className,\r\n groupClassName,\r\n optionClassName,\r\n indicatorClassName,\r\n checkedIndicatorClassName,\r\n checkedIconClassName,\r\n labelClassName,\r\n } = checkboxProps;\r\n const { shape: resolvedShape, variant: resolvedVariant, label: resolvedLabel } =\r\n useResolvedCheckboxConfig({\r\n label,\r\n placeholder,\r\n variant,\r\n shape,\r\n });\r\n const {\r\n isMulti,\r\n multiField,\r\n multiMeta,\r\n multiHelpers,\r\n singleField,\r\n singleMeta,\r\n singleHelpers,\r\n } = useCheckboxFieldState(checkboxProps);\r\n const variantStyles = resolveNativeCheckboxVariantStyles(resolvedVariant);\r\n const activeMeta = isMulti ? multiMeta : singleMeta;\r\n const multiProps = isMultiCheckbox(checkboxProps) ? checkboxProps : null;\r\n const singleChecked = singleField.value;\r\n const errorText =\r\n activeMeta.touched && typeof activeMeta.error === \"string\"\r\n ? activeMeta.error\r\n : null;\r\n\r\n return (\r\n <View className={cn(checkboxGroupClassName, groupClassName)}>\r\n {!isMulti && (\r\n <Pressable\r\n accessibilityRole=\"checkbox\"\r\n accessibilityState={{\r\n checked: singleChecked,\r\n disabled,\r\n }}\r\n className={cn(checkboxOptionRowClassName, optionClassName)}\r\n disabled={disabled}\r\n onPress={() => singleHelpers.setValue(!singleChecked)}\r\n >\r\n <View\r\n className={getIndicatorClassName({\r\n checked: singleChecked,\r\n className,\r\n disabled,\r\n indicatorClassName,\r\n checkedIndicatorClassName,\r\n resolvedShape,\r\n variantCheckedClassName: variantStyles.checkedClassName,\r\n })}\r\n >\r\n {singleChecked ? (\r\n <Tick\r\n checkedIconClassName={checkedIconClassName}\r\n iconClassName={variantStyles.iconClassName}\r\n />\r\n ) : null}\r\n </View>\r\n\r\n {resolvedLabel ? (\r\n <Text className={cn(checkboxLabelClassName, labelClassName)}>\r\n {resolvedLabel}\r\n </Text>\r\n ) : null}\r\n </Pressable>\r\n )}\r\n\r\n {isMulti &&\r\n multiProps?.options.map((option) => {\r\n const values = multiField.value ?? [];\r\n const checked = values.includes(option.value);\r\n const optionDisabled = disabled || option.disabled === true;\r\n\r\n return (\r\n <Pressable\r\n key={option.value}\r\n accessibilityRole=\"checkbox\"\r\n accessibilityState={{\r\n checked,\r\n disabled: optionDisabled,\r\n }}\r\n className={cn(checkboxOptionRowClassName, optionClassName)}\r\n disabled={optionDisabled}\r\n onPress={() =>\r\n multiHelpers.setValue(\r\n checked\r\n ? values.filter((value) => value !== option.value)\r\n : [...values, option.value],\r\n )\r\n }\r\n >\r\n <View\r\n className={getIndicatorClassName({\r\n checked,\r\n className,\r\n disabled: optionDisabled,\r\n indicatorClassName,\r\n checkedIndicatorClassName,\r\n resolvedShape,\r\n variantCheckedClassName: variantStyles.checkedClassName,\r\n })}\r\n >\r\n {checked ? (\r\n <Tick\r\n checkedIconClassName={checkedIconClassName}\r\n iconClassName={variantStyles.iconClassName}\r\n />\r\n ) : null}\r\n </View>\r\n\r\n <Text\r\n className={cn(\r\n checkboxLabelClassName,\r\n optionDisabled && \"opacity-60\",\r\n labelClassName,\r\n )}\r\n >\r\n {option.label}\r\n </Text>\r\n </Pressable>\r\n );\r\n })}\r\n\r\n {errorText ? (\r\n <Text className=\"px-2 py-1 text-sm font-medium text-eui-danger-500\">\r\n {errorText}\r\n </Text>\r\n ) : null}\r\n </View>\r\n );\r\n}\r\n\r\nexport { Checkbox };\r\nexport default Checkbox;\r\n","export const inputLabelStaticClassName =\n \"pointer-events-none select-none px-0 text-[13.5px] leading-none text-[#6B7280]\";\nexport const inputLabelBaseClassName =\n \"pointer-events-none absolute left-3 z-10 select-none bg-white/95 px-1 font-medium leading-none dark:bg-eui-dark-800\";\nexport const inputLabelTransitionClassName =\n \"transition-all duration-200 ease-out\";\nexport const inputLabelRestingClassName =\n \"top-[18px] translate-y-0 text-base leading-none text-[#6B7280]\";\nexport const inputLabelFloatingClassName =\n \"top-1.5 translate-y-0 text-xs leading-none text-[#6B7280]\";\nexport const inputLabelErrorClassName = \"text-[#6B7280]\";\nexport const inputLabelDisabledClassName = \"opacity-60\";\n\nexport const nativeInputLabelColors = {\n default: \"#6B7280\",\n disabled: \"#9CA3AF\",\n} as const;\n\nexport const nativeInputLabelStyle = {\n left: 12,\n position: \"absolute\",\n zIndex: 10,\n} as const;\n\nexport const nativeInputLabelMetrics = {\n floatingFontSize: 12,\n floatingTop: 6,\n restingFontSize: 16,\n restingTop: 18,\n} as const;\n","/** @jsxImportSource nativewind */\n// External\nimport { Animated } from \"react-native\";\n\n// Internal\nimport { cn } from \"../../../../../utils\";\nimport {\n inputLabelBaseClassName,\n inputLabelDisabledClassName,\n inputLabelErrorClassName,\n inputLabelStaticClassName,\n nativeInputLabelColors,\n nativeInputLabelStyle,\n nativeInputLabelMetrics,\n} from \"../base\";\n\n// Types\nimport type { InputLabelProps } from \"../base\";\n\nfunction getLabelColor({ disabled }: Pick<InputLabelProps, \"disabled\">) {\n if (disabled) {\n return nativeInputLabelColors.disabled;\n }\n\n return nativeInputLabelColors.default;\n}\n\nfunction InputLabel({\n text,\n children,\n className,\n floating,\n errored = false,\n disabled = false,\n animatedValue,\n}: InputLabelProps) {\n const isFloatingLabel = typeof floating === \"boolean\";\n const progress = animatedValue as\n | {\n interpolate: (config: {\n inputRange: number[];\n outputRange: Array<number | string>;\n }) => unknown;\n }\n | undefined;\n const animatedStyle = progress\n ? {\n fontSize: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [\n nativeInputLabelMetrics.restingFontSize,\n nativeInputLabelMetrics.floatingFontSize,\n ],\n }),\n lineHeight: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [\n nativeInputLabelMetrics.restingFontSize,\n nativeInputLabelMetrics.floatingFontSize,\n ],\n }),\n top: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [\n nativeInputLabelMetrics.restingTop,\n nativeInputLabelMetrics.floatingTop,\n ],\n }),\n }\n : {\n fontSize:\n floating === true\n ? nativeInputLabelMetrics.floatingFontSize\n : nativeInputLabelMetrics.restingFontSize,\n lineHeight:\n floating === true\n ? nativeInputLabelMetrics.floatingFontSize\n : nativeInputLabelMetrics.restingFontSize,\n top:\n floating === true\n ? nativeInputLabelMetrics.floatingTop\n : nativeInputLabelMetrics.restingTop,\n };\n\n return (\n <Animated.Text\n className={cn(\n isFloatingLabel ? inputLabelBaseClassName : inputLabelStaticClassName,\n isFloatingLabel && \"bg-transparent px-0 dark:bg-transparent\",\n errored && inputLabelErrorClassName,\n disabled && inputLabelDisabledClassName,\n className,\n )}\n style={[\n isFloatingLabel ? nativeInputLabelStyle : null,\n isFloatingLabel ? animatedStyle : null,\n {\n color: getLabelColor({ disabled }),\n includeFontPadding: false,\n },\n ]}\n >\n {text || children}\n </Animated.Text>\n );\n}\n\nexport { InputLabel };\nexport default InputLabel;\n","import { textVariants } from \"../../../../../data/styles\";\n\nimport type { TextVariant } from \"../../../../../data/enums\";\n\nexport const inputResponseBaseClassName = \"px-2 pt-1.5 text-sm font-medium\";\n\nexport const inputResponseVariants: Record<keyof typeof TextVariant, string> =\n textVariants as Record<keyof typeof TextVariant, string>;\n","/** @jsxImportSource nativewind */\n// External\nimport { useEffect, useRef, useState } from \"react\";\nimport { Animated, Easing, Text } from \"react-native\";\nimport { ErrorMessage } from \"formik\";\n\n// Internal\nimport { cn } from \"../../../../../utils\";\nimport { inputResponseBaseClassName, inputResponseVariants } from \"../base\";\n\n// Types\nimport type { InputResponseProps } from \"../base\";\n\nfunction InputResponse({\n name,\n visibility = false,\n variant = \"default\",\n className,\n message,\n}: InputResponseProps) {\n const [mounted, setMounted] = useState(Boolean(visibility));\n const progress = useRef(new Animated.Value(visibility ? 1 : 0)).current;\n\n useEffect(() => {\n if (visibility) {\n setMounted(true);\n }\n\n Animated.timing(progress, {\n duration: visibility ? 180 : 120,\n easing: visibility ? Easing.out(Easing.cubic) : Easing.in(Easing.cubic),\n toValue: visibility ? 1 : 0,\n useNativeDriver: true,\n }).start(() => {\n if (!visibility) {\n setMounted(false);\n }\n });\n }, [progress, visibility]);\n\n if (!mounted) {\n return null;\n }\n\n const animatedStyle = {\n opacity: progress,\n transform: [\n {\n translateY: progress.interpolate({\n inputRange: [0, 1],\n outputRange: [6, 0],\n }),\n },\n ],\n };\n\n const content = message ?? (\n <ErrorMessage name={name}>\n {(errorMessage) => String(errorMessage)}\n </ErrorMessage>\n );\n\n return (\n <Animated.View className=\"w-full\" style={animatedStyle}>\n <Text\n className={cn(\n inputResponseBaseClassName,\n inputResponseVariants[variant],\n className,\n )}\n style={{ includeFontPadding: false }}\n >\n {content}\n </Text>\n </Animated.View>\n );\n}\n\nexport { InputResponse };\nexport default InputResponse;\n","import {\r\n useField,\r\n type FieldHelperProps,\r\n type FieldInputProps,\r\n type FieldMetaProps,\r\n} from \"formik\";\r\n\r\nimport { useEUIConfig } from \"../../../../eui\";\r\n\r\nimport type { Shape } from \"../../../../../types\";\r\nimport type { InputProps, InputType } from \"./Input.types\";\r\n\r\nexport interface ResolvedInputConfig {\r\n shape: Shape;\r\n type: InputType;\r\n label: string;\r\n}\r\n\r\nexport interface InputFieldState {\r\n field: FieldInputProps<string>;\r\n meta: FieldMetaProps<string>;\r\n helpers: FieldHelperProps<string>;\r\n}\r\n\r\nexport function resolveInputType({\r\n passwordVisible,\r\n type,\r\n}: {\r\n passwordVisible: boolean;\r\n type: InputType;\r\n}): InputType {\r\n return type === \"password\" && passwordVisible ? \"text\" : type;\r\n}\r\n\r\nexport function useResolvedInputConfig({\r\n label,\r\n placeholder,\r\n shape,\r\n type = \"text\",\r\n}: Pick<\r\n InputProps,\r\n \"label\" | \"placeholder\" | \"shape\" | \"type\"\r\n>): ResolvedInputConfig {\r\n const eui = useEUIConfig();\r\n\r\n return {\r\n shape: shape ?? eui?.config?.global?.shape ?? \"square\",\r\n type,\r\n label: label ?? placeholder,\r\n };\r\n}\r\n\r\nexport function useInputFieldState(props: InputProps): InputFieldState {\r\n const [field, meta, helpers] = useField<string>(props);\r\n\r\n return {\r\n field,\r\n meta,\r\n helpers,\r\n };\r\n}\r\n","import { shapes } from \"../../../../../data/styles\";\n\nimport type { Shape } from \"../../../../../types\";\n\nexport const inputShapes: Record<Shape, string> = shapes;\n\nexport const inputRootClassName = \"relative w-full\";\nexport const inputFrameClassName =\n \"relative h-14 w-full overflow-hidden border bg-white/95 px-3 dark:bg-eui-dark-800\";\nexport const inputFrameIdleClassName =\n \"border-gray-300 hover:border-gray-400 dark:border-eui-dark-300 dark:hover:border-eui-dark-200\";\nexport const inputFrameActiveClassName = \"border-eui-secondary-600\";\nexport const inputFrameErrorClassName = \"border-eui-danger-500\";\nexport const inputFrameDisabledClassName = \"cursor-not-allowed opacity-60\";\nexport const inputControlClassName =\n \"w-full bg-transparent pt-5 pb-2 text-base font-medium text-gray-950 dark:text-gray-50\";\nexport const inputErrorTextClassName =\n \"px-2 py-1 text-sm font-medium text-eui-danger-500\";\n","export const nativeInputControlClassName = \"h-full\";\nexport const nativePasswordInputClassName = \"pr-16\";\nexport const nativePasswordToggleClassName =\n \"absolute right-3 top-[18px] h-5 items-center justify-center\";\nexport const nativePasswordToggleTextClassName =\n \"text-xs font-semibold text-eui-dark-200\";\n\nexport const nativeInputControlStyle = {\n backgroundColor: \"transparent\",\n borderBottomWidth: 0,\n borderColor: \"transparent\",\n borderWidth: 0,\n includeFontPadding: false,\n outlineColor: \"transparent\",\n outlineStyle: \"none\",\n textAlignVertical: \"center\",\n} as const;\n","/** @jsxImportSource nativewind */\n// External\nimport { useEffect, useRef, useState } from \"react\";\nimport {\n Animated,\n Easing,\n Pressable,\n Text,\n TextInput,\n View,\n} from \"react-native\";\n\n// Internal\nimport { InputLabel } from \"../../input-label/index.native\";\nimport { InputResponse } from \"../../input-response/index.native\";\nimport { cn } from \"../../../../../utils\";\nimport {\n inputControlClassName,\n inputFrameActiveClassName,\n inputFrameClassName,\n inputFrameDisabledClassName,\n inputFrameErrorClassName,\n inputFrameIdleClassName,\n inputRootClassName,\n inputShapes,\n resolveInputType,\n useInputFieldState,\n useResolvedInputConfig,\n} from \"../base\";\nimport {\n nativeInputControlClassName,\n nativeInputControlStyle,\n nativePasswordInputClassName,\n nativePasswordToggleClassName,\n nativePasswordToggleTextClassName,\n} from \"./Input.native.styles\";\n\n// Types\nimport type { InputProps } from \"../base\";\n\nfunction Input(inputProps: InputProps) {\n const {\n type = \"text\",\n label,\n placeholder,\n inputClassName,\n labelClassName,\n responseClassName,\n step: _step,\n shape,\n disabled = false,\n className,\n onBlur,\n onFocus,\n onChange: _onChange,\n ..._props\n } = inputProps;\n const { field, helpers, meta } = useInputFieldState(inputProps);\n const [focused, setFocused] = useState(false);\n const [passwordVisible, setPasswordVisible] = useState(false);\n const labelProgress = useRef(\n new Animated.Value(String(field.value ?? \"\").length > 0 ? 1 : 0),\n ).current;\n const {\n shape: resolvedShape,\n type: resolvedType,\n label: resolvedLabel,\n } = useResolvedInputConfig({\n label,\n placeholder,\n shape,\n type,\n });\n const inputType = resolveInputType({\n passwordVisible,\n type: resolvedType,\n });\n const hasError = Boolean(meta.touched && meta.error);\n const errorText =\n hasError && typeof meta.error === \"string\" ? meta.error : null;\n const hasValue = String(field.value ?? \"\").length > 0;\n const floating = focused || hasValue;\n\n useEffect(() => {\n Animated.timing(labelProgress, {\n duration: 190,\n easing: Easing.out(Easing.cubic),\n toValue: floating ? 1 : 0,\n useNativeDriver: false,\n }).start();\n }, [floating, labelProgress]);\n\n const handleBlur = (event: unknown) => {\n setFocused(false);\n helpers.setTouched(true);\n onBlur?.(event as Parameters<NonNullable<InputProps[\"onBlur\"]>>[0]);\n };\n\n const handleFocus = (event: unknown) => {\n setFocused(true);\n onFocus?.(event as Parameters<NonNullable<InputProps[\"onFocus\"]>>[0]);\n };\n\n return (\n <View className={inputRootClassName}>\n <View\n className={cn(\n inputFrameClassName,\n hasError\n ? inputFrameErrorClassName\n : focused\n ? inputFrameActiveClassName\n : inputFrameIdleClassName,\n inputShapes[resolvedShape],\n disabled && inputFrameDisabledClassName,\n className,\n )}\n >\n <TextInput\n accessibilityLabel={resolvedLabel}\n className={cn(\n inputControlClassName,\n nativeInputControlClassName,\n type === \"password\" && nativePasswordInputClassName,\n inputClassName,\n )}\n editable={!disabled}\n keyboardType={inputType === \"number\" ? \"numeric\" : \"default\"}\n onBlur={handleBlur}\n onChangeText={(value: string) => helpers.setValue(value)}\n onFocus={handleFocus}\n placeholder=\"\"\n secureTextEntry={type === \"password\" && !passwordVisible}\n style={nativeInputControlStyle}\n underlineColorAndroid=\"transparent\"\n value={field.value ?? \"\"}\n />\n </View>\n\n <InputLabel\n animatedValue={labelProgress}\n disabled={disabled}\n errored={hasError}\n floating={floating}\n text={resolvedLabel}\n className={labelClassName}\n />\n\n {type === \"password\" ? (\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={\n passwordVisible ? \"Hide password\" : \"Show password\"\n }\n className={nativePasswordToggleClassName}\n disabled={disabled}\n onPress={() => setPasswordVisible((current) => !current)}\n >\n <Text className={nativePasswordToggleTextClassName}>\n {passwordVisible ? \"Hide\" : \"Show\"}\n </Text>\n </Pressable>\n ) : null}\n\n <InputResponse\n message={errorText}\n name={field.name}\n visibility={Boolean(errorText)}\n variant=\"danger\"\n className={responseClassName}\n />\n </View>\n );\n}\n\nexport { Input };\nexport default Input;\n"]}
@@ -0,0 +1,288 @@
1
+ import React__default, { HTMLAttributes, ReactNode } from 'react';
2
+ import { FieldHookConfig } from 'formik';
3
+
4
+ declare const CURRENCIES: {
5
+ name: string;
6
+ symbol: string;
7
+ code: string;
8
+ }[];
9
+
10
+ declare enum Variant$1 {
11
+ default = "default",
12
+ primary = "primary",
13
+ secondary = "secondary",
14
+ success = "success",
15
+ danger = "danger",
16
+ warning = "warning",
17
+ info = "info",
18
+ light = "light",
19
+ dark = "dark"
20
+ }
21
+ declare enum TextVariant {
22
+ default = "default",
23
+ primary = "primary",
24
+ secondary = "secondary",
25
+ success = "success",
26
+ danger = "danger",
27
+ warning = "warning",
28
+ info = "info",
29
+ light = "light",
30
+ dark = "dark"
31
+ }
32
+ declare enum Shape$1 {
33
+ circle = "circle",
34
+ roundedSquare = "roundedSquare",
35
+ softRoundedSquare = "softRoundedSquare",
36
+ square = "square"
37
+ }
38
+ declare enum Size$1 {
39
+ xs = "xs",
40
+ sm = "sm",
41
+ md = "md",
42
+ lg = "lg",
43
+ xl = "xl"
44
+ }
45
+ declare enum Appearance$1 {
46
+ solid = "solid",
47
+ lite = "lite",
48
+ ghost = "ghost"
49
+ }
50
+ declare enum Decoration {
51
+ underline = "underline",
52
+ overline = "overline",
53
+ lineThrough = "lineThrough",
54
+ noUnderline = "noUnderline"
55
+ }
56
+ declare enum Target {
57
+ blank = "blank",
58
+ self = "self",
59
+ parent = "parent",
60
+ top = "top"
61
+ }
62
+ declare enum VerticalPosition$1 {
63
+ top = "top",
64
+ bottom = "bottom"
65
+ }
66
+ declare enum HorizontalPosition$1 {
67
+ left = "left",
68
+ right = "right"
69
+ }
70
+ declare enum CardinalPosition$1 {
71
+ top = "top",
72
+ bottom = "bottom",
73
+ left = "left",
74
+ right = "right"
75
+ }
76
+ declare enum CornerPosition$1 {
77
+ "top-left" = "top-left",
78
+ "top-right" = "top-right",
79
+ "bottom-left" = "bottom-left",
80
+ "bottom-right" = "bottom-right"
81
+ }
82
+ declare enum OctilePosition$1 {
83
+ top = "top",
84
+ bottom = "bottom",
85
+ left = "left",
86
+ right = "right",
87
+ "top-left" = "top-left",
88
+ "top-right" = "top-right",
89
+ "bottom-left" = "bottom-left",
90
+ "bottom-right" = "bottom-right"
91
+ }
92
+ declare enum ListBulletType$1 {
93
+ dot = "dot",
94
+ diamond = "diamond",
95
+ number = "number",
96
+ none = "none"
97
+ }
98
+ declare enum ListAlign$1 {
99
+ start = "start",
100
+ center = "center"
101
+ }
102
+ declare enum ListDirection$1 {
103
+ vertical = "vertical",
104
+ horizontal = "horizontal"
105
+ }
106
+ declare enum SpinnerType$1 {
107
+ border = "border",
108
+ ring = "ring",
109
+ dots = "dots",
110
+ bars = "bars",
111
+ pulse = "pulse",
112
+ orbit = "orbit",
113
+ dualRing = "dualRing",
114
+ ripple = "ripple",
115
+ grid = "grid",
116
+ wave = "wave"
117
+ }
118
+ declare enum ToastPosition {
119
+ topLeft = "top-left",
120
+ topCenter = "top-center",
121
+ topRight = "top-right",
122
+ bottomLeft = "bottom-left",
123
+ bottomCenter = "bottom-center",
124
+ bottomRight = "bottom-right"
125
+ }
126
+ declare enum ToastStatus {
127
+ default = "default",
128
+ success = "success",
129
+ warning = "warning",
130
+ error = "error",
131
+ danger = "danger",
132
+ info = "info"
133
+ }
134
+
135
+ type Variant = `${Variant$1}`;
136
+ type Shape = `${Shape$1}`;
137
+ type Size = `${Size$1}`;
138
+ type Appearance = `${Appearance$1}`;
139
+ type TextDecoration = `${Decoration}`;
140
+ type HyperRefTarget = `${Target}`;
141
+ type VerticalPosition = `${VerticalPosition$1}`;
142
+ type HorizontalPosition = `${HorizontalPosition$1}`;
143
+ type CardinalPosition = `${CardinalPosition$1}`;
144
+ type CornerPosition = `${CornerPosition$1}`;
145
+ type OctilePosition = `${OctilePosition$1}`;
146
+ type TitleBannerLevel = 1 | 2;
147
+ type ListBulletType = `${ListBulletType$1}`;
148
+ type ListAlign = `${ListAlign$1}`;
149
+ type ListDirection = `${ListDirection$1}`;
150
+ type RouteTabMode = "route" | "state";
151
+ type CurrencyCode = (typeof CURRENCIES)[number]["code"];
152
+ type SpinnerType = `${SpinnerType$1}`;
153
+ type SpinnerDirection = "vertical" | "horizontal";
154
+
155
+ /**
156
+ * Contains ReactElements such as "children" using HTMLAttributes
157
+ *
158
+ * Contains DOMAttributes such as "onClick" using HTMLAttributes
159
+ *
160
+ * Define the custom types as follows for the custom DOM elements
161
+ * BaseComponentProps<HTMLDivElement> // default
162
+ * BaseComponentProps<HTMLButtonElement> // buttons
163
+ * BaseComponentProps<HTMLAnchorElement> // links
164
+ */
165
+ interface BaseComponentProps<T extends HTMLElement = HTMLDivElement> extends Omit<HTMLAttributes<T>, "children"> {
166
+ className?: string;
167
+ }
168
+
169
+ type ButtonMode = "contained" | "contained-tonal" | "outlined" | "text";
170
+ type ButtonIcon = ReactNode | ((props: {
171
+ color: string;
172
+ size: number;
173
+ }) => ReactNode);
174
+ interface ButtonProps extends Omit<BaseComponentProps<HTMLButtonElement>, "style"> {
175
+ type?: "button" | "submit" | "reset";
176
+ icon?: ButtonIcon;
177
+ text?: string;
178
+ children?: ReactNode;
179
+ loading?: boolean;
180
+ disabled?: boolean;
181
+ block?: boolean;
182
+ compact?: boolean;
183
+ glow?: boolean;
184
+ mode?: ButtonMode;
185
+ contentClassName?: string;
186
+ labelClassName?: string;
187
+ variant?: Variant;
188
+ appearance?: Appearance;
189
+ shape?: Shape;
190
+ size?: Size;
191
+ accessibilityLabel?: string;
192
+ accessibilityRole?: string;
193
+ accessibilityState?: unknown;
194
+ testID?: string;
195
+ onPress?: () => void;
196
+ }
197
+
198
+ interface CheckboxOption {
199
+ label: string;
200
+ value: string;
201
+ disabled?: boolean;
202
+ }
203
+ interface BaseCheckboxProps extends BaseComponentProps {
204
+ label?: string;
205
+ placeholder?: string;
206
+ variant?: Variant;
207
+ shape?: Shape;
208
+ disabled?: boolean;
209
+ groupClassName?: string;
210
+ optionClassName?: string;
211
+ indicatorClassName?: string;
212
+ checkedIndicatorClassName?: string;
213
+ checkedIconClassName?: string;
214
+ labelClassName?: string;
215
+ }
216
+ interface SingleCheckboxProps extends BaseCheckboxProps {
217
+ options?: never;
218
+ }
219
+ interface MultiCheckboxProps extends BaseCheckboxProps {
220
+ options: CheckboxOption[];
221
+ }
222
+ type FormikCheckboxProps = (SingleCheckboxProps & FieldHookConfig<boolean>) | (MultiCheckboxProps & FieldHookConfig<string[]>);
223
+ type CheckboxProps = FormikCheckboxProps;
224
+
225
+ type InputType = "text" | "password" | "number";
226
+ interface BaseInputProps extends BaseComponentProps<HTMLInputElement> {
227
+ type?: InputType;
228
+ name: string;
229
+ label?: string;
230
+ placeholder: string;
231
+ inputClassName?: string;
232
+ labelClassName?: string;
233
+ responseClassName?: string;
234
+ step?: string;
235
+ shape?: Shape;
236
+ disabled?: boolean;
237
+ }
238
+ type FormikInputProps = FieldHookConfig<string> & BaseInputProps;
239
+ type InputProps = FormikInputProps;
240
+
241
+ interface InputLabelProps {
242
+ text?: string;
243
+ children?: ReactNode;
244
+ className?: string;
245
+ floating?: boolean;
246
+ focused?: boolean;
247
+ errored?: boolean;
248
+ disabled?: boolean;
249
+ htmlFor?: string;
250
+ animatedValue?: unknown;
251
+ }
252
+
253
+ interface InputResponseProps {
254
+ name: string;
255
+ visibility?: boolean;
256
+ variant?: keyof typeof TextVariant;
257
+ className?: string;
258
+ message?: ReactNode;
259
+ }
260
+
261
+ interface EUIComponentDefaults {
262
+ variant?: keyof typeof Variant$1;
263
+ size?: keyof typeof Size$1;
264
+ shape?: keyof typeof Shape$1;
265
+ styles?: string;
266
+ }
267
+ interface EUIRoute {
268
+ path: string;
269
+ name: string;
270
+ }
271
+ interface EUIConfigs {
272
+ global?: EUIComponentDefaults;
273
+ routes?: EUIRoute[];
274
+ }
275
+
276
+ interface EUIContextValue {
277
+ config: EUIConfigs;
278
+ setConfig: React__default.Dispatch<React__default.SetStateAction<EUIConfigs>>;
279
+ }
280
+ declare const EUIProvider: ({ config, children, }: {
281
+ config: EUIConfigs;
282
+ children: React__default.ReactNode;
283
+ }) => React__default.JSX.Element;
284
+ declare const useEUIConfig: () => EUIContextValue;
285
+
286
+ declare function resolveWithGlobal<T>(config: EUIConfigs | null, props: T, defaults: Partial<T>): T;
287
+
288
+ export { type Appearance as A, type ButtonProps as B, type CheckboxProps as C, Decoration as D, type EUIComponentDefaults as E, type CornerPosition as F, type HyperRefTarget as G, type HorizontalPosition as H, type InputProps as I, type VerticalPosition as J, type ListBulletType as L, type OctilePosition as O, type RouteTabMode as R, type Shape as S, type TitleBannerLevel as T, type Variant as V, type InputLabelProps as a, type InputResponseProps as b, type ButtonIcon as c, type ButtonMode as d, type CheckboxOption as e, type EUIConfigs as f, EUIProvider as g, type EUIRoute as h, type BaseComponentProps as i, type Size as j, type ListDirection as k, type ListAlign as l, type CurrencyCode as m, type SpinnerType as n, type SpinnerDirection as o, type TextDecoration as p, Shape$1 as q, resolveWithGlobal as r, Variant$1 as s, Size$1 as t, useEUIConfig as u, ToastStatus as v, ToastPosition as w, Target as x, TextVariant as y, type CardinalPosition as z };