elseware-ui 3.0.0 → 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.
- package/LICENSE +20 -20
- package/README.md +289 -289
- package/dist/index.css +360 -286
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +10 -45
- package/dist/index.d.ts +10 -45
- package/dist/index.js +615 -374
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +612 -371
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.d.mts +13 -4
- package/dist/index.native.d.ts +13 -4
- package/dist/index.native.js +604 -42
- package/dist/index.native.js.map +1 -1
- package/dist/index.native.mjs +603 -45
- package/dist/index.native.mjs.map +1 -1
- package/dist/{resolveGlobalConfigs-CcaOIQCE.d.mts → resolveGlobalConfigs-Cuiq_Zix.d.mts} +68 -8
- package/dist/{resolveGlobalConfigs-CcaOIQCE.d.ts → resolveGlobalConfigs-Cuiq_Zix.d.ts} +68 -8
- package/package.json +173 -171
- package/tailwind.preset.js +116 -116
package/dist/index.native.js.map
CHANGED
|
@@ -1 +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"],"names":["twMerge","createContext","useState","jsx","useContext","Pressable","jsxs","View","ActivityIndicator","Text"],"mappings":"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","file":"index.native.js","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\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { Appearance, Variant } from \"../types\";\n\ninterface ResolveAppearanceStylesProps<T> {\n appearance?: Appearance;\n variant: Variant;\n solid: Record<Variant, T>;\n lite: Record<Variant, T>;\n ghost: Record<Variant, T>;\n}\n\nexport function resolveAppearanceStyles<T = string>({\n appearance = \"solid\",\n variant = \"default\",\n solid,\n lite,\n ghost,\n}: ResolveAppearanceStylesProps<T>): T {\n switch (appearance) {\n case \"ghost\":\n return ghost[variant];\n\n case \"lite\":\n return lite[variant];\n\n default:\n return solid[variant];\n }\n}\n","import React, { createContext, useContext, useState } from \"react\";\nimport { EUIConfigs } from \"./EUITypes\";\n\ninterface EUIContextValue {\n config: EUIConfigs;\n setConfig: React.Dispatch<React.SetStateAction<EUIConfigs>>;\n}\n\nconst EUIContext = createContext<EUIContextValue | null>(null);\n\nexport const EUIProvider = ({\n config,\n children,\n}: {\n config: EUIConfigs;\n children: React.ReactNode;\n}) => {\n const [state, setState] = useState<EUIConfigs>(config);\n\n return (\n <EUIContext.Provider value={{ config: state, setConfig: setState }}>\n {children}\n </EUIContext.Provider>\n );\n};\n\nexport const useEUIConfig = () => {\n const ctx = useContext(EUIContext);\n if (!ctx) {\n throw new Error(\"useEUIConfig must be used inside EUIProvider\");\n }\n return ctx;\n};\n","import { EUIConfigs } from \"./EUITypes\";\n\nexport function resolveWithGlobal<T>(\n config: EUIConfigs | null,\n props: T,\n defaults: Partial<T>,\n): T {\n return {\n ...defaults,\n ...(config?.global ?? {}),\n ...props,\n } as T;\n}\n","import { useEUIConfig } from \"../../../eui\";\n\nimport type { Appearance, Shape, Size, Variant } from \"../../../../types\";\nimport type { ButtonMode, ButtonProps } from \"./Button.types\";\n\nexport const buttonModeAppearance: Record<ButtonMode, Appearance> = {\n contained: \"solid\",\n \"contained-tonal\": \"lite\",\n outlined: \"ghost\",\n text: \"ghost\",\n};\n\nexport interface ResolvedButtonConfig {\n shape: Shape;\n size: Size;\n variant: Variant;\n appearance: Appearance;\n}\n\nexport function useResolvedButtonConfig({\n compact = false,\n mode,\n variant,\n appearance,\n shape,\n size,\n}: Pick<\n ButtonProps,\n \"compact\" | \"mode\" | \"variant\" | \"appearance\" | \"shape\" | \"size\"\n>): ResolvedButtonConfig {\n const eui = useEUIConfig();\n const configuredSize = size ?? eui?.config?.global?.size ?? \"md\";\n\n return {\n shape: shape ?? eui?.config?.global?.shape ?? \"square\",\n size: compact && configuredSize === \"md\" ? \"sm\" : configuredSize,\n variant: variant ?? eui?.config?.global?.variant ?? \"success\",\n appearance: appearance ?? (mode ? buttonModeAppearance[mode] : \"solid\"),\n };\n}\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]:\n \"bg-gradient-to-r from-eui-primary-500 to-eui-primary-600 text-white hover:brightness-110\",\n [Variant.secondary]:\n \"bg-gradient-to-r from-eui-secondary-600 to-eui-secondary-500 text-white hover:brightness-110\",\n [Variant.success]:\n \"bg-gradient-to-r from-eui-success-600 to-eui-success-500 text-white hover:brightness-110\",\n [Variant.danger]:\n \"bg-gradient-to-r from-eui-danger-600 to-eui-danger-500 text-white hover:brightness-110\",\n [Variant.warning]:\n \"bg-gradient-to-r from-eui-warning-500 to-eui-warning-400 text-black hover:brightness-105\",\n [Variant.info]:\n \"bg-gradient-to-r from-eui-info-600 to-eui-info-500 text-white hover:brightness-110\",\n [Variant.light]:\n \"bg-gradient-to-r from-eui-light-400 to-eui-light-300 text-gray-900 hover:brightness-105 dark:from-gray-200 dark:to-gray-100 dark:text-gray-900\",\n [Variant.dark]:\n \"bg-gradient-to-r from-eui-dark-400 to-eui-dark-500 text-white hover:brightness-110 dark:from-eui-dark-300 dark:to-eui-dark-400\",\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 checkboxVariants: Record<Variant, string> = {\n [Variant.default]:\n \"checked:bg-gray-600 checked:border-gray-600 dark:checked:bg-gray-500 dark:checked:border-gray-500\",\n\n [Variant.primary]:\n \"checked:bg-eui-primary-600 checked:border-eui-primary-600 dark:checked:bg-eui-primary-500 dark:checked:border-eui-primary-500\",\n\n [Variant.secondary]:\n \"checked:bg-eui-secondary-600 checked:border-eui-secondary-600 dark:checked:bg-eui-secondary-500 dark:checked:border-eui-secondary-500\",\n\n [Variant.success]:\n \"checked:bg-eui-success-600 checked:border-eui-success-600 dark:checked:bg-eui-success-500 dark:checked:border-eui-success-500\",\n\n [Variant.danger]:\n \"checked:bg-eui-danger-600 checked:border-eui-danger-600 dark:checked:bg-eui-danger-500 dark:checked:border-eui-danger-500\",\n\n [Variant.warning]:\n \"checked:bg-eui-warning-500 checked:border-eui-warning-500 dark:checked:bg-eui-warning-400 dark:checked:border-eui-warning-400\",\n\n [Variant.info]:\n \"checked:bg-eui-info-600 checked:border-eui-info-600 dark:checked:bg-eui-info-500 dark:checked:border-eui-info-500\",\n\n [Variant.light]:\n \"checked:bg-eui-light-400 checked:border-eui-light-400 dark:checked:bg-gray-200 dark:checked:border-gray-200\",\n\n [Variant.dark]:\n \"checked:bg-eui-dark-500 checked:border-eui-dark-500 dark:checked:bg-eui-dark-300 dark:checked:border-eui-dark-300\",\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 getButtonTextColorClassName(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\";\n\nexport const nativeButtonSizes: Record<\n Size,\n {\n rootClassName: string;\n labelClassName: string;\n slotClassName: string;\n }\n> = {\n xs: {\n rootClassName: \"min-h-[30px] px-2.5 py-1\",\n labelClassName: \"text-xs leading-[14px]\",\n slotClassName: \"h-[14px] w-[14px]\",\n },\n sm: {\n rootClassName: \"min-h-9 px-3 py-1.5\",\n labelClassName: \"text-sm leading-4\",\n slotClassName: \"h-4 w-4\",\n },\n md: {\n rootClassName: \"min-h-11 px-4 py-2\",\n labelClassName: \"text-[15px] leading-[18px]\",\n slotClassName: \"h-[18px] w-[18px]\",\n },\n lg: {\n rootClassName: \"min-h-[50px] px-[18px] py-3\",\n labelClassName: \"text-[17px] leading-5\",\n slotClassName: \"h-5 w-5\",\n },\n xl: {\n rootClassName: \"min-h-14 px-[22px] py-4\",\n labelClassName: \"text-[19px] leading-[22px]\",\n slotClassName: \"h-[22px] w-[22px]\",\n },\n};\n","/** @jsxImportSource nativewind */\n// External\nimport { ActivityIndicator, Pressable, Text, View } from \"react-native\";\n\n// Internal\nimport { cn } from \"../../../../utils\";\nimport {\n getButtonTextColorClassName,\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 buttonColor,\n textColor,\n contentClassName,\n labelClassName,\n className,\n variant,\n appearance,\n shape,\n size,\n style,\n contentStyle,\n labelStyle,\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 textColorClassName = getButtonTextColorClassName(variantStyles);\n const rootStyle = {\n ...(mode === \"text\"\n ? {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n }\n : null),\n ...(buttonColor && mode !== \"text\"\n ? {\n backgroundColor: buttonColor,\n borderColor: buttonColor,\n }\n : null),\n ...(!buttonColor && textColor && resolvedAppearance !== \"solid\"\n ? { borderColor: textColor }\n : null),\n };\n const labelTextStyle = textColor ? { color: textColor } : null;\n const content = text ?? children;\n const resolvedIcon =\n typeof icon === \"function\"\n ? icon({ color: textColor ?? \"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 rootStyle,\n pressed && !disabled && !loading ? { opacity: 0.82 } : null,\n disabled || loading ? { opacity: 0.55 } : null,\n style,\n ]}\n >\n <View\n className={cn(\n \"z-10 flex-row items-center justify-center gap-2\",\n contentClassName,\n )}\n style={contentStyle}\n >\n {loading ? (\n <View\n className={cn(\n \"shrink-0 items-center justify-center\",\n metrics.slotClassName,\n )}\n >\n <ActivityIndicator\n className={textColorClassName}\n color={textColor}\n size=\"small\"\n />\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 textColorClassName,\n labelClassName,\n )}\n numberOfLines={1}\n style={[nativeLabelBaseStyle, labelTextStyle, labelStyle]}\n >\n {content}\n </Text>\n </View>\n ) : (\n content\n )}\n </View>\n </Pressable>\n );\n}\n\nexport default Button;\n"]}
|
|
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":["twMerge","createContext","useState","jsx","useContext","Pressable","jsxs","View","ActivityIndicator","Text","useField","Animated","useRef","useEffect","Easing","ErrorMessage","TextInput"],"mappings":"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","file":"index.native.js","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"]}
|