@rpcbase/ui 0.231.0 → 0.233.0
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/components/FilesUploadField/index.d.ts +2 -1
- package/dist/components/FilesUploadField/index.d.ts.map +1 -1
- package/dist/components/I18nField/index.d.ts.map +1 -1
- package/dist/index11.js +291 -278
- package/dist/index11.js.map +1 -1
- package/dist/index151.js +4 -4
- package/dist/index156.js +1 -1
- package/dist/index157.js +1 -1
- package/dist/index164.js +1 -1
- package/dist/index165.js +6 -6
- package/dist/index167.js +1 -1
- package/dist/index169.js +1 -1
- package/dist/index172.js +3 -3
- package/dist/index175.js +1 -1
- package/dist/index176.js +4 -4
- package/dist/index182.js +1 -1
- package/dist/index184.js +12 -12
- package/dist/index187.js +5 -5
- package/dist/index189.js +3 -3
- package/dist/index190.js +1 -1
- package/dist/index193.js +3 -3
- package/dist/index194.js +5 -5
- package/dist/index256.js +14 -20
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +146 -58
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +30 -6
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +9 -11
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +44 -46
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +12 -4
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +43 -28
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +93 -14
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +86 -5
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +105 -21
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +51 -50
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +11 -25
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +37 -41
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +8 -39
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +117 -45
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +17 -20
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +14 -69
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +3 -17
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +36 -11
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +20 -27
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +9 -13
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +8 -18
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +20 -37
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +59 -255
- package/dist/index279.js.map +1 -1
- package/dist/index280.js +6 -278
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +10 -67
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +47 -96
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +4 -84
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +29 -3
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +15 -28
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +5 -16
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +22 -35
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +51 -16
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +25 -3
- package/dist/index289.js.map +1 -1
- package/dist/index290.js +41 -26
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +38 -27
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +45 -4
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +20 -78
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +65 -264
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +17 -11
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +11 -10
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +26 -24
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +13 -16
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +15 -122
- package/dist/index299.js.map +1 -1
- package/dist/index300.js +36 -5
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +260 -38
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +275 -62
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +68 -13
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +99 -7
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +83 -5
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +3 -3
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +29 -10
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +15 -6
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +34 -133
- package/dist/index309.js.map +1 -1
- package/dist/index310.js +15 -398
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +3 -52
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +26 -11
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +27 -10
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +4 -14
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +75 -151
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +267 -28
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +11 -9
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +11 -49
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +25 -11
- package/dist/index319.js.map +1 -1
- package/dist/index320.js +15 -43
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +119 -89
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +5 -86
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +39 -104
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +60 -47
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +13 -11
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +7 -37
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +5 -8
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +3 -3
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +10 -9
- package/dist/index329.js.map +1 -1
- package/dist/index330.js +7 -116
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +133 -17
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +398 -14
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +51 -35
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +11 -20
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +11 -8
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +3 -3
- package/dist/index346.js +2 -2
- package/dist/index348.js +8 -8
- package/dist/index349.js +3 -3
- package/dist/index350.js +2 -2
- package/dist/index351.js +5 -5
- package/dist/index353.js +1 -1
- package/dist/index362.js +21 -4
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +4 -12
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +11 -16
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +16 -5
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +5 -20
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +19 -43
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +40 -13
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +17 -4
- package/dist/index369.js.map +1 -1
- package/dist/index370.js +4 -200
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +197 -74
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +77 -20
- package/dist/index372.js.map +1 -1
- package/dist/index374.js +3 -3
- package/dist/index375.js +1 -1
- package/dist/index376.js +3 -3
- package/dist/index378.js +2 -2
- package/dist/index380.js +1 -1
- package/dist/index381.js +2 -2
- package/dist/index407.js +1 -1
- package/dist/index411.js +1 -1
- package/dist/index413.js +1 -1
- package/dist/index414.js +2 -2
- package/dist/index417.js +1 -1
- package/dist/index418.js +1 -1
- package/dist/index421.js +1 -1
- package/dist/index422.js +1 -1
- package/dist/index423.js +16 -2
- package/dist/index423.js.map +1 -1
- package/dist/index424.js +29 -2
- package/dist/index424.js.map +1 -1
- package/dist/index425.js +13 -2
- package/dist/index425.js.map +1 -1
- package/dist/index426.js +7 -2
- package/dist/index426.js.map +1 -1
- package/dist/index427.js +2 -16
- package/dist/index427.js.map +1 -1
- package/dist/index428.js +2 -29
- package/dist/index428.js.map +1 -1
- package/dist/index429.js +2 -13
- package/dist/index429.js.map +1 -1
- package/dist/index430.js +2 -7
- package/dist/index430.js.map +1 -1
- package/dist/index44.js +1 -1
- package/dist/index45.js +2 -2
- package/dist/index49.js +28 -28
- package/dist/index50.js +21 -21
- package/dist/index51.js +1 -1
- package/dist/index52.js +8 -8
- package/dist/index53.js +2 -2
- package/dist/index55.js +17 -17
- package/dist/index56.js +4 -4
- package/dist/index57.js +3 -3
- package/dist/index58.js +7 -7
- package/dist/index59.js +4 -4
- package/dist/index60.js +12 -12
- package/dist/index61.js +2 -2
- package/dist/index62.js +2 -2
- package/dist/index70.js +1 -1
- package/dist/index71.js +1 -1
- package/dist/index74.js +2 -6
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +2 -8
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +5 -5
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +8 -2
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +6 -2
- package/dist/index78.js.map +1 -1
- package/dist/index8.js +525 -517
- package/dist/index8.js.map +1 -1
- package/package.json +1 -1
package/dist/index11.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index11.js","sources":["../src/components/I18nField/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport Select, {\n type OptionProps,\n type Props as SelectProps,\n type SelectInstance,\n type SingleValue,\n type StylesConfig,\n components as selectComponents,\n} from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nexport type LanguageCode = string\n\nexport type LocalizedStringEntry<TExtra extends Record<string, unknown> = Record<string, unknown>> = {\n value: string\n updatedAt: Date\n autoTranslated?: boolean\n} & TExtra\n\nexport type LocalizedString<TExtra extends Record<string, unknown> = Record<string, unknown>> = Record<\n LanguageCode,\n LocalizedStringEntry<TExtra>\n>\n\nexport type I18nValue<TExtra extends Record<string, unknown> = Record<string, unknown>> = LocalizedString<TExtra>\n\ntype LocaleContextValue = {\n locale: LanguageCode | null\n setLocale: (next: LanguageCode) => void\n}\n\nconst I18nFieldLocaleContext = React.createContext<LocaleContextValue | null>(null)\n\ntype I18nFieldLocaleProviderProps = {\n children: React.ReactNode\n value?: LanguageCode\n defaultValue?: LanguageCode\n onChange?: (locale: LanguageCode) => void\n}\n\nexport function I18nFieldLocaleProvider({ children, value, defaultValue, onChange }: I18nFieldLocaleProviderProps) {\n const isControlled = value !== undefined\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(defaultValue ?? DEFAULT_LOCALE)\n const activeLocale = (value ?? internalLocale) as LanguageCode\n\n const setLocale = React.useCallback(\n (next: LanguageCode) => {\n if (!isControlled) {\n setInternalLocale(next)\n }\n onChange?.(next)\n },\n [isControlled, onChange]\n )\n\n const contextValue = React.useMemo<LocaleContextValue>(\n () => ({\n locale: activeLocale,\n setLocale,\n }),\n [activeLocale, setLocale]\n )\n\n return <I18nFieldLocaleContext.Provider value={contextValue}>{children}</I18nFieldLocaleContext.Provider>\n}\n\ntype I18nFieldProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n> &\n Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n > & {\n value?: I18nValue\n defaultValue?: I18nValue\n locale?: LanguageCode\n defaultLocale?: LanguageCode\n onChange?: (value: I18nValue) => void\n onLocaleChange?: (locale: LanguageCode, option: LanguageOption) => void\n locales?: LanguageCode[]\n multiline?: boolean\n inputClassName?: string\n selectProps?: Partial<SelectProps<LanguageOption, false>>\n selectFooter?: React.ReactNode\n languageSelectTabIndex?: number\n }\n\ntype LanguageOption = {\n value: LanguageCode\n name: string\n code: string\n searchable: string[]\n}\n\nconst DEFAULT_LOCALE: LanguageCode = \"en\"\n\nfunction languageCodeToBadge(code: string) {\n const primary = code.split(\"-\")[0] ?? \"\"\n const normalized = primary.replace(/[^A-Za-z]/g, \"\")\n if (!normalized) return \"?\"\n return normalized.slice(0, 3).toUpperCase()\n}\n\nfunction stripDiacritics(value: string) {\n return value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n}\n\nfunction normalize(value: string) {\n return stripDiacritics(value).toLowerCase()\n}\n\nfunction resolveLocalizedEntry(value: I18nValue, locale: LanguageCode) {\n if (Object.prototype.hasOwnProperty.call(value, locale)) {\n return value[locale]\n }\n\n const parts = locale.split(\"-\").filter(Boolean)\n while (parts.length > 1) {\n parts.pop()\n const candidate = parts.join(\"-\")\n if (Object.prototype.hasOwnProperty.call(value, candidate)) {\n return value[candidate]\n }\n }\n\n return undefined\n}\n\nfunction resolveLocalizedValue(value: I18nValue, locale: LanguageCode) {\n return resolveLocalizedEntry(value, locale)?.value ?? \"\"\n}\n\nfunction createDisplayNames(locale: string | string[] | undefined, type: \"language\") {\n if (typeof Intl === \"undefined\" || typeof Intl.DisplayNames === \"undefined\") return null\n try {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : undefined\n return new Intl.DisplayNames(locales, { type })\n } catch {\n return null\n }\n}\n\nfunction safeDisplayName(displayNames: Intl.DisplayNames | null, value: string) {\n if (!displayNames) return undefined\n try {\n return displayNames.of(value) ?? undefined\n } catch {\n return undefined\n }\n}\n\nfunction buildLanguageOptions(locale?: string | string[], allowed?: LanguageCode[]) {\n const displayNames = createDisplayNames(locale, \"language\")\n const englishDisplayNames = createDisplayNames(\"en\", \"language\")\n const pool = (allowed ?? []).filter((code): code is LanguageCode => typeof code === \"string\" && code.length > 0)\n\n return pool\n .map((code) => {\n const name = safeDisplayName(displayNames, code) ?? safeDisplayName(englishDisplayNames, code) ?? code\n return {\n value: code,\n name,\n code,\n searchable: Array.from(\n new Set([\n name,\n safeDisplayName(englishDisplayNames, code) ?? code,\n code.toLowerCase(),\n code.toUpperCase(),\n ])\n ).map((entry) => normalize(entry)),\n }\n })\n .sort((a, b) => a.name.localeCompare(b.name))\n}\n\nconst selectStyles: StylesConfig<LanguageOption, false> = {\n control: () => ({\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: 4,\n borderRadius: \"var(--radius)\",\n boxShadow: \"0 18px 36px rgba(15, 23, 42, 0.18)\",\n backgroundColor: \"hsl(var(--popover))\",\n overflow: \"hidden\",\n zIndex: 30,\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: 280,\n padding: 0,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n }),\n option: (provided, state) => ({\n ...provided,\n fontSize: \"0.875rem\",\n backgroundColor: state.isFocused\n ? \"hsl(var(--muted))\"\n : state.isSelected\n ? \"hsl(var(--accent))\"\n : \"transparent\",\n color: state.isSelected\n ? \"hsl(var(--accent-foreground))\"\n : \"hsl(var(--foreground))\",\n cursor: \"pointer\",\n }),\n noOptionsMessage: (provided) => ({\n ...provided,\n fontSize: \"0.875rem\",\n color: \"hsl(var(--muted-foreground))\",\n }),\n}\n\nconst HiddenControl = () => <div style={{ display: \"none\" }} />\nconst NullComponent = () => null\n\nfunction Option(props: OptionProps<LanguageOption, false>) {\n const { data, innerRef, innerProps, isFocused, isSelected } = props\n return (\n <div\n ref={innerRef}\n {...innerProps}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm\",\n isSelected\n ? \"bg-accent text-accent-foreground\"\n : isFocused\n ? \"bg-muted text-foreground\"\n : \"text-foreground\"\n )}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{data.name}</span>\n </span>\n <span className=\"text-xs text-muted-foreground uppercase\">{data.code}</span>\n </div>\n )\n}\n\nexport const I18nField = React.forwardRef<HTMLInputElement | HTMLTextAreaElement, I18nFieldProps>(\n function I18nField(props, forwardedRef) {\n const {\n value: valueProp,\n defaultValue,\n locale: localeProp,\n defaultLocale,\n onChange,\n onLocaleChange,\n locales,\n multiline,\n className,\n inputClassName,\n selectProps,\n selectFooter,\n languageSelectTabIndex = -1,\n disabled,\n ...rest\n } = props\n\n type SharedProps = React.InputHTMLAttributes<HTMLInputElement> &\n React.TextareaHTMLAttributes<HTMLTextAreaElement> & { rows?: number }\n\n const { rows, ...restProps } = rest as SharedProps\n\n const initialValue = React.useMemo<I18nValue>(() => valueProp ?? defaultValue ?? {}, [defaultValue, valueProp])\n const [internalValue, setInternalValue] = React.useState<I18nValue>(initialValue)\n const isControlled = valueProp !== undefined\n const currentValue = isControlled ? valueProp ?? {} : internalValue\n const [searchTerm, setSearchTerm] = React.useState(\"\")\n const localeContext = React.useContext(I18nFieldLocaleContext)\n\n const localePool = React.useMemo(() => {\n const pool = Array.from(new Set([...(locales ?? []), ...Object.keys(currentValue)]))\n return buildLanguageOptions(undefined, pool)\n }, [currentValue, locales])\n\n const initialLocale = React.useMemo(() => {\n const candidate =\n localeProp ??\n localeContext?.locale ??\n defaultLocale ??\n (Object.keys(currentValue)[0] as LanguageCode | undefined) ??\n localePool[0]?.value ??\n DEFAULT_LOCALE\n return candidate\n }, [currentValue, defaultLocale, localeContext?.locale, localePool, localeProp])\n\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(initialLocale)\n const activeLocale = localeProp ?? localeContext?.locale ?? internalLocale\n\n React.useEffect(() => {\n if (!isControlled) {\n setInternalValue(initialValue)\n }\n }, [initialValue, isControlled])\n\n React.useEffect(() => {\n if (localeProp && localeProp !== internalLocale) {\n setInternalLocale(localeProp)\n }\n }, [internalLocale, localeProp])\n\n React.useEffect(() => {\n if (!localeProp && localeContext?.locale && localeContext.locale !== internalLocale) {\n setInternalLocale(localeContext.locale)\n }\n }, [internalLocale, localeContext?.locale, localeProp])\n\n const selectedOption =\n localePool.find((option) => option.value === activeLocale) ??\n localePool.find((option) => option.value === DEFAULT_LOCALE) ??\n localePool[0] ??\n null\n\n const [menuOpen, setMenuOpen] = React.useState(false)\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement | null>(null)\n const triggerRef = React.useRef<HTMLButtonElement | null>(null)\n const containerRef = React.useRef<HTMLDivElement | null>(null)\n const selectRef = React.useRef<SelectInstance<LanguageOption, false> | null>(null)\n const searchInputRef = React.useRef<HTMLInputElement | null>(null)\n const selectionSnapshotRef = React.useRef<{ start: number | null; end: number | null } | null>(null)\n const [menuPosition, setMenuPosition] = React.useState<{ left: number; top: number }>({ left: 0, top: 0 })\n\n React.useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement & HTMLTextAreaElement, [])\n\n const handleLocaleSelect = (option: SingleValue<LanguageOption>) => {\n if (!option) return\n const nextLocale = option.value\n if (!isControlled) {\n setInternalLocale(nextLocale)\n }\n onLocaleChange?.(nextLocale, option)\n localeContext?.setLocale(nextLocale)\n closeMenu(true)\n }\n\n const handleTextChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const currentEntry = currentValue[activeLocale]\n const nextValue = {\n ...currentValue,\n [activeLocale]: {\n ...(currentEntry ?? {}),\n value: event.target.value,\n updatedAt: new Date(),\n autoTranslated: false,\n },\n }\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n onChange?.(nextValue)\n }\n\n const currentText = resolveLocalizedValue(currentValue, activeLocale)\n\n const filterOption = React.useCallback(\n (option: { data: LanguageOption }) => {\n if (!searchTerm) return true\n const query = normalize(searchTerm)\n return option.data.searchable.some((token) => token.includes(query))\n },\n [searchTerm]\n )\n\n const buttonPosition = multiline ? \"left-2 top-2 -translate-y-0\" : \"left-3 top-1/2 -translate-y-1/2\"\n const inputPaddingLeft = \"pl-10 pr-3\"\n\n const updateMenuPosition = React.useCallback(() => {\n const trigger = triggerRef.current\n const container = containerRef.current\n if (!trigger || !container) return\n const triggerRect = trigger.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n setMenuPosition({\n left: triggerRect.left - containerRect.left,\n top: triggerRect.bottom - containerRect.top + 4,\n })\n }, [])\n\n const isInsideComponent = React.useCallback((target: EventTarget | null) => {\n if (!target || !(target instanceof Node)) return false\n return Boolean(rootRef.current?.contains(target))\n }, [])\n\n const restoreMainFocus = React.useCallback(() => {\n const target = inputRef.current\n if (!target) return\n target.focus()\n const selection = selectionSnapshotRef.current\n if (selection && selection.start != null && selection.end != null) {\n target.setSelectionRange(selection.start, selection.end)\n }\n }, [])\n\n React.useEffect(() => {\n if (!menuOpen) return\n const target = searchInputRef.current\n if (!target) return\n requestAnimationFrame(() => {\n if (document.activeElement === target) return\n target.focus()\n const end = target.value.length\n try {\n target.setSelectionRange(end, end)\n } catch {\n /* ignore */\n }\n })\n }, [menuOpen, searchTerm])\n\n const closeMenu = React.useCallback(\n (restoreFocus = true) => {\n setMenuOpen(false)\n setSearchTerm(\"\")\n if (restoreFocus) {\n requestAnimationFrame(() => {\n restoreMainFocus()\n })\n }\n },\n [restoreMainFocus]\n )\n\n const {\n components: userSelectComponents,\n styles: userSelectStyles,\n classNamePrefix: userClassNamePrefix,\n placeholder: selectPlaceholder,\n noOptionsMessage,\n ...forwardedSelectProps\n } = selectProps ?? {}\n\n const filteredOptions = React.useMemo(() => {\n const query = normalize(searchTerm)\n const rank = (option: LanguageOption) => {\n const code = option.code.toLowerCase()\n if (query && code === query) return 0\n if (query && code.startsWith(query)) return 1\n if (query && option.searchable.some((token) => token.startsWith(query))) return 2\n if (query && option.searchable.some((token) => token.includes(query))) return 3\n return 4\n }\n return localePool\n .filter((option) => filterOption({ data: option }))\n .sort((a, b) => {\n const diff = rank(a) - rank(b)\n if (diff !== 0) return diff\n return a.name.localeCompare(b.name)\n })\n }, [filterOption, localePool, searchTerm])\n\n const mergedSelectComponents = React.useMemo(\n () => ({\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n MenuList: (props: any) => {\n const { children } = props\n return (\n <selectComponents.MenuList {...props} className=\"!p-0 flex flex-col overflow-hidden\">\n <div className=\"border-b border-muted px-2 pb-2 pt-2\">\n <input\n ref={searchInputRef}\n value={searchTerm}\n onChange={(event) => setSearchTerm(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault()\n closeMenu(true)\n return\n }\n if (event.key === \"Enter\") {\n event.preventDefault()\n const first = filteredOptions[0]\n if (first) {\n handleLocaleSelect(first)\n }\n return\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault()\n selectRef.current?.focus()\n }\n }}\n className=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring\"\n placeholder=\"Search language…\"\n />\n </div>\n <div className=\"max-h-60 overflow-y-auto\">{children}</div>\n {selectFooter ? (\n <div className=\"border-t border-muted bg-muted/60 px-3 py-2 text-xs text-muted-foreground\">\n {selectFooter}\n </div>\n ) : null}\n </selectComponents.MenuList>\n )\n },\n ...(userSelectComponents ?? {}),\n Option,\n }),\n [closeMenu, filterOption, filteredOptions, handleLocaleSelect, localePool, searchTerm, selectFooter, userSelectComponents]\n )\n\n const mergedSelectStyles = React.useMemo<StylesConfig<LanguageOption, false>>(\n () => ({\n ...selectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )\n\n React.useLayoutEffect(() => {\n if (!menuOpen) return\n updateMenuPosition()\n const handleResize = () => updateMenuPosition()\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }, [menuOpen, updateMenuPosition])\n\n const sharedFieldProps = {\n ...restProps,\n ref: inputRef as React.Ref<any>,\n disabled,\n value: currentText,\n onChange: handleTextChange,\n onFocus: (event: React.FocusEvent<any>) => {\n if (menuOpen) {\n closeMenu(false)\n }\n restProps.onFocus?.(event)\n },\n onBlur: (event: React.FocusEvent<any>) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n restProps.onBlur?.(event)\n },\n className: cn(\n \"w-full rounded-md border border-input bg-background text-base ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n multiline ? \"min-h-24 py-2\" : \"h-10 py-2\",\n inputPaddingLeft,\n inputClassName\n ),\n placeholder: restProps.placeholder,\n }\n\n return (\n <div\n ref={rootRef}\n className={cn(\"relative flex flex-col\", className)}\n onBlur={(event) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n }}\n >\n <div ref={containerRef} className=\"relative\">\n {multiline ? (\n <textarea rows={rows} {...sharedFieldProps} />\n ) : (\n <input type=\"text\" {...sharedFieldProps} />\n )}\n\n <button\n type=\"button\"\n className={cn(\n \"absolute flex h-6 w-6 items-center justify-center rounded border text-xs font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n buttonPosition,\n disabled ? \"cursor-not-allowed opacity-50 pointer-events-none\" : \"cursor-pointer hover:bg-muted\",\n selectedOption ? \"border-transparent\" : \"border-dashed border-border text-muted-foreground\"\n )}\n aria-label={selectedOption ? `Select language (${selectedOption.code})` : \"Select language\"}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (disabled) return\n const target = inputRef.current\n if (target) {\n selectionSnapshotRef.current = {\n start: target.selectionStart,\n end: target.selectionEnd,\n }\n }\n setSearchTerm(\"\")\n setMenuOpen(true)\n requestAnimationFrame(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus()\n searchInputRef.current.select()\n } else {\n selectRef.current?.focus()\n }\n })\n }}\n tabIndex={languageSelectTabIndex}\n disabled={disabled}\n ref={triggerRef}\n >\n <span aria-hidden=\"true\">{selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"}</span>\n </button>\n </div>\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }}\n >\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </div>\n </div>\n )\n }\n)\n\nI18nField.displayName = \"I18nField\"\n"],"names":["I18nFieldLocaleContext","React","createContext","I18nFieldLocaleProvider","t0","$","_c","children","value","defaultValue","onChange","isControlled","undefined","internalLocale","setInternalLocale","useState","DEFAULT_LOCALE","activeLocale","t1","next","setLocale","t2","locale","contextValue","t3","languageCodeToBadge","code","normalized","split","replace","slice","toUpperCase","stripDiacritics","normalize","toLowerCase","resolveLocalizedEntry","Object","prototype","hasOwnProperty","call","parts","filter","Boolean","length","pop","candidate","join","resolveLocalizedValue","createDisplayNames","type","Intl","DisplayNames","locales","Array","isArray","safeDisplayName","displayNames","of","buildLanguageOptions","allowed","englishDisplayNames","map","name","searchable","from","Set","entry","sort","a","b","localeCompare","selectStyles","control","display","menu","provided","marginTop","borderRadius","boxShadow","backgroundColor","overflow","zIndex","menuList","maxHeight","padding","flexDirection","option","state","fontSize","isFocused","isSelected","color","cursor","noOptionsMessage","HiddenControl","Symbol","for","jsx","NullComponent","Option","props","data","innerRef","innerProps","cn","t4","I18nField","forwardRef","forwardedRef","className","defaultLocale","disabled","inputClassName","localeProp","multiline","onLocaleChange","rest","selectFooter","selectProps","valueProp","languageSelectTabIndex","restProps","rows","initialValue","internalValue","setInternalValue","currentValue","searchTerm","setSearchTerm","localeContext","useContext","pool","keys","localePool","t5","t6","initialLocale","t7","t8","useEffect","t10","t9","t11","t12","t13","t14","find","option_0","_temp","selectedOption","menuOpen","setMenuOpen","rootRef","useRef","inputRef","triggerRef","containerRef","selectRef","searchInputRef","selectionSnapshotRef","t15","left","top","menuPosition","setMenuPosition","t16","t17","current","useImperativeHandle","handleLocaleSelect","option_1","nextLocale","closeMenu","t18","event","currentEntry","nextValue","target","updatedAt","Date","autoTranslated","handleTextChange","t19","currentText","t20","option_2","query","some","token","includes","filterOption","buttonPosition","t21","trigger","container","triggerRect","getBoundingClientRect","containerRect","bottom","updateMenuPosition","t22","Node","contains","isInsideComponent","t23","target_0","focus","selection","start","end","setSelectionRange","restoreMainFocus","t24","target_1","requestAnimationFrame","document","activeElement","t25","t26","t27","restoreFocus","forwardedSelectProps","selectPlaceholder","userClassNamePrefix","userSelectComponents","userSelectStyles","components","styles","classNamePrefix","placeholder","t28","query_0","rank","option_3","startsWith","token_0","token_1","t29","option_4","diff","filteredOptions","props_0","event_0","event_1","key","preventDefault","first","t30","t31","Control","IndicatorsContainer","DropdownIndicator","IndicatorSeparator","ValueContainer","MenuList","mergedSelectComponents","t32","t33","mergedSelectStyles","t34","t35","handleResize","window","addEventListener","removeEventListener","useLayoutEffect","t36","event_2","onFocus","t37","event_3","relatedTarget","onBlur","t38","t39","t40","ref","sharedFieldProps","t41","t42","event_4","t43","t44","t45","t46","t47","t48","target_2","selectionStart","selectionEnd","select","t49","t50","t51","_temp2","t52","t53","t54","pointerEvents","width","t55","t56","t57","t58","Select","t59","t60","displayName","event_5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index11.js","sources":["../src/components/I18nField/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport Select, {\n type MenuListProps,\n type OptionProps,\n type Props as SelectProps,\n type SelectInstance,\n type SingleValue,\n type StylesConfig,\n components as selectComponents,\n} from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nexport type LanguageCode = string\n\nexport type LocalizedStringEntry<TExtra extends Record<string, unknown> = Record<string, unknown>> = {\n value: string\n updatedAt: Date\n autoTranslated?: boolean\n} & TExtra\n\nexport type LocalizedString<TExtra extends Record<string, unknown> = Record<string, unknown>> = Record<\n LanguageCode,\n LocalizedStringEntry<TExtra>\n>\n\nexport type I18nValue<TExtra extends Record<string, unknown> = Record<string, unknown>> = LocalizedString<TExtra>\n\ntype LocaleContextValue = {\n locale: LanguageCode | null\n setLocale: (next: LanguageCode) => void\n}\n\nconst I18nFieldLocaleContext = React.createContext<LocaleContextValue | null>(null)\n\ntype I18nFieldLocaleProviderProps = {\n children: React.ReactNode\n value?: LanguageCode\n defaultValue?: LanguageCode\n onChange?: (locale: LanguageCode) => void\n}\n\nexport function I18nFieldLocaleProvider({ children, value, defaultValue, onChange }: I18nFieldLocaleProviderProps) {\n const isControlled = value !== undefined\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(defaultValue ?? DEFAULT_LOCALE)\n const activeLocale = (value ?? internalLocale) as LanguageCode\n\n const setLocale = React.useCallback(\n (next: LanguageCode) => {\n if (!isControlled) {\n setInternalLocale(next)\n }\n onChange?.(next)\n },\n [isControlled, onChange]\n )\n\n const contextValue = React.useMemo<LocaleContextValue>(\n () => ({\n locale: activeLocale,\n setLocale,\n }),\n [activeLocale, setLocale]\n )\n\n return <I18nFieldLocaleContext.Provider value={contextValue}>{children}</I18nFieldLocaleContext.Provider>\n}\n\ntype I18nFieldProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n> &\n Omit<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"value\" | \"defaultValue\" | \"onChange\"\n > & {\n value?: I18nValue\n defaultValue?: I18nValue\n locale?: LanguageCode\n defaultLocale?: LanguageCode\n onChange?: (value: I18nValue) => void\n onLocaleChange?: (locale: LanguageCode, option: LanguageOption) => void\n locales?: LanguageCode[]\n multiline?: boolean\n inputClassName?: string\n selectProps?: Partial<SelectProps<LanguageOption, false>>\n selectFooter?: React.ReactNode\n languageSelectTabIndex?: number\n }\n\ntype LanguageOption = {\n value: LanguageCode\n name: string\n code: string\n searchable: string[]\n}\n\nconst DEFAULT_LOCALE: LanguageCode = \"en\"\n\nfunction languageCodeToBadge(code: string) {\n const primary = code.split(\"-\")[0] ?? \"\"\n const normalized = primary.replace(/[^A-Za-z]/g, \"\")\n if (!normalized) return \"?\"\n return normalized.slice(0, 3).toUpperCase()\n}\n\nfunction stripDiacritics(value: string) {\n return value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n}\n\nfunction normalize(value: string) {\n return stripDiacritics(value).toLowerCase()\n}\n\nfunction resolveLocalizedEntry(value: I18nValue, locale: LanguageCode) {\n if (Object.prototype.hasOwnProperty.call(value, locale)) {\n return value[locale]\n }\n\n const parts = locale.split(\"-\").filter(Boolean)\n while (parts.length > 1) {\n parts.pop()\n const candidate = parts.join(\"-\")\n if (Object.prototype.hasOwnProperty.call(value, candidate)) {\n return value[candidate]\n }\n }\n\n return undefined\n}\n\nfunction resolveLocalizedValue(value: I18nValue, locale: LanguageCode) {\n return resolveLocalizedEntry(value, locale)?.value ?? \"\"\n}\n\nfunction createDisplayNames(locale: string | string[] | undefined, type: \"language\") {\n if (typeof Intl === \"undefined\" || typeof Intl.DisplayNames === \"undefined\") return null\n try {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : undefined\n return new Intl.DisplayNames(locales, { type })\n } catch {\n return null\n }\n}\n\nfunction safeDisplayName(displayNames: Intl.DisplayNames | null, value: string) {\n if (!displayNames) return undefined\n try {\n return displayNames.of(value) ?? undefined\n } catch {\n return undefined\n }\n}\n\nfunction buildLanguageOptions(locale?: string | string[], allowed?: LanguageCode[]) {\n const displayNames = createDisplayNames(locale, \"language\")\n const englishDisplayNames = createDisplayNames(\"en\", \"language\")\n const pool = (allowed ?? []).filter((code): code is LanguageCode => typeof code === \"string\" && code.length > 0)\n\n return pool\n .map((code) => {\n const name = safeDisplayName(displayNames, code) ?? safeDisplayName(englishDisplayNames, code) ?? code\n return {\n value: code,\n name,\n code,\n searchable: Array.from(\n new Set([\n name,\n safeDisplayName(englishDisplayNames, code) ?? code,\n code.toLowerCase(),\n code.toUpperCase(),\n ])\n ).map((entry) => normalize(entry)),\n }\n })\n .sort((a, b) => a.name.localeCompare(b.name))\n}\n\nconst selectStyles: StylesConfig<LanguageOption, false> = {\n control: () => ({\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: 4,\n borderRadius: \"var(--radius)\",\n boxShadow: \"0 18px 36px rgba(15, 23, 42, 0.18)\",\n backgroundColor: \"hsl(var(--popover))\",\n overflow: \"hidden\",\n zIndex: 30,\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: 280,\n padding: 0,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n }),\n option: (provided, state) => ({\n ...provided,\n fontSize: \"0.875rem\",\n backgroundColor: state.isFocused\n ? \"hsl(var(--muted))\"\n : state.isSelected\n ? \"hsl(var(--accent))\"\n : \"transparent\",\n color: state.isSelected\n ? \"hsl(var(--accent-foreground))\"\n : \"hsl(var(--foreground))\",\n cursor: \"pointer\",\n }),\n noOptionsMessage: (provided) => ({\n ...provided,\n fontSize: \"0.875rem\",\n color: \"hsl(var(--muted-foreground))\",\n }),\n}\n\nconst HiddenControl = () => <div style={{ display: \"none\" }} />\nconst NullComponent = () => null\n\ntype SearchMenuContextValue = {\n searchTerm: string\n setSearchTerm: (next: string) => void\n onSearchKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void\n searchInputRef: React.RefObject<HTMLInputElement | null>\n selectFooter?: React.ReactNode\n}\n\nconst SearchMenuContext = React.createContext<SearchMenuContextValue | null>(null)\n\n// MenuList must keep a stable component identity across renders: an inline component\n// would be remounted on every keystroke, unmounting the focused search input and\n// closing the menu through the root onBlur handler.\nfunction SearchableMenuList(props: MenuListProps<LanguageOption, false>) {\n const search = React.useContext(SearchMenuContext)\n const { children } = props\n return (\n <selectComponents.MenuList {...props} className=\"!p-0 flex flex-col overflow-hidden\">\n {search ? (\n <div className=\"border-b border-muted px-2 pb-2 pt-2\">\n <input\n ref={search.searchInputRef}\n value={search.searchTerm}\n onChange={(event) => search.setSearchTerm(event.target.value)}\n onKeyDown={search.onSearchKeyDown}\n className=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring\"\n placeholder=\"Search language…\"\n />\n </div>\n ) : null}\n <div className=\"max-h-60 overflow-y-auto\">{children}</div>\n {search?.selectFooter ? (\n <div className=\"border-t border-muted bg-muted/60 px-3 py-2 text-xs text-muted-foreground\">\n {search.selectFooter}\n </div>\n ) : null}\n </selectComponents.MenuList>\n )\n}\n\nfunction Option(props: OptionProps<LanguageOption, false>) {\n const { data, innerRef, innerProps, isFocused, isSelected } = props\n return (\n <div\n ref={innerRef}\n {...innerProps}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm\",\n isSelected\n ? \"bg-accent text-accent-foreground\"\n : isFocused\n ? \"bg-muted text-foreground\"\n : \"text-foreground\"\n )}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{data.name}</span>\n </span>\n <span className=\"text-xs text-muted-foreground uppercase\">{data.code}</span>\n </div>\n )\n}\n\nexport const I18nField = React.forwardRef<HTMLInputElement | HTMLTextAreaElement, I18nFieldProps>(\n function I18nField(props, forwardedRef) {\n const {\n value: valueProp,\n defaultValue,\n locale: localeProp,\n defaultLocale,\n onChange,\n onLocaleChange,\n locales,\n multiline,\n className,\n inputClassName,\n selectProps,\n selectFooter,\n languageSelectTabIndex = -1,\n disabled,\n ...rest\n } = props\n\n type SharedProps = React.InputHTMLAttributes<HTMLInputElement> &\n React.TextareaHTMLAttributes<HTMLTextAreaElement> & { rows?: number }\n\n const { rows, ...restProps } = rest as SharedProps\n\n const initialValue = React.useMemo<I18nValue>(() => valueProp ?? defaultValue ?? {}, [defaultValue, valueProp])\n const [internalValue, setInternalValue] = React.useState<I18nValue>(initialValue)\n const isControlled = valueProp !== undefined\n const currentValue = isControlled ? valueProp ?? {} : internalValue\n const [searchTerm, setSearchTerm] = React.useState(\"\")\n const localeContext = React.useContext(I18nFieldLocaleContext)\n\n const localePool = React.useMemo(() => {\n const pool = Array.from(new Set([...(locales ?? []), ...Object.keys(currentValue)]))\n return buildLanguageOptions(undefined, pool)\n }, [currentValue, locales])\n\n const initialLocale = React.useMemo(() => {\n const candidate =\n localeProp ??\n localeContext?.locale ??\n defaultLocale ??\n (Object.keys(currentValue)[0] as LanguageCode | undefined) ??\n localePool[0]?.value ??\n DEFAULT_LOCALE\n return candidate\n }, [currentValue, defaultLocale, localeContext?.locale, localePool, localeProp])\n\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(initialLocale)\n const activeLocale = localeProp ?? localeContext?.locale ?? internalLocale\n\n React.useEffect(() => {\n if (!isControlled) {\n setInternalValue(initialValue)\n }\n }, [initialValue, isControlled])\n\n React.useEffect(() => {\n if (localeProp && localeProp !== internalLocale) {\n setInternalLocale(localeProp)\n }\n }, [internalLocale, localeProp])\n\n React.useEffect(() => {\n if (!localeProp && localeContext?.locale && localeContext.locale !== internalLocale) {\n setInternalLocale(localeContext.locale)\n }\n }, [internalLocale, localeContext?.locale, localeProp])\n\n const selectedOption =\n localePool.find((option) => option.value === activeLocale) ??\n localePool.find((option) => option.value === DEFAULT_LOCALE) ??\n localePool[0] ??\n null\n\n const [menuOpen, setMenuOpen] = React.useState(false)\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement | null>(null)\n const triggerRef = React.useRef<HTMLButtonElement | null>(null)\n const containerRef = React.useRef<HTMLDivElement | null>(null)\n const selectRef = React.useRef<SelectInstance<LanguageOption, false> | null>(null)\n const searchInputRef = React.useRef<HTMLInputElement | null>(null)\n const selectionSnapshotRef = React.useRef<{ start: number | null; end: number | null } | null>(null)\n const [menuPosition, setMenuPosition] = React.useState<{ left: number; top: number }>({ left: 0, top: 0 })\n\n React.useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement & HTMLTextAreaElement, [])\n\n const handleLocaleSelect = (option: SingleValue<LanguageOption>) => {\n if (!option) return\n const nextLocale = option.value\n if (!isControlled) {\n setInternalLocale(nextLocale)\n }\n onLocaleChange?.(nextLocale, option)\n localeContext?.setLocale(nextLocale)\n closeMenu(true)\n }\n\n const handleTextChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const currentEntry = currentValue[activeLocale]\n const nextValue = {\n ...currentValue,\n [activeLocale]: {\n ...(currentEntry ?? {}),\n value: event.target.value,\n updatedAt: new Date(),\n autoTranslated: false,\n },\n }\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n onChange?.(nextValue)\n }\n\n const currentText = resolveLocalizedValue(currentValue, activeLocale)\n\n const filterOption = React.useCallback(\n (option: { data: LanguageOption }) => {\n if (!searchTerm) return true\n const query = normalize(searchTerm)\n return option.data.searchable.some((token) => token.includes(query))\n },\n [searchTerm]\n )\n\n const buttonPosition = multiline ? \"left-2 top-2 -translate-y-0\" : \"left-3 top-1/2 -translate-y-1/2\"\n const inputPaddingLeft = \"pl-10 pr-3\"\n\n const updateMenuPosition = React.useCallback(() => {\n const trigger = triggerRef.current\n const container = containerRef.current\n if (!trigger || !container) return\n const triggerRect = trigger.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n setMenuPosition({\n left: triggerRect.left - containerRect.left,\n top: triggerRect.bottom - containerRect.top + 4,\n })\n }, [])\n\n const isInsideComponent = React.useCallback((target: EventTarget | null) => {\n if (!target || !(target instanceof Node)) return false\n return Boolean(rootRef.current?.contains(target))\n }, [])\n\n const restoreMainFocus = React.useCallback(() => {\n const target = inputRef.current\n if (!target) return\n target.focus()\n const selection = selectionSnapshotRef.current\n if (selection && selection.start != null && selection.end != null) {\n target.setSelectionRange(selection.start, selection.end)\n }\n }, [])\n\n React.useEffect(() => {\n if (!menuOpen) return\n const target = searchInputRef.current\n if (!target) return\n requestAnimationFrame(() => {\n if (document.activeElement === target) return\n target.focus()\n const end = target.value.length\n try {\n target.setSelectionRange(end, end)\n } catch {\n /* ignore */\n }\n })\n }, [menuOpen, searchTerm])\n\n const closeMenu = React.useCallback(\n (restoreFocus = true) => {\n setMenuOpen(false)\n setSearchTerm(\"\")\n if (restoreFocus) {\n requestAnimationFrame(() => {\n restoreMainFocus()\n })\n }\n },\n [restoreMainFocus]\n )\n\n const {\n components: userSelectComponents,\n styles: userSelectStyles,\n classNamePrefix: userClassNamePrefix,\n placeholder: selectPlaceholder,\n noOptionsMessage,\n ...forwardedSelectProps\n } = selectProps ?? {}\n\n const filteredOptions = React.useMemo(() => {\n const query = normalize(searchTerm)\n const rank = (option: LanguageOption) => {\n const code = option.code.toLowerCase()\n if (query && code === query) return 0\n if (query && code.startsWith(query)) return 1\n if (query && option.searchable.some((token) => token.startsWith(query))) return 2\n if (query && option.searchable.some((token) => token.includes(query))) return 3\n return 4\n }\n return localePool\n .filter((option) => filterOption({ data: option }))\n .sort((a, b) => {\n const diff = rank(a) - rank(b)\n if (diff !== 0) return diff\n return a.name.localeCompare(b.name)\n })\n }, [filterOption, localePool, searchTerm])\n\n const handleSearchKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault()\n closeMenu(true)\n return\n }\n if (event.key === \"Enter\") {\n event.preventDefault()\n const first = filteredOptions[0]\n if (first) {\n handleLocaleSelect(first)\n }\n return\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault()\n selectRef.current?.focus()\n }\n }\n\n const searchMenuContextValue: SearchMenuContextValue = {\n searchTerm,\n setSearchTerm,\n onSearchKeyDown: handleSearchKeyDown,\n searchInputRef,\n selectFooter,\n }\n\n const mergedSelectComponents = React.useMemo(\n () => ({\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n MenuList: SearchableMenuList,\n ...(userSelectComponents ?? {}),\n Option,\n }),\n [userSelectComponents]\n )\n\n const mergedSelectStyles = React.useMemo<StylesConfig<LanguageOption, false>>(\n () => ({\n ...selectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )\n\n React.useLayoutEffect(() => {\n if (!menuOpen) return\n updateMenuPosition()\n const handleResize = () => updateMenuPosition()\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }, [menuOpen, updateMenuPosition])\n\n const sharedFieldProps = {\n ...restProps,\n ref: inputRef as React.Ref<any>,\n disabled,\n value: currentText,\n onChange: handleTextChange,\n onFocus: (event: React.FocusEvent<any>) => {\n if (menuOpen) {\n closeMenu(false)\n }\n restProps.onFocus?.(event)\n },\n onBlur: (event: React.FocusEvent<any>) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n restProps.onBlur?.(event)\n },\n className: cn(\n \"w-full rounded-md border border-input bg-background text-base ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n multiline ? \"min-h-24 py-2\" : \"h-10 py-2\",\n inputPaddingLeft,\n inputClassName\n ),\n placeholder: restProps.placeholder,\n }\n\n return (\n <div\n ref={rootRef}\n className={cn(\"relative flex flex-col\", className)}\n onBlur={(event) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n }}\n >\n <div ref={containerRef} className=\"relative\">\n {multiline ? (\n <textarea rows={rows} {...sharedFieldProps} />\n ) : (\n <input type=\"text\" {...sharedFieldProps} />\n )}\n\n <button\n type=\"button\"\n className={cn(\n \"absolute flex h-6 w-6 items-center justify-center rounded border text-xs font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n buttonPosition,\n disabled ? \"cursor-not-allowed opacity-50 pointer-events-none\" : \"cursor-pointer hover:bg-muted\",\n selectedOption ? \"border-transparent\" : \"border-dashed border-border text-muted-foreground\"\n )}\n aria-label={selectedOption ? `Select language (${selectedOption.code})` : \"Select language\"}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (disabled) return\n const target = inputRef.current\n if (target) {\n selectionSnapshotRef.current = {\n start: target.selectionStart,\n end: target.selectionEnd,\n }\n }\n setSearchTerm(\"\")\n setMenuOpen(true)\n requestAnimationFrame(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus()\n searchInputRef.current.select()\n } else {\n selectRef.current?.focus()\n }\n })\n }}\n tabIndex={languageSelectTabIndex}\n disabled={disabled}\n ref={triggerRef}\n >\n <span aria-hidden=\"true\">{selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"}</span>\n </button>\n </div>\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }}\n >\n <SearchMenuContext.Provider value={searchMenuContextValue}>\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </SearchMenuContext.Provider>\n </div>\n </div>\n )\n }\n)\n\nI18nField.displayName = \"I18nField\"\n"],"names":["I18nFieldLocaleContext","React","createContext","I18nFieldLocaleProvider","t0","$","_c","children","value","defaultValue","onChange","isControlled","undefined","internalLocale","setInternalLocale","useState","DEFAULT_LOCALE","activeLocale","t1","next","setLocale","t2","locale","contextValue","t3","languageCodeToBadge","code","normalized","split","replace","slice","toUpperCase","stripDiacritics","normalize","toLowerCase","resolveLocalizedEntry","Object","prototype","hasOwnProperty","call","parts","filter","Boolean","length","pop","candidate","join","resolveLocalizedValue","createDisplayNames","type","Intl","DisplayNames","locales","Array","isArray","safeDisplayName","displayNames","of","buildLanguageOptions","allowed","englishDisplayNames","map","name","searchable","from","Set","entry","sort","a","b","localeCompare","selectStyles","control","display","menu","provided","marginTop","borderRadius","boxShadow","backgroundColor","overflow","zIndex","menuList","maxHeight","padding","flexDirection","option","state","fontSize","isFocused","isSelected","color","cursor","noOptionsMessage","HiddenControl","Symbol","for","jsx","NullComponent","SearchMenuContext","SearchableMenuList","props","search","useContext","selectComponents","searchInputRef","searchTerm","event","setSearchTerm","target","onSearchKeyDown","selectFooter","Option","data","innerRef","innerProps","cn","t4","I18nField","forwardRef","forwardedRef","className","defaultLocale","disabled","inputClassName","localeProp","multiline","onLocaleChange","rest","selectProps","valueProp","languageSelectTabIndex","restProps","rows","initialValue","internalValue","setInternalValue","currentValue","localeContext","pool","keys","localePool","t5","t6","initialLocale","t7","t8","useEffect","t10","t9","t11","t12","t13","t14","find","option_0","_temp","selectedOption","menuOpen","setMenuOpen","rootRef","useRef","inputRef","triggerRef","containerRef","selectRef","selectionSnapshotRef","t15","left","top","menuPosition","setMenuPosition","t16","t17","current","useImperativeHandle","handleLocaleSelect","option_1","nextLocale","closeMenu","t18","currentEntry","nextValue","updatedAt","Date","autoTranslated","handleTextChange","t19","currentText","t20","option_2","query","some","token","includes","filterOption","buttonPosition","t21","trigger","container","triggerRect","getBoundingClientRect","containerRect","bottom","updateMenuPosition","t22","Node","contains","isInsideComponent","t23","target_0","focus","selection","start","end","setSelectionRange","restoreMainFocus","t24","target_1","requestAnimationFrame","document","activeElement","t25","t26","t27","restoreFocus","forwardedSelectProps","selectPlaceholder","userClassNamePrefix","userSelectComponents","userSelectStyles","components","styles","classNamePrefix","placeholder","t28","query_0","rank","option_3","startsWith","token_0","token_1","t29","option_4","diff","filteredOptions","event_0","key","preventDefault","first","handleSearchKeyDown","t30","searchMenuContextValue","t31","t32","Control","IndicatorsContainer","DropdownIndicator","IndicatorSeparator","ValueContainer","MenuList","mergedSelectComponents","t33","t34","mergedSelectStyles","t35","t36","handleResize","window","addEventListener","removeEventListener","useLayoutEffect","t37","event_1","onFocus","t38","event_2","relatedTarget","onBlur","t39","t40","t41","ref","sharedFieldProps","t42","t43","event_3","t44","t45","t46","t47","t48","t49","target_2","selectionStart","selectionEnd","select","t50","t51","t52","_temp2","t53","t54","t55","pointerEvents","width","t56","t57","t58","t59","Select","t60","t61","t62","displayName","event_4"],"mappings":"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"}
|
package/dist/index151.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import m from "./
|
|
2
|
-
import p from "./
|
|
3
|
-
import y from "./
|
|
1
|
+
import m from "./index265.js";
|
|
2
|
+
import p from "./index266.js";
|
|
3
|
+
import y from "./index264.js";
|
|
4
4
|
import b from "./index164.js";
|
|
5
|
-
import l from "./
|
|
5
|
+
import l from "./index256.js";
|
|
6
6
|
function i(e) {
|
|
7
7
|
"@babel/helpers - typeof";
|
|
8
8
|
return i = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(r) {
|
package/dist/index156.js
CHANGED
package/dist/index157.js
CHANGED
package/dist/index164.js
CHANGED
package/dist/index165.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import l, { validateMetadata as h } from "./index164.js";
|
|
2
|
-
import d from "./
|
|
3
|
-
import v from "./
|
|
4
|
-
import w from "./
|
|
5
|
-
import P from "./
|
|
6
|
-
import C from "./
|
|
2
|
+
import d from "./index258.js";
|
|
3
|
+
import v from "./index259.js";
|
|
4
|
+
import w from "./index260.js";
|
|
5
|
+
import P from "./index261.js";
|
|
6
|
+
import C from "./index262.js";
|
|
7
7
|
import s from "./index170.js";
|
|
8
|
-
import E from "./
|
|
8
|
+
import E from "./index263.js";
|
|
9
9
|
function o(r) {
|
|
10
10
|
"@babel/helpers - typeof";
|
|
11
11
|
return o = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
package/dist/index167.js
CHANGED
package/dist/index169.js
CHANGED
package/dist/index172.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import b from "./index191.js";
|
|
2
2
|
import * as c from "react";
|
|
3
3
|
import { createElement as p } from "react";
|
|
4
|
-
import { useMergedRefs as E, useMergedRefsN as g } from "./
|
|
4
|
+
import { useMergedRefs as E, useMergedRefsN as g } from "./index279.js";
|
|
5
5
|
import { getReactElementRef as y } from "./index339.js";
|
|
6
6
|
import { mergeObjects as R } from "./index340.js";
|
|
7
7
|
import { warn as v } from "./index341.js";
|
|
8
|
-
import { EMPTY_OBJECT as f } from "./
|
|
8
|
+
import { EMPTY_OBJECT as f } from "./index286.js";
|
|
9
9
|
import { getStateAttributesProps as w } from "./index342.js";
|
|
10
10
|
import { resolveClassName as C } from "./index343.js";
|
|
11
11
|
import { resolveStyle as T } from "./index344.js";
|
|
12
|
-
import { mergeClassNames as _, mergeProps as h, mergePropsN as k } from "./
|
|
12
|
+
import { mergeClassNames as _, mergeProps as h, mergePropsN as k } from "./index304.js";
|
|
13
13
|
function q(r, e, t = {}) {
|
|
14
14
|
const a = e.render, s = I(e, t);
|
|
15
15
|
if (t.enabled === !1)
|
package/dist/index175.js
CHANGED
package/dist/index176.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as l from "react";
|
|
2
|
-
import { isHTMLElement as M } from "./
|
|
3
|
-
import { useStableCallback as H } from "./
|
|
2
|
+
import { isHTMLElement as M } from "./index331.js";
|
|
3
|
+
import { useStableCallback as H } from "./index284.js";
|
|
4
4
|
import { error as y } from "./index355.js";
|
|
5
5
|
import { SafeReact as B } from "./index356.js";
|
|
6
|
-
import { useIsoLayoutEffect as A } from "./
|
|
6
|
+
import { useIsoLayoutEffect as A } from "./index283.js";
|
|
7
7
|
import { useCompositeRootContext as L } from "./index357.js";
|
|
8
8
|
import { useFocusableWhenDisabled as W } from "./index358.js";
|
|
9
|
-
import { mergeProps as $, makeEventPreventable as x } from "./
|
|
9
|
+
import { mergeProps as $, makeEventPreventable as x } from "./index304.js";
|
|
10
10
|
function Y(a = {}) {
|
|
11
11
|
const {
|
|
12
12
|
disabled: o = !1,
|
package/dist/index182.js
CHANGED
package/dist/index184.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as p from "react";
|
|
2
|
-
import { isHTMLElement as G, getNodeName as We, getWindow as _e } from "./
|
|
3
|
-
import { addEventListener as I } from "./
|
|
2
|
+
import { isHTMLElement as G, getNodeName as We, getWindow as _e } from "./index331.js";
|
|
3
|
+
import { addEventListener as I } from "./index322.js";
|
|
4
4
|
import { mergeCleanups as Te } from "./index373.js";
|
|
5
|
-
import { useMergedRefs as Fe } from "./
|
|
6
|
-
import { useValueAsRef as te } from "./
|
|
7
|
-
import { useStableCallback as ne } from "./
|
|
8
|
-
import { useIsoLayoutEffect as _ } from "./
|
|
9
|
-
import { useTimeout as ye } from "./
|
|
10
|
-
import { isWebKit as Ue } from "./
|
|
11
|
-
import { useAnimationFrame as $e } from "./
|
|
12
|
-
import { ownerDocument as O } from "./
|
|
5
|
+
import { useMergedRefs as Fe } from "./index279.js";
|
|
6
|
+
import { useValueAsRef as te } from "./index285.js";
|
|
7
|
+
import { useStableCallback as ne } from "./index284.js";
|
|
8
|
+
import { useIsoLayoutEffect as _ } from "./index283.js";
|
|
9
|
+
import { useTimeout as ye } from "./index307.js";
|
|
10
|
+
import { isWebKit as Ue } from "./index323.js";
|
|
11
|
+
import { useAnimationFrame as $e } from "./index324.js";
|
|
12
|
+
import { ownerDocument as O } from "./index306.js";
|
|
13
13
|
import { FocusGuard as xe } from "./index374.js";
|
|
14
|
-
import { isTypeableCombobox as Ie, getFloatingFocusElement as he, isTypeableElement as Be } from "./
|
|
14
|
+
import { isTypeableCombobox as Ie, getFloatingFocusElement as he, isTypeableElement as Be } from "./index312.js";
|
|
15
15
|
import { isVirtualClick as ze, isVirtualPointerEvent as Je, stopEvent as Qe } from "./index375.js";
|
|
16
16
|
import { isOutsideEvent as ve, getNextTabbable as Xe, getPreviousTabbable as Ye, tabbable as Se, isTabbable as ue, focusable as Ze } from "./index376.js";
|
|
17
17
|
import { getNodeAncestors as Ce, getNodeChildren as ke } from "./index377.js";
|
|
@@ -25,7 +25,7 @@ import { useFloatingTree as rt } from "./index382.js";
|
|
|
25
25
|
import { CLICK_TRIGGER_IDENTIFIER as ot } from "./index192.js";
|
|
26
26
|
import { resolveRef as w } from "./index383.js";
|
|
27
27
|
import { j as oe } from "./index30.js";
|
|
28
|
-
import { activeElement as V, contains as a, getTarget as B } from "./
|
|
28
|
+
import { activeElement as V, contains as a, getTarget as B } from "./index313.js";
|
|
29
29
|
import { triggerHover as st, outsidePress as ut, focusOut as it } from "./index177.js";
|
|
30
30
|
function ct(t, h) {
|
|
31
31
|
const D = _e(B(t));
|
package/dist/index187.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as o from "react";
|
|
2
2
|
import * as I from "react-dom";
|
|
3
|
-
import { isNode as V } from "./
|
|
4
|
-
import { addEventListener as O } from "./
|
|
3
|
+
import { isNode as V } from "./index331.js";
|
|
4
|
+
import { addEventListener as O } from "./index322.js";
|
|
5
5
|
import { mergeCleanups as w } from "./index373.js";
|
|
6
6
|
import { useId as G } from "./index345.js";
|
|
7
|
-
import { useIsoLayoutEffect as _ } from "./
|
|
8
|
-
import { useStableCallback as L } from "./
|
|
9
|
-
import { EMPTY_OBJECT as k } from "./
|
|
7
|
+
import { useIsoLayoutEffect as _ } from "./index283.js";
|
|
8
|
+
import { useStableCallback as L } from "./index284.js";
|
|
9
|
+
import { EMPTY_OBJECT as k } from "./index286.js";
|
|
10
10
|
import { FocusGuard as S } from "./index374.js";
|
|
11
11
|
import { enableFocusInside as T, isOutsideEvent as C, getPreviousTabbable as q, getNextTabbable as A, disableFocusInside as B } from "./index376.js";
|
|
12
12
|
import { createChangeEventDetails as H } from "./index175.js";
|
package/dist/index189.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as t from "react";
|
|
2
2
|
import { useScrollLock as v } from "./index348.js";
|
|
3
|
-
import { useOpenInteractionType as I } from "./
|
|
3
|
+
import { useOpenInteractionType as I } from "./index297.js";
|
|
4
4
|
import { createChangeEventDetails as A } from "./index175.js";
|
|
5
5
|
import { useImplicitActiveTrigger as M, useOpenStateTransitions as B } from "./index193.js";
|
|
6
6
|
import { useSyncedFloatingRootContext as F } from "./index349.js";
|
|
7
7
|
import { useRole as H } from "./index350.js";
|
|
8
|
-
import { useDismiss as K } from "./
|
|
8
|
+
import { useDismiss as K } from "./index301.js";
|
|
9
9
|
import { useInteractions as L } from "./index195.js";
|
|
10
|
-
import { getTarget as U, contains as V } from "./
|
|
10
|
+
import { getTarget as U, contains as V } from "./index313.js";
|
|
11
11
|
import { imperativeAction as j } from "./index177.js";
|
|
12
12
|
function $(P) {
|
|
13
13
|
const {
|
package/dist/index190.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i from "react";
|
|
2
|
-
import { useRefWithInit as d } from "./
|
|
2
|
+
import { useRefWithInit as d } from "./index280.js";
|
|
3
3
|
import { ReactStore as a } from "./index351.js";
|
|
4
4
|
import { PopupTriggerMap as p } from "./index352.js";
|
|
5
5
|
import { popupStoreSelectors as u, createInitialPopupStoreState as c } from "./index353.js";
|
package/dist/index193.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as l from "react";
|
|
2
|
-
import { useStableCallback as a } from "./
|
|
3
|
-
import { useIsoLayoutEffect as s } from "./
|
|
4
|
-
import { useTransitionStatus as f } from "./
|
|
2
|
+
import { useStableCallback as a } from "./index284.js";
|
|
3
|
+
import { useIsoLayoutEffect as s } from "./index283.js";
|
|
4
|
+
import { useTransitionStatus as f } from "./index291.js";
|
|
5
5
|
import { useOpenChangeComplete as m } from "./index182.js";
|
|
6
6
|
function d(e, n) {
|
|
7
7
|
const t = l.useRef(null), r = l.useRef(null);
|
package/dist/index194.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as k from "react";
|
|
2
|
-
import { useAnimationFrame as b } from "./
|
|
3
|
-
import { useTimeout as I } from "./
|
|
4
|
-
import { EMPTY_OBJECT as x } from "./
|
|
5
|
-
import { isTypeableElement as L } from "./
|
|
2
|
+
import { useAnimationFrame as b } from "./index324.js";
|
|
3
|
+
import { useTimeout as I } from "./index307.js";
|
|
4
|
+
import { EMPTY_OBJECT as x } from "./index286.js";
|
|
5
|
+
import { isTypeableElement as L } from "./index312.js";
|
|
6
6
|
import { isMouseLikePointerType as M, isClickLikeEvent as S } from "./index375.js";
|
|
7
7
|
import { createChangeEventDetails as y } from "./index175.js";
|
|
8
|
-
import { getTarget as q } from "./
|
|
8
|
+
import { getTarget as q } from "./index313.js";
|
|
9
9
|
import { triggerPress as A } from "./index177.js";
|
|
10
10
|
function G(T, D = {}) {
|
|
11
11
|
const e = "rootStore" in T ? T.rootStore : T, g = e.context.dataRef, {
|
package/dist/index256.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
top: 0,
|
|
14
|
-
left: 0
|
|
15
|
-
}, t = {
|
|
16
|
-
...i,
|
|
17
|
-
position: "absolute"
|
|
18
|
-
};
|
|
1
|
+
import h from "./index164.js";
|
|
2
|
+
function L(i, r, u) {
|
|
3
|
+
return s(i, r, void 0, u);
|
|
4
|
+
}
|
|
5
|
+
function s(i, r, u, e) {
|
|
6
|
+
r && (e = new h(e.metadata), e.selectNumberingPlan(r));
|
|
7
|
+
var f = e.type(u), n = f && f.possibleLengths() || e.possibleLengths();
|
|
8
|
+
if (!n)
|
|
9
|
+
return "IS_POSSIBLE";
|
|
10
|
+
var t = i.length, l = n[0];
|
|
11
|
+
return l === t ? "IS_POSSIBLE" : l > t ? "TOO_SHORT" : n[n.length - 1] < t ? "TOO_LONG" : n.indexOf(t, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
|
|
12
|
+
}
|
|
19
13
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
s as checkNumberLengthForType,
|
|
15
|
+
L as default
|
|
22
16
|
};
|
|
23
17
|
//# sourceMappingURL=index256.js.map
|
package/dist/index256.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index256.js","sources":["../../../node_modules
|
|
1
|
+
{"version":3,"file":"index256.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js"],"sourcesContent":["import Metadata from '../metadata.js';\nimport mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, country, metadata) {\n return checkNumberLengthForType(nationalNumber, country, undefined, metadata);\n}\n\n// Checks whether a number is possible for a certain `country` based on the number length.\n//\n// This function is not supported by metadata generated with ancient versions of\n// `libphonenumber-js` (before version `1.0.18`) which didn't include \"possible lengths\".\n//\n// There was also a known issue with `checkNumberLength()` function:\n// if a number is possible only in a certain `country` among several `countries`\n// that share the same \"country calling code\", that function would check\n// the possibility of the phone number only in the \"main\" `country` for the \"country calling code\"\n// and would not check if it's actually be possible in the speciifc `country`.\n//\n// For example, \"+1310xxxx\" numbers are valid in Canada.\n// However, they are not possible in the US due to being too short.\n// Since Canada and the US share the same country calling code — \"+1\" —\n// `checkNumberLength()` function used to return not \"IS_POSSIBLE\" for \"+1310xxxx\" numbers.\n//\n// In such cases, when using \"/max\" metadata, `isValid()` could output `true`\n// but at the same time `isPossible()` could output `false`, which was contradictory.\n//\n// See https://issuetracker.google.com/issues/335892662 for the discusson in Google's issues.\n//\n// The solution suggested by Google was implemented: an optional `country` argument\n// was added to `checkNumberLength()` function. If present, that `country` will be used\n// to check phone number length for that specific `country` rather than the \"main\" country\n// for the shared \"country calling code\".\n//\nexport function checkNumberLengthForType(nationalNumber, country, type, metadata) {\n // If the exact `country` is specified, it's no necessarily already selected in `metadata`.\n // Most likely, in cases when there're multiple countries corresponding to the same\n // \"country calling code\", the \"main\" country for that \"country calling code\" will be selected.\n if (country) {\n metadata = new Metadata(metadata.metadata);\n metadata.selectNumberingPlan(country);\n }\n var type_info = metadata.type(type);\n\n // There should always be \"<possiblePengths/>\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();\n // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, country, 'MOBILE', metadata);\n }\n var mobile_type = metadata.type('MOBILE');\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n }\n // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n var actual_length = nationalNumber.length;\n\n // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n }\n\n // We skip the first element since we've already checked it.\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map"],"names":["checkNumberLength","nationalNumber","country","metadata","checkNumberLengthForType","type","Metadata","type_info","possible_lengths","actual_length","minimum_length"],"mappings":";AAEe,SAASA,EAAkBC,GAAgBC,GAASC,GAAU;AAC3E,SAAOC,EAAyBH,GAAgBC,GAAS,QAAWC,CAAQ;AAC9E;AA4BO,SAASC,EAAyBH,GAAgBC,GAASG,GAAMF,GAAU;AAIhF,EAAID,MACFC,IAAW,IAAIG,EAASH,EAAS,QAAQ,GACzCA,EAAS,oBAAoBD,CAAO;AAEtC,MAAIK,IAAYJ,EAAS,KAAKE,CAAI,GAS9BG,IAAmBD,KAAaA,EAAU,gBAAe,KAAMJ,EAAS,gBAAe;AAI3F,MAAI,CAACK;AACH,WAAO;AAiCT,MAAIC,IAAgBR,EAAe,QAU/BS,IAAiBF,EAAiB,CAAC;AACvC,SAAIE,MAAmBD,IACd,gBAELC,IAAiBD,IACZ,cAELD,EAAiBA,EAAiB,SAAS,CAAC,IAAIC,IAC3C,aAIFD,EAAiB,QAAQC,GAAe,CAAC,KAAK,IAAI,gBAAgB;AAC3E;","x_google_ignoreList":[0]}
|