se-design 1.0.81 → 1.0.83-dev.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 (429) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/MessageBar/index.d.ts +20 -1
  3. package/dist/components/NLSearch/ClearAiFiltersBar.d.ts +21 -0
  4. package/dist/components/NLSearch/NLDynamicChip.d.ts +18 -0
  5. package/dist/components/NLSearch/NLSearchInput.d.ts +21 -0
  6. package/dist/components/NLSearch/index.d.ts +6 -0
  7. package/dist/components/index.d.ts +2 -0
  8. package/dist/index.js +131 -124
  9. package/dist/index.js.map +1 -1
  10. package/dist/index100.js +1 -1
  11. package/dist/index100.js.map +1 -1
  12. package/dist/index101.js +1 -1
  13. package/dist/index101.js.map +1 -1
  14. package/dist/index102.js +1 -1
  15. package/dist/index102.js.map +1 -1
  16. package/dist/index103.js +1 -1
  17. package/dist/index103.js.map +1 -1
  18. package/dist/index104.js +1 -1
  19. package/dist/index104.js.map +1 -1
  20. package/dist/index105.js +1 -1
  21. package/dist/index105.js.map +1 -1
  22. package/dist/index106.js +1 -1
  23. package/dist/index106.js.map +1 -1
  24. package/dist/index107.js +1 -1
  25. package/dist/index107.js.map +1 -1
  26. package/dist/index108.js +1 -1
  27. package/dist/index108.js.map +1 -1
  28. package/dist/index109.js +1 -1
  29. package/dist/index109.js.map +1 -1
  30. package/dist/index11.js +1 -1
  31. package/dist/index110.js +1 -1
  32. package/dist/index110.js.map +1 -1
  33. package/dist/index111.js +1 -1
  34. package/dist/index111.js.map +1 -1
  35. package/dist/index112.js +1 -1
  36. package/dist/index112.js.map +1 -1
  37. package/dist/index113.js +2 -2
  38. package/dist/index113.js.map +1 -1
  39. package/dist/index114.js +2 -2
  40. package/dist/index114.js.map +1 -1
  41. package/dist/index115.js +1 -1
  42. package/dist/index115.js.map +1 -1
  43. package/dist/index116.js +2 -2
  44. package/dist/index116.js.map +1 -1
  45. package/dist/index117.js +2 -2
  46. package/dist/index117.js.map +1 -1
  47. package/dist/index118.js +2 -2
  48. package/dist/index118.js.map +1 -1
  49. package/dist/index119.js +2 -2
  50. package/dist/index119.js.map +1 -1
  51. package/dist/index12.js +3 -3
  52. package/dist/index120.js +1 -1
  53. package/dist/index120.js.map +1 -1
  54. package/dist/index121.js +2 -2
  55. package/dist/index121.js.map +1 -1
  56. package/dist/index122.js +2 -2
  57. package/dist/index122.js.map +1 -1
  58. package/dist/index123.js +1 -1
  59. package/dist/index123.js.map +1 -1
  60. package/dist/index124.js +1 -1
  61. package/dist/index124.js.map +1 -1
  62. package/dist/index125.js +2 -2
  63. package/dist/index125.js.map +1 -1
  64. package/dist/index126.js +2 -2
  65. package/dist/index126.js.map +1 -1
  66. package/dist/index127.js +2 -2
  67. package/dist/index127.js.map +1 -1
  68. package/dist/index128.js +2 -2
  69. package/dist/index128.js.map +1 -1
  70. package/dist/index129.js +2 -2
  71. package/dist/index129.js.map +1 -1
  72. package/dist/index13.js +2 -2
  73. package/dist/index130.js +1 -1
  74. package/dist/index130.js.map +1 -1
  75. package/dist/index131.js +1 -1
  76. package/dist/index131.js.map +1 -1
  77. package/dist/index132.js +1 -1
  78. package/dist/index132.js.map +1 -1
  79. package/dist/index133.js +2 -2
  80. package/dist/index133.js.map +1 -1
  81. package/dist/index134.js +1 -1
  82. package/dist/index134.js.map +1 -1
  83. package/dist/index135.js +2 -2
  84. package/dist/index135.js.map +1 -1
  85. package/dist/index136.js +2 -2
  86. package/dist/index136.js.map +1 -1
  87. package/dist/index137.js +1 -1
  88. package/dist/index137.js.map +1 -1
  89. package/dist/index138.js +2 -2
  90. package/dist/index138.js.map +1 -1
  91. package/dist/index139.js +2 -2
  92. package/dist/index139.js.map +1 -1
  93. package/dist/index140.js +1 -1
  94. package/dist/index140.js.map +1 -1
  95. package/dist/index141.js +1 -1
  96. package/dist/index141.js.map +1 -1
  97. package/dist/index142.js +1 -1
  98. package/dist/index142.js.map +1 -1
  99. package/dist/index143.js +1 -1
  100. package/dist/index143.js.map +1 -1
  101. package/dist/index144.js +1 -1
  102. package/dist/index144.js.map +1 -1
  103. package/dist/index145.js +1 -1
  104. package/dist/index145.js.map +1 -1
  105. package/dist/index146.js +2 -2
  106. package/dist/index146.js.map +1 -1
  107. package/dist/index147.js +1 -1
  108. package/dist/index147.js.map +1 -1
  109. package/dist/index148.js +1 -1
  110. package/dist/index148.js.map +1 -1
  111. package/dist/index149.js +2 -2
  112. package/dist/index149.js.map +1 -1
  113. package/dist/index150.js +1 -1
  114. package/dist/index150.js.map +1 -1
  115. package/dist/index151.js +1 -1
  116. package/dist/index151.js.map +1 -1
  117. package/dist/index152.js +1 -1
  118. package/dist/index152.js.map +1 -1
  119. package/dist/index153.js +1 -1
  120. package/dist/index153.js.map +1 -1
  121. package/dist/index154.js +1 -1
  122. package/dist/index154.js.map +1 -1
  123. package/dist/index155.js +2 -2
  124. package/dist/index155.js.map +1 -1
  125. package/dist/index156.js +2 -2
  126. package/dist/index156.js.map +1 -1
  127. package/dist/index157.js +1 -1
  128. package/dist/index157.js.map +1 -1
  129. package/dist/index158.js +2 -2
  130. package/dist/index158.js.map +1 -1
  131. package/dist/index159.js +1 -1
  132. package/dist/index159.js.map +1 -1
  133. package/dist/index16.js +3 -3
  134. package/dist/index160.js +1 -1
  135. package/dist/index160.js.map +1 -1
  136. package/dist/index161.js +2 -2
  137. package/dist/index161.js.map +1 -1
  138. package/dist/index162.js +2 -2
  139. package/dist/index162.js.map +1 -1
  140. package/dist/index163.js +1 -1
  141. package/dist/index163.js.map +1 -1
  142. package/dist/index164.js +1 -1
  143. package/dist/index164.js.map +1 -1
  144. package/dist/index165.js +1 -1
  145. package/dist/index165.js.map +1 -1
  146. package/dist/index166.js +1 -1
  147. package/dist/index166.js.map +1 -1
  148. package/dist/index167.js +1 -1
  149. package/dist/index167.js.map +1 -1
  150. package/dist/index168.js +1 -1
  151. package/dist/index168.js.map +1 -1
  152. package/dist/index169.js +1 -1
  153. package/dist/index169.js.map +1 -1
  154. package/dist/index170.js +1 -1
  155. package/dist/index170.js.map +1 -1
  156. package/dist/index171.js +1 -1
  157. package/dist/index171.js.map +1 -1
  158. package/dist/index172.js +1 -1
  159. package/dist/index172.js.map +1 -1
  160. package/dist/index173.js +1 -1
  161. package/dist/index173.js.map +1 -1
  162. package/dist/index174.js +1 -1
  163. package/dist/index174.js.map +1 -1
  164. package/dist/index175.js +1 -1
  165. package/dist/index175.js.map +1 -1
  166. package/dist/index176.js +1 -1
  167. package/dist/index176.js.map +1 -1
  168. package/dist/index177.js +1 -1
  169. package/dist/index177.js.map +1 -1
  170. package/dist/index178.js +1 -1
  171. package/dist/index178.js.map +1 -1
  172. package/dist/index179.js +1 -1
  173. package/dist/index179.js.map +1 -1
  174. package/dist/index18.js +2 -2
  175. package/dist/index180.js +1 -1
  176. package/dist/index180.js.map +1 -1
  177. package/dist/index181.js +1 -1
  178. package/dist/index181.js.map +1 -1
  179. package/dist/index182.js +1 -1
  180. package/dist/index182.js.map +1 -1
  181. package/dist/index183.js +1 -1
  182. package/dist/index183.js.map +1 -1
  183. package/dist/index184.js +1 -1
  184. package/dist/index184.js.map +1 -1
  185. package/dist/index185.js +2 -2
  186. package/dist/index185.js.map +1 -1
  187. package/dist/index186.js +1 -1
  188. package/dist/index186.js.map +1 -1
  189. package/dist/index187.js +1 -1
  190. package/dist/index187.js.map +1 -1
  191. package/dist/index188.js +2 -2
  192. package/dist/index188.js.map +1 -1
  193. package/dist/index189.js +2 -2
  194. package/dist/index189.js.map +1 -1
  195. package/dist/index19.js +5 -5
  196. package/dist/index190.js +1 -1
  197. package/dist/index190.js.map +1 -1
  198. package/dist/index191.js +1 -1
  199. package/dist/index191.js.map +1 -1
  200. package/dist/index192.js +2 -2
  201. package/dist/index192.js.map +1 -1
  202. package/dist/index193.js +1 -1
  203. package/dist/index193.js.map +1 -1
  204. package/dist/index194.js +1 -1
  205. package/dist/index194.js.map +1 -1
  206. package/dist/index195.js +1 -1
  207. package/dist/index195.js.map +1 -1
  208. package/dist/index196.js +1 -1
  209. package/dist/index196.js.map +1 -1
  210. package/dist/index197.js +1 -1
  211. package/dist/index197.js.map +1 -1
  212. package/dist/index198.js +1 -1
  213. package/dist/index198.js.map +1 -1
  214. package/dist/index199.js +1 -1
  215. package/dist/index199.js.map +1 -1
  216. package/dist/index200.js +2 -2
  217. package/dist/index200.js.map +1 -1
  218. package/dist/index201.js +1 -1
  219. package/dist/index201.js.map +1 -1
  220. package/dist/index202.js +2 -2
  221. package/dist/index202.js.map +1 -1
  222. package/dist/index203.js +149 -2
  223. package/dist/index203.js.map +1 -1
  224. package/dist/index204.js +9 -2
  225. package/dist/index204.js.map +1 -1
  226. package/dist/index205.js +6 -2
  227. package/dist/index205.js.map +1 -1
  228. package/dist/index206.js +5 -149
  229. package/dist/index206.js.map +1 -1
  230. package/dist/index207.js +41 -4
  231. package/dist/index207.js.map +1 -1
  232. package/dist/index208.js +24 -0
  233. package/dist/index208.js.map +1 -0
  234. package/dist/index215.js +26 -0
  235. package/dist/index215.js.map +1 -0
  236. package/dist/index216.js +71 -0
  237. package/dist/index216.js.map +1 -0
  238. package/dist/{index221.js → index224.js} +1 -1
  239. package/dist/{index221.js.map → index224.js.map} +1 -1
  240. package/dist/index23.js +4 -4
  241. package/dist/index232.js +1233 -43
  242. package/dist/index232.js.map +1 -1
  243. package/dist/index235.js +46 -0
  244. package/dist/index235.js.map +1 -0
  245. package/dist/index244.js +168 -8
  246. package/dist/index244.js.map +1 -1
  247. package/dist/index245.js +3 -9
  248. package/dist/index245.js.map +1 -1
  249. package/dist/index247.js +18 -169
  250. package/dist/index247.js.map +1 -1
  251. package/dist/index248.js +10 -11
  252. package/dist/index248.js.map +1 -1
  253. package/dist/index249.js +8 -4
  254. package/dist/index249.js.map +1 -1
  255. package/dist/index25.js +3 -3
  256. package/dist/index250.js +4 -5
  257. package/dist/index250.js.map +1 -1
  258. package/dist/index251.js +168 -36
  259. package/dist/index251.js.map +1 -1
  260. package/dist/index252.js +11 -2
  261. package/dist/index252.js.map +1 -1
  262. package/dist/index253.js +5 -7
  263. package/dist/index253.js.map +1 -1
  264. package/dist/index254.js +5 -326
  265. package/dist/index254.js.map +1 -1
  266. package/dist/index255.js +36 -48
  267. package/dist/index255.js.map +1 -1
  268. package/dist/index256.js +2 -2
  269. package/dist/index257.js +7 -75
  270. package/dist/index257.js.map +1 -1
  271. package/dist/index258.js +308 -74
  272. package/dist/index258.js.map +1 -1
  273. package/dist/index259.js +45 -47
  274. package/dist/index259.js.map +1 -1
  275. package/dist/index260.js +2 -8
  276. package/dist/index260.js.map +1 -1
  277. package/dist/index261.js +75 -4
  278. package/dist/index261.js.map +1 -1
  279. package/dist/index262.js +89 -48
  280. package/dist/index262.js.map +1 -1
  281. package/dist/index263.js +52 -2
  282. package/dist/index263.js.map +1 -1
  283. package/dist/index264.js +8 -2
  284. package/dist/index264.js.map +1 -1
  285. package/dist/index265.js +8 -0
  286. package/dist/index265.js.map +1 -0
  287. package/dist/index266.js +55 -0
  288. package/dist/index266.js.map +1 -0
  289. package/dist/index267.js +5 -0
  290. package/dist/index267.js.map +1 -0
  291. package/dist/index268.js +5 -0
  292. package/dist/index268.js.map +1 -0
  293. package/dist/index27.js +1 -1
  294. package/dist/index28.js +4 -4
  295. package/dist/index29.js +3 -3
  296. package/dist/index3.js +3 -3
  297. package/dist/index30.js +4 -4
  298. package/dist/index32.js +10 -11
  299. package/dist/index33.js +1 -1
  300. package/dist/index35.js +4 -4
  301. package/dist/index36.js +5 -5
  302. package/dist/index38.js +3 -3
  303. package/dist/index39.js +4 -4
  304. package/dist/index4.js +3 -3
  305. package/dist/index40.js +1 -1
  306. package/dist/index42.js +7 -8
  307. package/dist/index43.js +95 -57
  308. package/dist/index43.js.map +1 -1
  309. package/dist/index45.js +4 -4
  310. package/dist/index46.js +142 -193
  311. package/dist/index46.js.map +1 -1
  312. package/dist/index47.js +21 -38
  313. package/dist/index47.js.map +1 -1
  314. package/dist/index48.js +36 -33
  315. package/dist/index48.js.map +1 -1
  316. package/dist/index50.js +189 -78
  317. package/dist/index50.js.map +1 -1
  318. package/dist/index51.js +36 -459
  319. package/dist/index51.js.map +1 -1
  320. package/dist/index52.js +33 -98
  321. package/dist/index52.js.map +1 -1
  322. package/dist/index53.js +151 -36
  323. package/dist/index53.js.map +1 -1
  324. package/dist/index54.js +84 -36
  325. package/dist/index54.js.map +1 -1
  326. package/dist/index55.js +456 -88
  327. package/dist/index55.js.map +1 -1
  328. package/dist/index56.js +96 -161
  329. package/dist/index56.js.map +1 -1
  330. package/dist/index57.js +35 -146
  331. package/dist/index57.js.map +1 -1
  332. package/dist/index58.js +38 -33
  333. package/dist/index58.js.map +1 -1
  334. package/dist/index59.js +89 -83
  335. package/dist/index59.js.map +1 -1
  336. package/dist/index6.js +123 -123
  337. package/dist/index60.js +157 -113
  338. package/dist/index60.js.map +1 -1
  339. package/dist/index61.js +143 -61
  340. package/dist/index61.js.map +1 -1
  341. package/dist/index62.js +33 -152
  342. package/dist/index62.js.map +1 -1
  343. package/dist/index63.js +80 -312
  344. package/dist/index63.js.map +1 -1
  345. package/dist/index64.js +118 -45
  346. package/dist/index64.js.map +1 -1
  347. package/dist/index65.js +62 -140
  348. package/dist/index65.js.map +1 -1
  349. package/dist/index66.js +152 -12
  350. package/dist/index66.js.map +1 -1
  351. package/dist/index67.js +316 -44
  352. package/dist/index67.js.map +1 -1
  353. package/dist/index68.js +44 -82
  354. package/dist/index68.js.map +1 -1
  355. package/dist/index69.js +143 -18
  356. package/dist/index69.js.map +1 -1
  357. package/dist/index7.js +9 -10
  358. package/dist/index70.js +9 -63
  359. package/dist/index70.js.map +1 -1
  360. package/dist/index71.js +45 -26
  361. package/dist/index71.js.map +1 -1
  362. package/dist/index72.js +78 -102
  363. package/dist/index72.js.map +1 -1
  364. package/dist/index73.js +18 -61
  365. package/dist/index73.js.map +1 -1
  366. package/dist/index74.js +63 -18
  367. package/dist/index74.js.map +1 -1
  368. package/dist/index75.js +27 -5
  369. package/dist/index75.js.map +1 -1
  370. package/dist/index76.js +102 -48
  371. package/dist/index76.js.map +1 -1
  372. package/dist/index77.js +58 -20
  373. package/dist/index77.js.map +1 -1
  374. package/dist/index78.js +19 -7
  375. package/dist/index78.js.map +1 -1
  376. package/dist/index79.js +5 -23
  377. package/dist/index79.js.map +1 -1
  378. package/dist/index80.js +51 -16
  379. package/dist/index80.js.map +1 -1
  380. package/dist/index81.js +23 -8
  381. package/dist/index81.js.map +1 -1
  382. package/dist/index82.js +7 -40
  383. package/dist/index82.js.map +1 -1
  384. package/dist/index84.js +2 -68
  385. package/dist/index84.js.map +1 -1
  386. package/dist/index85.js +2 -21
  387. package/dist/index85.js.map +1 -1
  388. package/dist/index86.js +5 -0
  389. package/dist/index86.js.map +1 -0
  390. package/dist/index87.js +1 -1
  391. package/dist/index87.js.map +1 -1
  392. package/dist/index88.js +2 -2
  393. package/dist/index88.js.map +1 -1
  394. package/dist/index89.js +1 -1
  395. package/dist/index89.js.map +1 -1
  396. package/dist/index9.js +5 -5
  397. package/dist/index90.js +2 -2
  398. package/dist/index90.js.map +1 -1
  399. package/dist/index91.js +1 -1
  400. package/dist/index91.js.map +1 -1
  401. package/dist/index92.js +1 -1
  402. package/dist/index92.js.map +1 -1
  403. package/dist/index93.js +1 -1
  404. package/dist/index93.js.map +1 -1
  405. package/dist/index94.js +1 -1
  406. package/dist/index94.js.map +1 -1
  407. package/dist/index95.js +1 -1
  408. package/dist/index95.js.map +1 -1
  409. package/dist/index96.js +1 -1
  410. package/dist/index96.js.map +1 -1
  411. package/dist/index97.js +1 -1
  412. package/dist/index97.js.map +1 -1
  413. package/dist/index98.js +1 -1
  414. package/dist/index98.js.map +1 -1
  415. package/dist/index99.js +1 -1
  416. package/dist/index99.js.map +1 -1
  417. package/package.json +1 -1
  418. package/dist/index229.js +0 -1236
  419. package/dist/index229.js.map +0 -1
  420. package/dist/index241.js +0 -173
  421. package/dist/index241.js.map +0 -1
  422. package/dist/index242.js +0 -7
  423. package/dist/index242.js.map +0 -1
  424. package/dist/index246.js +0 -8
  425. package/dist/index246.js.map +0 -1
  426. package/dist/index49.js +0 -152
  427. package/dist/index49.js.map +0 -1
  428. package/dist/index83.js +0 -9
  429. package/dist/index83.js.map +0 -1
package/dist/index50.js CHANGED
@@ -1,89 +1,200 @@
1
- import t from "react";
2
- import { Icon as u } from "./index6.js";
3
- import { Popover as v } from "./index19.js";
4
- import { MenuList as E } from "./index18.js";
1
+ import t, { useState as h, useRef as f, useCallback as g, useEffect as _ } from "react";
5
2
  /* empty css */
3
+ import C from "./index232.js";
4
+ import { Icon as M } from "./index6.js";
5
+ import { useStableId as v } from "./index205.js";
6
+ import { getA11yNameAttributes as T } from "./index82.js";
7
+ import "./index76.js";
8
+ import { useCombobox as le } from "./index72.js";
6
9
  function c() {
7
- return c = Object.assign ? Object.assign.bind() : function(a) {
8
- for (var n = 1; n < arguments.length; n++) {
9
- var i = arguments[n];
10
- for (var o in i) ({}).hasOwnProperty.call(i, o) && (a[o] = i[o]);
10
+ return c = Object.assign ? Object.assign.bind() : function(i) {
11
+ for (var l = 1; l < arguments.length; l++) {
12
+ var r = arguments[l];
13
+ for (var u in r) ({}).hasOwnProperty.call(r, u) && (i[u] = r[u]);
11
14
  }
12
- return a;
15
+ return i;
13
16
  }, c.apply(null, arguments);
14
17
  }
15
- const s = {
16
- container: "se-design-breadcrumbs flex items-center",
17
- itemLabel: "se-design-breadcrumbs-item-label inline-flex items-center w-fit"
18
- }, P = ({
19
- crumbs: a,
20
- onCrumbClick: n,
21
- className: i = "",
22
- ariaLabel: o = "Breadcrumb",
23
- headingLevel: g = 1
18
+ const ve = ({
19
+ onCountrycodeChange: i,
20
+ onNumberChange: l,
21
+ error: r,
22
+ errorMessage: u,
23
+ value: d,
24
+ label: s,
25
+ automationId: p = "",
26
+ ariaLabel: P,
27
+ ariaLabelledBy: x,
28
+ ariaDescribedBy: z,
29
+ phoneNumberAriaLabel: $,
30
+ countryCodeAriaLabel: G,
31
+ disabled: a = !1
24
32
  }) => {
25
- if (a?.length === 1) {
26
- const e = `h${g}`;
27
- return /* @__PURE__ */ t.createElement("div", {
28
- className: `${s.container} ${i}`,
29
- "data-automation-id": "breadcrumbs-container"
30
- }, /* @__PURE__ */ t.createElement(e, {
31
- className: `${s.itemLabel} single-crumb`
32
- }, a[0].label));
33
- }
34
- const m = a?.length > 3, d = m ? a?.slice(-2) : a, b = m ? a?.slice(0, -2) : [], l = (e) => e === d?.length - 1, f = (e) => l(e) ? `${s.itemLabel} highlighted-crumb` : `${s.itemLabel} unhighlighted-crumb`;
35
- return /* @__PURE__ */ t.createElement("nav", {
36
- className: `${s.container} ${i}`,
37
- "aria-label": o,
38
- "data-automation-id": "breadcrumbs-container"
39
- }, b?.length > 0 && /* @__PURE__ */ t.createElement(v, {
40
- className: "se-design-overflow-breadcrumbs",
41
- position: "bottom-left",
42
- noBorder: !0,
43
- ariaLabel: "Show more breadcrumbs",
44
- renderPopoverSrcElement: ({
45
- displayPopover: e
46
- }) => /* @__PURE__ */ t.createElement("div", {
47
- className: `overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${e ? "bg-[var(--color-blue-200)]" : ""}`,
48
- "data-automation-id": "breadcrumbs-kebab-menu"
49
- }, /* @__PURE__ */ t.createElement(u, {
50
- name: "kebab-menu"
51
- })),
52
- renderPopoverContents: ({
53
- closePopoverCb: e
54
- }) => /* @__PURE__ */ t.createElement(E, {
55
- items: b.map((r) => ({
56
- id: String(r?.id),
57
- label: r?.label,
58
- onClick: () => {
59
- n?.(r), e();
60
- }
61
- }))
62
- })
63
- }), /* @__PURE__ */ t.createElement("ol", {
64
- className: "se-design-breadcrumbs-list inline-flex items-center"
65
- }, d?.map((e, r) => {
66
- const p = l(r) ? "span" : "a";
67
- return /* @__PURE__ */ t.createElement("li", {
68
- key: e?.id,
69
- className: "se-design-breadcrumbs-item inline-flex items-center w-fit text-xl"
70
- }, (r > 0 || m) && /* @__PURE__ */ t.createElement(u, {
71
- name: "chevron",
72
- rotation: "270"
73
- }), /* @__PURE__ */ t.createElement(p, c({}, l(r) ? {
74
- "aria-current": "page"
75
- } : {
76
- href: e.href ?? "#",
77
- onClick: (h) => {
78
- e.href || h.preventDefault(), n?.(e);
33
+ const [E, k] = h(d?.countryCode || C[0].dial_code), [n, y] = h(!1), [w, B] = h(C), [Q, R] = h(""), [U, F] = h(""), W = f(null), O = f(null), K = f(null), m = f(!1), N = v(p, "phone-label"), V = v(p, "phone-listbox"), X = v(p, "phone-input"), j = v(p, "phone-error"), b = C.find((e) => e.dial_code === E), q = g(() => {
34
+ y(!1), R(""), B(C);
35
+ }, []), I = g((e) => {
36
+ e && (k(e), i(e)), q();
37
+ }, [i, q]), Y = g((e) => {
38
+ m.current = !0, I(e.dial_code);
39
+ }, [I]), {
40
+ containerProps: H,
41
+ inputProps: Z,
42
+ listboxProps: ee,
43
+ getOptionProps: te,
44
+ highlightedIndex: ne,
45
+ setHighlightedIndex: J
46
+ } = le({
47
+ items: w,
48
+ isOpen: n,
49
+ onOpenChange: y,
50
+ onSelect: Y,
51
+ listboxId: V
52
+ }), oe = (e) => {
53
+ const o = e.target.value;
54
+ R(o), J(-1);
55
+ const S = C.filter((A) => A.name.toLowerCase().includes(o.toLowerCase()) || A.dial_code.toLowerCase().includes(o.toLowerCase()) || A.code.toLowerCase().includes(o.toLowerCase()));
56
+ B(S);
57
+ }, D = f(n);
58
+ _(() => {
59
+ let e = null;
60
+ return D.current && !n && m.current && (e = requestAnimationFrame(() => {
61
+ O.current?.focus();
62
+ })), D.current && !n && (m.current = !1), D.current = n, () => {
63
+ e !== null && cancelAnimationFrame(e);
64
+ };
65
+ }, [n]), _(() => {
66
+ d && (k(d.countryCode), F(d.number));
67
+ }, [d]), _(() => {
68
+ let e = null;
69
+ return n && (e = requestAnimationFrame(() => {
70
+ K.current?.focus();
71
+ })), () => {
72
+ e !== null && cancelAnimationFrame(e);
73
+ };
74
+ }, [n]);
75
+ const re = (e) => {
76
+ const o = e.replace(/\D/g, "");
77
+ F(o), l(o);
78
+ }, L = g(() => {
79
+ a || y((e) => !e);
80
+ }, [a]), ae = g((e) => {
81
+ if (!a)
82
+ switch (e.key) {
83
+ case "Enter":
84
+ case " ":
85
+ e.preventDefault(), L();
86
+ break;
87
+ case "ArrowDown":
88
+ e.preventDefault(), n || y(!0);
89
+ break;
79
90
  }
80
- }, {
81
- className: `${f(r)}${l(r) ? "" : " cursor-pointer focus-outline"}`,
82
- "data-automation-id": e?.automationId || `breadcrumbs-item-${r}`
83
- }), e?.label));
84
- })));
91
+ }, [a, n, L]), ce = T({
92
+ ariaLabelledBy: x || (!P && s ? N : void 0),
93
+ ariaLabel: x ? void 0 : P || (s ? void 0 : "Phone number")
94
+ }), se = T({
95
+ ariaLabelledBy: !$ && s ? N : void 0,
96
+ ariaLabel: $ || (s ? void 0 : "Phone number"),
97
+ ariaDescribedBy: r ? j : z
98
+ }), ie = G || `Select country code. Current: ${b?.name} ${b?.dial_code}`;
99
+ return /* @__PURE__ */ t.createElement("div", c({
100
+ className: "phone-input-container-se-design-main-container",
101
+ "data-automation-id": p
102
+ }, H, {
103
+ onKeyDownCapture: (e) => {
104
+ e.key === "Escape" && n && (m.current = !0), H.onKeyDownCapture(e);
105
+ }
106
+ }), s && /* @__PURE__ */ t.createElement("div", {
107
+ id: N,
108
+ className: "label-container"
109
+ }, s), /* @__PURE__ */ t.createElement("div", c({
110
+ role: "group"
111
+ }, ce, {
112
+ className: `phone-input-container-se-design-main ${r ? "error" : ""}`,
113
+ ref: W
114
+ }), /* @__PURE__ */ t.createElement("div", {
115
+ className: "phone-input-container-se-design"
116
+ }, /* @__PURE__ */ t.createElement("button", {
117
+ ref: O,
118
+ type: "button",
119
+ className: `phone-input-container-se-design-country-code focus-outline rounded ${a ? "cursor-not-allowed opacity-60" : ""}`,
120
+ onClick: L,
121
+ onKeyDown: ae,
122
+ "aria-haspopup": "listbox",
123
+ "aria-expanded": n,
124
+ "aria-controls": n ? V : void 0,
125
+ "aria-label": ie,
126
+ disabled: a,
127
+ "data-automation-id": "country-code-selector"
128
+ }, /* @__PURE__ */ t.createElement("img", {
129
+ src: `https://flagcdn.com/${b?.code.toLowerCase()}.svg`,
130
+ alt: "",
131
+ "aria-hidden": "true",
132
+ width: "16"
133
+ }), /* @__PURE__ */ t.createElement("span", null, b?.dial_code), /* @__PURE__ */ t.createElement(M, {
134
+ name: "chevron",
135
+ className: n ? "rotate-180" : "",
136
+ "aria-hidden": "true"
137
+ })), /* @__PURE__ */ t.createElement("span", {
138
+ className: "divider",
139
+ "aria-hidden": "true"
140
+ }), /* @__PURE__ */ t.createElement("input", c({
141
+ id: X,
142
+ type: "tel",
143
+ placeholder: "Enter phone number",
144
+ className: `phone-input-container-se-design-phone-number-input ${a ? "disabled" : ""}`,
145
+ onChange: (e) => re(e.target.value),
146
+ value: U,
147
+ pattern: "[0-9]*",
148
+ disabled: a,
149
+ "aria-invalid": r || void 0
150
+ }, se, {
151
+ "data-automation-id": "phone-number-input-field"
152
+ }))), n && /* @__PURE__ */ t.createElement("div", c({}, ee, {
153
+ className: "phone-input-container-se-design-country-code-list",
154
+ "aria-label": "Select country",
155
+ "data-automation-id": "country-code-list"
156
+ }), /* @__PURE__ */ t.createElement("div", {
157
+ className: "search-input-wrapper"
158
+ }, /* @__PURE__ */ t.createElement(M, {
159
+ name: "search",
160
+ className: "search-icon",
161
+ "aria-hidden": "true"
162
+ }), /* @__PURE__ */ t.createElement("input", c({
163
+ ref: K
164
+ }, Z, {
165
+ type: "text",
166
+ placeholder: "Search countries",
167
+ className: "phone-input-container-se-design-country-code-list-item-input",
168
+ onChange: oe,
169
+ value: Q,
170
+ "aria-label": "Search countries",
171
+ "data-automation-id": "country-code-search-input"
172
+ }))), w.length > 0 ? w.map((e, o) => {
173
+ const S = te(o, e.dial_code === E);
174
+ return /* @__PURE__ */ t.createElement("div", c({
175
+ key: e.code
176
+ }, S, {
177
+ className: `phone-input-container-se-design-country-code-list-item ${ne === o ? "highlighted" : ""} ${e.dial_code === E ? "selected" : ""}`,
178
+ onClick: () => {
179
+ m.current = !0, I(e.dial_code);
180
+ },
181
+ onMouseEnter: () => J(o)
182
+ }), /* @__PURE__ */ t.createElement("img", {
183
+ src: `https://flagcdn.com/${e.code.toLowerCase()}.svg`,
184
+ alt: "",
185
+ "aria-hidden": "true",
186
+ width: "16"
187
+ }), /* @__PURE__ */ t.createElement("span", null, e.name), /* @__PURE__ */ t.createElement("span", null, "(", e.dial_code, ")"));
188
+ }) : /* @__PURE__ */ t.createElement("div", {
189
+ className: "phone-input-container-se-design-country-code-list-item-no-results",
190
+ role: "status"
191
+ }, "No results found"))), r && /* @__PURE__ */ t.createElement("div", {
192
+ id: j,
193
+ className: "error-message",
194
+ role: "alert"
195
+ }, u));
85
196
  };
86
197
  export {
87
- P as BreadCrumbs
198
+ ve as PhoneInput
88
199
  };
89
200
  //# sourceMappingURL=index50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index50.js","sources":["../src/components/BreadCrumbs/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { Popover } from '../Popover';\nimport { MenuList } from '../MenuList';\n\nimport './style.scss';\n\ninterface Crumb {\n id: string | number;\n label: string;\n href?: string;\n automationId?: string;\n}\n\nconst breadCrumbsClassNames = {\n container: 'se-design-breadcrumbs flex items-center',\n itemLabel: 'se-design-breadcrumbs-item-label inline-flex items-center w-fit',\n};\n\ninterface BreadCrumbsProps {\n crumbs: Crumb[];\n onCrumbClick?: (crumb: Crumb) => void;\n className?: any;\n /** Accessible name for the breadcrumb navigation landmark. Defaults to \"Breadcrumb\". */\n ariaLabel?: string;\n /** Heading level to use when only a single crumb is provided. Defaults to 1. */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nexport const BreadCrumbs: React.FC<BreadCrumbsProps> = ({ crumbs, onCrumbClick, className = '', ariaLabel = 'Breadcrumb', headingLevel = 1 }) => {\n const isSingleCrumb = crumbs?.length === 1;\n\n if (isSingleCrumb) {\n const HeadingTag = `h${headingLevel}` as React.ElementType;\n return (\n <div className={`${breadCrumbsClassNames.container} ${className}`} data-automation-id=\"breadcrumbs-container\">\n <HeadingTag className={`${breadCrumbsClassNames.itemLabel} single-crumb`}>\n {crumbs[0].label}\n </HeadingTag>\n </div>\n );\n }\n\n const shouldShowDropdown = crumbs?.length > 3;\n const visibleCrumbs = shouldShowDropdown ? crumbs?.slice(-2) : crumbs;\n const dropdownCrumbs = shouldShowDropdown ? crumbs?.slice(0, -2) : [];\n\n const isCurrentPage = (index: number) => index === visibleCrumbs?.length - 1;\n\n const getLabelClassNames = (index: number) => {\n if (isCurrentPage(index)) {\n return `${breadCrumbsClassNames.itemLabel} highlighted-crumb`;\n }\n return `${breadCrumbsClassNames.itemLabel} unhighlighted-crumb`;\n };\n\n return (\n <nav className={`${breadCrumbsClassNames.container} ${className}`} aria-label={ariaLabel} data-automation-id=\"breadcrumbs-container\">\n {dropdownCrumbs?.length > 0 && (\n <Popover\n className=\"se-design-overflow-breadcrumbs\"\n position=\"bottom-left\"\n noBorder\n ariaLabel=\"Show more breadcrumbs\"\n renderPopoverSrcElement={({ displayPopover }) => {\n return (\n <div\n className={`overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${\n displayPopover ? 'bg-[var(--color-blue-200)]' : ''\n }`}\n data-automation-id=\"breadcrumbs-kebab-menu\"\n >\n <Icon name=\"kebab-menu\" />\n </div>\n );\n }}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList\n items={dropdownCrumbs.map((crumb) => ({\n id: String(crumb?.id),\n label: crumb?.label,\n onClick: () => {\n onCrumbClick?.(crumb);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n <ol className=\"se-design-breadcrumbs-list inline-flex items-center\">\n {visibleCrumbs?.map((crumb, index) => {\n const Tag = isCurrentPage(index) ? 'span' : 'a';// current page should not be clickable\n return (\n <li key={crumb?.id} className=\"se-design-breadcrumbs-item inline-flex items-center w-fit text-xl\">\n {(index > 0 || shouldShowDropdown) && <Icon name=\"chevron\" rotation={'270'} />}\n <Tag\n {...(isCurrentPage(index)\n ? { 'aria-current': 'page' as const }\n : {\n href: crumb.href ?? '#',\n onClick: (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (!crumb.href) e.preventDefault();\n onCrumbClick?.(crumb);\n }\n })}\n className={`${getLabelClassNames(index)}${!isCurrentPage(index) ? ' cursor-pointer focus-outline' : ''}`}\n data-automation-id={crumb?.automationId || `breadcrumbs-item-${index}`}\n >\n {crumb?.label}\n </Tag>\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n"],"names":["breadCrumbsClassNames","container","itemLabel","BreadCrumbs","crumbs","onCrumbClick","className","ariaLabel","headingLevel","length","HeadingTag","React","createElement","label","shouldShowDropdown","visibleCrumbs","slice","dropdownCrumbs","isCurrentPage","index","getLabelClassNames","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","renderPopoverContents","closePopoverCb","MenuList","items","map","crumb","id","String","onClick","Tag","key","rotation","_extends","href","e","preventDefault","automationId"],"mappings":"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"}
1
+ {"version":3,"file":"index50.js","sources":["../src/components/PhoneInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport './style.scss';\nimport countriesInfoJson from './countriesInfo.json';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { getA11yNameAttributes, useCombobox } from '../../utils/a11y';\n\nexport interface PhoneInputProps {\n onCountrycodeChange: (countryCode: string) => void;\n onNumberChange: (number: string) => void;\n error?: boolean;\n errorMessage?: string;\n value?: {\n countryCode: string;\n number: string;\n };\n label?: string;\n automationId?: string;\n /**\n * Accessible label for the entire phone input group (role=\"group\").\n * Provides context for screen readers (e.g., \"Two-step verification phone number for signer 1\").\n */\n ariaLabel?: string;\n /**\n * ID(s) of element(s) that label the group (highest precedence over ariaLabel).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) providing additional description for the phone number input.\n */\n ariaDescribedBy?: string;\n /**\n * Override aria-label for the phone number input specifically.\n * Defaults to the visible label text or 'Phone number'.\n */\n phoneNumberAriaLabel?: string;\n /**\n * Override aria-label for the country code combobox button.\n * Defaults to \"Select country code. Current: {name} {dial_code}\".\n */\n countryCodeAriaLabel?: string;\n /**\n * Whether the input is disabled\n */\n disabled?: boolean;\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n onCountrycodeChange,\n onNumberChange,\n error,\n errorMessage,\n value,\n label,\n automationId = '',\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n phoneNumberAriaLabel,\n countryCodeAriaLabel,\n disabled = false\n}) => {\n const [countryCode, setCountryCode] = useState(value?.countryCode || countriesInfoJson[0].dial_code);\n const [displaySelectCountryCode, setDisplaySelectCountryCode] = useState(false);\n const [countriesInfo, setCountriesInfo] = useState(countriesInfoJson);\n const [searchValue, setSearchValue] = useState('');\n const [enteredNumber, setEnteredNumber] = useState('');\n const containerRef = useRef<HTMLDivElement>(null);\n const countryButtonRef = useRef<HTMLButtonElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const restoreFocusToButtonRef = useRef(false);\n\n // Generate stable IDs for ARIA relationships\n const labelId = useStableId(automationId, 'phone-label');\n const listboxId = useStableId(automationId, 'phone-listbox');\n const phoneInputId = useStableId(automationId, 'phone-input');\n const errorId = useStableId(automationId, 'phone-error');\n\n const countryInfo = countriesInfoJson.find((country) => country.dial_code === countryCode);\n\n // Close dropdown and reset state\n const closeDropdown = useCallback(() => {\n setDisplaySelectCountryCode(false);\n setSearchValue('');\n setCountriesInfo(countriesInfoJson);\n }, []);\n\n const handleCountryCodeSelect = useCallback(\n (country: string) => {\n if (country) {\n setCountryCode(country);\n onCountrycodeChange(country);\n }\n closeDropdown();\n // Focus return is handled by useEffect that watches displaySelectCountryCode\n },\n [onCountrycodeChange, closeDropdown]\n );\n\n const handleSelectFromDropdown = useCallback(\n (country: typeof countriesInfoJson[0]) => {\n restoreFocusToButtonRef.current = true;\n handleCountryCodeSelect(country.dial_code);\n },\n [handleCountryCodeSelect]\n );\n\n // Use comprehensive useCombobox hook for country search\n const {\n containerProps,\n inputProps: comboboxInputProps,\n listboxProps,\n getOptionProps,\n highlightedIndex,\n setHighlightedIndex\n } = useCombobox({\n items: countriesInfo,\n isOpen: displaySelectCountryCode,\n onOpenChange: setDisplaySelectCountryCode,\n onSelect: handleSelectFromDropdown,\n listboxId\n });\n\n const handleCountryCodeSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\n const searchVal = event.target.value;\n setSearchValue(searchVal);\n setHighlightedIndex(-1);\n const filteredCountries = countriesInfoJson.filter(\n (country) =>\n country.name.toLowerCase().includes(searchVal.toLowerCase()) ||\n country.dial_code.toLowerCase().includes(searchVal.toLowerCase()) ||\n country.code.toLowerCase().includes(searchVal.toLowerCase())\n );\n setCountriesInfo(filteredCountries);\n };\n\n // Return focus to button when dropdown closes\n const prevDisplaySelectCountryCodeRef = useRef(displaySelectCountryCode);\n useEffect(() => {\n let rafId: number | null = null;\n // If dropdown was open and is now closed, return focus to button\n // ONLY when the close was triggered from within the component (Escape/selection),\n // not when the user moved focus outside (focus-out dismissal).\n if (prevDisplaySelectCountryCodeRef.current && !displaySelectCountryCode && restoreFocusToButtonRef.current) {\n rafId = requestAnimationFrame(() => {\n countryButtonRef.current?.focus();\n });\n }\n if (prevDisplaySelectCountryCodeRef.current && !displaySelectCountryCode) {\n restoreFocusToButtonRef.current = false;\n }\n prevDisplaySelectCountryCodeRef.current = displaySelectCountryCode;\n return () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n }\n };\n }, [displaySelectCountryCode]);\n\n useEffect(() => {\n if (value) {\n setCountryCode(value.countryCode);\n setEnteredNumber(value.number);\n }\n }, [value]);\n\n // Focus search input when dropdown opens\n useEffect(() => {\n let rafId: number | null = null;\n if (displaySelectCountryCode) {\n rafId = requestAnimationFrame(() => {\n searchInputRef.current?.focus();\n });\n }\n return () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n }\n };\n }, [displaySelectCountryCode]);\n\n const handleEnteredNumberChange = (val: string) => {\n const numericValue = val.replace(/\\D/g, ''); // Remove non-numeric characters\n setEnteredNumber(numericValue);\n onNumberChange(numericValue);\n };\n\n const toggleDropdown = useCallback(() => {\n if (disabled) return;\n setDisplaySelectCountryCode((prev) => !prev);\n }, [disabled]);\n\n const handleCountryButtonKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n toggleDropdown();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!displaySelectCountryCode) {\n setDisplaySelectCountryCode(true);\n }\n break;\n // Escape is handled by useDismissOnEscape hook\n }\n },\n [disabled, displaySelectCountryCode, toggleDropdown]\n );\n\n // Group label (role=\"group\"): ariaLabelledBy > ariaLabel > visible label > fallback\n const groupAriaLabelledBy = ariaLabelledBy || (!ariaLabel && label ? labelId : undefined);\n const groupAriaLabel = !ariaLabelledBy ? (ariaLabel || (!label ? 'Phone number' : undefined)) : undefined;\n const groupA11yProps = getA11yNameAttributes({ ariaLabelledBy: groupAriaLabelledBy, ariaLabel: groupAriaLabel });\n\n // Phone number input: caller override > visible label > fallback 'Phone number'\n const phoneInputA11yProps = getA11yNameAttributes({\n ariaLabelledBy: !phoneNumberAriaLabel && label ? labelId : undefined,\n ariaLabel: phoneNumberAriaLabel || (!label ? 'Phone number' : undefined),\n ariaDescribedBy: error ? errorId : ariaDescribedBy\n });\n\n // Country code button label: caller override > default dynamic label\n const computedCountryCodeAriaLabel = countryCodeAriaLabel ||\n `Select country code. Current: ${countryInfo?.name} ${countryInfo?.dial_code}`;\n\n return (\n <div \n className=\"phone-input-container-se-design-main-container\" \n data-automation-id={automationId}\n {...containerProps}\n onKeyDownCapture={(e) => {\n if (e.key === 'Escape' && displaySelectCountryCode) {\n restoreFocusToButtonRef.current = true;\n }\n containerProps.onKeyDownCapture(e);\n }}\n >\n {label && (\n <div id={labelId} className=\"label-container\">\n {label}\n </div>\n )}\n <div\n role=\"group\"\n {...groupA11yProps}\n className={`phone-input-container-se-design-main ${error ? 'error' : ''}`}\n ref={containerRef}\n >\n <div className=\"phone-input-container-se-design\">\n <button\n ref={countryButtonRef}\n type=\"button\"\n className={`phone-input-container-se-design-country-code focus-outline rounded ${disabled ? 'cursor-not-allowed opacity-60' : ''}`}\n onClick={toggleDropdown}\n onKeyDown={handleCountryButtonKeyDown}\n aria-haspopup=\"listbox\"\n aria-expanded={displaySelectCountryCode}\n aria-controls={displaySelectCountryCode ? listboxId : undefined}\n aria-label={computedCountryCodeAriaLabel}\n disabled={disabled}\n data-automation-id=\"country-code-selector\"\n >\n <img\n src={`https://flagcdn.com/${countryInfo?.code.toLowerCase()}.svg`}\n alt=\"\"\n aria-hidden=\"true\"\n width=\"16\"\n />\n <span>{countryInfo?.dial_code}</span>\n <Icon\n name=\"chevron\"\n className={!displaySelectCountryCode ? '' : 'rotate-180'}\n aria-hidden=\"true\"\n />\n </button>\n <span className=\"divider\" aria-hidden=\"true\" />\n <input\n id={phoneInputId}\n type=\"tel\"\n placeholder=\"Enter phone number\"\n className={`phone-input-container-se-design-phone-number-input ${disabled ? 'disabled' : ''}`}\n onChange={(event) => handleEnteredNumberChange(event.target.value)}\n value={enteredNumber}\n pattern=\"[0-9]*\"\n disabled={disabled}\n aria-invalid={error || undefined}\n {...phoneInputA11yProps}\n data-automation-id=\"phone-number-input-field\"\n />\n </div>\n\n {displaySelectCountryCode && (\n <div\n {...listboxProps}\n className=\"phone-input-container-se-design-country-code-list\"\n aria-label=\"Select country\"\n data-automation-id=\"country-code-list\"\n >\n <div className=\"search-input-wrapper\">\n <Icon name=\"search\" className=\"search-icon\" aria-hidden=\"true\" />\n <input\n ref={searchInputRef}\n {...comboboxInputProps}\n type=\"text\"\n placeholder=\"Search countries\"\n className=\"phone-input-container-se-design-country-code-list-item-input\"\n onChange={handleCountryCodeSearch}\n value={searchValue}\n aria-label=\"Search countries\"\n data-automation-id=\"country-code-search-input\"\n />\n </div>\n {countriesInfo.length > 0 ? (\n countriesInfo.map((country, index) => {\n const optionProps = getOptionProps(index, country.dial_code === countryCode);\n return (\n <div\n key={country.code}\n {...optionProps}\n className={`phone-input-container-se-design-country-code-list-item ${\n highlightedIndex === index ? 'highlighted' : ''\n } ${country.dial_code === countryCode ? 'selected' : ''}`}\n onClick={() => {\n restoreFocusToButtonRef.current = true;\n handleCountryCodeSelect(country.dial_code);\n }}\n onMouseEnter={() => setHighlightedIndex(index)}\n >\n <img\n src={`https://flagcdn.com/${country.code.toLowerCase()}.svg`}\n alt=\"\"\n aria-hidden=\"true\"\n width=\"16\"\n />\n <span>{country.name}</span>\n <span>({country.dial_code})</span>\n </div>\n );\n })\n ) : (\n <div className=\"phone-input-container-se-design-country-code-list-item-no-results\" role=\"status\">\n No results found\n </div>\n )}\n </div>\n )}\n </div>\n {error && (\n <div id={errorId} className=\"error-message\" role=\"alert\">\n {errorMessage}\n </div>\n )}\n </div>\n );\n};\n"],"names":["PhoneInput","onCountrycodeChange","onNumberChange","error","errorMessage","value","label","automationId","ariaLabel","ariaLabelledBy","ariaDescribedBy","phoneNumberAriaLabel","countryCodeAriaLabel","disabled","countryCode","setCountryCode","useState","countriesInfoJson","dial_code","displaySelectCountryCode","setDisplaySelectCountryCode","countriesInfo","setCountriesInfo","searchValue","setSearchValue","enteredNumber","setEnteredNumber","containerRef","useRef","countryButtonRef","searchInputRef","restoreFocusToButtonRef","labelId","useStableId","listboxId","phoneInputId","errorId","countryInfo","find","country","closeDropdown","useCallback","handleCountryCodeSelect","handleSelectFromDropdown","current","containerProps","inputProps","comboboxInputProps","listboxProps","getOptionProps","highlightedIndex","setHighlightedIndex","useCombobox","items","isOpen","onOpenChange","onSelect","handleCountryCodeSearch","event","searchVal","target","filteredCountries","filter","name","toLowerCase","includes","code","prevDisplaySelectCountryCodeRef","useEffect","rafId","requestAnimationFrame","focus","cancelAnimationFrame","number","handleEnteredNumberChange","val","numericValue","replace","toggleDropdown","prev","handleCountryButtonKeyDown","e","key","preventDefault","groupA11yProps","getA11yNameAttributes","undefined","groupAriaLabel","phoneInputA11yProps","computedCountryCodeAriaLabel","React","createElement","_extends","className","onKeyDownCapture","id","role","ref","type","onClick","onKeyDown","src","alt","width","Icon","placeholder","onChange","pattern","length","map","index","optionProps","onMouseEnter"],"mappings":"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"}