UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 8.94 kB
{"version":3,"file":"textInputShared.js","names":[],"sources":["esm/platform/universal/TextInput/textInputShared.js"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nfunction resolveEditable(editable, readOnly) {\n if (readOnly) return false;\n return editable ?? true;\n}\nfunction inputModeToKeyboardType(inputMode) {\n switch (inputMode) {\n case \"decimal\":\n return \"decimal-pad\";\n case \"email\":\n return \"email-address\";\n case \"none\":\n return \"default\";\n case \"numeric\":\n return \"numeric\";\n case \"search\":\n return \"web-search\";\n case \"tel\":\n return \"phone-pad\";\n case \"text\":\n return \"default\";\n case \"url\":\n return \"url\";\n default:\n return void 0;\n }\n}\nfunction enterKeyHintToReturnKeyType(enterKeyHint) {\n switch (enterKeyHint) {\n case \"enter\":\n return \"default\";\n case \"done\":\n return \"done\";\n case \"go\":\n return \"go\";\n case \"next\":\n return \"next\";\n case \"previous\":\n return \"previous\";\n case \"search\":\n return \"search\";\n case \"send\":\n return \"send\";\n default:\n return void 0;\n }\n}\nconst autoCompleteMap = {\n \"additional-name\": \"middleName\",\n \"address-line1\": \"streetAddressLine1\",\n \"address-line2\": \"streetAddressLine2\",\n bday: \"birthdate\",\n \"bday-day\": \"birthdateDay\",\n \"bday-month\": \"birthdateMonth\",\n \"bday-year\": \"birthdateYear\",\n \"cc-additional-name\": \"creditCardName\",\n \"cc-csc\": \"creditCardSecurityCode\",\n \"cc-exp\": \"creditCardExpiration\",\n \"cc-exp-month\": \"creditCardExpirationMonth\",\n \"cc-exp-year\": \"creditCardExpirationYear\",\n \"cc-family-name\": \"creditCardFamilyName\",\n \"cc-given-name\": \"creditCardGivenName\",\n \"cc-name\": \"creditCardName\",\n \"cc-number\": \"creditCardNumber\",\n \"cc-type\": \"creditCardType\",\n country: \"countryName\",\n \"country-name\": \"countryName\",\n \"current-password\": \"password\",\n email: \"emailAddress\",\n \"family-name\": \"familyName\",\n \"given-name\": \"givenName\",\n honorific: \"namePrefix\",\n \"honorific-prefix\": \"namePrefix\",\n \"honorific-suffix\": \"nameSuffix\",\n name: \"name\",\n \"new-password\": \"newPassword\",\n nickname: \"nickname\",\n off: \"none\",\n \"one-time-code\": \"oneTimeCode\",\n organization: \"organizationName\",\n \"organization-title\": \"jobTitle\",\n password: \"password\",\n \"postal-code\": \"postalCode\",\n tel: \"telephoneNumber\",\n \"tel-area-code\": \"telephoneNumber\",\n \"tel-country-code\": \"telephoneNumber\",\n \"tel-extension\": \"telephoneNumber\",\n \"tel-local\": \"telephoneNumber\",\n \"tel-local-prefix\": \"telephoneNumber\",\n \"tel-local-suffix\": \"telephoneNumber\",\n \"tel-national\": \"telephoneNumber\",\n url: \"URL\",\n username: \"username\"\n};\nfunction autoCompleteToTextContentType(autoComplete) {\n if (!autoComplete) return void 0;\n return autoCompleteMap[autoComplete];\n}\nfunction iosKeyboardType(value) {\n switch (value) {\n case \"ascii-capable\":\n return \"asciiCapable\";\n case \"numbers-and-punctuation\":\n return \"numbersAndPunctuation\";\n case \"url\":\n return \"url\";\n case \"number-pad\":\n return \"numberPad\";\n case \"phone-pad\":\n return \"phonePad\";\n case \"name-phone-pad\":\n return \"namePhonePad\";\n case \"email-address\":\n return \"emailAddress\";\n case \"decimal-pad\":\n return \"decimalPad\";\n case \"twitter\":\n return \"twitter\";\n case \"web-search\":\n return \"webSearch\";\n case \"numeric\":\n return \"decimalPad\";\n default:\n return \"default\";\n }\n}\nfunction iosSubmitLabel(value) {\n if (value === \"google\" || value === \"yahoo\") return \"search\";\n if (value === \"default\" || value === \"none\" || value === \"previous\" || value === \"emergency-call\") {\n return \"return\";\n }\n return value;\n}\nfunction androidKeyboardType(value) {\n switch (value) {\n case \"email-address\":\n return \"email\";\n case \"numeric\":\n case \"decimal-pad\":\n return \"decimal\";\n case \"number-pad\":\n return \"number\";\n case \"phone-pad\":\n return \"phone\";\n case \"url\":\n return \"url\";\n default:\n return \"default\";\n }\n}\nfunction androidImeAction(value) {\n if (value === \"google\" || value === \"yahoo\") return \"search\";\n if (value === \"join\" || value === \"route\" || value === \"emergency-call\")\n return \"default\";\n return value;\n}\nfunction applyMaxLength(text, maxLength) {\n if (maxLength == null || maxLength <= 0) return text;\n return text.length > maxLength ? text.slice(0, maxLength) : text;\n}\nfunction useTextInputFocus({\n autoFocus,\n editable,\n onFocus,\n onBlur\n}) {\n const [focused, setFocused] = useState(autoFocus ?? false);\n const [focusRevision, setFocusRevision] = useState(0);\n const isFocusedRef = useRef(false);\n const latest = useRef({ editable, onFocus, onBlur });\n latest.current = { editable, onFocus, onBlur };\n const report = (next) => {\n if (isFocusedRef.current === next) return;\n isFocusedRef.current = next;\n if (next) latest.current.onFocus?.();\n else latest.current.onBlur?.();\n };\n const request = (next) => {\n if (next && !latest.current.editable) return;\n setFocused(next);\n setFocusRevision((revision) => revision + 1);\n report(next);\n };\n useEffect(() => {\n if (autoFocus && latest.current.editable) report(true);\n }, []);\n return {\n focused,\n focusRevision,\n focus: () => request(true),\n blur: () => request(false),\n isFocused: () => isFocusedRef.current,\n handleFocusChange: (next) => {\n setFocused(next);\n report(next);\n }\n };\n}\nexport {\n androidImeAction,\n androidKeyboardType,\n applyMaxLength,\n autoCompleteToTextContentType,\n enterKeyHintToReturnKeyType,\n inputModeToKeyboardType,\n iosKeyboardType,\n iosSubmitLabel,\n resolveEditable,\n useTextInputFocus\n};\n//# sourceMappingURL=textInputShared.js.map\n"],"mappings":"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"}