@rpcbase/ui 0.287.0 → 0.289.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.
Files changed (738) hide show
  1. package/dist/assets/sha256.worker-DNtOSCbM.js.map +1 -0
  2. package/dist/components/FilesUploadField/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -12
  4. package/dist/index10.js.map +1 -1
  5. package/dist/index100.js.map +1 -1
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js.map +1 -1
  9. package/dist/index104.js.map +1 -1
  10. package/dist/index105.js.map +1 -1
  11. package/dist/index106.js.map +1 -1
  12. package/dist/index107.js.map +1 -1
  13. package/dist/index108.js.map +1 -1
  14. package/dist/index109.js.map +1 -1
  15. package/dist/index11.js +96 -17
  16. package/dist/index11.js.map +1 -1
  17. package/dist/index110.js.map +1 -1
  18. package/dist/index111.js.map +1 -1
  19. package/dist/index112.js.map +1 -1
  20. package/dist/index113.js.map +1 -1
  21. package/dist/index114.js.map +1 -1
  22. package/dist/index115.js.map +1 -1
  23. package/dist/index116.js.map +1 -1
  24. package/dist/index117.js.map +1 -1
  25. package/dist/index118.js.map +1 -1
  26. package/dist/index119.js.map +1 -1
  27. package/dist/index12.js.map +1 -1
  28. package/dist/index120.js.map +1 -1
  29. package/dist/index121.js.map +1 -1
  30. package/dist/index122.js.map +1 -1
  31. package/dist/index123.js +1 -1
  32. package/dist/index123.js.map +1 -1
  33. package/dist/index124.js.map +1 -1
  34. package/dist/index125.js.map +1 -1
  35. package/dist/index126.js.map +1 -1
  36. package/dist/index127.js.map +1 -1
  37. package/dist/index128.js.map +1 -1
  38. package/dist/index129.js.map +1 -1
  39. package/dist/index13.js.map +1 -1
  40. package/dist/index130.js.map +1 -1
  41. package/dist/index131.js.map +1 -1
  42. package/dist/index132.js.map +1 -1
  43. package/dist/index133.js.map +1 -1
  44. package/dist/index134.js.map +1 -1
  45. package/dist/index135.js.map +1 -1
  46. package/dist/index136.js.map +1 -1
  47. package/dist/index137.js.map +1 -1
  48. package/dist/index138.js.map +1 -1
  49. package/dist/index139.js.map +1 -1
  50. package/dist/index14.js.map +1 -1
  51. package/dist/index140.js.map +1 -1
  52. package/dist/index141.js.map +1 -1
  53. package/dist/index142.js.map +1 -1
  54. package/dist/index143.js.map +1 -1
  55. package/dist/index144.js.map +1 -1
  56. package/dist/index145.js.map +1 -1
  57. package/dist/index146.js.map +1 -1
  58. package/dist/index147.js.map +1 -1
  59. package/dist/index148.js.map +1 -1
  60. package/dist/index149.js.map +1 -1
  61. package/dist/index15.js.map +1 -1
  62. package/dist/index150.js.map +1 -1
  63. package/dist/index151.js.map +1 -1
  64. package/dist/index152.js.map +1 -1
  65. package/dist/index153.js.map +1 -1
  66. package/dist/index154.js +4 -4
  67. package/dist/index154.js.map +1 -1
  68. package/dist/index155.js.map +1 -1
  69. package/dist/index156.js.map +1 -1
  70. package/dist/index157.js.map +1 -1
  71. package/dist/index158.js.map +1 -1
  72. package/dist/index159.js.map +1 -1
  73. package/dist/index16.js.map +1 -1
  74. package/dist/index160.js.map +1 -1
  75. package/dist/index161.js.map +1 -1
  76. package/dist/index162.js.map +1 -1
  77. package/dist/index163.js.map +1 -1
  78. package/dist/index164.js.map +1 -1
  79. package/dist/index165.js.map +1 -1
  80. package/dist/index166.js.map +1 -1
  81. package/dist/index167.js.map +1 -1
  82. package/dist/index168.js.map +1 -1
  83. package/dist/index169.js.map +1 -1
  84. package/dist/index17.js.map +1 -1
  85. package/dist/index170.js +18 -12
  86. package/dist/index170.js.map +1 -1
  87. package/dist/index171.js.map +1 -1
  88. package/dist/index172.js.map +1 -1
  89. package/dist/index173.js.map +1 -1
  90. package/dist/index174.js.map +1 -1
  91. package/dist/index175.js.map +1 -1
  92. package/dist/index176.js.map +1 -1
  93. package/dist/index177.js.map +1 -1
  94. package/dist/index178.js.map +1 -1
  95. package/dist/index179.js.map +1 -1
  96. package/dist/index18.js.map +1 -1
  97. package/dist/index180.js.map +1 -1
  98. package/dist/index181.js +1 -1
  99. package/dist/index181.js.map +1 -1
  100. package/dist/index182.js +3 -3
  101. package/dist/index182.js.map +1 -1
  102. package/dist/index183.js.map +1 -1
  103. package/dist/index184.js.map +1 -1
  104. package/dist/index185.js.map +1 -1
  105. package/dist/index186.js.map +1 -1
  106. package/dist/index187.js.map +1 -1
  107. package/dist/index188.js.map +1 -1
  108. package/dist/index189.js.map +1 -1
  109. package/dist/index19.js.map +1 -1
  110. package/dist/index190.js +9 -7
  111. package/dist/index190.js.map +1 -1
  112. package/dist/index191.js +4 -4
  113. package/dist/index191.js.map +1 -1
  114. package/dist/index192.js +4 -15
  115. package/dist/index192.js.map +1 -1
  116. package/dist/index193.js +13 -3
  117. package/dist/index193.js.map +1 -1
  118. package/dist/index194.js +2 -2
  119. package/dist/index194.js.map +1 -1
  120. package/dist/index195.js +4 -85
  121. package/dist/index195.js.map +1 -1
  122. package/dist/index196.js +79 -54
  123. package/dist/index196.js.map +1 -1
  124. package/dist/index197.js +68 -7
  125. package/dist/index197.js.map +1 -1
  126. package/dist/index198.js +3 -23
  127. package/dist/index198.js.map +1 -1
  128. package/dist/index199.js +6 -28
  129. package/dist/index199.js.map +1 -1
  130. package/dist/index20.js.map +1 -1
  131. package/dist/index200.js +4 -97
  132. package/dist/index200.js.map +1 -1
  133. package/dist/index201.js +3 -4
  134. package/dist/index201.js.map +1 -1
  135. package/dist/index202.js +23 -24
  136. package/dist/index202.js.map +1 -1
  137. package/dist/index203.js +28 -10
  138. package/dist/index203.js.map +1 -1
  139. package/dist/index204.js +97 -4
  140. package/dist/index204.js.map +1 -1
  141. package/dist/index205.js +4 -12
  142. package/dist/index205.js.map +1 -1
  143. package/dist/index206.js +22 -19
  144. package/dist/index206.js.map +1 -1
  145. package/dist/index207.js +4 -6
  146. package/dist/index207.js.map +1 -1
  147. package/dist/index208.js +4 -15
  148. package/dist/index208.js.map +1 -1
  149. package/dist/index209.js +10 -102
  150. package/dist/index209.js.map +1 -1
  151. package/dist/index210.js +21 -3
  152. package/dist/index210.js.map +1 -1
  153. package/dist/index211.js +5 -23
  154. package/dist/index211.js.map +1 -1
  155. package/dist/index212.js +15 -28
  156. package/dist/index212.js.map +1 -1
  157. package/dist/index213.js +101 -17
  158. package/dist/index213.js.map +1 -1
  159. package/dist/index214.js +3 -7
  160. package/dist/index214.js.map +1 -1
  161. package/dist/index215.js +24 -15
  162. package/dist/index215.js.map +1 -1
  163. package/dist/index216.js +27 -7
  164. package/dist/index216.js.map +1 -1
  165. package/dist/index217.js +17 -24
  166. package/dist/index217.js.map +1 -1
  167. package/dist/index218.js +6 -22
  168. package/dist/index218.js.map +1 -1
  169. package/dist/index219.js +15 -6
  170. package/dist/index219.js.map +1 -1
  171. package/dist/index220.js +8 -5
  172. package/dist/index220.js.map +1 -1
  173. package/dist/index221.js +27 -4
  174. package/dist/index221.js.map +1 -1
  175. package/dist/index222.js +23 -4
  176. package/dist/index222.js.map +1 -1
  177. package/dist/index223.js +6 -24
  178. package/dist/index223.js.map +1 -1
  179. package/dist/index224.js +5 -3
  180. package/dist/index224.js.map +1 -1
  181. package/dist/index225.js +4 -24
  182. package/dist/index225.js.map +1 -1
  183. package/dist/index226.js +4 -23
  184. package/dist/index226.js.map +1 -1
  185. package/dist/index227.js +23 -6
  186. package/dist/index227.js.map +1 -1
  187. package/dist/index228.js +22 -8
  188. package/dist/index228.js.map +1 -1
  189. package/dist/index229.js +3 -19
  190. package/dist/index229.js.map +1 -1
  191. package/dist/index23.js.map +1 -1
  192. package/dist/index230.js +22 -50
  193. package/dist/index230.js.map +1 -1
  194. package/dist/index231.js +7 -20
  195. package/dist/index231.js.map +1 -1
  196. package/dist/index232.js +9 -27
  197. package/dist/index232.js.map +1 -1
  198. package/dist/index233.js +17 -97
  199. package/dist/index233.js.map +1 -1
  200. package/dist/index234.js +50 -33
  201. package/dist/index234.js.map +1 -1
  202. package/dist/index235.js +20 -119
  203. package/dist/index235.js.map +1 -1
  204. package/dist/index236.js +28 -13
  205. package/dist/index236.js.map +1 -1
  206. package/dist/index237.js +98 -4
  207. package/dist/index237.js.map +1 -1
  208. package/dist/index238.js +33 -15
  209. package/dist/index238.js.map +1 -1
  210. package/dist/index239.js +116 -62
  211. package/dist/index239.js.map +1 -1
  212. package/dist/index24.js.map +1 -1
  213. package/dist/index240.js +13 -10
  214. package/dist/index240.js.map +1 -1
  215. package/dist/index241.js +4 -109
  216. package/dist/index241.js.map +1 -1
  217. package/dist/index242.js +14 -14
  218. package/dist/index242.js.map +1 -1
  219. package/dist/index243.js +64 -12
  220. package/dist/index243.js.map +1 -1
  221. package/dist/index244.js +10 -5
  222. package/dist/index244.js.map +1 -1
  223. package/dist/index245.js +104 -318
  224. package/dist/index245.js.map +1 -1
  225. package/dist/index246.js +14 -66
  226. package/dist/index246.js.map +1 -1
  227. package/dist/index247.js +12 -232
  228. package/dist/index247.js.map +1 -1
  229. package/dist/index248.js +4 -270
  230. package/dist/index248.js.map +1 -1
  231. package/dist/index249.js +313 -309
  232. package/dist/index249.js.map +1 -1
  233. package/dist/index25.js.map +1 -1
  234. package/dist/index250.js +60 -171
  235. package/dist/index250.js.map +1 -1
  236. package/dist/index251.js +252 -8
  237. package/dist/index251.js.map +1 -1
  238. package/dist/index252.js +268 -41
  239. package/dist/index252.js.map +1 -1
  240. package/dist/index253.js +316 -47
  241. package/dist/index253.js.map +1 -1
  242. package/dist/index254.js +179 -9
  243. package/dist/index254.js.map +1 -1
  244. package/dist/index255.js +6 -50
  245. package/dist/index255.js.map +1 -1
  246. package/dist/index256.js +41 -51
  247. package/dist/index256.js.map +1 -1
  248. package/dist/index257.js +50 -7
  249. package/dist/index257.js.map +1 -1
  250. package/dist/index258.js +9 -10
  251. package/dist/index258.js.map +1 -1
  252. package/dist/index259.js +51 -61
  253. package/dist/index259.js.map +1 -1
  254. package/dist/index26.js.map +1 -1
  255. package/dist/index260.js +53 -42
  256. package/dist/index260.js.map +1 -1
  257. package/dist/index261.js +9 -97
  258. package/dist/index261.js.map +1 -1
  259. package/dist/index262.js +31 -47
  260. package/dist/index262.js.map +1 -1
  261. package/dist/index263.js +61 -36
  262. package/dist/index263.js.map +1 -1
  263. package/dist/index264.js +43 -47
  264. package/dist/index264.js.map +1 -1
  265. package/dist/index265.js +92 -46
  266. package/dist/index265.js.map +1 -1
  267. package/dist/index266.js +48 -20
  268. package/dist/index266.js.map +1 -1
  269. package/dist/index267.js +33 -176
  270. package/dist/index267.js.map +1 -1
  271. package/dist/index268.js +49 -48
  272. package/dist/index268.js.map +1 -1
  273. package/dist/index269.js +68 -15
  274. package/dist/index269.js.map +1 -1
  275. package/dist/index27.js.map +1 -1
  276. package/dist/index270.js +20 -65
  277. package/dist/index270.js.map +1 -1
  278. package/dist/index271.js +202 -9
  279. package/dist/index271.js.map +1 -1
  280. package/dist/index272.js +48 -40
  281. package/dist/index272.js.map +1 -1
  282. package/dist/index273.js +60 -91
  283. package/dist/index273.js.map +1 -1
  284. package/dist/index274.js +9 -278
  285. package/dist/index274.js.map +1 -1
  286. package/dist/index275.js +38 -55
  287. package/dist/index275.js.map +1 -1
  288. package/dist/index276.js +91 -10
  289. package/dist/index276.js.map +1 -1
  290. package/dist/index277.js +278 -12
  291. package/dist/index277.js.map +1 -1
  292. package/dist/index278.js +58 -11
  293. package/dist/index278.js.map +1 -1
  294. package/dist/index279.js +11 -64
  295. package/dist/index279.js.map +1 -1
  296. package/dist/index28.js +5 -5
  297. package/dist/index28.js.map +1 -1
  298. package/dist/index280.js +12 -6
  299. package/dist/index280.js.map +1 -1
  300. package/dist/index281.js +3 -25
  301. package/dist/index281.js.map +1 -1
  302. package/dist/index282.js +3 -25
  303. package/dist/index282.js.map +1 -1
  304. package/dist/index283.js +12 -126
  305. package/dist/index283.js.map +1 -1
  306. package/dist/index284.js +63 -51
  307. package/dist/index284.js.map +1 -1
  308. package/dist/index285.js +5 -60
  309. package/dist/index285.js.map +1 -1
  310. package/dist/index286.js +24 -48
  311. package/dist/index286.js.map +1 -1
  312. package/dist/index287.js +24 -6
  313. package/dist/index287.js.map +1 -1
  314. package/dist/index288.js +125 -14
  315. package/dist/index288.js.map +1 -1
  316. package/dist/index289.js +51 -16
  317. package/dist/index289.js.map +1 -1
  318. package/dist/index29.js +5 -7
  319. package/dist/index29.js.map +1 -1
  320. package/dist/index290.js +56 -11
  321. package/dist/index290.js.map +1 -1
  322. package/dist/index291.js +47 -24
  323. package/dist/index291.js.map +1 -1
  324. package/dist/index292.js +7 -51
  325. package/dist/index292.js.map +1 -1
  326. package/dist/index293.js +15 -6
  327. package/dist/index293.js.map +1 -1
  328. package/dist/index294.js +18 -148
  329. package/dist/index294.js.map +1 -1
  330. package/dist/index295.js +12 -59
  331. package/dist/index295.js.map +1 -1
  332. package/dist/index296.js +25 -120
  333. package/dist/index296.js.map +1 -1
  334. package/dist/index297.js +54 -15
  335. package/dist/index297.js.map +1 -1
  336. package/dist/index298.js +5 -866
  337. package/dist/index298.js.map +1 -1
  338. package/dist/index299.js +148 -28
  339. package/dist/index299.js.map +1 -1
  340. package/dist/index3.js.map +1 -1
  341. package/dist/index30.js +6 -8
  342. package/dist/index30.js.map +1 -1
  343. package/dist/index300.js +55 -512
  344. package/dist/index300.js.map +1 -1
  345. package/dist/index301.js +111 -794
  346. package/dist/index301.js.map +1 -1
  347. package/dist/index302.js +14 -7436
  348. package/dist/index302.js.map +1 -1
  349. package/dist/index303.js +862 -6
  350. package/dist/index303.js.map +1 -1
  351. package/dist/index304.js +28 -12
  352. package/dist/index304.js.map +1 -1
  353. package/dist/index305.js +515 -5
  354. package/dist/index305.js.map +1 -1
  355. package/dist/index306.js +803 -5
  356. package/dist/index306.js.map +1 -1
  357. package/dist/index307.js +7426 -468
  358. package/dist/index307.js.map +1 -1
  359. package/dist/index308.js +6 -37
  360. package/dist/index308.js.map +1 -1
  361. package/dist/index309.js +12 -19
  362. package/dist/index309.js.map +1 -1
  363. package/dist/index31.js +5 -11
  364. package/dist/index31.js.map +1 -1
  365. package/dist/index310.js +5 -30
  366. package/dist/index310.js.map +1 -1
  367. package/dist/index311.js +5 -4
  368. package/dist/index311.js.map +1 -1
  369. package/dist/index312.js +461 -51
  370. package/dist/index312.js.map +1 -1
  371. package/dist/index313.js +36 -10
  372. package/dist/index313.js.map +1 -1
  373. package/dist/index314.js +19 -5
  374. package/dist/index314.js.map +1 -1
  375. package/dist/index315.js +29 -8
  376. package/dist/index315.js.map +1 -1
  377. package/dist/index316.js +4 -12
  378. package/dist/index316.js.map +1 -1
  379. package/dist/index317.js +60 -3
  380. package/dist/index317.js.map +1 -1
  381. package/dist/index318.js +10 -15
  382. package/dist/index318.js.map +1 -1
  383. package/dist/index319.js +5 -25
  384. package/dist/index319.js.map +1 -1
  385. package/dist/index32.js +5 -5
  386. package/dist/index32.js.map +1 -1
  387. package/dist/index320.js +9 -41
  388. package/dist/index320.js.map +1 -1
  389. package/dist/index321.js +11 -4
  390. package/dist/index321.js.map +1 -1
  391. package/dist/index322.js +3 -26
  392. package/dist/index322.js.map +1 -1
  393. package/dist/index323.js +15 -18
  394. package/dist/index323.js.map +1 -1
  395. package/dist/index324.js +22 -31
  396. package/dist/index324.js.map +1 -1
  397. package/dist/index325.js +41 -5
  398. package/dist/index325.js.map +1 -1
  399. package/dist/index326.js +4 -8
  400. package/dist/index326.js.map +1 -1
  401. package/dist/index327.js +25 -8
  402. package/dist/index327.js.map +1 -1
  403. package/dist/index328.js +19 -9
  404. package/dist/index328.js.map +1 -1
  405. package/dist/index329.js +34 -10
  406. package/dist/index329.js.map +1 -1
  407. package/dist/index33.js +9 -6
  408. package/dist/index33.js.map +1 -1
  409. package/dist/index330.js +5 -7
  410. package/dist/index330.js.map +1 -1
  411. package/dist/index331.js +9 -75
  412. package/dist/index331.js.map +1 -1
  413. package/dist/index332.js +8 -162
  414. package/dist/index332.js.map +1 -1
  415. package/dist/index333.js +9 -114
  416. package/dist/index333.js.map +1 -1
  417. package/dist/index334.js +10 -14
  418. package/dist/index334.js.map +1 -1
  419. package/dist/index335.js +7 -80
  420. package/dist/index335.js.map +1 -1
  421. package/dist/index336.js +68 -39
  422. package/dist/index336.js.map +1 -1
  423. package/dist/index337.js +160 -11
  424. package/dist/index337.js.map +1 -1
  425. package/dist/index338.js +113 -15
  426. package/dist/index338.js.map +1 -1
  427. package/dist/index339.js +13 -100
  428. package/dist/index339.js.map +1 -1
  429. package/dist/index34.js +6 -6
  430. package/dist/index34.js.map +1 -1
  431. package/dist/index340.js +73 -49
  432. package/dist/index340.js.map +1 -1
  433. package/dist/index341.js +34 -96
  434. package/dist/index341.js.map +1 -1
  435. package/dist/index342.js +12 -70
  436. package/dist/index342.js.map +1 -1
  437. package/dist/index343.js +14 -111
  438. package/dist/index343.js.map +1 -1
  439. package/dist/index344.js +94 -48
  440. package/dist/index344.js.map +1 -1
  441. package/dist/index345.js +50 -37
  442. package/dist/index345.js.map +1 -1
  443. package/dist/index346.js +89 -125
  444. package/dist/index346.js.map +1 -1
  445. package/dist/index347.js +52 -123
  446. package/dist/index347.js.map +1 -1
  447. package/dist/index348.js +54 -197
  448. package/dist/index348.js.map +1 -1
  449. package/dist/index349.js +44 -229
  450. package/dist/index349.js.map +1 -1
  451. package/dist/index35.js +9 -9
  452. package/dist/index35.js.map +1 -1
  453. package/dist/index350.js +42 -308
  454. package/dist/index350.js.map +1 -1
  455. package/dist/index351.js +144 -5
  456. package/dist/index351.js.map +1 -1
  457. package/dist/index352.js +142 -6
  458. package/dist/index352.js.map +1 -1
  459. package/dist/index353.js +257 -7
  460. package/dist/index353.js.map +1 -1
  461. package/dist/index354.js +241 -6
  462. package/dist/index354.js.map +1 -1
  463. package/dist/index355.js +309 -6
  464. package/dist/index355.js.map +1 -1
  465. package/dist/index356.js +5 -21
  466. package/dist/index356.js.map +1 -1
  467. package/dist/index357.js +6 -10
  468. package/dist/index357.js.map +1 -1
  469. package/dist/index358.js +7 -128
  470. package/dist/index358.js.map +1 -1
  471. package/dist/index359.js +6 -42
  472. package/dist/index359.js.map +1 -1
  473. package/dist/index36.js +12 -7
  474. package/dist/index36.js.map +1 -1
  475. package/dist/index360.js +6 -68
  476. package/dist/index360.js.map +1 -1
  477. package/dist/index361.js +20 -116
  478. package/dist/index361.js.map +1 -1
  479. package/dist/index362.js +10 -490
  480. package/dist/index362.js.map +1 -1
  481. package/dist/index363.js +128 -7
  482. package/dist/index363.js.map +1 -1
  483. package/dist/index364.js +42 -13
  484. package/dist/index364.js.map +1 -1
  485. package/dist/index365.js +67 -3
  486. package/dist/index365.js.map +1 -1
  487. package/dist/index366.js +115 -45
  488. package/dist/index366.js.map +1 -1
  489. package/dist/index367.js +490 -11
  490. package/dist/index367.js.map +1 -1
  491. package/dist/index368.js +8 -26
  492. package/dist/index368.js.map +1 -1
  493. package/dist/index369.js +12 -41
  494. package/dist/index369.js.map +1 -1
  495. package/dist/index37.js +13 -5
  496. package/dist/index37.js.map +1 -1
  497. package/dist/index370.js +4 -36
  498. package/dist/index370.js.map +1 -1
  499. package/dist/index371.js +45 -15
  500. package/dist/index371.js.map +1 -1
  501. package/dist/index372.js +24 -41
  502. package/dist/index372.js.map +1 -1
  503. package/dist/index373.js +3 -12
  504. package/dist/index373.js.map +1 -1
  505. package/dist/index374.js +27 -11
  506. package/dist/index374.js.map +1 -1
  507. package/dist/index375.js +40 -50
  508. package/dist/index375.js.map +1 -1
  509. package/dist/index376.js +37 -40
  510. package/dist/index376.js.map +1 -1
  511. package/dist/index377.js +12 -10
  512. package/dist/index377.js.map +1 -1
  513. package/dist/index378.js +40 -4
  514. package/dist/index378.js.map +1 -1
  515. package/dist/index379.js +7 -4
  516. package/dist/index379.js.map +1 -1
  517. package/dist/index38.js +5 -5
  518. package/dist/index38.js.map +1 -1
  519. package/dist/index380.js +29 -8
  520. package/dist/index380.js.map +1 -1
  521. package/dist/index381.js +9 -303
  522. package/dist/index381.js.map +1 -1
  523. package/dist/index382.js +57 -4
  524. package/dist/index382.js.map +1 -1
  525. package/dist/index383.js +40 -22
  526. package/dist/index383.js.map +1 -1
  527. package/dist/index384.js +15 -105
  528. package/dist/index384.js.map +1 -1
  529. package/dist/index385.js +5 -22
  530. package/dist/index385.js.map +1 -1
  531. package/dist/index386.js +10 -22
  532. package/dist/index386.js.map +1 -1
  533. package/dist/index387.js +289 -16
  534. package/dist/index387.js.map +1 -1
  535. package/dist/index388.js +4 -12
  536. package/dist/index388.js.map +1 -1
  537. package/dist/index389.js +20 -112
  538. package/dist/index389.js.map +1 -1
  539. package/dist/index39.js +6 -10
  540. package/dist/index39.js.map +1 -1
  541. package/dist/index390.js +3 -9
  542. package/dist/index390.js.map +1 -1
  543. package/dist/index391.js +104 -27
  544. package/dist/index391.js.map +1 -1
  545. package/dist/index392.js +20 -9
  546. package/dist/index392.js.map +1 -1
  547. package/dist/index393.js +20 -6
  548. package/dist/index393.js.map +1 -1
  549. package/dist/index394.js +14 -253
  550. package/dist/index394.js.map +1 -1
  551. package/dist/index395.js +12 -10
  552. package/dist/index395.js.map +1 -1
  553. package/dist/index396.js +117 -11
  554. package/dist/index396.js.map +1 -1
  555. package/dist/index397.js +8 -6
  556. package/dist/index397.js.map +1 -1
  557. package/dist/index398.js +32 -22
  558. package/dist/index398.js.map +1 -1
  559. package/dist/index399.js +9 -23
  560. package/dist/index399.js.map +1 -1
  561. package/dist/index4.js.map +1 -1
  562. package/dist/index40.js +8 -11
  563. package/dist/index40.js.map +1 -1
  564. package/dist/index400.js +6 -105
  565. package/dist/index400.js.map +1 -1
  566. package/dist/index401.js +3 -15
  567. package/dist/index401.js.map +1 -1
  568. package/dist/index402.js +251 -10
  569. package/dist/index402.js.map +1 -1
  570. package/dist/index403.js +9 -7
  571. package/dist/index403.js.map +1 -1
  572. package/dist/index404.js +11 -239
  573. package/dist/index404.js.map +1 -1
  574. package/dist/index405.js +7 -28
  575. package/dist/index405.js.map +1 -1
  576. package/dist/index406.js +21 -37
  577. package/dist/index406.js.map +1 -1
  578. package/dist/index407.js +21 -10
  579. package/dist/index407.js.map +1 -1
  580. package/dist/index408.js +97 -117
  581. package/dist/index408.js.map +1 -1
  582. package/dist/index409.js +15 -40
  583. package/dist/index409.js.map +1 -1
  584. package/dist/index41.js +6 -7
  585. package/dist/index41.js.map +1 -1
  586. package/dist/index410.js +11 -25
  587. package/dist/index410.js.map +1 -1
  588. package/dist/index411.js +7 -9
  589. package/dist/index411.js.map +1 -1
  590. package/dist/index412.js +3 -24
  591. package/dist/index412.js.map +1 -1
  592. package/dist/index413.js +226 -15
  593. package/dist/index413.js.map +1 -1
  594. package/dist/index414.js +24 -11
  595. package/dist/index414.js.map +1 -1
  596. package/dist/index415.js +38 -4
  597. package/dist/index415.js.map +1 -1
  598. package/dist/index416.js +11 -324
  599. package/dist/index416.js.map +1 -1
  600. package/dist/index417.js +119 -62
  601. package/dist/index417.js.map +1 -1
  602. package/dist/index418.js +42 -4
  603. package/dist/index418.js.map +1 -1
  604. package/dist/index419.js +25 -28
  605. package/dist/index419.js.map +1 -1
  606. package/dist/index42.js +6 -4
  607. package/dist/index42.js.map +1 -1
  608. package/dist/index420.js +11 -470
  609. package/dist/index420.js.map +1 -1
  610. package/dist/index421.js +23 -268
  611. package/dist/index421.js.map +1 -1
  612. package/dist/index422.js +24 -0
  613. package/dist/index422.js.map +1 -0
  614. package/dist/index423.js +17 -0
  615. package/dist/index423.js.map +1 -0
  616. package/dist/index424.js +8 -0
  617. package/dist/index424.js.map +1 -0
  618. package/dist/index425.js +328 -0
  619. package/dist/index425.js.map +1 -0
  620. package/dist/index426.js +66 -0
  621. package/dist/index426.js.map +1 -0
  622. package/dist/index427.js +7 -0
  623. package/dist/index427.js.map +1 -0
  624. package/dist/index428.js +31 -0
  625. package/dist/index428.js.map +1 -0
  626. package/dist/index429.js +474 -0
  627. package/dist/index429.js.map +1 -0
  628. package/dist/index43.js +68 -7
  629. package/dist/index43.js.map +1 -1
  630. package/dist/index430.js +272 -0
  631. package/dist/index430.js.map +1 -0
  632. package/dist/index44.js +7 -6
  633. package/dist/index44.js.map +1 -1
  634. package/dist/index45.js +31 -7
  635. package/dist/index45.js.map +1 -1
  636. package/dist/index46.js +10 -10
  637. package/dist/index46.js.map +1 -1
  638. package/dist/index47.js +15 -13
  639. package/dist/index47.js.map +1 -1
  640. package/dist/index48.js +201 -7
  641. package/dist/index48.js.map +1 -1
  642. package/dist/index49.js +20 -6
  643. package/dist/index49.js.map +1 -1
  644. package/dist/index5.js.map +1 -1
  645. package/dist/index50.js +16 -6
  646. package/dist/index50.js.map +1 -1
  647. package/dist/index51.js +123 -14
  648. package/dist/index51.js.map +1 -1
  649. package/dist/index52.js +19 -8
  650. package/dist/index52.js.map +1 -1
  651. package/dist/index53.js +5 -7
  652. package/dist/index53.js.map +1 -1
  653. package/dist/index54.js +9 -68
  654. package/dist/index54.js.map +1 -1
  655. package/dist/index55.js +7 -7
  656. package/dist/index55.js.map +1 -1
  657. package/dist/index56.js +9 -31
  658. package/dist/index56.js.map +1 -1
  659. package/dist/index57.js +13 -10
  660. package/dist/index57.js.map +1 -1
  661. package/dist/index58.js +8 -15
  662. package/dist/index58.js.map +1 -1
  663. package/dist/index59.js +10 -201
  664. package/dist/index59.js.map +1 -1
  665. package/dist/index6.js.map +1 -1
  666. package/dist/index60.js +13 -20
  667. package/dist/index60.js.map +1 -1
  668. package/dist/index61.js +9 -16
  669. package/dist/index61.js.map +1 -1
  670. package/dist/index62.js +10 -123
  671. package/dist/index62.js.map +1 -1
  672. package/dist/index63.js +5 -19
  673. package/dist/index63.js.map +1 -1
  674. package/dist/index64.js +42 -9
  675. package/dist/index64.js.map +1 -1
  676. package/dist/index65.js +387 -9
  677. package/dist/index65.js.map +1 -1
  678. package/dist/index66.js +37 -14
  679. package/dist/index66.js.map +1 -1
  680. package/dist/index67.js +21 -9
  681. package/dist/index67.js.map +1 -1
  682. package/dist/index68.js +4 -9
  683. package/dist/index68.js.map +1 -1
  684. package/dist/index69.js +6 -4
  685. package/dist/index69.js.map +1 -1
  686. package/dist/index7.js +3 -3
  687. package/dist/index7.js.map +1 -1
  688. package/dist/index70.js +57 -41
  689. package/dist/index70.js.map +1 -1
  690. package/dist/index71.js +5 -387
  691. package/dist/index71.js.map +1 -1
  692. package/dist/index72.js +6 -37
  693. package/dist/index72.js.map +1 -1
  694. package/dist/index73.js +5 -21
  695. package/dist/index73.js.map +1 -1
  696. package/dist/index74.js +4 -56
  697. package/dist/index74.js.map +1 -1
  698. package/dist/index75.js +7 -7
  699. package/dist/index75.js.map +1 -1
  700. package/dist/index76.js +6 -5
  701. package/dist/index76.js.map +1 -1
  702. package/dist/index77.js +6 -5
  703. package/dist/index77.js.map +1 -1
  704. package/dist/index78.js +11 -5
  705. package/dist/index78.js.map +1 -1
  706. package/dist/index79.js +11 -5
  707. package/dist/index79.js.map +1 -1
  708. package/dist/index8.js.map +1 -1
  709. package/dist/index80.js +7 -6
  710. package/dist/index80.js.map +1 -1
  711. package/dist/index81.js +10 -6
  712. package/dist/index81.js.map +1 -1
  713. package/dist/index82.js +5 -8
  714. package/dist/index82.js.map +1 -1
  715. package/dist/index83.js +6 -7
  716. package/dist/index83.js.map +1 -1
  717. package/dist/index84.js.map +1 -1
  718. package/dist/index85.js.map +1 -1
  719. package/dist/index86.js.map +1 -1
  720. package/dist/index87.js +2 -2
  721. package/dist/index87.js.map +1 -1
  722. package/dist/index88.js +31 -31
  723. package/dist/index88.js.map +1 -1
  724. package/dist/index89.js +1 -1
  725. package/dist/index89.js.map +1 -1
  726. package/dist/index9.js.map +1 -1
  727. package/dist/index90.js.map +1 -1
  728. package/dist/index91.js.map +1 -1
  729. package/dist/index92.js.map +1 -1
  730. package/dist/index93.js.map +1 -1
  731. package/dist/index94.js.map +1 -1
  732. package/dist/index95.js.map +1 -1
  733. package/dist/index96.js.map +1 -1
  734. package/dist/index97.js.map +1 -1
  735. package/dist/index98.js.map +1 -1
  736. package/dist/index99.js.map +1 -1
  737. package/package.json +13 -13
  738. package/dist/assets/sha256.worker-BEf4_Y9w.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index305.js","names":[],"sources":["../../../node_modules/libphonenumber-js/es6/helpers/isObject.js"],"sourcesContent":["var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAI,IAAoB,CAAC,EAAE;AAC3B,SAAwB,EAAS,GAAQ;CACvC,OAAO,KAAmC,QAAQ,EAAO,gBAAgB;AAC3E"}
1
+ {"version":3,"file":"index305.js","names":["{\n children,\n value,\n defaultValue,\n onChange,\n locales,\n}: I18nFieldLocaleProviderProps","getPreferredLocale([defaultValue, ...getEnvironmentLocales()], locales)","React.useMemo(\n () => getPreferredLocale([defaultValue, ...getEnvironmentLocales()], locales),\n [defaultValue, locales]\n )","(next: LanguageCode) => {\n if (!isControlled) {\n setInternalLocale(next)\n }\n onChange?.(next)\n }","React.useCallback(\n (next: LanguageCode) => {\n if (!isControlled) {\n setInternalLocale(next)\n }\n onChange?.(next)\n },\n [isControlled, onChange]\n )","() => {\n if (isControlled) return\n setInternalLocale((current) => (resolveLocaleMatch(current, locales) ? current : defaultLocale))\n }","[defaultLocale, isControlled, locales]","{\n locale: activeLocale,\n setLocale,\n }","React.useMemo<LocaleContextValue>(\n () => ({\n locale: activeLocale,\n setLocale,\n }),\n [activeLocale, setLocale]\n )","<I18nFieldLocaleContext.Provider value={contextValue}>{children}</I18nFieldLocaleContext.Provider>","I18nFieldLocaleContext.Provider","<div style={{ display: \"none\" }} />","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 )","isSelected\n ? \"bg-accent text-accent-foreground\"\n : isFocused\n ? \"bg-muted text-foreground\"\n : \"text-foreground\"","<span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{data.name}</span>\n </span>","name","<span className=\"text-xs text-muted-foreground uppercase\">{data.code}</span>","code","<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>","languageSelectTabIndex = -1","rest as SharedProps","valueProp ?? defaultValue ?? {}","React.useMemo<I18nValue>(() => valueProp ?? defaultValue ?? {}, [defaultValue, valueProp])","isControlled ? valueProp ?? {} : internalValue","buildLanguageOptions(undefined, pool)","locales ?? []","React.useMemo(() => {\n const pool = Array.from(new Set([...(locales ?? []), ...Object.keys(currentValue)]))\n return buildLanguageOptions(undefined, pool)\n }, [currentValue, locales])","() => {\n const localeValues = localePool.map((option) => option.value)\n return localeProp ??\n localeContext?.locale ??\n getPreferredLocale(\n [defaultLocale, ...getEnvironmentLocales(), Object.keys(currentValue)[0] as LanguageCode | undefined],\n localeValues\n )\n }","locale","(option) => option.value","React.useMemo(() => {\n const localeValues = localePool.map((option) => option.value)\n return localeProp ??\n localeContext?.locale ??\n getPreferredLocale(\n [defaultLocale, ...getEnvironmentLocales(), Object.keys(currentValue)[0] as LanguageCode | undefined],\n localeValues\n )\n }, [currentValue, defaultLocale, localeContext?.locale, localePool, localeProp])","() => {\n if (!isControlled) {\n setInternalValue(initialValue)\n }\n }","[initialValue, isControlled]","[internalLocale, localeProp]","() => {\n if (localeProp && localeProp !== internalLocale) {\n setInternalLocale(localeProp)\n }\n }","() => {\n if (!localeProp && localeContext?.locale && localeContext.locale !== internalLocale) {\n setInternalLocale(localeContext.locale)\n }\n }","localeContext?.locale","[internalLocale, localeContext?.locale, localeProp]","localePool.find((option) => option.value === activeLocale) ??\n localePool.find((option) => option.value === DEFAULT_LOCALE) ??\n localePool[0] ??\n null","option","(option) => option.value === DEFAULT_LOCALE","{ left: 0, top: 0 }","() => inputRef.current as HTMLInputElement & HTMLTextAreaElement","[]","(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 }","resolveLocalizedValue(currentValue, activeLocale)","(option: { data: LanguageOption }) => {\n if (!searchTerm) return true\n const query = normalize(searchTerm)\n return option.data.searchable.some((token) => token.includes(query))\n }","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 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 }","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 }, [])","(target: EventTarget | null) => {\n if (!target || !(target instanceof Node)) return false\n return Boolean(rootRef.current?.contains(target))\n }","React.useCallback((target: EventTarget | null) => {\n if (!target || !(target instanceof Node)) return false\n return Boolean(rootRef.current?.contains(target))\n }, [])","() => {\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 }","target","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 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]","(restoreFocus = true) => {\n setMenuOpen(false)\n setSearchTerm(\"\")\n if (restoreFocus) {\n requestAnimationFrame(() => {\n restoreMainFocus()\n })\n }\n }","restoreFocus = true","React.useCallback(\n (restoreFocus = true) => {\n setMenuOpen(false)\n setSearchTerm(\"\")\n if (restoreFocus) {\n requestAnimationFrame(() => {\n restoreMainFocus()\n })\n }\n },\n [restoreMainFocus]\n )","selectProps ?? {}","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 })","query","token","(option) => filterOption({ data: option })","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])","(event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault()\n closeMenu(true)\n return\n }\n if (event.key === \"Enter\") {\n event.preventDefault()\n const first = filteredOptions[0]\n if (first) {\n handleLocaleSelect(first)\n }\n return\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault()\n selectRef.current?.focus()\n }\n }","filteredOptions[0]","event","{\n searchTerm,\n setSearchTerm,\n onSearchKeyDown: handleSearchKeyDown,\n searchInputRef,\n selectFooter,\n }","userSelectComponents ?? {}","{\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n MenuList: SearchableMenuList,\n ...(userSelectComponents ?? {}),\n Option,\n }","React.useMemo(\n () => ({\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n MenuList: SearchableMenuList,\n ...(userSelectComponents ?? {}),\n Option,\n }),\n [userSelectComponents]\n )","userSelectStyles ?? {}","{\n ...selectStyles,\n ...(userSelectStyles ?? {}),\n }","React.useMemo<StylesConfig<LanguageOption, false>>(\n () => ({\n ...selectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )","() => {\n if (!menuOpen) return\n updateMenuPosition()\n const handleResize = () => updateMenuPosition()\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }","[menuOpen, updateMenuPosition]","(event: React.FocusEvent<any>) => {\n if (menuOpen) {\n closeMenu(false)\n }\n restProps.onFocus?.(event)\n }","restProps.onFocus","(event: React.FocusEvent<any>) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n restProps.onBlur?.(event)\n }","restProps.onBlur","cn(\n \"w-full rounded-md border border-input bg-background text-base ring-offset-background placeholder:text-muted-foreground 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 )","multiline ? \"min-h-24 py-2\" : \"h-10 py-2\"","{\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 placeholder:text-muted-foreground 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 }","cn(\"relative flex flex-col\", className)","(event) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n }","multiline ? (\n <textarea rows={rows} {...sharedFieldProps} />\n ) : (\n <input type=\"text\" {...sharedFieldProps} />\n )","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 )","disabled ? \"cursor-not-allowed opacity-50 pointer-events-none\" : \"cursor-pointer hover:bg-muted\"","selectedOption ? \"border-transparent\" : \"border-dashed border-border text-muted-foreground\"","() => {\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 }","selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"","<span aria-hidden=\"true\">{selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"}</span>","<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>","selectedOption ? `Select language (${selectedOption.code})` : \"Select language\"","(event) => event.preventDefault()","<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 pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }","left","top","menuOpen ? \"auto\" : \"none\"","() => closeMenu(true)","<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 />","userClassNamePrefix ?? \"i18n-language-select\"","selectPlaceholder ?? \"\"","<SearchMenuContext.Provider value={searchMenuContextValue}>\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </SearchMenuContext.Provider>","SearchMenuContext.Provider","<div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }}\n >\n <SearchMenuContext.Provider value={searchMenuContextValue}>\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </SearchMenuContext.Provider>\n </div>","<div\n ref={rootRef}\n className={cn(\"relative flex flex-col\", className)}\n onBlur={(event) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n }}\n >\n <div ref={containerRef} className=\"relative\">\n {multiline ? (\n <textarea rows={rows} {...sharedFieldProps} />\n ) : (\n <input type=\"text\" {...sharedFieldProps} />\n )}\n\n <button\n type=\"button\"\n className={cn(\n \"absolute flex h-6 w-6 items-center justify-center rounded border text-xs font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n buttonPosition,\n disabled ? \"cursor-not-allowed opacity-50 pointer-events-none\" : \"cursor-pointer hover:bg-muted\",\n selectedOption ? \"border-transparent\" : \"border-dashed border-border text-muted-foreground\"\n )}\n aria-label={selectedOption ? `Select language (${selectedOption.code})` : \"Select language\"}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (disabled) return\n const target = inputRef.current\n if (target) {\n selectionSnapshotRef.current = {\n start: target.selectionStart,\n end: target.selectionEnd,\n }\n }\n setSearchTerm(\"\")\n setMenuOpen(true)\n requestAnimationFrame(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus()\n searchInputRef.current.select()\n } else {\n selectRef.current?.focus()\n }\n })\n }}\n tabIndex={languageSelectTabIndex}\n disabled={disabled}\n ref={triggerRef}\n >\n <span aria-hidden=\"true\">{selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"}</span>\n </button>\n </div>\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }}\n >\n <SearchMenuContext.Provider value={searchMenuContextValue}>\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </SearchMenuContext.Provider>\n </div>\n </div>","React","_c","selectComponents","React$1","Select","I18nFieldLocaleContext","I18nFieldLocaleProvider","$","c","t0","isControlled","value","t1","defaultValue","locales","getPreferredLocale","getEnvironmentLocales","defaultLocale","internalLocale","setInternalLocale","activeLocale","t2","onChange","next","setLocale","t3","t4","resolveLocaleMatch","current","t5","contextValue","t6","children","DEFAULT_LOCALE","normalizeLocaleCode","code","primaryLocaleCode","normalizedLocale","locale","availableLocales","candidates","candidate","matchedLocale","languageCodeToBadge","normalized","stripDiacritics","normalize","resolveLocalizedEntry","parts","resolveLocalizedValue","createDisplayNames","safeDisplayName","displayNames","buildLanguageOptions","englishDisplayNames","allowed","name","entry","a","b","selectStyles","provided","state","HiddenControl","NullComponent","SearchMenuContext","SearchableMenuList","search","props","components","event","Option","isSelected","isFocused","cn","data","innerProps","innerRef","I18nField","className","disabled","inputClassName","localeProp","multiline","onLocaleChange","rest","selectFooter","selectProps","valueProp","languageSelectTabIndex","restProps","rows","initialValue","internalValue","setInternalValue","currentValue","searchTerm","setSearchTerm","localeContext","localePool","localeValues","_temp","initialLocale","t7","t8","t10","t9","t11","t12","t13","t14","option_1","_temp2","selectedOption","menuOpen","setMenuOpen","rootRef","inputRef","triggerRef","containerRef","selectRef","searchInputRef","selectionSnapshotRef","t15","menuPosition","setMenuPosition","t16","t17","forwardedRef","handleLocaleSelect","option_2","nextLocale","closeMenu","t18","currentEntry","nextValue","handleTextChange","t19","currentText","t20","query","option_3","token","filterOption","buttonPosition","t21","trigger","container","triggerRect","containerRect","updateMenuPosition","t22","target","isInsideComponent","t23","target_0","selection","restoreMainFocus","t24","target_1","end","t25","t26","restoreFocus","t27","forwardedSelectProps","noOptionsMessage","selectPlaceholder","userClassNamePrefix","userSelectComponents","userSelectStyles","t28","query_0","rank","option_4","token_0","token_1","t29","option_5","diff","filteredOptions","event_0","first","handleSearchKeyDown","t30","searchMenuContextValue","t31","t32","mergedSelectComponents","t33","t34","mergedSelectStyles","t35","t36","handleResize","t37","event_1","t38","event_2","t39","t40","t41","sharedFieldProps","t42","t43","event_3","t44","t45","t46","t47","t48","t49","target_2","t50","t51","t52","_temp3","t53","t54","t55","t56","t57","t58","t59","t60","t61","t62","option","option_0","event_4"],"sources":["../src/components/I18nField/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport Select, {\n type MenuListProps,\n type OptionProps,\n type Props as SelectProps,\n type SelectInstance,\n type SingleValue,\n type StylesConfig,\n components as selectComponents,\n} from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nexport type LanguageCode = string\n\nexport type LocalizedStringEntry<TExtra extends Record<string, unknown> = Record<string, unknown>> = {\n value: string\n updatedAt: Date\n autoTranslated?: boolean\n} & TExtra\n\nexport type LocalizedString<TExtra extends Record<string, unknown> = Record<string, unknown>> = Record<\n LanguageCode,\n LocalizedStringEntry<TExtra>\n>\n\nexport type I18nValue<TExtra extends Record<string, unknown> = Record<string, unknown>> = LocalizedString<TExtra>\n\ntype LocaleContextValue = {\n locale: LanguageCode | null\n setLocale: (next: LanguageCode) => void\n}\n\nconst I18nFieldLocaleContext = React.createContext<LocaleContextValue | null>(null)\n\ntype I18nFieldLocaleProviderProps = {\n children: React.ReactNode\n value?: LanguageCode\n defaultValue?: LanguageCode\n onChange?: (locale: LanguageCode) => void\n locales?: LanguageCode[]\n}\n\nexport function I18nFieldLocaleProvider({\n children,\n value,\n defaultValue,\n onChange,\n locales,\n}: I18nFieldLocaleProviderProps) {\n const isControlled = value !== undefined\n const defaultLocale = React.useMemo(\n () => getPreferredLocale([defaultValue, ...getEnvironmentLocales()], locales),\n [defaultValue, locales]\n )\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(defaultLocale)\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 React.useEffect(() => {\n if (isControlled) return\n setInternalLocale((current) => (resolveLocaleMatch(current, locales) ? current : defaultLocale))\n }, [defaultLocale, isControlled, locales])\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 normalizeLocaleCode(code: string) {\n return code.trim().replace(/_/g, \"-\").toLowerCase()\n}\n\nfunction primaryLocaleCode(code: string) {\n return normalizeLocaleCode(code).split(\"-\")[0] ?? \"\"\n}\n\nfunction resolveLocaleMatch(locale: LanguageCode | undefined, locales: LanguageCode[] | undefined) {\n const normalizedLocale = typeof locale === \"string\" ? normalizeLocaleCode(locale) : \"\"\n if (!normalizedLocale) return null\n\n const availableLocales = (locales ?? []).filter(\n (code): code is LanguageCode => typeof code === \"string\" && code.length > 0\n )\n if (availableLocales.length === 0) return locale?.trim() ?? normalizedLocale\n\n return availableLocales.find((code) => normalizeLocaleCode(code) === normalizedLocale) ??\n availableLocales.find((code) => primaryLocaleCode(code) === primaryLocaleCode(normalizedLocale)) ??\n null\n}\n\nfunction getEnvironmentLocales() {\n const candidates: LanguageCode[] = []\n if (typeof document !== \"undefined\") {\n candidates.push(document.documentElement.lang)\n }\n if (typeof navigator !== \"undefined\") {\n candidates.push(...Array.from(navigator.languages ?? []), navigator.language)\n }\n return candidates\n}\n\nfunction getPreferredLocale(candidates: Array<LanguageCode | undefined>, locales?: LanguageCode[]) {\n for (const candidate of candidates) {\n const matchedLocale = resolveLocaleMatch(candidate, locales)\n if (matchedLocale) return matchedLocale\n }\n\n const defaultLocaleMatch = resolveLocaleMatch(DEFAULT_LOCALE, locales)\n if (defaultLocaleMatch) return defaultLocaleMatch\n\n return locales?.[0] ?? DEFAULT_LOCALE\n}\n\nfunction languageCodeToBadge(code: string) {\n const primary = code.split(\"-\")[0] ?? \"\"\n const normalized = primary.replace(/[^A-Za-z]/g, \"\")\n if (!normalized) return \"?\"\n return normalized.slice(0, 3).toUpperCase()\n}\n\nfunction stripDiacritics(value: string) {\n return value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n}\n\nfunction normalize(value: string) {\n return stripDiacritics(value).toLowerCase()\n}\n\nfunction resolveLocalizedEntry(value: I18nValue, locale: LanguageCode) {\n if (Object.prototype.hasOwnProperty.call(value, locale)) {\n return value[locale]\n }\n\n const parts = locale.split(\"-\").filter(Boolean)\n while (parts.length > 1) {\n parts.pop()\n const candidate = parts.join(\"-\")\n if (Object.prototype.hasOwnProperty.call(value, candidate)) {\n return value[candidate]\n }\n }\n\n return undefined\n}\n\nfunction resolveLocalizedValue(value: I18nValue, locale: LanguageCode) {\n return resolveLocalizedEntry(value, locale)?.value ?? \"\"\n}\n\nfunction createDisplayNames(locale: string | string[] | undefined, type: \"language\") {\n if (typeof Intl === \"undefined\" || typeof Intl.DisplayNames === \"undefined\") return null\n try {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : undefined\n return new Intl.DisplayNames(locales, { type })\n } catch {\n return null\n }\n}\n\nfunction safeDisplayName(displayNames: Intl.DisplayNames | null, value: string) {\n if (!displayNames) return undefined\n try {\n return displayNames.of(value) ?? undefined\n } catch {\n return undefined\n }\n}\n\nfunction buildLanguageOptions(locale?: string | string[], allowed?: LanguageCode[]) {\n const displayNames = createDisplayNames(locale, \"language\")\n const englishDisplayNames = createDisplayNames(\"en\", \"language\")\n const pool = (allowed ?? []).filter((code): code is LanguageCode => typeof code === \"string\" && code.length > 0)\n\n return pool\n .map((code) => {\n const name = safeDisplayName(displayNames, code) ?? safeDisplayName(englishDisplayNames, code) ?? code\n return {\n value: code,\n name,\n code,\n searchable: Array.from(\n new Set([\n name,\n safeDisplayName(englishDisplayNames, code) ?? code,\n code.toLowerCase(),\n code.toUpperCase(),\n ])\n ).map((entry) => normalize(entry)),\n }\n })\n .sort((a, b) => a.name.localeCompare(b.name))\n}\n\nconst selectStyles: StylesConfig<LanguageOption, false> = {\n control: () => ({\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: 4,\n borderRadius: \"var(--radius)\",\n boxShadow: \"0 18px 36px rgba(15, 23, 42, 0.18)\",\n backgroundColor: \"hsl(var(--popover))\",\n overflow: \"hidden\",\n zIndex: 30,\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: 280,\n padding: 0,\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n }),\n option: (provided, state) => ({\n ...provided,\n fontSize: \"0.875rem\",\n backgroundColor: state.isFocused\n ? \"hsl(var(--muted))\"\n : state.isSelected\n ? \"hsl(var(--accent))\"\n : \"transparent\",\n color: state.isSelected\n ? \"hsl(var(--accent-foreground))\"\n : \"hsl(var(--foreground))\",\n cursor: \"pointer\",\n }),\n noOptionsMessage: (provided) => ({\n ...provided,\n fontSize: \"0.875rem\",\n color: \"hsl(var(--muted-foreground))\",\n }),\n}\n\nconst HiddenControl = () => <div style={{ display: \"none\" }} />\nconst NullComponent = () => null\n\ntype SearchMenuContextValue = {\n searchTerm: string\n setSearchTerm: (next: string) => void\n onSearchKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void\n searchInputRef: React.RefObject<HTMLInputElement | null>\n selectFooter?: React.ReactNode\n}\n\nconst SearchMenuContext = React.createContext<SearchMenuContextValue | null>(null)\n\n// MenuList must keep a stable component identity across renders: an inline component\n// would be remounted on every keystroke, unmounting the focused search input and\n// closing the menu through the root onBlur handler.\nfunction SearchableMenuList(props: MenuListProps<LanguageOption, false>) {\n const search = React.useContext(SearchMenuContext)\n const { children } = props\n return (\n <selectComponents.MenuList {...props} className=\"!p-0 flex flex-col overflow-hidden\">\n {search ? (\n <div className=\"border-b border-muted px-2 pb-2 pt-2\">\n <input\n ref={search.searchInputRef}\n value={search.searchTerm}\n onChange={(event) => search.setSearchTerm(event.target.value)}\n onKeyDown={search.onSearchKeyDown}\n className=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-ring\"\n placeholder=\"Search language…\"\n />\n </div>\n ) : null}\n <div className=\"max-h-60 overflow-y-auto\">{children}</div>\n {search?.selectFooter ? (\n <div className=\"border-t border-muted bg-muted/60 px-3 py-2 text-xs text-muted-foreground\">\n {search.selectFooter}\n </div>\n ) : null}\n </selectComponents.MenuList>\n )\n}\n\nfunction Option(props: OptionProps<LanguageOption, false>) {\n const { data, innerRef, innerProps, isFocused, isSelected } = props\n return (\n <div\n ref={innerRef}\n {...innerProps}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm\",\n isSelected\n ? \"bg-accent text-accent-foreground\"\n : isFocused\n ? \"bg-muted text-foreground\"\n : \"text-foreground\"\n )}\n >\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{data.name}</span>\n </span>\n <span className=\"text-xs text-muted-foreground uppercase\">{data.code}</span>\n </div>\n )\n}\n\nexport const I18nField = React.forwardRef<HTMLInputElement | HTMLTextAreaElement, I18nFieldProps>(\n function I18nField(props, forwardedRef) {\n const {\n value: valueProp,\n defaultValue,\n locale: localeProp,\n defaultLocale,\n onChange,\n onLocaleChange,\n locales,\n multiline,\n className,\n inputClassName,\n selectProps,\n selectFooter,\n languageSelectTabIndex = -1,\n disabled,\n ...rest\n } = props\n\n type SharedProps = React.InputHTMLAttributes<HTMLInputElement> &\n React.TextareaHTMLAttributes<HTMLTextAreaElement> & { rows?: number }\n\n const { rows, ...restProps } = rest as SharedProps\n\n const initialValue = React.useMemo<I18nValue>(() => valueProp ?? defaultValue ?? {}, [defaultValue, valueProp])\n const [internalValue, setInternalValue] = React.useState<I18nValue>(initialValue)\n const isControlled = valueProp !== undefined\n const currentValue = isControlled ? valueProp ?? {} : internalValue\n const [searchTerm, setSearchTerm] = React.useState(\"\")\n const localeContext = React.useContext(I18nFieldLocaleContext)\n\n const localePool = React.useMemo(() => {\n const pool = Array.from(new Set([...(locales ?? []), ...Object.keys(currentValue)]))\n return buildLanguageOptions(undefined, pool)\n }, [currentValue, locales])\n\n const initialLocale = React.useMemo(() => {\n const localeValues = localePool.map((option) => option.value)\n return localeProp ??\n localeContext?.locale ??\n getPreferredLocale(\n [defaultLocale, ...getEnvironmentLocales(), Object.keys(currentValue)[0] as LanguageCode | undefined],\n localeValues\n )\n }, [currentValue, defaultLocale, localeContext?.locale, localePool, localeProp])\n\n const [internalLocale, setInternalLocale] = React.useState<LanguageCode>(initialLocale)\n const activeLocale = localeProp ?? localeContext?.locale ?? internalLocale\n\n React.useEffect(() => {\n if (!isControlled) {\n setInternalValue(initialValue)\n }\n }, [initialValue, isControlled])\n\n React.useEffect(() => {\n if (localeProp && localeProp !== internalLocale) {\n setInternalLocale(localeProp)\n }\n }, [internalLocale, localeProp])\n\n React.useEffect(() => {\n if (!localeProp && localeContext?.locale && localeContext.locale !== internalLocale) {\n setInternalLocale(localeContext.locale)\n }\n }, [internalLocale, localeContext?.locale, localeProp])\n\n const selectedOption =\n localePool.find((option) => option.value === activeLocale) ??\n localePool.find((option) => option.value === DEFAULT_LOCALE) ??\n localePool[0] ??\n null\n\n const [menuOpen, setMenuOpen] = React.useState(false)\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement | null>(null)\n const triggerRef = React.useRef<HTMLButtonElement | null>(null)\n const containerRef = React.useRef<HTMLDivElement | null>(null)\n const selectRef = React.useRef<SelectInstance<LanguageOption, false> | null>(null)\n const searchInputRef = React.useRef<HTMLInputElement | null>(null)\n const selectionSnapshotRef = React.useRef<{ start: number | null; end: number | null } | null>(null)\n const [menuPosition, setMenuPosition] = React.useState<{ left: number; top: number }>({ left: 0, top: 0 })\n\n React.useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement & HTMLTextAreaElement, [])\n\n const handleLocaleSelect = (option: SingleValue<LanguageOption>) => {\n if (!option) return\n const nextLocale = option.value\n if (!isControlled) {\n setInternalLocale(nextLocale)\n }\n onLocaleChange?.(nextLocale, option)\n localeContext?.setLocale(nextLocale)\n closeMenu(true)\n }\n\n const handleTextChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const currentEntry = currentValue[activeLocale]\n const nextValue = {\n ...currentValue,\n [activeLocale]: {\n ...(currentEntry ?? {}),\n value: event.target.value,\n updatedAt: new Date(),\n autoTranslated: false,\n },\n }\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n onChange?.(nextValue)\n }\n\n const currentText = resolveLocalizedValue(currentValue, activeLocale)\n\n const filterOption = React.useCallback(\n (option: { data: LanguageOption }) => {\n if (!searchTerm) return true\n const query = normalize(searchTerm)\n return option.data.searchable.some((token) => token.includes(query))\n },\n [searchTerm]\n )\n\n const buttonPosition = multiline ? \"left-2 top-2 -translate-y-0\" : \"left-3 top-1/2 -translate-y-1/2\"\n const inputPaddingLeft = \"pl-10 pr-3\"\n\n const updateMenuPosition = React.useCallback(() => {\n const trigger = triggerRef.current\n const container = containerRef.current\n if (!trigger || !container) return\n const triggerRect = trigger.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n setMenuPosition({\n left: triggerRect.left - containerRect.left,\n top: triggerRect.bottom - containerRect.top + 4,\n })\n }, [])\n\n const isInsideComponent = React.useCallback((target: EventTarget | null) => {\n if (!target || !(target instanceof Node)) return false\n return Boolean(rootRef.current?.contains(target))\n }, [])\n\n const restoreMainFocus = React.useCallback(() => {\n const target = inputRef.current\n if (!target) return\n target.focus()\n const selection = selectionSnapshotRef.current\n if (selection && selection.start != null && selection.end != null) {\n target.setSelectionRange(selection.start, selection.end)\n }\n }, [])\n\n React.useEffect(() => {\n if (!menuOpen) return\n const target = searchInputRef.current\n if (!target) return\n requestAnimationFrame(() => {\n if (document.activeElement === target) return\n target.focus()\n const end = target.value.length\n try {\n target.setSelectionRange(end, end)\n } catch {\n /* ignore */\n }\n })\n }, [menuOpen, searchTerm])\n\n const closeMenu = React.useCallback(\n (restoreFocus = true) => {\n setMenuOpen(false)\n setSearchTerm(\"\")\n if (restoreFocus) {\n requestAnimationFrame(() => {\n restoreMainFocus()\n })\n }\n },\n [restoreMainFocus]\n )\n\n const {\n components: userSelectComponents,\n styles: userSelectStyles,\n classNamePrefix: userClassNamePrefix,\n placeholder: selectPlaceholder,\n noOptionsMessage,\n ...forwardedSelectProps\n } = selectProps ?? {}\n\n const filteredOptions = React.useMemo(() => {\n const query = normalize(searchTerm)\n const rank = (option: LanguageOption) => {\n const code = option.code.toLowerCase()\n if (query && code === query) return 0\n if (query && code.startsWith(query)) return 1\n if (query && option.searchable.some((token) => token.startsWith(query))) return 2\n if (query && option.searchable.some((token) => token.includes(query))) return 3\n return 4\n }\n return localePool\n .filter((option) => filterOption({ data: option }))\n .sort((a, b) => {\n const diff = rank(a) - rank(b)\n if (diff !== 0) return diff\n return a.name.localeCompare(b.name)\n })\n }, [filterOption, localePool, searchTerm])\n\n const handleSearchKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault()\n closeMenu(true)\n return\n }\n if (event.key === \"Enter\") {\n event.preventDefault()\n const first = filteredOptions[0]\n if (first) {\n handleLocaleSelect(first)\n }\n return\n }\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault()\n selectRef.current?.focus()\n }\n }\n\n const searchMenuContextValue: SearchMenuContextValue = {\n searchTerm,\n setSearchTerm,\n onSearchKeyDown: handleSearchKeyDown,\n searchInputRef,\n selectFooter,\n }\n\n const mergedSelectComponents = React.useMemo(\n () => ({\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n MenuList: SearchableMenuList,\n ...(userSelectComponents ?? {}),\n Option,\n }),\n [userSelectComponents]\n )\n\n const mergedSelectStyles = React.useMemo<StylesConfig<LanguageOption, false>>(\n () => ({\n ...selectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )\n\n React.useLayoutEffect(() => {\n if (!menuOpen) return\n updateMenuPosition()\n const handleResize = () => updateMenuPosition()\n window.addEventListener(\"resize\", handleResize)\n return () => window.removeEventListener(\"resize\", handleResize)\n }, [menuOpen, updateMenuPosition])\n\n const sharedFieldProps = {\n ...restProps,\n ref: inputRef as React.Ref<any>,\n disabled,\n value: currentText,\n onChange: handleTextChange,\n onFocus: (event: React.FocusEvent<any>) => {\n if (menuOpen) {\n closeMenu(false)\n }\n restProps.onFocus?.(event)\n },\n onBlur: (event: React.FocusEvent<any>) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n restProps.onBlur?.(event)\n },\n className: cn(\n \"w-full rounded-md border border-input bg-background text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n multiline ? \"min-h-24 py-2\" : \"h-10 py-2\",\n inputPaddingLeft,\n inputClassName\n ),\n placeholder: restProps.placeholder,\n }\n\n return (\n <div\n ref={rootRef}\n className={cn(\"relative flex flex-col\", className)}\n onBlur={(event) => {\n if (!isInsideComponent(event.relatedTarget)) {\n closeMenu(false)\n }\n }}\n >\n <div ref={containerRef} className=\"relative\">\n {multiline ? (\n <textarea rows={rows} {...sharedFieldProps} />\n ) : (\n <input type=\"text\" {...sharedFieldProps} />\n )}\n\n <button\n type=\"button\"\n className={cn(\n \"absolute flex h-6 w-6 items-center justify-center rounded border text-xs font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n buttonPosition,\n disabled ? \"cursor-not-allowed opacity-50 pointer-events-none\" : \"cursor-pointer hover:bg-muted\",\n selectedOption ? \"border-transparent\" : \"border-dashed border-border text-muted-foreground\"\n )}\n aria-label={selectedOption ? `Select language (${selectedOption.code})` : \"Select language\"}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (disabled) return\n const target = inputRef.current\n if (target) {\n selectionSnapshotRef.current = {\n start: target.selectionStart,\n end: target.selectionEnd,\n }\n }\n setSearchTerm(\"\")\n setMenuOpen(true)\n requestAnimationFrame(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus()\n searchInputRef.current.select()\n } else {\n selectRef.current?.focus()\n }\n })\n }}\n tabIndex={languageSelectTabIndex}\n disabled={disabled}\n ref={triggerRef}\n >\n <span aria-hidden=\"true\">{selectedOption ? languageCodeToBadge(selectedOption.code) : \"?\"}</span>\n </button>\n </div>\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: menuOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n left: menuPosition.left,\n top: menuPosition.top,\n }}\n >\n <SearchMenuContext.Provider value={searchMenuContextValue}>\n <Select<LanguageOption, false>\n {...forwardedSelectProps}\n menuIsOpen={menuOpen}\n options={filteredOptions}\n value={null}\n onChange={handleLocaleSelect}\n classNamePrefix={userClassNamePrefix ?? \"i18n-language-select\"}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue\n menuShouldScrollIntoView={false}\n placeholder={selectPlaceholder ?? \"\"}\n filterOption={filterOption}\n noOptionsMessage={noOptionsMessage}\n onMenuClose={() => closeMenu(true)}\n ref={selectRef}\n />\n </SearchMenuContext.Provider>\n </div>\n </div>\n )\n }\n)\n\nI18nField.displayName = \"I18nField\"\n"],"mappings":"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"}