lizaui 9.0.52 → 9.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/chevron-down-BTrLI_vJ.js +6 -0
- package/dist/chunks/chevron-down-BTrLI_vJ.js.map +1 -0
- package/dist/chunks/chevron-down-D-14pIT_.js +7 -0
- package/dist/chunks/chevron-down-D-14pIT_.js.map +1 -0
- package/dist/chunks/chevron-up-BBd-SipB.js +7 -0
- package/dist/chunks/chevron-up-BBd-SipB.js.map +1 -0
- package/dist/chunks/chevron-up-egHdliKz.js +6 -0
- package/dist/chunks/chevron-up-egHdliKz.js.map +1 -0
- package/dist/chunks/{index--Lp5VMoT.js → index-Cqht2FCn.js} +3 -6
- package/dist/chunks/index-Cqht2FCn.js.map +1 -0
- package/dist/chunks/{index-xVewW5kR.js → index-D6rBzjZf.js} +3 -6
- package/dist/chunks/index-D6rBzjZf.js.map +1 -0
- package/dist/chunks/{scroll-area-DTgVLYwQ.js → scroll-area-DDEg3_oz.js} +2 -2
- package/dist/chunks/{scroll-area-DTgVLYwQ.js.map → scroll-area-DDEg3_oz.js.map} +1 -1
- package/dist/chunks/{scroll-area-Bv006UzS.js → scroll-area-_ap_QsnE.js} +2 -2
- package/dist/chunks/{scroll-area-Bv006UzS.js.map → scroll-area-_ap_QsnE.js.map} +1 -1
- package/dist/chunks/{select-JfY1UjKe.js → select-BROp3S0I.js} +4 -5
- package/dist/chunks/select-BROp3S0I.js.map +1 -0
- package/dist/chunks/{select-Bm7MENHi.js → select-CqltFRiu.js} +7 -8
- package/dist/chunks/select-CqltFRiu.js.map +1 -0
- package/dist/components/table/body/table-body.d.ts.map +1 -1
- package/dist/components/table/context/table.context.d.ts.map +1 -1
- package/dist/components/table/header/table-header-column.d.ts.map +1 -1
- package/dist/components/table/hook/use-table.d.ts +3 -2
- package/dist/components/table/hook/use-table.d.ts.map +1 -1
- package/dist/components/table/interface/table.interface.d.ts +9 -0
- package/dist/components/table/interface/table.interface.d.ts.map +1 -1
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/pagination/index.cjs.js +1 -1
- package/dist/pagination/index.es.js +1 -1
- package/dist/phone-input/index.cjs.js +4 -3
- package/dist/phone-input/index.cjs.js.map +1 -1
- package/dist/phone-input/index.es.js +3 -2
- package/dist/phone-input/index.es.js.map +1 -1
- package/dist/table/index.cjs.js +333 -179
- package/dist/table/index.cjs.js.map +1 -1
- package/dist/table/index.es.js +333 -179
- package/dist/table/index.es.js.map +1 -1
- package/dist/ui/index.cjs.js +6 -5
- package/dist/ui/index.cjs.js.map +1 -1
- package/dist/ui/index.es.js +6 -5
- package/dist/ui/index.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/index--Lp5VMoT.js.map +0 -1
- package/dist/chunks/index-xVewW5kR.js.map +0 -1
- package/dist/chunks/select-Bm7MENHi.js.map +0 -1
- package/dist/chunks/select-JfY1UjKe.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/phone-input/phone-input.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useState, useEffect, useRef, useId } from \"react\";\nimport { getCountryCallingCode, AsYouType, isValidPhoneNumber } from \"libphonenumber-js\";\nimport { ChevronDown, Check, Search } from \"lucide-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError, ScrollArea } from \"../ui\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m, domAnimation } from \"framer-motion\";\n\nconst countryData = {\n\tPE: { name: \"Perú\", flag: \"🇵🇪\" },\n\tUS: { name: \"Estados Unidos\", flag: \"🇺🇸\" },\n\tMX: { name: \"México\", flag: \"🇲🇽\" },\n\tAR: { name: \"Argentina\", flag: \"🇦🇷\" },\n\tCO: { name: \"Colombia\", flag: \"🇨🇴\" },\n\tCL: { name: \"Chile\", flag: \"🇨🇱\" },\n\tBR: { name: \"Brasil\", flag: \"🇧🇷\" },\n\tBO: { name: \"Bolivia\", flag: \"🇧🇴\" },\n\tVE: { name: \"Venezuela\", flag: \"🇻🇪\" },\n};\n\ninterface Country {\n\tcode: string;\n\tname: string;\n\tflag: string;\n\tcallingCode: string;\n}\n\ninterface PhoneInputProps {\n\tid?: string;\n\tname: string;\n\tlabel?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tclassName?: string;\n\tonCountryChange?: (country: Country) => void;\n\tonPhoneChange?: (phone: string, isValid: boolean) => void;\n\ttouched?: boolean;\n\tvalues?: any;\n\tonBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n\terror?: string;\n\tvalue?: string; // para standalone\n\tdefaultCountry?: string;\n\tdisabled?: boolean;\n\tclassNameContainer?: string;\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n\tid,\n\tname,\n\tlabel = \"Teléfono\",\n\tplaceholder = \"Ingrese un número de teléfono\",\n\trequired = false,\n\tclassName = \"\",\n\tclassNameContainer = \"\",\n\tonCountryChange,\n\tonPhoneChange,\n\ttouched: externalTouched,\n\tonBlur: externalOnBlur,\n\terror: externalError,\n\tvalue: externalValue,\n\tdefaultCountry = \"PE\",\n\tdisabled = false,\n}) => {\n\tconst [selectedCountry, setSelectedCountry] = useState<Country>({\n\t\tcode: defaultCountry,\n\t\tname: countryData[defaultCountry as keyof typeof countryData].name,\n\t\tflag: countryData[defaultCountry as keyof typeof countryData].flag,\n\t\tcallingCode: `+${getCountryCallingCode(defaultCountry as keyof typeof countryData)}`,\n\t});\n\n\tconst [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\tconst [phoneValue, setPhoneValue] = useState(\"\");\n\tconst [formattedValue, setFormattedValue] = useState(\"\");\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [countries, setCountries] = useState<Country[]>([]);\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\n\tconst [filteredCountries, setFilteredCountries] = useState<Country[]>([]);\n\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\tconst isControlled = externalValue !== undefined;\n\n\t// Inicializar países en el orden definido en countryData\n\tuseEffect(() => {\n\t\tconst availableCountries = Object.keys(countryData).map((countryCode) => {\n\t\t\tconst data = countryData[countryCode as keyof typeof countryData];\n\t\t\treturn {\n\t\t\t\tcode: countryCode,\n\t\t\t\tname: data.name,\n\t\t\t\tflag: data.flag,\n\t\t\t\tcallingCode: `+${getCountryCallingCode(countryCode as keyof typeof countryData)}`,\n\t\t\t};\n\t\t});\n\t\tsetCountries(availableCountries);\n\t\tsetFilteredCountries(availableCountries);\n\t}, []);\n\n\t// Manejo de click fuera para cerrar dropdown\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n\t\t\t\tsetIsDropdownOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside);\n\t}, []);\n\n\t// Sincronizar externalValue con estados internos (incluye reset con \"\")\n\tuseEffect(() => {\n\t\tif (!isControlled || countries.length === 0) return;\n\n\t\t// Si el valor externo es vacío o null, limpiar estados\n\t\tif (externalValue === \"\" || externalValue == null) {\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = String(externalValue);\n\t\tlet country = countries.find((c) => value.startsWith(c.callingCode));\n\n\t\t// Si no se detecta país por código, mantener el seleccionado actual\n\t\tif (!country) {\n\t\t\tcountry = selectedCountry;\n\t\t}\n\n\t\tif (country) {\n\t\t\t// Actualizar país si cambió\n\t\t\tif (selectedCountry.code !== country.code) {\n\t\t\t\tsetSelectedCountry(country);\n\t\t\t}\n\n\t\t\tconst raw = value.replace(country.callingCode, \"\").replace(/[^\\d]/g, \"\");\n\t\t\tsetPhoneValue(raw);\n\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(raw);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst valid = isValidPhoneNumber(value);\n\t\t\tsetIsValid(valid);\n\t\t} else {\n\t\t\t// Fallback: no país detectado, limpiar formato pero conservar value crudo\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t}\n\t}, [externalValue, countries, isControlled, selectedCountry]);\n\n\t// Formatear número al escribir\n\tconst handlePhoneChange = (value: string, event?: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst cleanValue = value.replace(/[^\\d]/g, \"\");\n\n\t\tif (event?.nativeEvent instanceof InputEvent && event.nativeEvent.inputType === \"deleteContentBackward\" && cleanValue.length < 4) {\n\t\t\tsetPhoneValue(cleanValue);\n\t\t\tsetFormattedValue(cleanValue); // mostrar sin formato\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = new AsYouType(selectedCountry.code as keyof typeof countryData);\n\t\tconst formatted = formatter.input(cleanValue);\n\n\t\tsetPhoneValue(cleanValue);\n\t\tsetFormattedValue(formatted);\n\n\t\tconst fullNumber = selectedCountry.callingCode + cleanValue;\n\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\tsetIsValid(valid);\n\n\t\tonPhoneChange?.(fullNumber, valid);\n\t};\n\n\t// Seleccionar país\n\tconst handleCountrySelect = (country: Country) => {\n\t\tsetSelectedCountry(country);\n\t\tsetIsDropdownOpen(false);\n\t\tsetSearchTerm(\"\");\n\n\t\tif (phoneValue) {\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(phoneValue);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst fullNumber = country.callingCode + phoneValue;\n\t\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\t\tsetIsValid(valid);\n\n\t\t\tonPhoneChange?.(fullNumber, valid);\n\t\t}\n\n\t\tonCountryChange?.(country);\n\t\tsetTimeout(() => inputRef.current?.focus(), 100);\n\t};\n\n\tconst handleDropdownToggle = () => {\n\t\tsetIsDropdownOpen(!isDropdownOpen);\n\t\tif (!isDropdownOpen) {\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 100);\n\t\t}\n\t};\n\n\t// Filtrar países en búsqueda\n\tuseEffect(() => {\n\t\tif (!searchTerm.trim()) {\n\t\t\tsetFilteredCountries(countries);\n\t\t} else {\n\t\t\tconst searchLower = searchTerm.toLowerCase();\n\t\t\tconst filtered = countries.filter(\n\t\t\t\t(country) =>\n\t\t\t\t\tcountry.name.toLowerCase().includes(searchLower) ||\n\t\t\t\t\tcountry.callingCode.includes(searchTerm) ||\n\t\t\t\t\tcountry.code.toLowerCase().includes(searchLower),\n\t\t\t);\n\t\t\tsetFilteredCountries(filtered);\n\t\t}\n\t}, [searchTerm, countries]);\n\n\tconst isTouched = externalTouched;\n\tconst currentError = externalError;\n\tconst hasError = isTouched && currentError;\n\n\tconst isInvalid = !disabled && !!externalError && externalTouched;\n\n\treturn (\n\t\t<div className={twMerge(\"w-full relative flex flex-col\", classNameContainer)}>\n\t\t\t{label && (\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={resolvedId}\n\t\t\t\t\tclassName={cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\t\t\t\t\"text-danger\": hasError,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\"flex w-full min-w-0 transition-[color,box-shadow] outline-none rounded-md h-input-default\",\n\t\t\t\t\t\"bg-content1 border border-input\",\n\t\t\t\t\t\"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\thasError\n\t\t\t\t\t\t? \"border-danger aria-invalid:ring-danger/20\"\n\t\t\t\t\t\t: isValid && phoneValue\n\t\t\t\t\t\t? \"focus-within:border-primary focus-within:ring-primary/20\"\n\t\t\t\t\t\t: \"focus-within:border-primary focus-within:ring-primary/20\",\n\t\t\t\t\t\"focus-within:ring-[3px]\",\n\t\t\t\t)}\n\t\t\t\taria-invalid={isInvalid ? \"true\" : \"false\"}\n\t\t\t>\n\t\t\t\t{/* Country selector */}\n\t\t\t\t<div className=\"relative\" ref={dropdownRef}>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleDropdownToggle}\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"flex items-center gap-2 px-3 border-r border-input h-input-default\",\n\t\t\t\t\t\t\t\"hover:bg-muted/20 focus:outline-none rounded-l-md\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"text-lg dark:text-foreground\">{selectedCountry.flag}</span>\n\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground dark:text-foreground\">{selectedCountry.callingCode}</span>\n\t\t\t\t\t\t<ChevronDown className={`w-4 h-4 text-muted-foreground transition-transform ${isDropdownOpen ? \"rotate-180\" : \"\"}`} />\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{isDropdownOpen && (\n\t\t\t\t\t\t\t<LazyMotion features={domAnimation}>\n\t\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\t\tkey=\"country-dropdown\"\n\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0, y: -8, scale: 0.98 }}\n\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1, y: 0, scale: 1, transition: { type: \"spring\", stiffness: 420, damping: 28 } }}\n\t\t\t\t\t\t\t\t\texit={{ opacity: 0, y: -6, scale: 0.98, transition: { duration: 0.15, ease: \"easeOut\" } }}\n\t\t\t\t\t\t\t\t\tstyle={{ transformOrigin: \"top center\" }}\n\t\t\t\t\t\t\t\t\tclassName=\"absolute top-full left-0 z-50 w-60 mt-1 bg-content1 border border-input rounded-md shadow-lg max-h-60 overflow-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 bg-content1 border-b border-input p-3\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Buscar país o código\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full pl-10 pr-3 py-2 h-9 border border-input rounded-md text-sm focus:outline-none focus:border-primary focus:ring-[3px] focus:ring-primary/20\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ScrollArea className=\"max-h-48 overflow-y-auto pb-5\">\n\t\t\t\t\t\t\t\t\t\t{filteredCountries.map((country) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={country.code}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleCountrySelect(country)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full flex items-center gap-3 px-3 py-1 text-sm transition\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedCountry.code === country.code\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-primary/5 border-l-2 border-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"hover:bg-muted/20\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-lg\">{country.flag}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex-1 text-left\">{country.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{country.callingCode}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedCountry.code === country.code && <Check className=\"w-4 h-4 text-primary\" />}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</ScrollArea>\n\t\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t\t</LazyMotion>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Phone input */}\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tid={resolvedId}\n\t\t\t\t\ttype=\"tel\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={formattedValue}\n\t\t\t\t\tonChange={(e) => handlePhoneChange(e.target.value, e)}\n\t\t\t\t\tonBlur={externalOnBlur}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t{...(!disabled ? { \"aria-invalid\": isInvalid } : {})}\n\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\"flex-1 px-3 py-1 h-input-default border-0 rounded-r-md bg-transparent focus:outline-none text-foreground text-sm dark:text-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tautoComplete=\"tel\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{!disabled && externalError && externalTouched && <LabelError text={externalError || currentError || \"\"} />}\n\t\t</div>\n\t);\n};\n"],"names":["countryData","PE","name","flag","US","MX","AR","CO","CL","BR","BO","VE","PhoneInput","t0","$","_c","id","label","t1","placeholder","t2","required","t3","className","t4","classNameContainer","t5","onCountryChange","onPhoneChange","touched","externalTouched","onBlur","externalOnBlur","error","externalError","value","externalValue","defaultCountry","t6","disabled","t7","undefined","t8","t9","t10","t11","getCountryCallingCode","t12","t13","code","callingCode","selectedCountry","setSelectedCountry","useState","isDropdownOpen","setIsDropdownOpen","phoneValue","setPhoneValue","formattedValue","setFormattedValue","isValid","setIsValid","t14","Symbol","for","countries","setCountries","searchTerm","setSearchTerm","t15","filteredCountries","setFilteredCountries","dropdownRef","useRef","inputRef","searchInputRef","inputId","useId","resolvedId","isControlled","t16","t17","availableCountries","Object","keys","map","_temp","useEffect","t18","t19","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","t20","t21","length","String","country","find","c","startsWith","raw","replace","formatter","AsYouType","formatted","input","valid","isValidPhoneNumber","t22","value_0","event_0","cleanValue","nativeEvent","InputEvent","inputType","formatter_0","formatted_0","fullNumber","valid_0","handlePhoneChange","handleCountrySelect","country_0","formatter_1","formatted_1","fullNumber_0","valid_1","setTimeout","focus","t23","handleDropdownToggle","t24","t25","trim","searchLower","toLowerCase","filtered","filter","country_1","includes","isTouched","currentError","hasError","isInvalid","t26","twMerge","t27","jsxs","cn","jsx","t28","t29","t30","t31","t32","t33","t34","t35","t36","ChevronDown","t37","T0","AnimatePresence","t38","LazyMotion","domAnimation","m","opacity","y","scale","transition","type","stiffness","damping","duration","ease","transformOrigin","Search","e","ScrollArea","country_2","Check","t39","t40","t41","e_0","t42","t43","t44","t45","t46","LabelError","t47","countryCode","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/phone-input/phone-input.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useState, useEffect, useRef, useId } from \"react\";\nimport { getCountryCallingCode, AsYouType, isValidPhoneNumber } from \"libphonenumber-js\";\nimport { ChevronDown, Check, Search } from \"lucide-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError, ScrollArea } from \"../ui\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m, domAnimation } from \"framer-motion\";\n\nconst countryData = {\n\tPE: { name: \"Perú\", flag: \"🇵🇪\" },\n\tUS: { name: \"Estados Unidos\", flag: \"🇺🇸\" },\n\tMX: { name: \"México\", flag: \"🇲🇽\" },\n\tAR: { name: \"Argentina\", flag: \"🇦🇷\" },\n\tCO: { name: \"Colombia\", flag: \"🇨🇴\" },\n\tCL: { name: \"Chile\", flag: \"🇨🇱\" },\n\tBR: { name: \"Brasil\", flag: \"🇧🇷\" },\n\tBO: { name: \"Bolivia\", flag: \"🇧🇴\" },\n\tVE: { name: \"Venezuela\", flag: \"🇻🇪\" },\n};\n\ninterface Country {\n\tcode: string;\n\tname: string;\n\tflag: string;\n\tcallingCode: string;\n}\n\ninterface PhoneInputProps {\n\tid?: string;\n\tname: string;\n\tlabel?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tclassName?: string;\n\tonCountryChange?: (country: Country) => void;\n\tonPhoneChange?: (phone: string, isValid: boolean) => void;\n\ttouched?: boolean;\n\tvalues?: any;\n\tonBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n\terror?: string;\n\tvalue?: string; // para standalone\n\tdefaultCountry?: string;\n\tdisabled?: boolean;\n\tclassNameContainer?: string;\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n\tid,\n\tname,\n\tlabel = \"Teléfono\",\n\tplaceholder = \"Ingrese un número de teléfono\",\n\trequired = false,\n\tclassName = \"\",\n\tclassNameContainer = \"\",\n\tonCountryChange,\n\tonPhoneChange,\n\ttouched: externalTouched,\n\tonBlur: externalOnBlur,\n\terror: externalError,\n\tvalue: externalValue,\n\tdefaultCountry = \"PE\",\n\tdisabled = false,\n}) => {\n\tconst [selectedCountry, setSelectedCountry] = useState<Country>({\n\t\tcode: defaultCountry,\n\t\tname: countryData[defaultCountry as keyof typeof countryData].name,\n\t\tflag: countryData[defaultCountry as keyof typeof countryData].flag,\n\t\tcallingCode: `+${getCountryCallingCode(defaultCountry as keyof typeof countryData)}`,\n\t});\n\n\tconst [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\tconst [phoneValue, setPhoneValue] = useState(\"\");\n\tconst [formattedValue, setFormattedValue] = useState(\"\");\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [countries, setCountries] = useState<Country[]>([]);\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\n\tconst [filteredCountries, setFilteredCountries] = useState<Country[]>([]);\n\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\tconst isControlled = externalValue !== undefined;\n\n\t// Inicializar países en el orden definido en countryData\n\tuseEffect(() => {\n\t\tconst availableCountries = Object.keys(countryData).map((countryCode) => {\n\t\t\tconst data = countryData[countryCode as keyof typeof countryData];\n\t\t\treturn {\n\t\t\t\tcode: countryCode,\n\t\t\t\tname: data.name,\n\t\t\t\tflag: data.flag,\n\t\t\t\tcallingCode: `+${getCountryCallingCode(countryCode as keyof typeof countryData)}`,\n\t\t\t};\n\t\t});\n\t\tsetCountries(availableCountries);\n\t\tsetFilteredCountries(availableCountries);\n\t}, []);\n\n\t// Manejo de click fuera para cerrar dropdown\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n\t\t\t\tsetIsDropdownOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside);\n\t}, []);\n\n\t// Sincronizar externalValue con estados internos (incluye reset con \"\")\n\tuseEffect(() => {\n\t\tif (!isControlled || countries.length === 0) return;\n\n\t\t// Si el valor externo es vacío o null, limpiar estados\n\t\tif (externalValue === \"\" || externalValue == null) {\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = String(externalValue);\n\t\tlet country = countries.find((c) => value.startsWith(c.callingCode));\n\n\t\t// Si no se detecta país por código, mantener el seleccionado actual\n\t\tif (!country) {\n\t\t\tcountry = selectedCountry;\n\t\t}\n\n\t\tif (country) {\n\t\t\t// Actualizar país si cambió\n\t\t\tif (selectedCountry.code !== country.code) {\n\t\t\t\tsetSelectedCountry(country);\n\t\t\t}\n\n\t\t\tconst raw = value.replace(country.callingCode, \"\").replace(/[^\\d]/g, \"\");\n\t\t\tsetPhoneValue(raw);\n\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(raw);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst valid = isValidPhoneNumber(value);\n\t\t\tsetIsValid(valid);\n\t\t} else {\n\t\t\t// Fallback: no país detectado, limpiar formato pero conservar value crudo\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t}\n\t}, [externalValue, countries, isControlled, selectedCountry]);\n\n\t// Formatear número al escribir\n\tconst handlePhoneChange = (value: string, event?: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst cleanValue = value.replace(/[^\\d]/g, \"\");\n\n\t\tif (event?.nativeEvent instanceof InputEvent && event.nativeEvent.inputType === \"deleteContentBackward\" && cleanValue.length < 4) {\n\t\t\tsetPhoneValue(cleanValue);\n\t\t\tsetFormattedValue(cleanValue); // mostrar sin formato\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = new AsYouType(selectedCountry.code as keyof typeof countryData);\n\t\tconst formatted = formatter.input(cleanValue);\n\n\t\tsetPhoneValue(cleanValue);\n\t\tsetFormattedValue(formatted);\n\n\t\tconst fullNumber = selectedCountry.callingCode + cleanValue;\n\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\tsetIsValid(valid);\n\n\t\tonPhoneChange?.(fullNumber, valid);\n\t};\n\n\t// Seleccionar país\n\tconst handleCountrySelect = (country: Country) => {\n\t\tsetSelectedCountry(country);\n\t\tsetIsDropdownOpen(false);\n\t\tsetSearchTerm(\"\");\n\n\t\tif (phoneValue) {\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(phoneValue);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst fullNumber = country.callingCode + phoneValue;\n\t\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\t\tsetIsValid(valid);\n\n\t\t\tonPhoneChange?.(fullNumber, valid);\n\t\t}\n\n\t\tonCountryChange?.(country);\n\t\tsetTimeout(() => inputRef.current?.focus(), 100);\n\t};\n\n\tconst handleDropdownToggle = () => {\n\t\tsetIsDropdownOpen(!isDropdownOpen);\n\t\tif (!isDropdownOpen) {\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 100);\n\t\t}\n\t};\n\n\t// Filtrar países en búsqueda\n\tuseEffect(() => {\n\t\tif (!searchTerm.trim()) {\n\t\t\tsetFilteredCountries(countries);\n\t\t} else {\n\t\t\tconst searchLower = searchTerm.toLowerCase();\n\t\t\tconst filtered = countries.filter(\n\t\t\t\t(country) =>\n\t\t\t\t\tcountry.name.toLowerCase().includes(searchLower) ||\n\t\t\t\t\tcountry.callingCode.includes(searchTerm) ||\n\t\t\t\t\tcountry.code.toLowerCase().includes(searchLower),\n\t\t\t);\n\t\t\tsetFilteredCountries(filtered);\n\t\t}\n\t}, [searchTerm, countries]);\n\n\tconst isTouched = externalTouched;\n\tconst currentError = externalError;\n\tconst hasError = isTouched && currentError;\n\n\tconst isInvalid = !disabled && !!externalError && externalTouched;\n\n\treturn (\n\t\t<div className={twMerge(\"w-full relative flex flex-col\", classNameContainer)}>\n\t\t\t{label && (\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={resolvedId}\n\t\t\t\t\tclassName={cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\t\t\t\t\"text-danger\": hasError,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\"flex w-full min-w-0 transition-[color,box-shadow] outline-none rounded-md h-input-default\",\n\t\t\t\t\t\"bg-content1 border border-input\",\n\t\t\t\t\t\"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\thasError\n\t\t\t\t\t\t? \"border-danger aria-invalid:ring-danger/20\"\n\t\t\t\t\t\t: isValid && phoneValue\n\t\t\t\t\t\t? \"focus-within:border-primary focus-within:ring-primary/20\"\n\t\t\t\t\t\t: \"focus-within:border-primary focus-within:ring-primary/20\",\n\t\t\t\t\t\"focus-within:ring-[3px]\",\n\t\t\t\t)}\n\t\t\t\taria-invalid={isInvalid ? \"true\" : \"false\"}\n\t\t\t>\n\t\t\t\t{/* Country selector */}\n\t\t\t\t<div className=\"relative\" ref={dropdownRef}>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleDropdownToggle}\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"flex items-center gap-2 px-3 border-r border-input h-input-default\",\n\t\t\t\t\t\t\t\"hover:bg-muted/20 focus:outline-none rounded-l-md\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"text-lg dark:text-foreground\">{selectedCountry.flag}</span>\n\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground dark:text-foreground\">{selectedCountry.callingCode}</span>\n\t\t\t\t\t\t<ChevronDown className={`w-4 h-4 text-muted-foreground transition-transform ${isDropdownOpen ? \"rotate-180\" : \"\"}`} />\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{isDropdownOpen && (\n\t\t\t\t\t\t\t<LazyMotion features={domAnimation}>\n\t\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\t\tkey=\"country-dropdown\"\n\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0, y: -8, scale: 0.98 }}\n\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1, y: 0, scale: 1, transition: { type: \"spring\", stiffness: 420, damping: 28 } }}\n\t\t\t\t\t\t\t\t\texit={{ opacity: 0, y: -6, scale: 0.98, transition: { duration: 0.15, ease: \"easeOut\" } }}\n\t\t\t\t\t\t\t\t\tstyle={{ transformOrigin: \"top center\" }}\n\t\t\t\t\t\t\t\t\tclassName=\"absolute top-full left-0 z-50 w-60 mt-1 bg-content1 border border-input rounded-md shadow-lg max-h-60 overflow-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 bg-content1 border-b border-input p-3\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Buscar país o código\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full pl-10 pr-3 py-2 h-9 border border-input rounded-md text-sm focus:outline-none focus:border-primary focus:ring-[3px] focus:ring-primary/20\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ScrollArea className=\"max-h-48 overflow-y-auto pb-5\">\n\t\t\t\t\t\t\t\t\t\t{filteredCountries.map((country) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={country.code}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleCountrySelect(country)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full flex items-center gap-3 px-3 py-1 text-sm transition\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedCountry.code === country.code\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-primary/5 border-l-2 border-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"hover:bg-muted/20\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-lg\">{country.flag}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex-1 text-left\">{country.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{country.callingCode}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedCountry.code === country.code && <Check className=\"w-4 h-4 text-primary\" />}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</ScrollArea>\n\t\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t\t</LazyMotion>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Phone input */}\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tid={resolvedId}\n\t\t\t\t\ttype=\"tel\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={formattedValue}\n\t\t\t\t\tonChange={(e) => handlePhoneChange(e.target.value, e)}\n\t\t\t\t\tonBlur={externalOnBlur}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t{...(!disabled ? { \"aria-invalid\": isInvalid } : {})}\n\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\"flex-1 px-3 py-1 h-input-default border-0 rounded-r-md bg-transparent focus:outline-none text-foreground text-sm dark:text-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tautoComplete=\"tel\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{!disabled && externalError && externalTouched && <LabelError text={externalError || currentError || \"\"} />}\n\t\t</div>\n\t);\n};\n"],"names":["countryData","PE","name","flag","US","MX","AR","CO","CL","BR","BO","VE","PhoneInput","t0","$","_c","id","label","t1","placeholder","t2","required","t3","className","t4","classNameContainer","t5","onCountryChange","onPhoneChange","touched","externalTouched","onBlur","externalOnBlur","error","externalError","value","externalValue","defaultCountry","t6","disabled","t7","undefined","t8","t9","t10","t11","getCountryCallingCode","t12","t13","code","callingCode","selectedCountry","setSelectedCountry","useState","isDropdownOpen","setIsDropdownOpen","phoneValue","setPhoneValue","formattedValue","setFormattedValue","isValid","setIsValid","t14","Symbol","for","countries","setCountries","searchTerm","setSearchTerm","t15","filteredCountries","setFilteredCountries","dropdownRef","useRef","inputRef","searchInputRef","inputId","useId","resolvedId","isControlled","t16","t17","availableCountries","Object","keys","map","_temp","useEffect","t18","t19","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","t20","t21","length","String","country","find","c","startsWith","raw","replace","formatter","AsYouType","formatted","input","valid","isValidPhoneNumber","t22","value_0","event_0","cleanValue","nativeEvent","InputEvent","inputType","formatter_0","formatted_0","fullNumber","valid_0","handlePhoneChange","handleCountrySelect","country_0","formatter_1","formatted_1","fullNumber_0","valid_1","setTimeout","focus","t23","handleDropdownToggle","t24","t25","trim","searchLower","toLowerCase","filtered","filter","country_1","includes","isTouched","currentError","hasError","isInvalid","t26","twMerge","t27","jsxs","cn","jsx","t28","t29","t30","t31","t32","t33","t34","t35","t36","ChevronDown","t37","T0","AnimatePresence","t38","LazyMotion","domAnimation","m","opacity","y","scale","transition","type","stiffness","damping","duration","ease","transformOrigin","Search","e","ScrollArea","country_2","Check","t39","t40","t41","e_0","t42","t43","t44","t45","t46","LabelError","t47","countryCode","data"],"mappings":"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"}
|
|
@@ -7,10 +7,11 @@ import { c as cn } from "../chunks/utils-H80jjgLf.js";
|
|
|
7
7
|
import "../chunks/textarea-DN8BVF6J.js";
|
|
8
8
|
import { L as LabelError } from "../chunks/label-error-1e6fNdg-.js";
|
|
9
9
|
import "clsx";
|
|
10
|
-
import { S as Search, a as ScrollArea } from "../chunks/scroll-area-
|
|
10
|
+
import { S as Search, a as ScrollArea } from "../chunks/scroll-area-DDEg3_oz.js";
|
|
11
11
|
import "../chunks/button-CIYJojCH.js";
|
|
12
12
|
import { LazyMotion, domAnimation, m, AnimatePresence } from "framer-motion";
|
|
13
|
-
import { C as Check
|
|
13
|
+
import { C as Check } from "../chunks/index-D6rBzjZf.js";
|
|
14
|
+
import { C as ChevronDown } from "../chunks/chevron-down-D-14pIT_.js";
|
|
14
15
|
const countryData = {
|
|
15
16
|
PE: {
|
|
16
17
|
name: "Perú",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/phone-input/phone-input.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useState, useEffect, useRef, useId } from \"react\";\nimport { getCountryCallingCode, AsYouType, isValidPhoneNumber } from \"libphonenumber-js\";\nimport { ChevronDown, Check, Search } from \"lucide-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError, ScrollArea } from \"../ui\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m, domAnimation } from \"framer-motion\";\n\nconst countryData = {\n\tPE: { name: \"Perú\", flag: \"🇵🇪\" },\n\tUS: { name: \"Estados Unidos\", flag: \"🇺🇸\" },\n\tMX: { name: \"México\", flag: \"🇲🇽\" },\n\tAR: { name: \"Argentina\", flag: \"🇦🇷\" },\n\tCO: { name: \"Colombia\", flag: \"🇨🇴\" },\n\tCL: { name: \"Chile\", flag: \"🇨🇱\" },\n\tBR: { name: \"Brasil\", flag: \"🇧🇷\" },\n\tBO: { name: \"Bolivia\", flag: \"🇧🇴\" },\n\tVE: { name: \"Venezuela\", flag: \"🇻🇪\" },\n};\n\ninterface Country {\n\tcode: string;\n\tname: string;\n\tflag: string;\n\tcallingCode: string;\n}\n\ninterface PhoneInputProps {\n\tid?: string;\n\tname: string;\n\tlabel?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tclassName?: string;\n\tonCountryChange?: (country: Country) => void;\n\tonPhoneChange?: (phone: string, isValid: boolean) => void;\n\ttouched?: boolean;\n\tvalues?: any;\n\tonBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n\terror?: string;\n\tvalue?: string; // para standalone\n\tdefaultCountry?: string;\n\tdisabled?: boolean;\n\tclassNameContainer?: string;\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n\tid,\n\tname,\n\tlabel = \"Teléfono\",\n\tplaceholder = \"Ingrese un número de teléfono\",\n\trequired = false,\n\tclassName = \"\",\n\tclassNameContainer = \"\",\n\tonCountryChange,\n\tonPhoneChange,\n\ttouched: externalTouched,\n\tonBlur: externalOnBlur,\n\terror: externalError,\n\tvalue: externalValue,\n\tdefaultCountry = \"PE\",\n\tdisabled = false,\n}) => {\n\tconst [selectedCountry, setSelectedCountry] = useState<Country>({\n\t\tcode: defaultCountry,\n\t\tname: countryData[defaultCountry as keyof typeof countryData].name,\n\t\tflag: countryData[defaultCountry as keyof typeof countryData].flag,\n\t\tcallingCode: `+${getCountryCallingCode(defaultCountry as keyof typeof countryData)}`,\n\t});\n\n\tconst [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\tconst [phoneValue, setPhoneValue] = useState(\"\");\n\tconst [formattedValue, setFormattedValue] = useState(\"\");\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [countries, setCountries] = useState<Country[]>([]);\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\n\tconst [filteredCountries, setFilteredCountries] = useState<Country[]>([]);\n\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\tconst isControlled = externalValue !== undefined;\n\n\t// Inicializar países en el orden definido en countryData\n\tuseEffect(() => {\n\t\tconst availableCountries = Object.keys(countryData).map((countryCode) => {\n\t\t\tconst data = countryData[countryCode as keyof typeof countryData];\n\t\t\treturn {\n\t\t\t\tcode: countryCode,\n\t\t\t\tname: data.name,\n\t\t\t\tflag: data.flag,\n\t\t\t\tcallingCode: `+${getCountryCallingCode(countryCode as keyof typeof countryData)}`,\n\t\t\t};\n\t\t});\n\t\tsetCountries(availableCountries);\n\t\tsetFilteredCountries(availableCountries);\n\t}, []);\n\n\t// Manejo de click fuera para cerrar dropdown\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n\t\t\t\tsetIsDropdownOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside);\n\t}, []);\n\n\t// Sincronizar externalValue con estados internos (incluye reset con \"\")\n\tuseEffect(() => {\n\t\tif (!isControlled || countries.length === 0) return;\n\n\t\t// Si el valor externo es vacío o null, limpiar estados\n\t\tif (externalValue === \"\" || externalValue == null) {\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = String(externalValue);\n\t\tlet country = countries.find((c) => value.startsWith(c.callingCode));\n\n\t\t// Si no se detecta país por código, mantener el seleccionado actual\n\t\tif (!country) {\n\t\t\tcountry = selectedCountry;\n\t\t}\n\n\t\tif (country) {\n\t\t\t// Actualizar país si cambió\n\t\t\tif (selectedCountry.code !== country.code) {\n\t\t\t\tsetSelectedCountry(country);\n\t\t\t}\n\n\t\t\tconst raw = value.replace(country.callingCode, \"\").replace(/[^\\d]/g, \"\");\n\t\t\tsetPhoneValue(raw);\n\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(raw);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst valid = isValidPhoneNumber(value);\n\t\t\tsetIsValid(valid);\n\t\t} else {\n\t\t\t// Fallback: no país detectado, limpiar formato pero conservar value crudo\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t}\n\t}, [externalValue, countries, isControlled, selectedCountry]);\n\n\t// Formatear número al escribir\n\tconst handlePhoneChange = (value: string, event?: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst cleanValue = value.replace(/[^\\d]/g, \"\");\n\n\t\tif (event?.nativeEvent instanceof InputEvent && event.nativeEvent.inputType === \"deleteContentBackward\" && cleanValue.length < 4) {\n\t\t\tsetPhoneValue(cleanValue);\n\t\t\tsetFormattedValue(cleanValue); // mostrar sin formato\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = new AsYouType(selectedCountry.code as keyof typeof countryData);\n\t\tconst formatted = formatter.input(cleanValue);\n\n\t\tsetPhoneValue(cleanValue);\n\t\tsetFormattedValue(formatted);\n\n\t\tconst fullNumber = selectedCountry.callingCode + cleanValue;\n\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\tsetIsValid(valid);\n\n\t\tonPhoneChange?.(fullNumber, valid);\n\t};\n\n\t// Seleccionar país\n\tconst handleCountrySelect = (country: Country) => {\n\t\tsetSelectedCountry(country);\n\t\tsetIsDropdownOpen(false);\n\t\tsetSearchTerm(\"\");\n\n\t\tif (phoneValue) {\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(phoneValue);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst fullNumber = country.callingCode + phoneValue;\n\t\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\t\tsetIsValid(valid);\n\n\t\t\tonPhoneChange?.(fullNumber, valid);\n\t\t}\n\n\t\tonCountryChange?.(country);\n\t\tsetTimeout(() => inputRef.current?.focus(), 100);\n\t};\n\n\tconst handleDropdownToggle = () => {\n\t\tsetIsDropdownOpen(!isDropdownOpen);\n\t\tif (!isDropdownOpen) {\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 100);\n\t\t}\n\t};\n\n\t// Filtrar países en búsqueda\n\tuseEffect(() => {\n\t\tif (!searchTerm.trim()) {\n\t\t\tsetFilteredCountries(countries);\n\t\t} else {\n\t\t\tconst searchLower = searchTerm.toLowerCase();\n\t\t\tconst filtered = countries.filter(\n\t\t\t\t(country) =>\n\t\t\t\t\tcountry.name.toLowerCase().includes(searchLower) ||\n\t\t\t\t\tcountry.callingCode.includes(searchTerm) ||\n\t\t\t\t\tcountry.code.toLowerCase().includes(searchLower),\n\t\t\t);\n\t\t\tsetFilteredCountries(filtered);\n\t\t}\n\t}, [searchTerm, countries]);\n\n\tconst isTouched = externalTouched;\n\tconst currentError = externalError;\n\tconst hasError = isTouched && currentError;\n\n\tconst isInvalid = !disabled && !!externalError && externalTouched;\n\n\treturn (\n\t\t<div className={twMerge(\"w-full relative flex flex-col\", classNameContainer)}>\n\t\t\t{label && (\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={resolvedId}\n\t\t\t\t\tclassName={cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\t\t\t\t\"text-danger\": hasError,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\"flex w-full min-w-0 transition-[color,box-shadow] outline-none rounded-md h-input-default\",\n\t\t\t\t\t\"bg-content1 border border-input\",\n\t\t\t\t\t\"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\thasError\n\t\t\t\t\t\t? \"border-danger aria-invalid:ring-danger/20\"\n\t\t\t\t\t\t: isValid && phoneValue\n\t\t\t\t\t\t? \"focus-within:border-primary focus-within:ring-primary/20\"\n\t\t\t\t\t\t: \"focus-within:border-primary focus-within:ring-primary/20\",\n\t\t\t\t\t\"focus-within:ring-[3px]\",\n\t\t\t\t)}\n\t\t\t\taria-invalid={isInvalid ? \"true\" : \"false\"}\n\t\t\t>\n\t\t\t\t{/* Country selector */}\n\t\t\t\t<div className=\"relative\" ref={dropdownRef}>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleDropdownToggle}\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"flex items-center gap-2 px-3 border-r border-input h-input-default\",\n\t\t\t\t\t\t\t\"hover:bg-muted/20 focus:outline-none rounded-l-md\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"text-lg dark:text-foreground\">{selectedCountry.flag}</span>\n\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground dark:text-foreground\">{selectedCountry.callingCode}</span>\n\t\t\t\t\t\t<ChevronDown className={`w-4 h-4 text-muted-foreground transition-transform ${isDropdownOpen ? \"rotate-180\" : \"\"}`} />\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{isDropdownOpen && (\n\t\t\t\t\t\t\t<LazyMotion features={domAnimation}>\n\t\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\t\tkey=\"country-dropdown\"\n\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0, y: -8, scale: 0.98 }}\n\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1, y: 0, scale: 1, transition: { type: \"spring\", stiffness: 420, damping: 28 } }}\n\t\t\t\t\t\t\t\t\texit={{ opacity: 0, y: -6, scale: 0.98, transition: { duration: 0.15, ease: \"easeOut\" } }}\n\t\t\t\t\t\t\t\t\tstyle={{ transformOrigin: \"top center\" }}\n\t\t\t\t\t\t\t\t\tclassName=\"absolute top-full left-0 z-50 w-60 mt-1 bg-content1 border border-input rounded-md shadow-lg max-h-60 overflow-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 bg-content1 border-b border-input p-3\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Buscar país o código\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full pl-10 pr-3 py-2 h-9 border border-input rounded-md text-sm focus:outline-none focus:border-primary focus:ring-[3px] focus:ring-primary/20\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ScrollArea className=\"max-h-48 overflow-y-auto pb-5\">\n\t\t\t\t\t\t\t\t\t\t{filteredCountries.map((country) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={country.code}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleCountrySelect(country)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full flex items-center gap-3 px-3 py-1 text-sm transition\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedCountry.code === country.code\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-primary/5 border-l-2 border-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"hover:bg-muted/20\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-lg\">{country.flag}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex-1 text-left\">{country.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{country.callingCode}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedCountry.code === country.code && <Check className=\"w-4 h-4 text-primary\" />}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</ScrollArea>\n\t\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t\t</LazyMotion>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Phone input */}\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tid={resolvedId}\n\t\t\t\t\ttype=\"tel\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={formattedValue}\n\t\t\t\t\tonChange={(e) => handlePhoneChange(e.target.value, e)}\n\t\t\t\t\tonBlur={externalOnBlur}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t{...(!disabled ? { \"aria-invalid\": isInvalid } : {})}\n\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\"flex-1 px-3 py-1 h-input-default border-0 rounded-r-md bg-transparent focus:outline-none text-foreground text-sm dark:text-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tautoComplete=\"tel\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{!disabled && externalError && externalTouched && <LabelError text={externalError || currentError || \"\"} />}\n\t\t</div>\n\t);\n};\n"],"names":["countryData","PE","name","flag","US","MX","AR","CO","CL","BR","BO","VE","PhoneInput","t0","$","_c","id","label","t1","placeholder","t2","required","t3","className","t4","classNameContainer","t5","onCountryChange","onPhoneChange","touched","externalTouched","onBlur","externalOnBlur","error","externalError","value","externalValue","defaultCountry","t6","disabled","t7","undefined","t8","t9","t10","t11","getCountryCallingCode","t12","t13","code","callingCode","selectedCountry","setSelectedCountry","useState","isDropdownOpen","setIsDropdownOpen","phoneValue","setPhoneValue","formattedValue","setFormattedValue","isValid","setIsValid","t14","Symbol","for","countries","setCountries","searchTerm","setSearchTerm","t15","filteredCountries","setFilteredCountries","dropdownRef","useRef","inputRef","searchInputRef","inputId","useId","resolvedId","isControlled","t16","t17","availableCountries","Object","keys","map","_temp","useEffect","t18","t19","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","t20","t21","length","String","country","find","c","startsWith","raw","replace","formatter","AsYouType","formatted","input","valid","isValidPhoneNumber","t22","value_0","event_0","cleanValue","nativeEvent","InputEvent","inputType","formatter_0","formatted_0","fullNumber","valid_0","handlePhoneChange","handleCountrySelect","country_0","formatter_1","formatted_1","fullNumber_0","valid_1","setTimeout","focus","t23","handleDropdownToggle","t24","t25","trim","searchLower","toLowerCase","filtered","filter","country_1","includes","isTouched","currentError","hasError","isInvalid","t26","twMerge","t27","cn","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","T0","AnimatePresence","t38","domAnimation","opacity","y","scale","transition","type","stiffness","damping","duration","ease","transformOrigin","e","country_2","t39","t40","t41","e_0","t42","t43","t44","t45","t46","t47","countryCode","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/phone-input/phone-input.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useState, useEffect, useRef, useId } from \"react\";\nimport { getCountryCallingCode, AsYouType, isValidPhoneNumber } from \"libphonenumber-js\";\nimport { ChevronDown, Check, Search } from \"lucide-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { cn } from \"@/lib/utils\";\nimport { LabelError, ScrollArea } from \"../ui\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { LazyMotion, m, domAnimation } from \"framer-motion\";\n\nconst countryData = {\n\tPE: { name: \"Perú\", flag: \"🇵🇪\" },\n\tUS: { name: \"Estados Unidos\", flag: \"🇺🇸\" },\n\tMX: { name: \"México\", flag: \"🇲🇽\" },\n\tAR: { name: \"Argentina\", flag: \"🇦🇷\" },\n\tCO: { name: \"Colombia\", flag: \"🇨🇴\" },\n\tCL: { name: \"Chile\", flag: \"🇨🇱\" },\n\tBR: { name: \"Brasil\", flag: \"🇧🇷\" },\n\tBO: { name: \"Bolivia\", flag: \"🇧🇴\" },\n\tVE: { name: \"Venezuela\", flag: \"🇻🇪\" },\n};\n\ninterface Country {\n\tcode: string;\n\tname: string;\n\tflag: string;\n\tcallingCode: string;\n}\n\ninterface PhoneInputProps {\n\tid?: string;\n\tname: string;\n\tlabel?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tclassName?: string;\n\tonCountryChange?: (country: Country) => void;\n\tonPhoneChange?: (phone: string, isValid: boolean) => void;\n\ttouched?: boolean;\n\tvalues?: any;\n\tonBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n\terror?: string;\n\tvalue?: string; // para standalone\n\tdefaultCountry?: string;\n\tdisabled?: boolean;\n\tclassNameContainer?: string;\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n\tid,\n\tname,\n\tlabel = \"Teléfono\",\n\tplaceholder = \"Ingrese un número de teléfono\",\n\trequired = false,\n\tclassName = \"\",\n\tclassNameContainer = \"\",\n\tonCountryChange,\n\tonPhoneChange,\n\ttouched: externalTouched,\n\tonBlur: externalOnBlur,\n\terror: externalError,\n\tvalue: externalValue,\n\tdefaultCountry = \"PE\",\n\tdisabled = false,\n}) => {\n\tconst [selectedCountry, setSelectedCountry] = useState<Country>({\n\t\tcode: defaultCountry,\n\t\tname: countryData[defaultCountry as keyof typeof countryData].name,\n\t\tflag: countryData[defaultCountry as keyof typeof countryData].flag,\n\t\tcallingCode: `+${getCountryCallingCode(defaultCountry as keyof typeof countryData)}`,\n\t});\n\n\tconst [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\tconst [phoneValue, setPhoneValue] = useState(\"\");\n\tconst [formattedValue, setFormattedValue] = useState(\"\");\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [countries, setCountries] = useState<Country[]>([]);\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\n\tconst [filteredCountries, setFilteredCountries] = useState<Country[]>([]);\n\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\n\tconst inputId = useId();\n\tconst resolvedId = id || inputId;\n\tconst isControlled = externalValue !== undefined;\n\n\t// Inicializar países en el orden definido en countryData\n\tuseEffect(() => {\n\t\tconst availableCountries = Object.keys(countryData).map((countryCode) => {\n\t\t\tconst data = countryData[countryCode as keyof typeof countryData];\n\t\t\treturn {\n\t\t\t\tcode: countryCode,\n\t\t\t\tname: data.name,\n\t\t\t\tflag: data.flag,\n\t\t\t\tcallingCode: `+${getCountryCallingCode(countryCode as keyof typeof countryData)}`,\n\t\t\t};\n\t\t});\n\t\tsetCountries(availableCountries);\n\t\tsetFilteredCountries(availableCountries);\n\t}, []);\n\n\t// Manejo de click fuera para cerrar dropdown\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n\t\t\t\tsetIsDropdownOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"mousedown\", handleClickOutside);\n\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside);\n\t}, []);\n\n\t// Sincronizar externalValue con estados internos (incluye reset con \"\")\n\tuseEffect(() => {\n\t\tif (!isControlled || countries.length === 0) return;\n\n\t\t// Si el valor externo es vacío o null, limpiar estados\n\t\tif (externalValue === \"\" || externalValue == null) {\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = String(externalValue);\n\t\tlet country = countries.find((c) => value.startsWith(c.callingCode));\n\n\t\t// Si no se detecta país por código, mantener el seleccionado actual\n\t\tif (!country) {\n\t\t\tcountry = selectedCountry;\n\t\t}\n\n\t\tif (country) {\n\t\t\t// Actualizar país si cambió\n\t\t\tif (selectedCountry.code !== country.code) {\n\t\t\t\tsetSelectedCountry(country);\n\t\t\t}\n\n\t\t\tconst raw = value.replace(country.callingCode, \"\").replace(/[^\\d]/g, \"\");\n\t\t\tsetPhoneValue(raw);\n\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(raw);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst valid = isValidPhoneNumber(value);\n\t\t\tsetIsValid(valid);\n\t\t} else {\n\t\t\t// Fallback: no país detectado, limpiar formato pero conservar value crudo\n\t\t\tsetPhoneValue(\"\");\n\t\t\tsetFormattedValue(\"\");\n\t\t\tsetIsValid(false);\n\t\t}\n\t}, [externalValue, countries, isControlled, selectedCountry]);\n\n\t// Formatear número al escribir\n\tconst handlePhoneChange = (value: string, event?: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst cleanValue = value.replace(/[^\\d]/g, \"\");\n\n\t\tif (event?.nativeEvent instanceof InputEvent && event.nativeEvent.inputType === \"deleteContentBackward\" && cleanValue.length < 4) {\n\t\t\tsetPhoneValue(cleanValue);\n\t\t\tsetFormattedValue(cleanValue); // mostrar sin formato\n\t\t\treturn;\n\t\t}\n\t\tconst formatter = new AsYouType(selectedCountry.code as keyof typeof countryData);\n\t\tconst formatted = formatter.input(cleanValue);\n\n\t\tsetPhoneValue(cleanValue);\n\t\tsetFormattedValue(formatted);\n\n\t\tconst fullNumber = selectedCountry.callingCode + cleanValue;\n\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\tsetIsValid(valid);\n\n\t\tonPhoneChange?.(fullNumber, valid);\n\t};\n\n\t// Seleccionar país\n\tconst handleCountrySelect = (country: Country) => {\n\t\tsetSelectedCountry(country);\n\t\tsetIsDropdownOpen(false);\n\t\tsetSearchTerm(\"\");\n\n\t\tif (phoneValue) {\n\t\t\tconst formatter = new AsYouType(country.code as keyof typeof countryData);\n\t\t\tconst formatted = formatter.input(phoneValue);\n\t\t\tsetFormattedValue(formatted);\n\n\t\t\tconst fullNumber = country.callingCode + phoneValue;\n\t\t\tconst valid = isValidPhoneNumber(fullNumber);\n\t\t\tsetIsValid(valid);\n\n\t\t\tonPhoneChange?.(fullNumber, valid);\n\t\t}\n\n\t\tonCountryChange?.(country);\n\t\tsetTimeout(() => inputRef.current?.focus(), 100);\n\t};\n\n\tconst handleDropdownToggle = () => {\n\t\tsetIsDropdownOpen(!isDropdownOpen);\n\t\tif (!isDropdownOpen) {\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 100);\n\t\t}\n\t};\n\n\t// Filtrar países en búsqueda\n\tuseEffect(() => {\n\t\tif (!searchTerm.trim()) {\n\t\t\tsetFilteredCountries(countries);\n\t\t} else {\n\t\t\tconst searchLower = searchTerm.toLowerCase();\n\t\t\tconst filtered = countries.filter(\n\t\t\t\t(country) =>\n\t\t\t\t\tcountry.name.toLowerCase().includes(searchLower) ||\n\t\t\t\t\tcountry.callingCode.includes(searchTerm) ||\n\t\t\t\t\tcountry.code.toLowerCase().includes(searchLower),\n\t\t\t);\n\t\t\tsetFilteredCountries(filtered);\n\t\t}\n\t}, [searchTerm, countries]);\n\n\tconst isTouched = externalTouched;\n\tconst currentError = externalError;\n\tconst hasError = isTouched && currentError;\n\n\tconst isInvalid = !disabled && !!externalError && externalTouched;\n\n\treturn (\n\t\t<div className={twMerge(\"w-full relative flex flex-col\", classNameContainer)}>\n\t\t\t{label && (\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={resolvedId}\n\t\t\t\t\tclassName={cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\n\t\t\t\t\t\t\"text-danger\": hasError,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\n\t\t\t\t</label>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\"flex w-full min-w-0 transition-[color,box-shadow] outline-none rounded-md h-input-default\",\n\t\t\t\t\t\"bg-content1 border border-input\",\n\t\t\t\t\t\"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\thasError\n\t\t\t\t\t\t? \"border-danger aria-invalid:ring-danger/20\"\n\t\t\t\t\t\t: isValid && phoneValue\n\t\t\t\t\t\t? \"focus-within:border-primary focus-within:ring-primary/20\"\n\t\t\t\t\t\t: \"focus-within:border-primary focus-within:ring-primary/20\",\n\t\t\t\t\t\"focus-within:ring-[3px]\",\n\t\t\t\t)}\n\t\t\t\taria-invalid={isInvalid ? \"true\" : \"false\"}\n\t\t\t>\n\t\t\t\t{/* Country selector */}\n\t\t\t\t<div className=\"relative\" ref={dropdownRef}>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleDropdownToggle}\n\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\"flex items-center gap-2 px-3 border-r border-input h-input-default\",\n\t\t\t\t\t\t\t\"hover:bg-muted/20 focus:outline-none rounded-l-md\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"text-lg dark:text-foreground\">{selectedCountry.flag}</span>\n\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground dark:text-foreground\">{selectedCountry.callingCode}</span>\n\t\t\t\t\t\t<ChevronDown className={`w-4 h-4 text-muted-foreground transition-transform ${isDropdownOpen ? \"rotate-180\" : \"\"}`} />\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t{isDropdownOpen && (\n\t\t\t\t\t\t\t<LazyMotion features={domAnimation}>\n\t\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\t\tkey=\"country-dropdown\"\n\t\t\t\t\t\t\t\t\tinitial={{ opacity: 0, y: -8, scale: 0.98 }}\n\t\t\t\t\t\t\t\t\tanimate={{ opacity: 1, y: 0, scale: 1, transition: { type: \"spring\", stiffness: 420, damping: 28 } }}\n\t\t\t\t\t\t\t\t\texit={{ opacity: 0, y: -6, scale: 0.98, transition: { duration: 0.15, ease: \"easeOut\" } }}\n\t\t\t\t\t\t\t\t\tstyle={{ transformOrigin: \"top center\" }}\n\t\t\t\t\t\t\t\t\tclassName=\"absolute top-full left-0 z-50 w-60 mt-1 bg-content1 border border-input rounded-md shadow-lg max-h-60 overflow-hidden\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 bg-content1 border-b border-input p-3\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Buscar país o código\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full pl-10 pr-3 py-2 h-9 border border-input rounded-md text-sm focus:outline-none focus:border-primary focus:ring-[3px] focus:ring-primary/20\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ScrollArea className=\"max-h-48 overflow-y-auto pb-5\">\n\t\t\t\t\t\t\t\t\t\t{filteredCountries.map((country) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tkey={country.code}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleCountrySelect(country)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-full flex items-center gap-3 px-3 py-1 text-sm transition\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedCountry.code === country.code\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-primary/5 border-l-2 border-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"hover:bg-muted/20\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-lg\">{country.flag}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex-1 text-left\">{country.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{country.callingCode}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedCountry.code === country.code && <Check className=\"w-4 h-4 text-primary\" />}\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</ScrollArea>\n\t\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t\t</LazyMotion>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Phone input */}\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tid={resolvedId}\n\t\t\t\t\ttype=\"tel\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={formattedValue}\n\t\t\t\t\tonChange={(e) => handlePhoneChange(e.target.value, e)}\n\t\t\t\t\tonBlur={externalOnBlur}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t{...(!disabled ? { \"aria-invalid\": isInvalid } : {})}\n\t\t\t\t\tclassName={twMerge(\n\t\t\t\t\t\t\"flex-1 px-3 py-1 h-input-default border-0 rounded-r-md bg-transparent focus:outline-none text-foreground text-sm dark:text-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tautoComplete=\"tel\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{!disabled && externalError && externalTouched && <LabelError text={externalError || currentError || \"\"} />}\n\t\t</div>\n\t);\n};\n"],"names":["countryData","PE","name","flag","US","MX","AR","CO","CL","BR","BO","VE","PhoneInput","t0","$","_c","id","label","t1","placeholder","t2","required","t3","className","t4","classNameContainer","t5","onCountryChange","onPhoneChange","touched","externalTouched","onBlur","externalOnBlur","error","externalError","value","externalValue","defaultCountry","t6","disabled","t7","undefined","t8","t9","t10","t11","getCountryCallingCode","t12","t13","code","callingCode","selectedCountry","setSelectedCountry","useState","isDropdownOpen","setIsDropdownOpen","phoneValue","setPhoneValue","formattedValue","setFormattedValue","isValid","setIsValid","t14","Symbol","for","countries","setCountries","searchTerm","setSearchTerm","t15","filteredCountries","setFilteredCountries","dropdownRef","useRef","inputRef","searchInputRef","inputId","useId","resolvedId","isControlled","t16","t17","availableCountries","Object","keys","map","_temp","useEffect","t18","t19","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","t20","t21","length","String","country","find","c","startsWith","raw","replace","formatter","AsYouType","formatted","input","valid","isValidPhoneNumber","t22","value_0","event_0","cleanValue","nativeEvent","InputEvent","inputType","formatter_0","formatted_0","fullNumber","valid_0","handlePhoneChange","handleCountrySelect","country_0","formatter_1","formatted_1","fullNumber_0","valid_1","setTimeout","focus","t23","handleDropdownToggle","t24","t25","trim","searchLower","toLowerCase","filtered","filter","country_1","includes","isTouched","currentError","hasError","isInvalid","t26","twMerge","t27","cn","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","T0","AnimatePresence","t38","domAnimation","opacity","y","scale","transition","type","stiffness","damping","duration","ease","transformOrigin","e","country_2","t39","t40","t41","e_0","t42","t43","t44","t45","t46","t47","countryCode","data"],"mappings":"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"}
|