@rpcbase/ui 0.223.0 → 0.224.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/I18nField/index.d.ts +7 -2
- package/dist/components/I18nField/index.d.ts.map +1 -1
- package/dist/index100.js +4 -4
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +52 -9
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +4 -5
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +3 -3
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +15 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +4 -5
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +7 -145
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +16 -39
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +4 -4
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +4 -7
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +139 -132
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +5 -13
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +5 -13
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +4 -7
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +4 -31
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +6 -10
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +24 -10
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +6 -8
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +4 -13
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +6 -101
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +6 -20
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +4 -53
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +5 -72
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +4 -9
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +8 -20
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +5 -16
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +4 -23
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +4 -6
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +6 -5
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +145 -23
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +39 -34
- package/dist/index129.js.map +1 -1
- package/dist/index130.js +5 -16
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +7 -6
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +13 -4
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +13 -4
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +7 -4
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +31 -4
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +10 -3
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +10 -6
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +9 -24
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +13 -7
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +101 -6
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +20 -6
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +53 -3
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +72 -3
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +9 -4
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +20 -3
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +16 -4
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +23 -3
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +6 -3
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +5 -3
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +19 -42
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +35 -6
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +16 -69
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +7 -2
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +4 -363
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +4 -261
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +4 -60
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +4 -46
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +3 -169
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +6 -109
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +24 -25
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +8 -8
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +6 -4
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +5 -5
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +3 -4
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +3 -466
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +4 -185
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +3 -107
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +4 -262
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +3 -9
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +3 -42
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +3 -4
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +1 -1
- package/dist/index174.js +1 -1
- package/dist/index177.js +13 -58
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +154 -8
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +28 -64
- package/dist/index179.js.map +1 -1
- package/dist/index180.js +9 -19
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +46 -14
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +11 -5
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +43 -4
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +95 -6
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +86 -4
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +105 -6
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +52 -16
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +11 -4
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +37 -4
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +8 -12
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +116 -9
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +17 -13
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +15 -13
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +3 -4
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +36 -5
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +20 -6
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +9 -5
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +8 -54
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +19 -8
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +28 -4
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +16 -4
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +58 -8
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +8 -4
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +66 -4
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +19 -3
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +16 -10
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +5 -9
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +5 -9
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +6 -10
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +4 -10
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +6 -9
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +16 -6
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +4 -5
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +4 -4
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +12 -5
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +9 -6
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +13 -5
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +13 -16
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +4 -7
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +5 -10
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +6 -10
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +5 -21
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +54 -10
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +8 -9
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +4 -9
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +4 -4
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +8 -5
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +4 -16
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +4 -9
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +3 -18
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +10 -15
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +9 -12
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +9 -29
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +10 -12
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +10 -25
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +9 -5
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +6 -13
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +5 -154
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +4 -30
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +5 -9
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +6 -48
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +5 -11
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +14 -42
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +7 -95
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +9 -85
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +9 -104
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +21 -52
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +10 -11
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +9 -37
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +8 -7
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +4 -116
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +5 -17
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +15 -14
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +9 -3
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +16 -34
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +15 -20
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +12 -9
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +29 -8
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +11 -18
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +23 -26
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +5 -16
- package/dist/index261.js.map +1 -1
- package/dist/index265.js +20 -4
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +5 -18
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +18 -13
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +12 -20
- package/dist/index268.js.map +1 -1
- package/dist/index270.js +1 -1
- package/dist/index272.js +4 -4
- package/dist/index284.js +2 -2
- package/dist/index287.js +1 -1
- package/dist/index288.js +2 -2
- package/dist/index290.js +1 -1
- package/dist/index291.js +1 -1
- package/dist/index292.js +1 -1
- package/dist/index293.js +1 -1
- package/dist/index294.js +69 -65
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +8 -68
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +14 -9
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +66 -14
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +64 -65
- package/dist/index298.js.map +1 -1
- package/dist/index31.js +5 -5
- package/dist/index32.js +24 -24
- package/dist/index33.js +3 -3
- package/dist/index40.js +2 -2
- package/dist/index41.js +4 -4
- package/dist/index49.js +1 -1
- package/dist/index50.js +1 -1
- package/dist/index53.js +2 -7
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +2 -34
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +5 -47
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +33 -7
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +48 -11
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +8 -2
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +12 -2
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +1 -1
- package/dist/index61.js +2 -2
- package/dist/index62.js +2 -2
- package/dist/index64.js +1 -1
- package/dist/index68.js +3 -3
- package/dist/index70.js +3 -3
- package/dist/index71.js +1 -1
- package/dist/index72.js +1 -1
- package/dist/index76.js +1 -1
- package/dist/index79.js +47 -52
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +5 -4
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +68 -4
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +2 -16
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +363 -5
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +261 -7
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +60 -16
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +46 -4
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +169 -4
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +109 -5
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +24 -5
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +8 -5
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +4 -4
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +5 -6
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +4 -24
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +466 -6
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +185 -4
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +107 -6
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +262 -5
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +9 -4
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +42 -5
- package/dist/index99.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 LocalizedString = Record<LanguageCode, string>\n\nexport type I18nValue = LocalizedString\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 resolveLocalizedValue(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 \"\"\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 nextValue = {\n ...currentValue,\n [activeLocale]: event.target.value,\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","resolveLocalizedValue","Object","prototype","hasOwnProperty","call","parts","filter","Boolean","length","pop","candidate","join","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","nextValue","target","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":";;;;;AAwBA,MAAMA,KAAyBC,EAAMC,cAAyC,IAAI;AAS3E,SAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,CAAA,GAAiC;AAAA,IAAAC,UAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAN,GACtCO,IAAqBH,MAAUI,QAC/B,CAAAC,GAAAC,CAAA,IAA4Cb,EAAKc,SAAwBN,KAAAO,EAA8B,GACvGC,IAAsBT,KAAAK;AAAwC,MAAAK;AAAA,EAAAb,EAAA,CAAA,MAAAM,KAAAN,SAAAK,KAG5DQ,IAAAC,CAAAA,MAAA;AACE,IAAKR,KACHG,EAAkBK,CAAI,GAExBT,IAAWS,CAAI;AAAA,EAAC,GACjBd,OAAAM,GAAAN,OAAAK,GAAAL,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AANH,QAAAe,IAAkBF;AAQjB,MAAAG;AAAA,EAAAhB,EAAA,CAAA,MAAAY,KAAAZ,SAAAe,KAGQC,IAAA;AAAA,IAAAC,QACGL;AAAAA,IAAYG,WAAAA;AAAAA,EAAAA,GAErBf,OAAAY,GAAAZ,OAAAe,GAAAf,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAJH,QAAAkB,IACSF;AAKR,MAAAG;AAAA,SAAAnB,EAAA,CAAA,MAAAE,KAAAF,SAAAkB,KAEMC,0BAAAxB,GAAA,UAAA,EAAwCuB,OAAAA,GAAehB,UAAAA,GAAS,GAAkCF,OAAAE,GAAAF,OAAAkB,GAAAlB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA,GAAlGmB;AAAkG;AAgC3G,MAAMR,KAA+B;AAErC,SAASS,GAAoBC,GAAc;AAEzC,QAAMC,KADUD,EAAKE,MAAM,GAAG,EAAE,CAAC,KAAK,IACXC,QAAQ,cAAc,EAAE;AACnD,SAAKF,IACEA,EAAWG,MAAM,GAAG,CAAC,EAAEC,YAAAA,IADN;AAE1B;AAEA,SAASC,GAAgBxB,GAAe;AACtC,SAAOA,EAAMyB,UAAU,KAAK,EAAEJ,QAAQ,oBAAoB,EAAE;AAC9D;AAEA,SAASI,GAAUzB,GAAe;AAChC,SAAOwB,GAAgBxB,CAAK,EAAE0B,YAAAA;AAChC;AAEA,SAASC,GAAsB3B,GAAkBc,GAAsB;AACrE,MAAIc,OAAOC,UAAUC,eAAeC,KAAK/B,GAAOc,CAAM;AACpD,WAAOd,EAAMc,CAAM,KAAK;AAG1B,QAAMkB,IAAQlB,EAAOM,MAAM,GAAG,EAAEa,OAAOC,OAAO;AAC9C,SAAOF,EAAMG,SAAS,KAAG;AACvBH,IAAAA,EAAMI,IAAAA;AACN,UAAMC,IAAYL,EAAMM,KAAK,GAAG;AAChC,QAAIV,OAAOC,UAAUC,eAAeC,KAAK/B,GAAOqC,CAAS;AACvD,aAAOrC,EAAMqC,CAAS,KAAK;AAAA,EAE/B;AAEA,SAAO;AACT;AAEA,SAASE,GAAmBzB,GAAuC0B,GAAkB;AACnF,MAAI,OAAOC,OAAS,OAAe,OAAOA,KAAKC,eAAiB,IAAa,QAAO;AACpF,MAAI;AACF,UAAMC,IAAUC,MAAMC,QAAQ/B,CAAM,IAAIA,IAASA,IAAS,CAACA,CAAM,IAAIV;AACrE,WAAO,IAAIqC,KAAKC,aAAaC,GAAS;AAAA,MAAEH,MAAAA;AAAAA,IAAAA,CAAM;AAAA,EAChD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAASM,GAAgBC,GAAwC/C,GAAe;AAC9E,MAAK+C;AACL,QAAI;AACF,aAAOA,EAAaC,GAAGhD,CAAK,KAAKI;AAAAA,IACnC,QAAQ;AACN;AAAA,IACF;AACF;AAEA,SAAS6C,GAAqBnC,GAA4BoC,GAA0B;AAClF,QAAMH,IAAeR,GAAmBzB,GAAQ,UAAU,GACpDqC,IAAsBZ,GAAmB,MAAM,UAAU;AAG/D,UAFcW,KAAW,CAAA,GAAIjB,OAAO,CAACf,MAA+B,OAAOA,KAAS,YAAYA,EAAKiB,SAAS,CAAC,EAG5GiB,IAAKlC,CAAAA,MAAS;AACb,UAAMmC,IAAOP,GAAgBC,GAAc7B,CAAI,KAAK4B,GAAgBK,GAAqBjC,CAAI,KAAKA;AAClG,WAAO;AAAA,MACLlB,OAAOkB;AAAAA,MACPmC,MAAAA;AAAAA,MACAnC,MAAAA;AAAAA,MACAoC,YAAYV,MAAMW,KAChB,oBAAIC,IAAI,CACNH,GACAP,GAAgBK,GAAqBjC,CAAI,KAAKA,GAC9CA,EAAKQ,YAAAA,GACLR,EAAKK,aAAa,CACnB,CACH,EAAE6B,IAAKK,CAAAA,MAAUhC,GAAUgC,CAAK,CAAC;AAAA,IAAA;AAAA,EAErC,CAAC,EACAC,KAAK,CAACC,GAAGC,MAAMD,EAAEN,KAAKQ,cAAcD,EAAEP,IAAI,CAAC;AAChD;AAEA,MAAMS,KAAoD;AAAA,EACxDC,SAASA,OAAO;AAAA,IACdC,SAAS;AAAA,EAAA;AAAA,EAEXC,MAAOC,CAAAA,OAAc;AAAA,IACnB,GAAGA;AAAAA,IACHC,WAAW;AAAA,IACXC,cAAc;AAAA,IACdC,WAAW;AAAA,IACXC,iBAAiB;AAAA,IACjBC,UAAU;AAAA,IACVC,QAAQ;AAAA,EAAA;AAAA,EAEVC,UAAWP,CAAAA,OAAc;AAAA,IACvB,GAAGA;AAAAA,IACHQ,WAAW;AAAA,IACXC,SAAS;AAAA,IACTX,SAAS;AAAA,IACTY,eAAe;AAAA,IACfL,UAAU;AAAA,EAAA;AAAA,EAEZM,QAAQA,CAACX,GAAUY,OAAW;AAAA,IAC5B,GAAGZ;AAAAA,IACHa,UAAU;AAAA,IACVT,iBAAiBQ,EAAME,YACnB,sBACAF,EAAMG,aACJ,uBACA;AAAA,IACNC,OAAOJ,EAAMG,aACT,kCACA;AAAA,IACJE,QAAQ;AAAA,EAAA;AAAA,EAEVC,kBAAmBlB,CAAAA,OAAc;AAAA,IAC/B,GAAGA;AAAAA,IACHa,UAAU;AAAA,IACVG,OAAO;AAAA,EAAA;AAEX,GAEMG,KAAgBA,MAAA;AAAA,QAAAxF,IAAAC,GAAAA,EAAA,CAAA;AAAA,MAAAF;AAAA,SAAAC,EAAA,CAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAAM3F,IAAA4F,gBAAAA,EAAAA,IAAA,SAAY,OAAA;AAAA,IAAAxB,SAAW;AAAA,EAAA,GAAQ,GAAInE,OAAAD,KAAAA,IAAAC,EAAA,CAAA,GAAnCD;AAAmC,GACzD6F,KAAgBA,MAAM;AAE5B,SAAAC,GAAAC,GAAA;AAAA,QAAA9F,IAAAC,GAAAA,EAAA,EAAA,GACE;AAAA,IAAA8F,MAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAd,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAA8DU,GAOxD/F,IAAAqF,IAAA,qCAEID,IAAA,6BAAA;AAEmB,MAAAtE;AAAA,EAAAb,SAAAD,KANdc,IAAAqF,GACT,4EACAnG,CAKF,GAACC,OAAAD,GAAAC,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAgB;AAAA,EAAAhB,EAAA,CAAA,MAAA+F,EAAAvC,QAEDxC,IAAA2E,gBAAAA,EAAAA,IAAA,QAAA,EAAgB,WAAA,mCACd,UAAAA,gBAAAA,EAAAA,IAAA,UAAgB,WAAA,YAAYI,UAAAA,EAAIvC,KAAAA,CAAM,GACxC,GAAOxD,EAAA,CAAA,IAAA+F,EAAAvC,MAAAxD,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAAA,MAAAmB;AAAA,EAAAnB,EAAA,CAAA,MAAA+F,EAAA1E,QACPF,IAAAwE,gBAAAA,EAAAA,IAAA,QAAA,EAAgB,WAAA,2CAA2CI,YAAI1E,MAAM,GAAOrB,EAAA,CAAA,IAAA+F,EAAA1E,MAAArB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAAA,MAAAmG;AAAA,SAAAnG,EAAA,CAAA,MAAAiG,KAAAjG,EAAA,CAAA,MAAAgG,KAAAhG,EAAA,CAAA,MAAAa,KAAAb,EAAA,CAAA,MAAAgB,KAAAhB,UAAAmB,KAf9EgF,2BAAA,OAAA,EACOH,QAAQ,GACTC,GACO,WAAApF,GASXG,UAAAA;AAAAA,IAAAA;AAAAA,IAGAG;AAAAA,EAAAA,GACF,GAAMnB,OAAAiG,GAAAjG,OAAAgG,GAAAhG,OAAAa,GAAAb,OAAAgB,GAAAhB,QAAAmB,GAAAnB,QAAAmG,KAAAA,IAAAnG,EAAA,EAAA,GAhBNmG;AAgBM;AAIH,MAAMC,KAAYxG,EAAMyG,WAC7B,SAAAP,GAAAQ,GAAA;AAAA,QAAAtG,IAAAC,GAAAA,EAAA,GAAA;AAAA,MAAAsG,GAAAC,GAAApG,GAAAqG,GAAAC,GAAAC,GAAA7D,GAAA8D,GAAAvG,GAAAwG,GAAAC,GAAAC,GAAAC,GAAAjH,IAAAkH;AAAA,EAAAjH,SAAA8F,KACE;AAAA,IAAA3F,OAAA8G;AAAAA,IAAA7G,cAAAA;AAAAA,IAAAa,QAAA0F;AAAAA,IAAAH,eAAAA;AAAAA,IAAAnG,UAAAA;AAAAA,IAAAwG,gBAAAA;AAAAA,IAAA/D,SAAAA;AAAAA,IAAA8D,WAAAA;AAAAA,IAAAL,WAAAA;AAAAA,IAAAG,gBAAAA;AAAAA,IAAAM,aAAAA;AAAAA,IAAAD,cAAAA;AAAAA,IAAAG,wBAAAnH;AAAAA,IAAA0G,UAAAA;AAAAA,IAAA,GAAAK;AAAAA,EAAAA,IAgBIhB,GAAK9F,OAAA8F,GAAA9F,OAAAuG,GAAAvG,OAAAwG,GAAAxG,OAAAI,GAAAJ,OAAAyG,GAAAzG,OAAA0G,GAAA1G,OAAA2G,GAAA3G,OAAA8C,GAAA9C,OAAA4G,GAAA5G,OAAAK,GAAAL,QAAA6G,GAAA7G,QAAA8G,GAAA9G,QAAA+G,GAAA/G,QAAAgH,GAAAhH,QAAAD,IAAAC,QAAAiH,MAAAV,IAAAvG,EAAA,CAAA,GAAAwG,IAAAxG,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAyG,IAAAzG,EAAA,CAAA,GAAA0G,IAAA1G,EAAA,CAAA,GAAA2G,IAAA3G,EAAA,CAAA,GAAA8C,IAAA9C,EAAA,CAAA,GAAA4G,IAAA5G,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAA6G,IAAA7G,EAAA,EAAA,GAAA8G,IAAA9G,EAAA,EAAA,GAAA+G,IAAA/G,EAAA,EAAA,GAAAgH,IAAAhH,EAAA,EAAA,GAAAD,KAAAC,EAAA,EAAA,GAAAiH,IAAAjH,EAAA,EAAA;AAHP,QAAAkH,KAAAnH,OAAAQ,SAAA,KAAAR,IAQ6Bc,KAAAiG;AAAmB,MAAAK,GAAAC;AAAA,EAAApH,UAAAa,MAAlD;AAAA,IAAAuG,MAAAA;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAA+BtG,IAAmBb,QAAAa,IAAAb,QAAAmH,GAAAnH,QAAAoH,MAAAD,IAAAnH,EAAA,EAAA,GAAAoH,IAAApH,EAAA,EAAA;AAAA,MAAAgB;AAAA,EAAAhB,EAAA,EAAA,MAAAI,KAAAJ,UAAAiH,KAEEjG,KAAAiG,KAAA7G,KAAA,CAAA,GAA+BJ,QAAAI,GAAAJ,QAAAiH,GAAAjH,QAAAgB,MAAAA,KAAAhB,EAAA,EAAA;AAAnF,QAAAqH,KAAoDrG,IACpD,CAAAsG,IAAAC,EAAA,IAA0C3H,EAAKc,SAAqB2G,EAAY,GAChF/G,IAAqB2G,MAAc1G;AAAS,MAAAY;AAAA,EAAAnB,EAAA,EAAA,MAAAsH,MAAAtH,UAAAM,KAAAN,EAAA,EAAA,MAAAiH,KACvB9F,KAAAb,IAAe2G,KAAA,CAAA,IAAfK,IAA8CtH,QAAAsH,IAAAtH,QAAAM,GAAAN,QAAAiH,GAAAjH,QAAAmB,MAAAA,KAAAnB,EAAA,EAAA;AAAnE,QAAAwH,IAAqBrG,IACrB,CAAAsG,GAAAC,EAAA,IAAoC9H,EAAKc,SAAU,EAAE,GACrDiH,IAAsB/H,EAAKgI,WAAYjI,EAAsB;AAAC,MAAAwG;AAAA,MAAAnG,EAAA,EAAA,MAAAwH,KAAAxH,UAAA8C,GAAA;AAG5D,UAAA+E,IAAa9E,MAAKW,KAAM,oBAAIC,IAAI,CAAA,GAAKb,KAAA,CAAA,GAAa,GAAMf,OAAM+F,KAAMN,CAAY,CAAC,CAAC,CAAC;AAC5ErB,IAAAA,KAAA/C,GAAqB7C,QAAWsH,CAAI,GAAC7H,QAAAwH,GAAAxH,QAAA8C,GAAA9C,QAAAmG;AAAAA,EAAA;AAAAA,IAAAA,KAAAnG,EAAA,EAAA;AAF9C,QAAA+H,IAEE5B;AACyB,MAAA6B;AAAA,EAAAhI,UAAAwH,KAAAxH,EAAA,EAAA,MAAAwG,KAAAxG,EAAA,EAAA,MAAA2H,GAAA1G,UAAAjB,EAAA,EAAA,MAAA+H,MAAA5H,SAAAH,EAAA,EAAA,MAAA2G,KAESqB,IAAAA,MAEhCrB,KACAgB,GAAa1G,UADbuF,KAGCzE,OAAM+F,KAAMN,CAAY,EAAC,CAAA,KAC1BO,EAAU,CAAA,GAAU5H,SAJpBQ,IAOHX,QAAAwH,GAAAxH,QAAAwG,GAAAxG,EAAA,EAAA,IAAA2H,GAAA1G,QAAAjB,EAAA,EAAA,IAAA+H,EAAA,CAAA,GAAA5H,OAAAH,QAAA2G,GAAA3G,QAAAgI,KAAAA,IAAAhI,EAAA,EAAA,GAAgC2H,GAAa1G;AAAQ,MAAAgH;AAAA,EAAAjI,UAAAgI,KAThCC,KAAcD,EAAAA,GAS4ChI,QAAAgI,GAAAhI,QAAAiI,MAAAA,KAAAjI,EAAA,EAAA;AAThF,QAAAkI,KAAsBD,IAWtB,CAAAzH,GAAAC,EAAA,IAA4Cb,EAAKc,SAAwBwH,EAAa,GACtFtH,IAAqB+F,KAAcgB,GAAa1G,UAA3BT;AAAqD,MAAA2H,IAAAC;AAAA,EAAApI,EAAA,EAAA,MAAAqH,MAAArH,UAAAM,KAE1D6H,KAAAA,MAAA;AACd,IAAK7H,KACHiH,GAAiBF,EAAY;AAAA,EAC9B,GACAe,KAAA,CAACf,IAAc/G,CAAY,GAACN,QAAAqH,IAAArH,QAAAM,GAAAN,QAAAmI,IAAAnI,QAAAoI,OAAAD,KAAAnI,EAAA,EAAA,GAAAoI,KAAApI,EAAA,EAAA,IAJ/BJ,EAAKyI,UAAWF,IAIbC,EAA4B;AAAC,MAAAE,IAAAC;AAAA,EAAAvI,EAAA,EAAA,MAAAQ,KAAAR,UAAA2G,KAEhB4B,KAAAA,MAAA;AACd,IAAI5B,KAAcA,MAAenG,KAC/BC,GAAkBkG,CAAU;AAAA,EAC7B,GACA2B,KAAA,CAAC9H,GAAgBmG,CAAU,GAAC3G,QAAAQ,GAAAR,QAAA2G,GAAA3G,QAAAsI,IAAAtI,QAAAuI,OAAAD,KAAAtI,EAAA,EAAA,GAAAuI,KAAAvI,EAAA,EAAA,IAJ/BJ,EAAKyI,UAAWE,IAIbD,EAA4B;AAAC,MAAAE;AAAA,EAAAxI,EAAA,EAAA,MAAAQ,KAAAR,UAAA2H,KAAA3H,EAAA,EAAA,MAAA2G,KAEhB6B,KAAAA,MAAA;AACd,IAAI,CAAC7B,KAAcgB,GAAa1G,UAAY0G,EAAa1G,WAAYT,KACnEC,GAAkBkH,EAAa1G,MAAO;AAAA,EACvC,GACFjB,QAAAQ,GAAAR,QAAA2H,GAAA3H,QAAA2G,GAAA3G,QAAAwI,MAAAA,KAAAxI,EAAA,EAAA;AAAmB,QAAAyI,KAAAd,GAAa1G;AAAQ,MAAAyH;AAAA,EAAA1I,EAAA,EAAA,MAAAQ,KAAAR,UAAA2G,KAAA3G,EAAA,EAAA,MAAAyI,MAAtCC,MAAClI,GAAgBiI,IAAuB9B,CAAU,GAAC3G,QAAAQ,GAAAR,QAAA2G,GAAA3G,QAAAyI,IAAAzI,QAAA0I,MAAAA,KAAA1I,EAAA,EAAA,GAJtDJ,EAAKyI,UAAWG,IAIbE,EAAmD;AAAC,MAAAC;AAAA,EAAA3I,EAAA,EAAA,MAAAY,KAAAZ,UAAA+H,KAGrDY,KAAAZ,EAAUa,KAAMC,CAAAA,MAAY7D,EAAM7E,UAAWS,CACc,KAA3DmH,EAAUa,KAAME,EAA2C,KAC3Df,EAAU,CAAA,KAFV,MAGI/H,QAAAY,GAAAZ,QAAA+H,GAAA/H,QAAA2I,MAAAA,KAAA3I,EAAA,EAAA;AAJN,QAAA+I,IACEJ,IAKF,CAAAK,GAAAC,EAAA,IAAgCrJ,EAAKc,SAAU,EAAK,GACpDwI,KAAgBtJ,EAAKuJ,OAA+B,IAAI,GACxDC,KAAiBxJ,EAAKuJ,OAAuD,IAAI,GACjFE,KAAmBzJ,EAAKuJ,OAAkC,IAAI,GAC9DG,KAAqB1J,EAAKuJ,OAA+B,IAAI,GAC7DI,KAAkB3J,EAAKuJ,OAAsD,IAAI,GACjFK,KAAuB5J,EAAKuJ,OAAiC,IAAI,GACjEM,KAA6B7J,EAAKuJ,OAA6D,IAAI;AAAC,MAAAO;AAAA,EAAA1J,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KACdgE,KAAA;AAAA,IAAAC,MAAQ;AAAA,IAACC,KAAO;AAAA,EAAA,GAAG5J,QAAA0J,MAAAA,KAAA1J,EAAA,EAAA;AAAzG,QAAA,CAAA6J,GAAAC,EAAA,IAAwClK,EAAKc,SAAyCgJ,EAAmB;AAAC,MAAAK,IAAAC;AAAA,EAAAhK,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAElEqE,KAAAA,MAAMX,GAAQa,SAAoDD,KAAA,CAAA,GAAEhK,QAAA+J,IAAA/J,QAAAgK,OAAAD,KAAA/J,EAAA,EAAA,GAAAgK,KAAAhK,EAAA,EAAA,IAA5GJ,EAAKsK,oBAAqB5D,GAAcyD,IAAkEC,EAAE;AAE5G,QAAAG,IAA2BC,CAAAA,MAAA;AACzB,QAAI,CAACpF;AAAM;AACX,UAAAqF,IAAmBrF,EAAM7E;AACzB,IAAKG,KACHG,GAAkB4J,CAAU,GAE9BxD,IAAiBwD,GAAYrF,CAAM,GACnC2C,GAAa5G,UAAYsJ,CAAU,GACnCC,EAAU,EAAI;AAAA,EAAC;AAChB,MAAAC;AAAA,EAAAvK,EAAA,EAAA,MAAAY,KAAAZ,EAAA,EAAA,MAAAwH,KAAAxH,EAAA,EAAA,MAAAM,KAAAN,UAAAK,KAEwBkK,KAAAC,CAAAA,MAAA;AACvB,UAAAC,IAAkB;AAAA,MAAA,GACbjD;AAAAA,MAAY,CACd5G,CAAY,GAAG4J,EAAKE,OAAOvK;AAAAA,IAAAA;AAE9B,IAAKG,KACHiH,GAAiBkD,CAAS,GAE5BpK,IAAWoK,CAAS;AAAA,EAAC,GACtBzK,QAAAY,GAAAZ,QAAAwH,GAAAxH,QAAAM,GAAAN,QAAAK,GAAAL,QAAAuK,MAAAA,KAAAvK,EAAA,EAAA;AATD,QAAA2K,KAAyBJ;AASxB,MAAAK;AAAA,EAAA5K,EAAA,EAAA,MAAAY,KAAAZ,UAAAwH,KAEmBoD,KAAA9I,GAAsB0F,GAAc5G,CAAY,GAACZ,QAAAY,GAAAZ,QAAAwH,GAAAxH,QAAA4K,MAAAA,KAAA5K,EAAA,EAAA;AAArE,QAAA6K,KAAoBD;AAAiD,MAAAE;AAAA,EAAA9K,UAAAyH,KAGnEqD,KAAAC,CAAAA,MAAA;AACE,QAAI,CAACtD;AAAU,aAAS;AACxB,UAAAuD,IAAcpJ,GAAU6F,CAAU;AAAC,WAC5BzC,EAAMe,KAAKtC,WAAWwH,KAAMC,OAAWA,EAAKC,SAAUH,CAAK,CAAC;AAAA,EAAC,GACrEhL,QAAAyH,GAAAzH,QAAA8K,MAAAA,KAAA9K,EAAA,EAAA;AALH,QAAAoL,IAAqBN,IASrBO,KAAuBzE,IAAA,gCAAA;AAA6E,MAAA0E;AAAA,EAAAtL,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAGvD4F,KAAAA,MAAA;AAC3C,UAAAC,IAAgBlC,GAAUY,SAC1BuB,IAAkBlC,GAAYW;AAC9B,QAAI,CAACsB,KAAD,CAAaC;AAAS;AAC1B,UAAAC,IAAoBF,EAAOG,sBAAAA,GAC3BC,IAAsBH,EAASE,sBAAAA;AAC/B5B,IAAAA,GAAgB;AAAA,MAAAH,MACR8B,EAAW9B,OAAQgC,EAAahC;AAAAA,MAAKC,KACtC6B,EAAWG,SAAUD,EAAa/B,MAAO;AAAA,IAAA,CAC/C;AAAA,EAAC,GACH5J,QAAAsL,MAAAA,KAAAtL,EAAA,EAAA;AAVD,QAAA6L,KAA2BP;AAUrB,MAAAQ;AAAA,EAAA9L,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAEsCoG,KAAApB,CAAAA,MACtC,CAACA,KAAD,EAAaA,aAAkBqB,QAAc,KAC1C1J,EAAQ6G,GAAOe,SAAkB+B,SAACtB,CAAM,GAChD1K,QAAA8L,MAAAA,KAAA9L,EAAA,EAAA;AAHD,QAAAiM,IAA0BH;AAGpB,MAAAI;AAAA,EAAAlM,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAEqCwG,KAAAA,MAAA;AACzC,UAAAC,IAAe/C,GAAQa;AACvB,QAAI,CAACS;AAAM;AACXA,IAAAA,EAAM0B,MAAAA;AACN,UAAAC,IAAkB5C,GAAoBQ;AACtC,IAAIoC,KAAaA,EAASC,SAAU,QAAQD,EAASE,OAAQ,QAC3D7B,EAAM8B,kBAAmBH,EAASC,OAAQD,EAASE,GAAI;AAAA,EACxD,GACFvM,QAAAkM,MAAAA,KAAAlM,EAAA,EAAA;AARD,QAAAyM,KAAyBP;AAQnB,MAAAQ;AAAA,EAAA1M,UAAAgJ,KAEU0D,KAAAA,MAAA;AACd,QAAI,CAAC1D;AAAQ;AACb,UAAA2D,IAAenD,GAAcS;AAC7B,IAAKS,KACLkC,sBAAsB,MAAA;AACpB,UAAIC,SAAQC,kBAAmBpC;AAAM;AACrCA,MAAAA,EAAM0B,MAAAA;AACN,YAAAG,IAAY7B,EAAMvK,MAAMmC;AACxB,UAAA;AACEoI,QAAAA,EAAM8B,kBAAmBD,GAAKA,CAAG;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,IAGnC,CACF;AAAA,EAAC,GACHvM,QAAAgJ,GAAAhJ,QAAA0M,MAAAA,KAAA1M,EAAA,EAAA;AAAA,MAAA+M;AAAA,EAAA/M,EAAA,EAAA,MAAAgJ,KAAAhJ,UAAAyH,KAAEsF,KAAA,CAAC/D,GAAUvB,CAAU,GAACzH,QAAAgJ,GAAAhJ,QAAAyH,GAAAzH,QAAA+M,MAAAA,KAAA/M,EAAA,EAAA,GAdzBJ,EAAKyI,UAAWqE,IAcbK,EAAsB;AAAC,MAAAC;AAAA,EAAAhN,EAAA,EAAA,MAAAyF,uBAAAC,IAAA,2BAAA,KAGxBsH,KAAAC,CAAAA,MAAA;AAAC,UAAAC,IAAAD,MAAA1M,SAAA,KAAA0M;AACChE,IAAAA,GAAY,EAAK,GACjBvB,GAAc,EAAE,GACZwF,KACFN,sBAAsB,MAAA;AACpBH,MAAAA,GAAAA;AAAAA,IAAkB,CACnB;AAAA,EACF,GACFzM,QAAAgN,MAAAA,KAAAhN,EAAA,EAAA;AATH,QAAAsK,IAAkB0C;AAWjB,MAAAC;AAAA,EAAAjN,UAAAgH,KASGiG,IAAAjG,KAAA,CAAA,GAAiBhH,QAAAgH,GAAAhH,QAAAiN,KAAAA,IAAAjN,EAAA,EAAA;AAAA,MAAAmN,GAAA5H,GAAA6H,IAAAC,IAAAC,GAAAC;AAAA,EAAAvN,UAAAiN,KAPrB;AAAA,IAAAO,YAAAF;AAAAA,IAAAG,QAAAF;AAAAA,IAAAG,iBAAAL;AAAAA,IAAAM,aAAAP;AAAAA,IAAA7H,kBAAAA;AAAAA,IAAA,GAAA4H;AAAAA,EAAAA,IAOIF,GAAiBjN,QAAAiN,GAAAjN,QAAAmN,GAAAnN,QAAAuF,GAAAvF,QAAAoN,IAAApN,QAAAqN,IAAArN,QAAAsN,GAAAtN,QAAAuN,MAAAJ,IAAAnN,EAAA,EAAA,GAAAuF,IAAAvF,EAAA,EAAA,GAAAoN,KAAApN,EAAA,EAAA,GAAAqN,KAAArN,EAAA,EAAA,GAAAsN,IAAAtN,EAAA,EAAA,GAAAuN,IAAAvN,EAAA,EAAA;AAAA,MAAA4N;AAAA,MAAA5N,EAAA,EAAA,MAAAoL,KAAApL,UAAA+H,KAAA/H,EAAA,EAAA,MAAAyH,GAAA;AAGnB,UAAAoG,IAAcjM,GAAU6F,CAAU,GAClCqG,IAAaC,CAAAA,MAAA;AACX,YAAA1M,KAAa2D,EAAM3D,KAAKQ,YAAAA;AACxB,aAAIgM,KAASxM,OAAS2J,IAAc,IAChC6C,KAASxM,GAAI2M,WAAYhD,CAAK,IAAU,IACxC6C,KAAS7I,EAAMvB,WAAWwH,KAAMgD,QAAW/C,GAAK8C,WAAYhD,CAAK,CAAC,IAAU,IAC5E6C,KAAS7I,EAAMvB,WAAWwH,KAAMiD,QAAWhD,GAAKC,SAAUH,CAAK,CAAC,IAAU,IACvE;AAAA,IAAC;AACT,QAAAmD;AAAA,IAAAnO,UAAAoL,KAES+C,IAAAC,OAAYhD,EAAa;AAAA,MAAArF,MAAQf;AAAAA,IAAAA,CAAQ,GAAChF,QAAAoL,GAAApL,QAAAmO,KAAAA,IAAAnO,EAAA,EAAA,GAD7C4N,KAAA7F,EAAU3F,OACP+L,CAA0C,EAACtK,KAC7C,CAAAC,GAAAC,OAAA;AACJ,YAAAsK,KAAaP,EAAKhK,CAAC,IAAIgK,EAAK/J,EAAC;AAC7B,aAAIsK,OAAS,IAAUA,KAChBvK,EAACN,KAAKQ,cAAeD,GAACP,IAAK;AAAA,IAAC,CACpC,GAACxD,QAAAoL,GAAApL,QAAA+H,GAAA/H,QAAAyH,GAAAzH,QAAA4N;AAAAA,EAAA;AAAAA,IAAAA,KAAA5N,EAAA,EAAA;AAhBN,QAAAsO,IAUEV;AA4DU,MAAAO;AAAA,EAAAnO,EAAA,EAAA,MAAAsK,KAAAtK,EAAA,EAAA,MAAAsO,KAAAtO,EAAA,EAAA,MAAAmK,KAAAnK,EAAA,EAAA,MAAAyH,KAAAzH,UAAA+G,KA5CEoH,IAAAI,CAAAA,MAAA;AACR,UAAA;AAAA,MAAArO,UAAAA;AAAAA,IAAAA,IAAqB4F;AAAK,oDAEOA,GAAiB,WAAA,sCAC9C,UAAA;AAAA,MAAAH,gBAAAA,MAAA,SAAe,WAAA,wCACb,UAAAA,gBAAAA,EAAAA,IAAA,SAAA,EACO6D,KAAAA,IACE/B,OAAAA,GACG,UAAA+G,OAAW9G,GAAc8C,EAAKE,OAAOvK,KAAM,GAC1C,WAAAsO,CAAAA,MAAA;AACT,YAAIjE,EAAKkE,QAAS,UAAQ;AACxBlE,UAAAA,EAAKmE,eAAAA,GACLrE,EAAU,EAAI;AAAC;AAAA,QAAA;AAGjB,YAAIE,EAAKkE,QAAS,SAAO;AACvBlE,UAAAA,EAAKmE,eAAAA;AACL,gBAAAC,IAAcN,EAAe,CAAA;AAC7B,UAAIM,KACFzE,EAAmByE,CAAK;AACzB;AAAA,QAAA;AAGH,SAAIpE,EAAKkE,QAAS,eAAelE,EAAKkE,QAAS,eAC7ClE,EAAKmE,eAAAA,GACLpF,GAASU,SAAemC,MAAAA;AAAAA,MACzB,GAEO,WAAA,yHACE,aAAA,oBAAkB,EAAA,CAElC;AAAA,MACAzG,gBAAAA,EAAAA,IAAA,OAAA,EAAe,WAAA,4BAA4BzF,UAAAA,EAAAA,CAAS;AAAA,MACnD6G,IACCpB,gBAAAA,EAAAA,IAAA,OAAA,EAAe,WAAA,6EACZoB,aACH,IAHD;AAAA,IAAA,GAKH;AAAA,EAA4B,GAE/B/G,QAAAsK,GAAAtK,QAAAsO,GAAAtO,QAAAmK,GAAAnK,QAAAyH,GAAAzH,QAAA+G,GAAA/G,QAAAmO,KAAAA,IAAAnO,EAAA,EAAA;AAAA,MAAA6O;AAAA,EAAA7O,UAAAsN,KACGuB,IAAAvB,KAAA,CAAA,GAA0BtN,QAAAsN,GAAAtN,SAAA6O,KAAAA,IAAA7O,EAAA,GAAA;AAAA,MAAA8O;AAAA,EAAA9O,EAAA,GAAA,MAAAmO,KAAAnO,WAAA6O,KA/CzBC,KAAA;AAAA,IAAAC,SACIvJ;AAAAA,IAAawJ,qBACDpJ;AAAAA,IAAaqJ,mBACfrJ;AAAAA,IAAasJ,oBACZtJ;AAAAA,IAAauJ,gBACjBvJ;AAAAA,IAAawJ,UACnBjB;AAAAA,IAwCT,GACGU;AAAAA,IAA0BhJ,QAAAA;AAAAA,EAAAA,GAE/B7F,SAAAmO,GAAAnO,SAAA6O,GAAA7O,SAAA8O,MAAAA,KAAA9O,EAAA,GAAA;AAlDH,QAAAqP,KACSP;AAmDR,MAAAQ;AAAA,EAAAtP,WAAAuN,KAKO+B,IAAA/B,KAAA,CAAA,GAAsBvN,SAAAuN,GAAAvN,SAAAsP,KAAAA,IAAAtP,EAAA,GAAA;AAAA,MAAAuP;AAAA,EAAAvP,WAAAsP,KAFrBC,KAAA;AAAA,IAAA,GACFtL;AAAAA,IAAY,GACXqL;AAAAA,EAAAA,GACLtP,SAAAsP,GAAAtP,SAAAuP,MAAAA,KAAAvP,EAAA,GAAA;AAJH,QAAAwP,KACSD;AAKR,MAAAE,IAAAC;AAAA,EAAA1P,EAAA,GAAA,MAAAgJ,KAAAhJ,WAAA6L,MAEqB4D,KAAAA,MAAA;AACpB,QAAI,CAACzG;AAAQ;AACb6C,IAAAA,GAAAA;AACA,UAAA8D,IAAqBA,MAAM9D,GAAAA;AAC3B+D,kBAAMC,iBAAkB,UAAUF,CAAY,GACvC,MAAMC,OAAME,oBAAqB,UAAUH,CAAY;AAAA,EAAC,GAC9DD,KAAA,CAAC1G,GAAU6C,EAAkB,GAAC7L,SAAAgJ,GAAAhJ,SAAA6L,IAAA7L,SAAAyP,IAAAzP,SAAA0P,OAAAD,KAAAzP,EAAA,GAAA,GAAA0P,KAAA1P,EAAA,GAAA,IANjCJ,EAAKmQ,gBAAiBN,IAMnBC,EAA8B;AAAC,MAAAM;AAAA,EAAAhQ,EAAA,GAAA,MAAAsK,KAAAtK,WAAAgJ,KAAAhJ,EAAA,GAAA,MAAAmH,KAQvB6I,IAAAC,CAAAA,MAAA;AACP,IAAIjH,KACFsB,EAAU,EAAK,GAEjBnD,EAAS+I,UAAW1F,CAAK;AAAA,EAAC,GAC3BxK,SAAAsK,GAAAtK,SAAAgJ,GAAAhJ,SAAAmH,GAAAnH,SAAAgQ,KAAAA,IAAAhQ,EAAA,GAAA;AAAA,MAAAmQ;AAAA,EAAAnQ,EAAA,GAAA,MAAAsK,KAAAtK,WAAAiM,KAAAjM,EAAA,GAAA,MAAAmH,KACOgJ,IAAAC,CAAAA,MAAA;AACN,IAAKnE,EAAkBzB,EAAK6F,aAAc,KACxC/F,EAAU,EAAK,GAEjBnD,EAASmJ,SAAU9F,CAAK;AAAA,EAAC,GAC1BxK,SAAAsK,GAAAtK,SAAAiM,GAAAjM,SAAAmH,GAAAnH,SAAAmQ,KAAAA,IAAAnQ,EAAA,GAAA;AAGC,QAAAuQ,KAAA3J,IAAA,kBAAA;AAAyC,MAAA4J;AAAA,EAAAxQ,EAAA,GAAA,MAAA0G,KAAA1G,WAAAuQ,MAFhCC,IAAAtK,GACT,uPACAqK,IAhLqB,cAkLrB7J,CACF,GAAC1G,SAAA0G,GAAA1G,SAAAuQ,IAAAvQ,SAAAwQ,KAAAA,IAAAxQ,EAAA,GAAA;AAAA,MAAAyQ;AAAA,EAAAzQ,EAAA,GAAA,MAAA6K,MAAA7K,EAAA,GAAA,MAAAyG,KAAAzG,EAAA,GAAA,MAAA2K,MAAA3K,WAAAmH,KAAAnH,EAAA,GAAA,MAAAgQ,KAAAhQ,EAAA,GAAA,MAAAmQ,KAAAnQ,EAAA,GAAA,MAAAwQ,KAvBsBC,KAAA;AAAA,IAAA,GACpBtJ;AAAAA,IAASuJ,KACPtH;AAAAA,IAA0B3C,UAAAA;AAAAA,IAAAtG,OAExB0K;AAAAA,IAAWxK,UACRsK;AAAAA,IAAgBuF,SACjBF;AAAAA,IAKRM,QACOH;AAAAA,IAKP5J,WACUiK;AAAAA,IAKV7C,aACYxG,EAASwG;AAAAA,EAAAA,GACvB3N,SAAA6K,IAAA7K,SAAAyG,GAAAzG,SAAA2K,IAAA3K,SAAAmH,GAAAnH,SAAAgQ,GAAAhQ,SAAAmQ,GAAAnQ,SAAAwQ,GAAAxQ,SAAAyQ,MAAAA,KAAAzQ,EAAA,GAAA;AAzBD,QAAA2Q,KAAyBF;AAyBxB,MAAAG;AAAA,EAAA5Q,WAAAuG,KAKcqK,IAAA1K,GAAG,0BAA0BK,CAAS,GAACvG,SAAAuG,GAAAvG,SAAA4Q,KAAAA,IAAA5Q,EAAA,GAAA;AAAA,MAAA6Q;AAAA,EAAA7Q,EAAA,GAAA,MAAAsK,KAAAtK,WAAAiM,KAC1C4E,KAAAC,CAAAA,MAAA;AACN,IAAK7E,EAAkBzB,EAAK6F,aAAc,KACxC/F,EAAU,EAAK;AAAA,EAChB,GACFtK,SAAAsK,GAAAtK,SAAAiM,GAAAjM,SAAA6Q,MAAAA,KAAA7Q,EAAA,GAAA;AAAA,MAAA+Q;AAAA,EAAA/Q,EAAA,GAAA,MAAA4G,KAAA5G,WAAAoH,KAAApH,EAAA,GAAA,MAAA2Q,MAGEI,KAAAnK,IACCjB,gBAAAA,EAAAA,IAAA,YAAA,EAAgByB,MAAAA,GAAI,GAAMuJ,GAAAA,CAAgB,IAE1ChL,gBAAAA,EAAAA,eAAY,MAAA,QAAM,GAAKgL,GAAAA,CAAgB,GACxC3Q,SAAA4G,GAAA5G,SAAAoH,GAAApH,SAAA2Q,IAAA3Q,SAAA+Q,MAAAA,KAAA/Q,EAAA,GAAA;AAOG,QAAAgR,KAAAvK,IAAA,sDAAA,iCACAwK,KAAAlI,IAAA,uBAAA;AAA2F,MAAAmI;AAAA,EAAAlR,EAAA,GAAA,MAAAqL,MAAArL,WAAAgR,MAAAhR,EAAA,GAAA,MAAAiR,MAJlFC,KAAAhL,GACT,sNACAmF,IACA2F,IACAC,EACF,GAACjR,SAAAqL,IAAArL,SAAAgR,IAAAhR,SAAAiR,IAAAjR,SAAAkR,MAAAA,KAAAlR,EAAA,GAAA;AACW,QAAAmR,KAAApI,IAAA,oBAAqCA,EAAc1H,IAAK,MAAxD;AAA+E,MAAA+P;AAAA,EAAApR,WAAAyG,KAElF2K,KAAAA,MAAA;AACP,QAAI3K;AAAQ;AACZ,UAAA4K,IAAejI,GAAQa;AACvB,IAAIS,MACFjB,GAAoBQ,UAAW;AAAA,MAAAqC,OACtB5B,EAAM4G;AAAAA,MAAe/E,KACvB7B,EAAM6G;AAAAA,IAAAA,IAGf7J,GAAc,EAAE,GAChBuB,GAAY,EAAI,GAChB2D,sBAAsB,MAAA;AACpB,MAAIpD,GAAcS,WAChBT,GAAcS,QAAQmC,MAAAA,GACtB5C,GAAcS,QAAQuH,OAAAA,KAEtBjI,GAASU,SAAemC,MAAAA;AAAAA,IACzB,CACF;AAAA,EAAC,GACHpM,SAAAyG,GAAAzG,SAAAoR,MAAAA,KAAApR,EAAA,GAAA;AAAA,MAAAyR;AAAA,EAAAzR,WAAA+I,KAKyB0I,KAAA1I,IAAiB3H,GAAoB2H,EAAc1H,IAAW,IAA9D,KAA+DrB,SAAA+I,GAAA/I,SAAAyR,MAAAA,KAAAzR,EAAA,GAAA;AAAA,MAAA0R;AAAA,EAAA1R,WAAAyR,MAAzFC,KAAA/L,gBAAAA,EAAAA,IAAA,QAAA,EAAkB,eAAA,QAAQ8L,UAAAA,IAAgE,GAAOzR,SAAAyR,IAAAzR,SAAA0R,MAAAA,KAAA1R,EAAA,GAAA;AAAA,MAAA2R;AAAA,EAAA3R,WAAAyG,KAAAzG,EAAA,GAAA,MAAAkH,MAAAlH,EAAA,GAAA,MAAAkR,MAAAlR,EAAA,GAAA,MAAAmR,MAAAnR,WAAAoR,MAAApR,EAAA,GAAA,MAAA0R,MAlCnGC,2BAAA,UAAA,EACO,MAAA,UACM,WAAAT,IAMC,cAAAC,IACC,aAAAS,IACJ,SAAAR,IAoBClK,UAAAA,IACAT,UAAAA,GACL4C,KAAAA,IAELqI,UAAAA,IACF,GAAS1R,SAAAyG,GAAAzG,SAAAkH,IAAAlH,SAAAkR,IAAAlR,SAAAmR,IAAAnR,SAAAoR,IAAApR,SAAA0R,IAAA1R,SAAA2R,MAAAA,KAAA3R,EAAA,GAAA;AAAA,MAAA6R;AAAA,EAAA7R,EAAA,GAAA,MAAA+Q,MAAA/Q,WAAA2R,MA1CXE,qCAAUvI,KAAAA,IAAwB,WAAA,YAC/ByH,UAAAA;AAAAA,IAAAA;AAAAA,IAMDY;AAAAA,EAAAA,GAoCF,GAAM3R,SAAA+Q,IAAA/Q,SAAA2R,IAAA3R,SAAA6R,MAAAA,KAAA7R,EAAA,GAAA;AAKa,QAAA8R,KAAA9I,IAAA,SAAA;AAA0B,MAAA+I;AAAA,EAAA/R,EAAA,GAAA,MAAA6J,EAAAF,QAAA3J,EAAA,GAAA,MAAA6J,EAAAD,OAAA5J,WAAA8R,MADpCC,KAAA;AAAA,IAAAC,eACUF;AAAAA,IAA0BG,OAClC;AAAA,IAAkBtI,MACnBE,EAAYF;AAAAA,IAAKC,KAClBC,EAAYD;AAAAA,EAAAA,GAClB5J,EAAA,GAAA,IAAA6J,EAAAF,MAAA3J,EAAA,GAAA,IAAA6J,EAAAD,KAAA5J,SAAA8R,IAAA9R,SAAA+R,MAAAA,KAAA/R,EAAA,GAAA;AAQkB,QAAAkS,KAAA7E,MAAA,wBAQJ8E,KAAA/E,MAAA;AAAuB,MAAAgF;AAAA,EAAApS,WAAAsK,KAGvB8H,KAAAA,MAAM9H,EAAU,EAAI,GAACtK,SAAAsK,GAAAtK,SAAAoS,MAAAA,KAAApS,EAAA,GAAA;AAAA,MAAAqS;AAAA,EAAArS,EAAA,GAAA,MAAAoL,KAAApL,EAAA,GAAA,MAAAsO,KAAAtO,WAAAmN,KAAAnN,EAAA,GAAA,MAAAmK,KAAAnK,EAAA,GAAA,MAAAgJ,KAAAhJ,EAAA,GAAA,MAAAqP,MAAArP,EAAA,GAAA,MAAAwP,MAAAxP,WAAAuF,KAAAvF,EAAA,GAAA,MAAAkS,MAAAlS,EAAA,GAAA,MAAAmS,MAAAnS,WAAAoS,MAjBpCC,KAAA1M,gBAAAA,EAAAA,IAAC2M,IAAA,EAAM,GACDnF,GACQnE,eACHsF,SAAAA,GACF,OAAA,MACGnE,aACO,iBAAA+H,IACL7C,YAAAA,IACJG,QAAAA,IACK,iBACC,cAAA,IACS,uBAAA,IACvB,qBAC0B,0BAAA,IACb,aAAA2C,IACC/G,cAAAA,GACI7F,kBAAAA,GACL,aAAA6M,IACR7I,KAAAA,IAAS,GACdvJ,SAAAoL,GAAApL,SAAAsO,GAAAtO,SAAAmN,GAAAnN,SAAAmK,GAAAnK,SAAAgJ,GAAAhJ,SAAAqP,IAAArP,SAAAwP,IAAAxP,SAAAuF,GAAAvF,SAAAkS,IAAAlS,SAAAmS,IAAAnS,SAAAoS,IAAApS,SAAAqS,MAAAA,KAAArS,EAAA,GAAA;AAAA,MAAAuS;AAAA,EAAAvS,EAAA,GAAA,MAAA+R,MAAA/R,WAAAqS,MA5BJE,oCACY,WAAA,sCACH,OAAAR,IAOPM,UAAAA,IAoBF,GAAMrS,SAAA+R,IAAA/R,SAAAqS,IAAArS,SAAAuS,MAAAA,KAAAvS,EAAA,GAAA;AAAA,MAAAwS;AAAA,SAAAxS,EAAA,GAAA,MAAA4Q,KAAA5Q,EAAA,GAAA,MAAA6Q,MAAA7Q,EAAA,GAAA,MAAA6R,MAAA7R,WAAAuS,MAnFRC,4BAAA,OAAA,EACOtJ,KAAAA,IACM,WAAA0H,GACH,QAAAC,IAMRgB,UAAAA;AAAAA,IAAAA;AAAAA,IA6CAU;AAAAA,EAAAA,GA8BF,GAAMvS,SAAA4Q,GAAA5Q,SAAA6Q,IAAA7Q,SAAA6R,IAAA7R,SAAAuS,IAAAvS,SAAAwS,MAAAA,KAAAxS,EAAA,GAAA,GApFNwS;AAoFM,CAGZ;AAEApM,GAAUqM,cAAc;AAzYtB,SAAA3J,GAAA9D,GAAA;AAAA,SAsEgCA,EAAM7E,UAAWQ;AAAc;AAtE/D,SAAAiR,GAAAc,GAAA;AAAA,SAyUkClI,EAAKmE,eAAAA;AAAiB;"}
|
|
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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"}
|
package/dist/index110.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
"data-multiple-months": e.numberOfMonths && e.numberOfMonths > 1 || void 0,
|
|
6
|
-
"data-week-numbers": e.showWeekNumber || void 0,
|
|
7
|
-
"data-broadcast-calendar": e.broadcastCalendar || void 0,
|
|
8
|
-
"data-nav-layout": e.navLayout || void 0
|
|
9
|
-
};
|
|
10
|
-
return Object.entries(e).forEach(([a, d]) => {
|
|
11
|
-
a.startsWith("data-") && (t[a] = d);
|
|
12
|
-
}), t;
|
|
1
|
+
import n from "react";
|
|
2
|
+
function a(e) {
|
|
3
|
+
const { calendarMonth: r, displayIndex: d, ...t } = e;
|
|
4
|
+
return n.createElement("div", { ...t }, e.children);
|
|
13
5
|
}
|
|
14
6
|
export {
|
|
15
|
-
|
|
7
|
+
a as Month
|
|
16
8
|
};
|
|
17
9
|
//# sourceMappingURL=index110.js.map
|
package/dist/index110.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index110.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index110.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Month.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the grid with the weekday header row and the weeks for a specific\n * month.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Month(props) {\n const { calendarMonth, displayIndex, ...divProps } = props;\n return React.createElement(\"div\", { ...divProps }, props.children);\n}\n"],"names":["Month","props","calendarMonth","displayIndex","divProps","React"],"mappings":";AAQO,SAASA,EAAMC,GAAO;AACzB,QAAM,EAAE,eAAAC,GAAe,cAAAC,GAAc,GAAGC,EAAQ,IAAKH;AACrD,SAAOI,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAQ,GAAIH,EAAM,QAAQ;AACrE;","x_google_ignoreList":[0]}
|
package/dist/index111.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
function
|
|
3
|
-
const o =
|
|
4
|
-
|
|
5
|
-
o[t[n]] = `rdp-${t[n]}`;
|
|
6
|
-
for (const n in e)
|
|
7
|
-
o[e[n]] = `rdp-${e[n]}`;
|
|
8
|
-
for (const n in r)
|
|
9
|
-
o[r[n]] = `rdp-${r[n]}`;
|
|
10
|
-
for (const n in s)
|
|
11
|
-
o[s[n]] = `rdp-${s[n]}`;
|
|
12
|
-
return o;
|
|
1
|
+
import n from "react";
|
|
2
|
+
function d(t) {
|
|
3
|
+
const { calendarMonth: o, displayIndex: r, ...e } = t;
|
|
4
|
+
return n.createElement("div", { ...e });
|
|
13
5
|
}
|
|
14
6
|
export {
|
|
15
|
-
|
|
7
|
+
d as MonthCaption
|
|
16
8
|
};
|
|
17
9
|
//# sourceMappingURL=index111.js.map
|
package/dist/index111.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index111.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index111.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthCaption.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the caption for a month in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthCaption(props) {\n const { calendarMonth, displayIndex, ...divProps } = props;\n return React.createElement(\"div\", { ...divProps });\n}\n"],"names":["MonthCaption","props","calendarMonth","displayIndex","divProps","React"],"mappings":";AAOO,SAASA,EAAaC,GAAO;AAChC,QAAM,EAAE,eAAAC,GAAe,cAAAC,GAAc,GAAGC,EAAQ,IAAKH;AACrD,SAAOI,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAQ,CAAE;AACrD;","x_google_ignoreList":[0]}
|
package/dist/index112.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
function
|
|
3
|
-
return
|
|
4
|
-
...a,
|
|
5
|
-
...n
|
|
6
|
-
};
|
|
1
|
+
import e from "react";
|
|
2
|
+
function n(t) {
|
|
3
|
+
return e.createElement("table", { ...t });
|
|
7
4
|
}
|
|
8
5
|
export {
|
|
9
|
-
|
|
6
|
+
n as MonthGrid
|
|
10
7
|
};
|
|
11
8
|
//# sourceMappingURL=index112.js.map
|
package/dist/index112.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index112.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index112.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthGrid.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the grid of days for a specific month.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthGrid(props) {\n return React.createElement(\"table\", { ...props });\n}\n"],"names":["MonthGrid","props","React"],"mappings":";AAOO,SAASA,EAAUC,GAAO;AAC7B,SAAOC,EAAM,cAAc,SAAS,EAAE,GAAGD,EAAK,CAAE;AACpD;","x_google_ignoreList":[0]}
|
package/dist/index113.js
CHANGED
|
@@ -1,35 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { labelNav as n } from "./index143.js";
|
|
5
|
-
import { labelGridcell as t } from "./index141.js";
|
|
6
|
-
import { labelGrid as d } from "./index140.js";
|
|
7
|
-
import { labelYearDropdown as p } from "./index149.js";
|
|
8
|
-
import { labelWeekNumber as m } from "./index147.js";
|
|
9
|
-
import { labelPrevious as f } from "./index145.js";
|
|
10
|
-
import { labelNext as N } from "./index144.js";
|
|
11
|
-
import { labelMonthDropdown as k } from "./index142.js";
|
|
12
|
-
import { labelDayButton as D } from "./index139.js";
|
|
13
|
-
const r = (l, a, e) => a || (e ? typeof e == "function" ? e : (...W) => e : l);
|
|
14
|
-
function Y(l, a) {
|
|
15
|
-
const e = a.locale?.labels ?? {};
|
|
16
|
-
return {
|
|
17
|
-
...o,
|
|
18
|
-
...l ?? {},
|
|
19
|
-
labelDayButton: r(D, l?.labelDayButton, e.labelDayButton),
|
|
20
|
-
labelMonthDropdown: r(k, l?.labelMonthDropdown, e.labelMonthDropdown),
|
|
21
|
-
labelNext: r(N, l?.labelNext, e.labelNext),
|
|
22
|
-
labelPrevious: r(f, l?.labelPrevious, e.labelPrevious),
|
|
23
|
-
labelWeekNumber: r(m, l?.labelWeekNumber, e.labelWeekNumber),
|
|
24
|
-
labelYearDropdown: r(p, l?.labelYearDropdown, e.labelYearDropdown),
|
|
25
|
-
labelGrid: r(d, l?.labelGrid, e.labelGrid),
|
|
26
|
-
labelGridcell: r(t, l?.labelGridcell, e.labelGridcell),
|
|
27
|
-
labelNav: r(n, l?.labelNav, e.labelNav),
|
|
28
|
-
labelWeekNumberHeader: r(i, l?.labelWeekNumberHeader, e.labelWeekNumberHeader),
|
|
29
|
-
labelWeekday: r(b, l?.labelWeekday, e.labelWeekday)
|
|
30
|
-
};
|
|
1
|
+
import e from "react";
|
|
2
|
+
function n(t) {
|
|
3
|
+
return e.createElement("div", { ...t });
|
|
31
4
|
}
|
|
32
5
|
export {
|
|
33
|
-
|
|
6
|
+
n as Months
|
|
34
7
|
};
|
|
35
8
|
//# sourceMappingURL=index113.js.map
|
package/dist/index113.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index113.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index113.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Months.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a container wrapping the month grids.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Months(props) {\n return React.createElement(\"div\", { ...props });\n}\n"],"names":["Months","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAK,CAAE;AAClD;","x_google_ignoreList":[0]}
|
package/dist/index114.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}).map((t) => {
|
|
7
|
-
const O = a.formatMonthDropdown(t, e), h = p(t), u = n && t < r(n) || s && t > r(s) || !1;
|
|
8
|
-
return { value: h, label: O, disabled: u };
|
|
9
|
-
});
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { useDayPicker as r } from "./index144.js";
|
|
3
|
+
function m(o) {
|
|
4
|
+
const { components: t } = r();
|
|
5
|
+
return e.createElement(t.Dropdown, { ...o });
|
|
10
6
|
}
|
|
11
7
|
export {
|
|
12
|
-
|
|
8
|
+
m as MonthsDropdown
|
|
13
9
|
};
|
|
14
10
|
//# sourceMappingURL=index114.js.map
|
package/dist/index114.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index114.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index114.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render a dropdown to navigate between months in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthsDropdown(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Dropdown, { ...props });\n}\n"],"names":["MonthsDropdown","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAeC,GAAO;AAClC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,UAAU,EAAE,GAAGD,GAAO;AAChE;","x_google_ignoreList":[0]}
|
package/dist/index115.js
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
1
|
+
import n, { useCallback as u } from "react";
|
|
2
|
+
import { UI as i } from "./index141.js";
|
|
3
|
+
import { useDayPicker as v } from "./index144.js";
|
|
4
|
+
function x(c) {
|
|
5
|
+
const { onPreviousClick: l, onNextClick: s, previousMonth: e, nextMonth: t, ...d } = c, { components: a, classNames: o, labels: { labelPrevious: m, labelNext: b } } = v(), f = u((r) => {
|
|
6
|
+
t && s?.(r);
|
|
7
|
+
}, [t, s]), h = u((r) => {
|
|
8
|
+
e && l?.(r);
|
|
9
|
+
}, [e, l]);
|
|
10
|
+
return n.createElement(
|
|
11
|
+
"nav",
|
|
12
|
+
{ ...d },
|
|
13
|
+
n.createElement(
|
|
14
|
+
a.PreviousMonthButton,
|
|
15
|
+
{ type: "button", className: o[i.PreviousMonthButton], tabIndex: e ? void 0 : -1, "aria-disabled": e ? void 0 : !0, "aria-label": m(e), onClick: h },
|
|
16
|
+
n.createElement(a.Chevron, { disabled: e ? void 0 : !0, className: o[i.Chevron], orientation: "left" })
|
|
17
|
+
),
|
|
18
|
+
n.createElement(
|
|
19
|
+
a.NextMonthButton,
|
|
20
|
+
{ type: "button", className: o[i.NextMonthButton], tabIndex: t ? void 0 : -1, "aria-disabled": t ? void 0 : !0, "aria-label": b(t), onClick: f },
|
|
21
|
+
n.createElement(a.Chevron, { disabled: t ? void 0 : !0, orientation: "right", className: o[i.Chevron] })
|
|
22
|
+
)
|
|
23
|
+
);
|
|
10
24
|
}
|
|
11
25
|
export {
|
|
12
|
-
|
|
26
|
+
x as Nav
|
|
13
27
|
};
|
|
14
28
|
//# sourceMappingURL=index115.js.map
|
package/dist/index115.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index115.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index115.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Nav.js"],"sourcesContent":["import React, { useCallback, } from \"react\";\nimport { UI } from \"../UI.js\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render the navigation toolbar with buttons to navigate between months.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Nav(props) {\n const { onPreviousClick, onNextClick, previousMonth, nextMonth, ...navProps } = props;\n const { components, classNames, labels: { labelPrevious, labelNext }, } = useDayPicker();\n const handleNextClick = useCallback((e) => {\n if (nextMonth) {\n onNextClick?.(e);\n }\n }, [nextMonth, onNextClick]);\n const handlePreviousClick = useCallback((e) => {\n if (previousMonth) {\n onPreviousClick?.(e);\n }\n }, [previousMonth, onPreviousClick]);\n return (React.createElement(\"nav\", { ...navProps },\n React.createElement(components.PreviousMonthButton, { type: \"button\", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? undefined : -1, \"aria-disabled\": previousMonth ? undefined : true, \"aria-label\": labelPrevious(previousMonth), onClick: handlePreviousClick },\n React.createElement(components.Chevron, { disabled: previousMonth ? undefined : true, className: classNames[UI.Chevron], orientation: \"left\" })),\n React.createElement(components.NextMonthButton, { type: \"button\", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? undefined : -1, \"aria-disabled\": nextMonth ? undefined : true, \"aria-label\": labelNext(nextMonth), onClick: handleNextClick },\n React.createElement(components.Chevron, { disabled: nextMonth ? undefined : true, orientation: \"right\", className: classNames[UI.Chevron] }))));\n}\n"],"names":["Nav","props","onPreviousClick","onNextClick","previousMonth","nextMonth","navProps","components","classNames","labelPrevious","labelNext","useDayPicker","handleNextClick","useCallback","e","handlePreviousClick","React","UI"],"mappings":";;;AASO,SAASA,EAAIC,GAAO;AACvB,QAAM,EAAE,iBAAAC,GAAiB,aAAAC,GAAa,eAAAC,GAAe,WAAAC,GAAW,GAAGC,EAAQ,IAAKL,GAC1E,EAAE,YAAAM,GAAY,YAAAC,GAAY,QAAQ,EAAE,eAAAC,GAAe,WAAAC,EAAS,EAAE,IAAMC,EAAY,GAChFC,IAAkBC,EAAY,CAACC,MAAM;AACvC,IAAIT,KACAF,IAAcW,CAAC;AAAA,EAEvB,GAAG,CAACT,GAAWF,CAAW,CAAC,GACrBY,IAAsBF,EAAY,CAACC,MAAM;AAC3C,IAAIV,KACAF,IAAkBY,CAAC;AAAA,EAE3B,GAAG,CAACV,GAAeF,CAAe,CAAC;AACnC,SAAQc,EAAM;AAAA,IAAc;AAAA,IAAO,EAAE,GAAGV,EAAQ;AAAA,IAC5CU,EAAM;AAAA,MAAcT,EAAW;AAAA,MAAqB,EAAE,MAAM,UAAU,WAAWC,EAAWS,EAAG,mBAAmB,GAAG,UAAUb,IAAgB,SAAY,IAAI,iBAAiBA,IAAgB,SAAY,IAAM,cAAcK,EAAcL,CAAa,GAAG,SAASW,EAAmB;AAAA,MACtRC,EAAM,cAAcT,EAAW,SAAS,EAAE,UAAUH,IAAgB,SAAY,IAAM,WAAWI,EAAWS,EAAG,OAAO,GAAG,aAAa,OAAM,CAAE;AAAA,IAAC;AAAA,IACnJD,EAAM;AAAA,MAAcT,EAAW;AAAA,MAAiB,EAAE,MAAM,UAAU,WAAWC,EAAWS,EAAG,eAAe,GAAG,UAAUZ,IAAY,SAAY,IAAI,iBAAiBA,IAAY,SAAY,IAAM,cAAcK,EAAUL,CAAS,GAAG,SAASO,EAAe;AAAA,MAC1PI,EAAM,cAAcT,EAAW,SAAS,EAAE,UAAUF,IAAY,SAAY,IAAM,aAAa,SAAS,WAAWG,EAAWS,EAAG,OAAO,EAAC,CAAE;AAAA,IAAC;AAAA,EAAC;AACzJ;","x_google_ignoreList":[0]}
|
package/dist/index116.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
return r;
|
|
1
|
+
import o from "react";
|
|
2
|
+
import { useDayPicker as n } from "./index144.js";
|
|
3
|
+
function m(t) {
|
|
4
|
+
const { components: e } = n();
|
|
5
|
+
return o.createElement(e.Button, { ...t });
|
|
8
6
|
}
|
|
9
7
|
export {
|
|
10
|
-
|
|
8
|
+
m as NextMonthButton
|
|
11
9
|
};
|
|
12
10
|
//# sourceMappingURL=index116.js.map
|
package/dist/index116.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index116.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index116.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/NextMonthButton.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render the button to navigate to the next month in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function NextMonthButton(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Button, { ...props });\n}\n"],"names":["NextMonthButton","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAgBC,GAAO;AACnC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,QAAQ,EAAE,GAAGD,GAAO;AAC9D;","x_google_ignoreList":[0]}
|
package/dist/index117.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const { startOfYear: o, endOfYear: i, eachYearOfInterval: l, getYear: u } = t, Y = o(e), c = i(r), a = l({ start: Y, end: c });
|
|
5
|
-
return f && a.reverse(), a.map((n) => {
|
|
6
|
-
const d = s.formatYearDropdown(n, t);
|
|
7
|
-
return {
|
|
8
|
-
value: u(n),
|
|
9
|
-
label: d,
|
|
10
|
-
disabled: !1
|
|
11
|
-
};
|
|
12
|
-
});
|
|
1
|
+
import e from "react";
|
|
2
|
+
function n(t) {
|
|
3
|
+
return e.createElement("option", { ...t });
|
|
13
4
|
}
|
|
14
5
|
export {
|
|
15
|
-
|
|
6
|
+
n as Option
|
|
16
7
|
};
|
|
17
8
|
//# sourceMappingURL=index117.js.map
|
package/dist/index117.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index117.js","sources":["../../../node_modules/react-day-picker/dist/esm/
|
|
1
|
+
{"version":3,"file":"index117.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Option.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render an `option` element.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Option(props) {\n return React.createElement(\"option\", { ...props });\n}\n"],"names":["Option","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,UAAU,EAAE,GAAGD,EAAK,CAAE;AACrD;","x_google_ignoreList":[0]}
|