se-design 1.0.75 → 1.0.76-dev2

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 (484) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/AccessibleDiv/index.d.ts +24 -0
  3. package/dist/components/Checkbox/index.d.ts +12 -0
  4. package/dist/components/CustomAccordion/index.d.ts +1 -0
  5. package/dist/components/CustomModal/index.d.ts +15 -12
  6. package/dist/components/DatePicker/useDatePickerA11y.d.ts +50 -0
  7. package/dist/components/Dropdown/index.d.ts +15 -0
  8. package/dist/components/DropdownWithInputTags/index.d.ts +1 -0
  9. package/dist/components/Icon/index.d.ts +8 -2
  10. package/dist/components/InputWithIcon/index.d.ts +9 -1
  11. package/dist/components/LabelChip/index.d.ts +1 -0
  12. package/dist/components/Modal/index.d.ts +1 -0
  13. package/dist/components/PhoneInput/index.d.ts +13 -5
  14. package/dist/components/Popover/index.d.ts +2 -0
  15. package/dist/components/SidebarOverlay/index.d.ts +8 -0
  16. package/dist/components/index.d.ts +1 -0
  17. package/dist/index.js +144 -133
  18. package/dist/index.js.map +1 -1
  19. package/dist/index10.js +23 -59
  20. package/dist/index10.js.map +1 -1
  21. package/dist/index100.js +1 -1
  22. package/dist/index100.js.map +1 -1
  23. package/dist/index101.js +1 -1
  24. package/dist/index101.js.map +1 -1
  25. package/dist/index102.js +2 -2
  26. package/dist/index102.js.map +1 -1
  27. package/dist/index103.js +2 -2
  28. package/dist/index103.js.map +1 -1
  29. package/dist/index104.js +1 -1
  30. package/dist/index104.js.map +1 -1
  31. package/dist/index105.js +1 -1
  32. package/dist/index105.js.map +1 -1
  33. package/dist/index106.js +1 -1
  34. package/dist/index106.js.map +1 -1
  35. package/dist/index107.js +2 -2
  36. package/dist/index107.js.map +1 -1
  37. package/dist/index108.js +2 -2
  38. package/dist/index108.js.map +1 -1
  39. package/dist/index109.js +2 -2
  40. package/dist/index109.js.map +1 -1
  41. package/dist/index11.js +70 -63
  42. package/dist/index11.js.map +1 -1
  43. package/dist/index110.js +2 -2
  44. package/dist/index110.js.map +1 -1
  45. package/dist/index111.js +1 -1
  46. package/dist/index111.js.map +1 -1
  47. package/dist/index112.js +1 -1
  48. package/dist/index112.js.map +1 -1
  49. package/dist/index113.js +2 -2
  50. package/dist/index113.js.map +1 -1
  51. package/dist/index114.js +2 -2
  52. package/dist/index114.js.map +1 -1
  53. package/dist/index115.js +1 -1
  54. package/dist/index115.js.map +1 -1
  55. package/dist/index116.js +1 -1
  56. package/dist/index116.js.map +1 -1
  57. package/dist/index117.js +1 -1
  58. package/dist/index117.js.map +1 -1
  59. package/dist/index118.js +2 -2
  60. package/dist/index118.js.map +1 -1
  61. package/dist/index119.js +1 -1
  62. package/dist/index119.js.map +1 -1
  63. package/dist/index12.js +68 -33
  64. package/dist/index12.js.map +1 -1
  65. package/dist/index120.js +2 -2
  66. package/dist/index120.js.map +1 -1
  67. package/dist/index121.js +2 -2
  68. package/dist/index121.js.map +1 -1
  69. package/dist/index122.js +2 -2
  70. package/dist/index122.js.map +1 -1
  71. package/dist/index123.js +2 -2
  72. package/dist/index123.js.map +1 -1
  73. package/dist/index124.js +2 -2
  74. package/dist/index124.js.map +1 -1
  75. package/dist/index125.js +2 -2
  76. package/dist/index125.js.map +1 -1
  77. package/dist/index126.js +1 -1
  78. package/dist/index126.js.map +1 -1
  79. package/dist/index127.js +1 -1
  80. package/dist/index127.js.map +1 -1
  81. package/dist/index128.js +1 -1
  82. package/dist/index128.js.map +1 -1
  83. package/dist/index129.js +1 -1
  84. package/dist/index129.js.map +1 -1
  85. package/dist/index13.js +48 -14
  86. package/dist/index13.js.map +1 -1
  87. package/dist/index130.js +2 -2
  88. package/dist/index130.js.map +1 -1
  89. package/dist/index131.js +2 -2
  90. package/dist/index131.js.map +1 -1
  91. package/dist/index132.js +1 -1
  92. package/dist/index132.js.map +1 -1
  93. package/dist/index133.js +1 -1
  94. package/dist/index133.js.map +1 -1
  95. package/dist/index134.js +2 -2
  96. package/dist/index134.js.map +1 -1
  97. package/dist/index135.js +1 -1
  98. package/dist/index135.js.map +1 -1
  99. package/dist/index136.js +1 -1
  100. package/dist/index136.js.map +1 -1
  101. package/dist/index137.js +1 -1
  102. package/dist/index137.js.map +1 -1
  103. package/dist/index138.js +1 -1
  104. package/dist/index138.js.map +1 -1
  105. package/dist/index139.js +1 -1
  106. package/dist/index139.js.map +1 -1
  107. package/dist/index14.js +15 -9
  108. package/dist/index14.js.map +1 -1
  109. package/dist/index140.js +1 -1
  110. package/dist/index140.js.map +1 -1
  111. package/dist/index141.js +2 -2
  112. package/dist/index141.js.map +1 -1
  113. package/dist/index142.js +1 -1
  114. package/dist/index142.js.map +1 -1
  115. package/dist/index143.js +2 -2
  116. package/dist/index143.js.map +1 -1
  117. package/dist/index144.js +2 -2
  118. package/dist/index144.js.map +1 -1
  119. package/dist/index145.js +1 -1
  120. package/dist/index145.js.map +1 -1
  121. package/dist/index146.js +2 -2
  122. package/dist/index146.js.map +1 -1
  123. package/dist/index147.js +2 -2
  124. package/dist/index147.js.map +1 -1
  125. package/dist/index148.js +1 -1
  126. package/dist/index148.js.map +1 -1
  127. package/dist/index149.js +1 -1
  128. package/dist/index149.js.map +1 -1
  129. package/dist/index15.js +10 -218
  130. package/dist/index15.js.map +1 -1
  131. package/dist/index150.js +2 -2
  132. package/dist/index150.js.map +1 -1
  133. package/dist/index151.js +2 -2
  134. package/dist/index151.js.map +1 -1
  135. package/dist/index152.js +1 -1
  136. package/dist/index152.js.map +1 -1
  137. package/dist/index153.js +2 -2
  138. package/dist/index153.js.map +1 -1
  139. package/dist/index154.js +2 -2
  140. package/dist/index154.js.map +1 -1
  141. package/dist/index155.js +1 -1
  142. package/dist/index155.js.map +1 -1
  143. package/dist/index156.js +1 -1
  144. package/dist/index156.js.map +1 -1
  145. package/dist/index157.js +1 -1
  146. package/dist/index157.js.map +1 -1
  147. package/dist/index158.js +1 -1
  148. package/dist/index158.js.map +1 -1
  149. package/dist/index159.js +1 -1
  150. package/dist/index159.js.map +1 -1
  151. package/dist/index16.js +220 -60
  152. package/dist/index16.js.map +1 -1
  153. package/dist/index160.js +1 -1
  154. package/dist/index160.js.map +1 -1
  155. package/dist/index161.js +1 -1
  156. package/dist/index161.js.map +1 -1
  157. package/dist/index162.js +1 -1
  158. package/dist/index162.js.map +1 -1
  159. package/dist/index163.js +1 -1
  160. package/dist/index163.js.map +1 -1
  161. package/dist/index164.js +1 -1
  162. package/dist/index164.js.map +1 -1
  163. package/dist/index165.js +1 -1
  164. package/dist/index165.js.map +1 -1
  165. package/dist/index166.js +1 -1
  166. package/dist/index166.js.map +1 -1
  167. package/dist/index167.js +1 -1
  168. package/dist/index167.js.map +1 -1
  169. package/dist/index168.js +1 -1
  170. package/dist/index168.js.map +1 -1
  171. package/dist/index169.js +1 -1
  172. package/dist/index169.js.map +1 -1
  173. package/dist/index17.js +60 -99
  174. package/dist/index17.js.map +1 -1
  175. package/dist/index170.js +1 -1
  176. package/dist/index170.js.map +1 -1
  177. package/dist/index171.js +1 -1
  178. package/dist/index171.js.map +1 -1
  179. package/dist/index172.js +1 -1
  180. package/dist/index172.js.map +1 -1
  181. package/dist/index173.js +2 -2
  182. package/dist/index173.js.map +1 -1
  183. package/dist/index174.js +1 -1
  184. package/dist/index174.js.map +1 -1
  185. package/dist/index175.js +1 -1
  186. package/dist/index175.js.map +1 -1
  187. package/dist/index176.js +1 -1
  188. package/dist/index176.js.map +1 -1
  189. package/dist/index177.js +2 -2
  190. package/dist/index177.js.map +1 -1
  191. package/dist/index178.js +1 -1
  192. package/dist/index178.js.map +1 -1
  193. package/dist/index179.js +1 -1
  194. package/dist/index179.js.map +1 -1
  195. package/dist/index18.js +95 -282
  196. package/dist/index18.js.map +1 -1
  197. package/dist/index180.js +2 -2
  198. package/dist/index180.js.map +1 -1
  199. package/dist/index181.js +1 -1
  200. package/dist/index181.js.map +1 -1
  201. package/dist/index182.js +1 -1
  202. package/dist/index182.js.map +1 -1
  203. package/dist/index183.js +1 -1
  204. package/dist/index183.js.map +1 -1
  205. package/dist/index184.js +2 -2
  206. package/dist/index184.js.map +1 -1
  207. package/dist/index185.js +1 -1
  208. package/dist/index185.js.map +1 -1
  209. package/dist/index186.js +1 -1
  210. package/dist/index186.js.map +1 -1
  211. package/dist/index187.js +2 -2
  212. package/dist/index187.js.map +1 -1
  213. package/dist/index188.js +1 -1
  214. package/dist/index188.js.map +1 -1
  215. package/dist/index189.js +2 -2
  216. package/dist/index189.js.map +1 -1
  217. package/dist/index19.js +323 -16
  218. package/dist/index19.js.map +1 -1
  219. package/dist/index190.js +2 -149
  220. package/dist/index190.js.map +1 -1
  221. package/dist/index191.js +2 -9
  222. package/dist/index191.js.map +1 -1
  223. package/dist/index192.js +2 -6
  224. package/dist/index192.js.map +1 -1
  225. package/dist/index193.js +2 -5
  226. package/dist/index193.js.map +1 -1
  227. package/dist/index194.js +2 -40
  228. package/dist/index194.js.map +1 -1
  229. package/dist/index195.js +2 -59
  230. package/dist/index195.js.map +1 -1
  231. package/dist/index196.js +2 -23
  232. package/dist/index196.js.map +1 -1
  233. package/dist/index197.js +152 -0
  234. package/dist/index197.js.map +1 -0
  235. package/dist/index198.js +12 -0
  236. package/dist/index198.js.map +1 -0
  237. package/dist/index199.js +5 -23
  238. package/dist/index199.js.map +1 -1
  239. package/dist/index20.js +15 -31
  240. package/dist/index20.js.map +1 -1
  241. package/dist/index200.js +8 -0
  242. package/dist/index200.js.map +1 -0
  243. package/dist/index201.js +36 -80
  244. package/dist/index201.js.map +1 -1
  245. package/dist/index206.js +26 -0
  246. package/dist/index206.js.map +1 -0
  247. package/dist/index207.js +71 -0
  248. package/dist/index207.js.map +1 -0
  249. package/dist/index21.js +33 -61
  250. package/dist/index21.js.map +1 -1
  251. package/dist/{index210.js → index215.js} +1 -1
  252. package/dist/{index210.js.map → index215.js.map} +1 -1
  253. package/dist/index22.js +57 -76
  254. package/dist/index22.js.map +1 -1
  255. package/dist/{index218.js → index223.js} +1 -1
  256. package/dist/{index218.js.map → index223.js.map} +1 -1
  257. package/dist/{index221.js → index226.js} +2 -2
  258. package/dist/{index221.js.map → index226.js.map} +1 -1
  259. package/dist/index23.js +83 -21
  260. package/dist/index23.js.map +1 -1
  261. package/dist/index235.js +171 -8
  262. package/dist/index235.js.map +1 -1
  263. package/dist/index236.js +3 -9
  264. package/dist/index236.js.map +1 -1
  265. package/dist/index238.js +18 -169
  266. package/dist/index238.js.map +1 -1
  267. package/dist/index239.js +10 -11
  268. package/dist/index239.js.map +1 -1
  269. package/dist/index24.js +20 -222
  270. package/dist/index24.js.map +1 -1
  271. package/dist/index240.js +8 -4
  272. package/dist/index240.js.map +1 -1
  273. package/dist/index241.js +4 -5
  274. package/dist/index241.js.map +1 -1
  275. package/dist/index242.js +168 -36
  276. package/dist/index242.js.map +1 -1
  277. package/dist/index243.js +11 -2
  278. package/dist/index243.js.map +1 -1
  279. package/dist/index244.js +5 -7
  280. package/dist/index244.js.map +1 -1
  281. package/dist/index245.js +5 -326
  282. package/dist/index245.js.map +1 -1
  283. package/dist/index246.js +36 -48
  284. package/dist/index246.js.map +1 -1
  285. package/dist/index247.js +2 -2
  286. package/dist/index248.js +7 -75
  287. package/dist/index248.js.map +1 -1
  288. package/dist/index249.js +308 -74
  289. package/dist/index249.js.map +1 -1
  290. package/dist/index25.js +299 -43
  291. package/dist/index25.js.map +1 -1
  292. package/dist/index250.js +45 -47
  293. package/dist/index250.js.map +1 -1
  294. package/dist/index251.js +2 -8
  295. package/dist/index251.js.map +1 -1
  296. package/dist/index252.js +75 -4
  297. package/dist/index252.js.map +1 -1
  298. package/dist/index253.js +89 -48
  299. package/dist/index253.js.map +1 -1
  300. package/dist/index254.js +52 -2
  301. package/dist/index254.js.map +1 -1
  302. package/dist/index255.js +8 -2
  303. package/dist/index255.js.map +1 -1
  304. package/dist/index256.js +8 -0
  305. package/dist/index256.js.map +1 -0
  306. package/dist/index257.js +55 -0
  307. package/dist/index257.js.map +1 -0
  308. package/dist/index258.js +5 -0
  309. package/dist/index258.js.map +1 -0
  310. package/dist/index259.js +5 -0
  311. package/dist/index259.js.map +1 -0
  312. package/dist/index26.js +48 -23
  313. package/dist/index26.js.map +1 -1
  314. package/dist/index27.js +21 -81
  315. package/dist/index27.js.map +1 -1
  316. package/dist/index28.js +101 -138
  317. package/dist/index28.js.map +1 -1
  318. package/dist/index29.js +139 -128
  319. package/dist/index29.js.map +1 -1
  320. package/dist/index3.js +57 -98
  321. package/dist/index3.js.map +1 -1
  322. package/dist/index30.js +133 -69
  323. package/dist/index30.js.map +1 -1
  324. package/dist/index31.js +67 -96
  325. package/dist/index31.js.map +1 -1
  326. package/dist/index32.js +96 -71
  327. package/dist/index32.js.map +1 -1
  328. package/dist/index33.js +70 -38
  329. package/dist/index33.js.map +1 -1
  330. package/dist/index34.js +40 -71
  331. package/dist/index34.js.map +1 -1
  332. package/dist/index35.js +67 -82
  333. package/dist/index35.js.map +1 -1
  334. package/dist/index36.js +99 -54
  335. package/dist/index36.js.map +1 -1
  336. package/dist/index37.js +53 -280
  337. package/dist/index37.js.map +1 -1
  338. package/dist/index38.js +283 -70
  339. package/dist/index38.js.map +1 -1
  340. package/dist/index39.js +69 -80
  341. package/dist/index39.js.map +1 -1
  342. package/dist/index4.js +102 -42
  343. package/dist/index4.js.map +1 -1
  344. package/dist/index40.js +82 -32
  345. package/dist/index40.js.map +1 -1
  346. package/dist/index41.js +26 -44
  347. package/dist/index41.js.map +1 -1
  348. package/dist/index42.js +45 -67
  349. package/dist/index42.js.map +1 -1
  350. package/dist/index43.js +65 -49
  351. package/dist/index43.js.map +1 -1
  352. package/dist/index44.js +53 -139
  353. package/dist/index44.js.map +1 -1
  354. package/dist/index45.js +132 -179
  355. package/dist/index45.js.map +1 -1
  356. package/dist/index46.js +194 -35
  357. package/dist/index46.js.map +1 -1
  358. package/dist/index47.js +34 -29
  359. package/dist/index47.js.map +1 -1
  360. package/dist/index48.js +31 -145
  361. package/dist/index48.js.map +1 -1
  362. package/dist/index49.js +131 -70
  363. package/dist/index49.js.map +1 -1
  364. package/dist/index5.js +40 -315
  365. package/dist/index5.js.map +1 -1
  366. package/dist/index50.js +80 -371
  367. package/dist/index50.js.map +1 -1
  368. package/dist/index51.js +451 -91
  369. package/dist/index51.js.map +1 -1
  370. package/dist/index52.js +98 -38
  371. package/dist/index52.js.map +1 -1
  372. package/dist/index53.js +35 -35
  373. package/dist/index53.js.map +1 -1
  374. package/dist/index54.js +35 -90
  375. package/dist/index54.js.map +1 -1
  376. package/dist/index55.js +89 -159
  377. package/dist/index55.js.map +1 -1
  378. package/dist/index56.js +157 -143
  379. package/dist/index56.js.map +1 -1
  380. package/dist/index57.js +149 -33
  381. package/dist/index57.js.map +1 -1
  382. package/dist/index58.js +33 -86
  383. package/dist/index58.js.map +1 -1
  384. package/dist/index59.js +80 -113
  385. package/dist/index59.js.map +1 -1
  386. package/dist/index6.js +323 -43
  387. package/dist/index6.js.map +1 -1
  388. package/dist/index60.js +114 -62
  389. package/dist/index60.js.map +1 -1
  390. package/dist/index61.js +62 -147
  391. package/dist/index61.js.map +1 -1
  392. package/dist/index62.js +146 -312
  393. package/dist/index62.js.map +1 -1
  394. package/dist/index63.js +317 -44
  395. package/dist/index63.js.map +1 -1
  396. package/dist/index64.js +44 -143
  397. package/dist/index64.js.map +1 -1
  398. package/dist/index65.js +145 -12
  399. package/dist/index65.js.map +1 -1
  400. package/dist/index66.js +10 -44
  401. package/dist/index66.js.map +1 -1
  402. package/dist/index67.js +42 -15
  403. package/dist/index67.js.map +1 -1
  404. package/dist/index68.js +76 -48
  405. package/dist/index68.js.map +1 -1
  406. package/dist/index69.js +18 -58
  407. package/dist/index69.js.map +1 -1
  408. package/dist/index7.js +44 -51
  409. package/dist/index7.js.map +1 -1
  410. package/dist/index70.js +66 -5
  411. package/dist/index70.js.map +1 -1
  412. package/dist/index71.js +25 -7
  413. package/dist/index71.js.map +1 -1
  414. package/dist/index72.js +105 -0
  415. package/dist/index72.js.map +1 -0
  416. package/dist/index73.js +62 -2
  417. package/dist/index73.js.map +1 -1
  418. package/dist/index74.js +21 -2
  419. package/dist/index74.js.map +1 -1
  420. package/dist/index75.js +5 -2
  421. package/dist/index75.js.map +1 -1
  422. package/dist/index76.js +54 -2
  423. package/dist/index76.js.map +1 -1
  424. package/dist/index77.js +24 -2
  425. package/dist/index77.js.map +1 -1
  426. package/dist/index78.js +9 -2
  427. package/dist/index78.js.map +1 -1
  428. package/dist/index8.js +48 -85
  429. package/dist/index8.js.map +1 -1
  430. package/dist/index80.js +2 -2
  431. package/dist/index80.js.map +1 -1
  432. package/dist/index81.js +2 -2
  433. package/dist/index81.js.map +1 -1
  434. package/dist/index82.js +1 -1
  435. package/dist/index82.js.map +1 -1
  436. package/dist/index83.js +2 -2
  437. package/dist/index83.js.map +1 -1
  438. package/dist/index84.js +1 -1
  439. package/dist/index84.js.map +1 -1
  440. package/dist/index85.js +1 -1
  441. package/dist/index85.js.map +1 -1
  442. package/dist/index86.js +1 -1
  443. package/dist/index86.js.map +1 -1
  444. package/dist/index87.js +1 -1
  445. package/dist/index87.js.map +1 -1
  446. package/dist/index88.js +1 -1
  447. package/dist/index88.js.map +1 -1
  448. package/dist/index89.js +1 -1
  449. package/dist/index89.js.map +1 -1
  450. package/dist/index9.js +91 -27
  451. package/dist/index9.js.map +1 -1
  452. package/dist/index90.js +1 -1
  453. package/dist/index90.js.map +1 -1
  454. package/dist/index91.js +1 -1
  455. package/dist/index91.js.map +1 -1
  456. package/dist/index92.js +1 -1
  457. package/dist/index92.js.map +1 -1
  458. package/dist/index93.js +1 -1
  459. package/dist/index93.js.map +1 -1
  460. package/dist/index94.js +1 -1
  461. package/dist/index94.js.map +1 -1
  462. package/dist/index95.js +1 -1
  463. package/dist/index95.js.map +1 -1
  464. package/dist/index96.js +1 -1
  465. package/dist/index96.js.map +1 -1
  466. package/dist/index97.js +1 -1
  467. package/dist/index97.js.map +1 -1
  468. package/dist/index98.js +1 -1
  469. package/dist/index98.js.map +1 -1
  470. package/dist/index99.js +1 -1
  471. package/dist/index99.js.map +1 -1
  472. package/package.json +1 -1
  473. package/dist/index230.js +0 -7
  474. package/dist/index230.js.map +0 -1
  475. package/dist/index232.js +0 -25
  476. package/dist/index232.js.map +0 -1
  477. package/dist/index233.js +0 -57
  478. package/dist/index233.js.map +0 -1
  479. package/dist/index234.js +0 -22
  480. package/dist/index234.js.map +0 -1
  481. package/dist/index237.js +0 -8
  482. package/dist/index237.js.map +0 -1
  483. package/dist/index79.js +0 -5
  484. package/dist/index79.js.map +0 -1
package/dist/index37.js CHANGED
@@ -1,285 +1,58 @@
1
- import a, { forwardRef as de, useState as I, useRef as V, useCallback as H, useEffect as B, useImperativeHandle as fe } from "react";
2
- import { Popover as ve } from "./index18.js";
3
- import { Icon as we } from "./index5.js";
4
- import { Checkbox as Ee } from "./index22.js";
5
- import { Button as G } from "./index3.js";
6
- import { useCombobox as ke } from "./index201.js";
7
- import { useStableId as be } from "./index192.js";
1
+ import a, { useState as p, useRef as N } from "react";
8
2
  /* empty css */
9
- function g() {
10
- return g = Object.assign ? Object.assign.bind() : function(v) {
11
- for (var i = 1; i < arguments.length; i++) {
12
- var E = arguments[i];
13
- for (var k in E) ({}).hasOwnProperty.call(E, k) && (v[k] = E[k]);
14
- }
15
- return v;
16
- }, g.apply(null, arguments);
17
- }
18
- const Te = /* @__PURE__ */ de(({
19
- value: v,
20
- onChange: i,
21
- placeholder: E = "Type to search or add custom tags...",
22
- className: k = "",
23
- options: h = [],
24
- renderOption: L,
25
- label: _,
26
- automationId: u = "",
27
- noOptionsMessage: q = "No options found",
28
- allowCustomTags: F = !0,
29
- disabled: l = !1,
30
- type: W = "select",
31
- showInput: J = !0,
32
- displayTagBy: K = "label"
33
- }, Q) => {
34
- const j = (t) => t.map((e) => {
35
- const n = h.find((o) => o.value === e);
36
- return n ? {
37
- label: n.label,
38
- value: n.value
39
- } : {
40
- label: e,
41
- value: e
42
- };
43
- }), [r, p] = I(() => j(v || [])), [s, S] = I(""), [A, X] = I(h), [d, c] = I(!1), Y = V(null), x = V(null), R = V(!1), b = W === "multi-select-without-cta", f = W === "multi-select" || b, Z = be(u, "dropdown-input-tags-listbox"), N = H((t) => {
44
- if (l) return;
45
- const e = [...r];
46
- e.some((n) => n.value === t.value) || (e.push({
47
- label: t.label,
48
- value: t.value
49
- }), p(e), i?.(e.map((n) => n.value))), S(""), c(!1);
50
- }, [l, r, i]), D = H((t, e) => {
51
- let n = [];
52
- t ? n = [...r, {
53
- label: e.label,
54
- value: e.value
55
- }] : n = r.filter((o) => o.value !== e.value), p(n), b && i?.(n.map((o) => o.value));
56
- }, [r, b, i]), y = "__add_custom_tag__", z = H((t) => {
57
- if (!l) {
58
- if (t.value === y) {
59
- const e = s.trim();
60
- if (!e) return;
61
- const n = [...r];
62
- n.some((o) => o.value === e) || (n.push({
63
- label: e,
64
- value: e
65
- }), p(n), i?.(n.map((o) => o.value))), S(""), c(!1);
66
- return;
67
- }
68
- if (f) {
69
- const e = r.some((n) => n.value === t.value);
70
- D(!e, t);
71
- } else
72
- N(t);
73
- }
74
- }, [l, f, r, s, i, D, N]), $ = A.length > 0 ? A : F && s.trim() ? [{
75
- id: y,
76
- label: `Add "${s.trim()}"`,
77
- value: y
78
- }] : [], {
79
- containerProps: ee,
80
- inputProps: U,
81
- listboxProps: te,
82
- getOptionProps: O,
83
- highlightedIndex: T,
84
- setHighlightedIndex: w
85
- } = ke({
86
- items: $,
87
- isOpen: d,
88
- onOpenChange: c,
89
- onSelect: z,
90
- listboxId: Z,
91
- hasItems: $.length > 0
92
- });
93
- B(() => {
94
- if (R.current) {
95
- R.current = !1;
96
- return;
97
- }
98
- p(j(v || []));
99
- }, [v, h, d]), B(() => {
100
- const t = h.filter((e) => e.label.toLowerCase().includes(s.toLowerCase()) || e.value.toLowerCase().includes(s.toLowerCase()));
101
- X(t);
102
- }, [s, h]);
103
- const ne = (t) => {
104
- if (l) return;
105
- const e = r.filter((n, o) => o !== t);
106
- p(e), (!f || b || f && !d) && i?.(e.map((n) => n.value));
107
- }, ae = (t) => {
108
- if (!l) {
109
- if (t.key === "Backspace" && s === "" && r.length > 0) {
110
- t.preventDefault();
111
- const e = r.slice(0, -1);
112
- p(e), i?.(e.map((n) => n.value));
113
- return;
114
- }
115
- if (t.key === "Enter" && s.trim() && A.length === 0 && F) {
116
- t.preventDefault();
117
- const e = [...r];
118
- e.some((n) => n.value === s.trim()) || (e.push({
119
- label: s.trim(),
120
- value: s.trim()
121
- }), p(e), i?.(e.map((n) => n.value))), S(""), w(-1), c(!1);
122
- return;
123
- }
124
- U.onKeyDown(t);
125
- }
126
- }, le = (t) => {
127
- if (l) return;
128
- const e = t.target.value;
129
- S(e), w(-1), e.trim() && !d && c(!0);
130
- }, re = () => {
131
- l || (s.trim() || h.length > 0) && c(!0);
132
- }, oe = (t) => {
133
- l || (t.stopPropagation(), x.current?.focus(), !d && (s.trim() || h.length > 0) && c(!0));
134
- }, se = (t) => {
135
- if (l) {
136
- t.preventDefault(), t.stopPropagation();
137
- return;
138
- }
139
- t.target.closest(".input-with-tags-container") && t.stopPropagation();
140
- }, ie = () => {
141
- l || c(!d);
3
+ import { Icon as k } from "./index6.js";
4
+ function D({
5
+ value: g,
6
+ onChange: s,
7
+ placeholder: f,
8
+ className: d,
9
+ error: o,
10
+ errorMessage: h,
11
+ label: c,
12
+ automationId: w = ""
13
+ }) {
14
+ const [n, l] = p([...g]), [i, r] = p(""), u = N(null), m = (t) => {
15
+ const e = n.filter((y, E) => E !== t);
16
+ l(e), s?.(e);
17
+ }, v = (t) => {
18
+ if (t.key === "Enter" && i.trim()) {
19
+ t.preventDefault();
20
+ const e = [...n, i.trim()];
21
+ l(e), r(""), s?.(e);
22
+ } else t.key === "Backspace" && i === "" && n.length > 0 && m(n.length - 1);
142
23
  };
143
- fe(Q, () => ({
144
- toggleDropdown: ie
145
- }), []);
146
- const ce = (t, e, n, o) => {
147
- const C = r.some((P) => P.value === t.value), m = T === e, M = O(e, C);
148
- return /* @__PURE__ */ a.createElement("div", g({
149
- key: t.id
150
- }, M, {
151
- className: `dropdown-with-input-tags-option ${m ? "highlighted" : ""}`,
152
- onClick: () => !o && n(t),
153
- onMouseEnter: () => w(e),
154
- "data-automation-id": `${u}-option-${t.id}`
155
- }), /* @__PURE__ */ a.createElement("span", {
156
- className: "option-label"
157
- }, t.label), t.value !== t.label && /* @__PURE__ */ a.createElement("span", {
158
- className: "option-value"
159
- }, t.value));
160
- }, ue = () => {
161
- R.current = !0;
162
- const t = r.map((e) => e.value);
163
- i?.(t), c(!1);
164
- }, pe = () => {
165
- p([]);
166
- }, me = (t, e) => {
167
- const n = r.some((m) => m.value === t.value), o = T === e, C = O(e, n);
168
- return /* @__PURE__ */ a.createElement("div", g({
169
- key: t.id
170
- }, C, {
171
- className: `dropdown-with-input-tags-option dropdown-with-input-tags-multi-select-option ${o ? "highlighted" : ""}`,
172
- "aria-checked": n,
173
- onClick: () => !l && D(!n, t),
174
- onMouseEnter: () => w(e),
175
- "data-automation-id": `${u}-option-${t.id}`
176
- }), /* @__PURE__ */ a.createElement("span", {
177
- onClick: (m) => m.stopPropagation()
178
- }, /* @__PURE__ */ a.createElement(Ee, {
179
- automationId: "checkbox",
180
- className: "checkbox",
181
- defaultChecked: n,
182
- onChange: (m) => D(m, t),
183
- label: t.label
184
- })));
185
- }, ge = () => /* @__PURE__ */ a.createElement("div", {
186
- className: "dropdown-with-input-tags-ctas-container"
187
- }, /* @__PURE__ */ a.createElement(G, {
188
- label: "Clear",
189
- type: "link",
190
- size: "sm",
191
- onClick: pe,
192
- automationId: `${u}-clear-button`
193
- }), /* @__PURE__ */ a.createElement(G, {
194
- label: "Apply",
195
- type: "primary",
196
- size: "sm",
197
- onClick: ue,
198
- automationId: `${u}-apply-button`
199
- }));
200
- return /* @__PURE__ */ a.createElement("div", g({
201
- className: `dropdown-with-input-tags-wrapper ${k} ${l ? "disabled-wrapper" : ""}`,
202
- "data-automation-id": u
203
- }, ee), _ && /* @__PURE__ */ a.createElement("label", {
204
- id: `${u}-label`,
205
- className: "dropdown-with-input-tags-label"
206
- }, _), /* @__PURE__ */ a.createElement("div", {
207
- onClick: se
208
- }, /* @__PURE__ */ a.createElement(ve, {
209
- ref: Y,
210
- className: "dropdown-with-input-tags-popover",
211
- contentWidth: "full",
212
- position: "bottom-left",
213
- isPopoverOpen: !l && d,
214
- onPopoverToggle: l ? () => {
215
- } : c,
216
- disableClickToggle: !0,
217
- renderPopoverContents: ({
218
- closePopoverCb: t
219
- }) => /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("div", g({}, te, {
220
- className: "dropdown-with-input-tags-content"
221
- }, f && {
222
- "aria-multiselectable": "true"
223
- }), $.length > 0 ? $.map((e, n) => {
224
- if (e.value === y) {
225
- const P = T === n, he = O(n, !1);
226
- return /* @__PURE__ */ a.createElement("div", g({
227
- key: e.id
228
- }, he, {
229
- className: `dropdown-with-input-tags-option dropdown-with-input-tags-custom-option ${P ? "highlighted" : ""}`,
230
- onClick: () => {
231
- l || (z(e), t());
232
- },
233
- onMouseEnter: () => w(n)
234
- }), 'Add "', s.trim(), '"');
235
- }
236
- if (f)
237
- return me(e, n);
238
- const o = r.some((P) => P.value === e.value), C = T === n, M = {
239
- ...O(n, o),
240
- onMouseEnter: () => w(n),
241
- className: `dropdown-with-input-tags-option ${C ? "highlighted" : ""}`
242
- };
243
- return L ? L(e, M, N) : ce(e, n, N, l);
244
- }) : /* @__PURE__ */ a.createElement("div", {
245
- className: "dropdown-with-input-tags-no-options"
246
- }, /* @__PURE__ */ a.createElement("div", {
247
- className: "dropdown-with-input-tags-no-options-text",
248
- role: "status",
249
- "aria-live": "polite"
250
- }, q))), f && !b && ge()),
251
- renderPopoverSrcElement: () => /* @__PURE__ */ a.createElement("div", {
252
- className: "dropdown-with-input-tags-input-container"
253
- }, /* @__PURE__ */ a.createElement("div", {
254
- className: `input-with-tags-container ${l ? "disabled-input-with-tags-container" : ""}`,
255
- onClick: oe
256
- }, r.map((t, e) => /* @__PURE__ */ a.createElement("span", {
257
- key: e,
258
- className: "tag-in-inputwithtags"
259
- }, t[K], !l && /* @__PURE__ */ a.createElement(we, {
260
- name: "close",
261
- className: "close-icon-in-inputwithtags",
262
- ariaLabel: `Remove tag ${t[K]}`,
263
- onClick: () => ne(e),
264
- shouldStopPropagation: !0
265
- }))), (J || !r.length) && /* @__PURE__ */ a.createElement("input", g({
266
- ref: x
267
- }, U, {
268
- type: "text",
269
- value: s,
270
- onChange: le,
271
- onKeyDown: ae,
272
- onFocus: re,
273
- placeholder: r.length === 0 ? E : "",
274
- className: "input-with-tags-input",
275
- disabled: l,
276
- "aria-label": _ || "Search and select options"
277
- })))),
278
- automationId: u,
279
- popoverContentAutomationId: `${u}-content`
280
- })));
281
- });
24
+ return /* @__PURE__ */ a.createElement("div", {
25
+ className: "input-with-tags-main-container",
26
+ "data-automation-id": w
27
+ }, c && /* @__PURE__ */ a.createElement("div", {
28
+ className: "label-container"
29
+ }, c), /* @__PURE__ */ a.createElement("div", {
30
+ className: `input-with-tags-container ${o ? "input-with-tags-error" : ""} ${d}`,
31
+ onClick: () => u.current?.focus()
32
+ }, n.map((t, e) => /* @__PURE__ */ a.createElement("span", {
33
+ key: e,
34
+ className: "tag-in-inputwithtags",
35
+ "data-automation-id": `input-tag-${e}`
36
+ }, t, /* @__PURE__ */ a.createElement(k, {
37
+ name: "close",
38
+ className: "close-icon-in-inputwithtags",
39
+ ariaLabel: `Remove tag ${t}`,
40
+ onClick: () => m(e),
41
+ shouldStopPropagation: !0
42
+ }))), /* @__PURE__ */ a.createElement("input", {
43
+ className: "input-with-tags-input",
44
+ ref: u,
45
+ type: "text",
46
+ value: i,
47
+ onChange: (t) => r(t.target.value),
48
+ onKeyDown: v,
49
+ placeholder: f,
50
+ "data-automation-id": "input-with-tags-input-field"
51
+ })), o && /* @__PURE__ */ a.createElement("div", {
52
+ className: "error-message"
53
+ }, h));
54
+ }
282
55
  export {
283
- Te as DropdownWithInputTags
56
+ D as InputWithTags
284
57
  };
285
58
  //# sourceMappingURL=index37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index37.js","sources":["../src/components/DropdownWithInputTags/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef, ForwardedRef, useImperativeHandle, KeyboardEvent, useCallback } from 'react';\nimport { Popover, PopoverHandle } from '../Popover';\nimport { Icon } from '../Icon';\nimport { Checkbox } from '../Checkbox';\nimport { Button } from '../Button';\nimport { useCombobox } from '../../utils/a11y';\nimport { useStableId } from '../../utils/useStableId';\nimport './styles.scss';\n\nexport interface DropdownOption {\n id: string | number;\n label: string;\n value: string;\n [key: string]: any; // Allow additional properties\n}\n\nexport interface DropdownWithInputTagsHandle {\n toggleDropdown: () => void;\n}\n\nexport interface DropdownWithInputTagsProps {\n value: string[];\n onChange?: (tags: string[]) => void;\n placeholder?: string;\n className?: string;\n options?: DropdownOption[];\n renderOption?: (\n option: DropdownOption, \n props: { \n id: string; \n role: 'option'; \n 'aria-selected': boolean; \n onMouseEnter: () => void;\n className: string;\n },\n onSelect: (option: DropdownOption) => void\n ) => React.ReactNode;\n label?: string;\n automationId?: string;\n noOptionsMessage?: string;\n allowCustomTags?: boolean;\n disabled?: boolean;\n type?: 'select' | 'multi-select' |'multi-select-without-cta';\n showInput?: boolean;\n displayTagBy?: 'label' | 'value';\n}\n\nexport const DropdownWithInputTags = forwardRef<DropdownWithInputTagsHandle, DropdownWithInputTagsProps>(\n (\n {\n value,\n onChange,\n placeholder = \"Type to search or add custom tags...\",\n className = '',\n options = [],\n renderOption,\n label,\n automationId = '',\n noOptionsMessage = \"No options found\",\n allowCustomTags = true,\n disabled = false,\n type = 'select',\n showInput = true,\n displayTagBy = 'label'\n },\n ref: ForwardedRef<DropdownWithInputTagsHandle>\n ) => {\n // Define initValues at the top, right after props\n const initValues = (values: string[]) => {\n return values.map(val => {\n const found = options.find(opt => opt.value === val);\n return found ? { label: found.label, value: found.value } : { label: val, value: val };\n });\n };\n\n // Now use it in useState\n const [tags, setTags] = useState<{ label: string; value: string }[]>(() => {\n return initValues(value || []);\n });\n const [inputValue, setInputValue] = useState('');\n const [filteredOptions, setFilteredOptions] = useState<DropdownOption[]>(options);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const popoverRef = useRef<PopoverHandle>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const applyClickedRef = useRef<boolean>(false);\n \n const isMultiSelectWithoutCTA = type === 'multi-select-without-cta';\n const isMultiSelect = type === 'multi-select' ||isMultiSelectWithoutCTA;\n\n // Generate stable ID for listbox\n const listboxId = useStableId(automationId, 'dropdown-input-tags-listbox');\n\n const handleSelectOption = useCallback(\n (option: DropdownOption) => {\n if (disabled) return;\n\n const newTags = [...tags];\n if (!newTags.some((tag) => tag.value === option.value)) {\n newTags.push({ label: option.label, value: option.value });\n setTags(newTags);\n onChange?.(newTags.map((tag) => tag.value));\n }\n setInputValue('');\n setIsDropdownOpen(false);\n },\n [disabled, tags, onChange]\n );\n\n const handleMultiSelectDropdownOptionClick = useCallback(\n (isSelected: boolean, option: DropdownOption) => {\n let newSelectedTags: { label: string; value: string }[] = [];\n if (isSelected) {\n newSelectedTags = [...tags, { label: option.label, value: option.value }];\n } else {\n newSelectedTags = tags.filter((tag) => tag.value !== option.value);\n }\n setTags(newSelectedTags);\n if (isMultiSelectWithoutCTA) {\n onChange?.(newSelectedTags.map((tag) => tag.value));\n }\n },\n [tags, isMultiSelectWithoutCTA, onChange]\n );\n\n const ADD_CUSTOM_TAG_VALUE = '__add_custom_tag__';\n\n const handleSelectFromDropdown = useCallback((option: DropdownOption) => {\n if (disabled) return;\n\n if (option.value === ADD_CUSTOM_TAG_VALUE) {\n const trimmed = inputValue.trim();\n if (!trimmed) return;\n const newTags = [...tags];\n if (!newTags.some((tag) => tag.value === trimmed)) {\n newTags.push({ label: trimmed, value: trimmed });\n setTags(newTags);\n onChange?.(newTags.map((tag) => tag.value));\n }\n setInputValue('');\n setIsDropdownOpen(false);\n return;\n }\n\n if (isMultiSelect) {\n const isSelected = tags.some(tag => tag.value === option.value);\n handleMultiSelectDropdownOptionClick(!isSelected, option);\n } else {\n handleSelectOption(option);\n }\n }, [disabled, isMultiSelect, tags, inputValue, onChange, handleMultiSelectDropdownOptionClick, handleSelectOption]);\n\n const effectiveItems: DropdownOption[] =\n filteredOptions.length > 0\n ? filteredOptions\n : allowCustomTags && inputValue.trim()\n ? [{ id: ADD_CUSTOM_TAG_VALUE, label: `Add \"${inputValue.trim()}\"`, value: ADD_CUSTOM_TAG_VALUE }]\n : [];\n\n // Combobox hook for keyboard navigation and ARIA\n const {\n containerProps,\n inputProps: comboboxInputProps,\n listboxProps,\n getOptionProps,\n highlightedIndex,\n setHighlightedIndex\n } = useCombobox({\n items: effectiveItems,\n isOpen: isDropdownOpen,\n onOpenChange: setIsDropdownOpen,\n onSelect: handleSelectFromDropdown,\n listboxId,\n hasItems: effectiveItems.length > 0\n });\n\n\n useEffect(() => {\n if (applyClickedRef.current) {\n applyClickedRef.current = false;\n return;\n }\n setTags(initValues(value || []));\n }, [value, options, isDropdownOpen]);\n\n\n useEffect(() => {\n // const isInputEmpty = !inputValue.trim();\n const filtered = options.filter(option =>\n option.label.toLowerCase().includes(inputValue.toLowerCase()) ||\n option.value.toLowerCase().includes(inputValue.toLowerCase())\n );\n setFilteredOptions(filtered);\n }, [inputValue, options]);\n\n const handleRemoveTag = (indexToRemove: number) => {\n if (disabled) return;\n \n const newTags = tags.filter((_, index) => index !== indexToRemove);\n setTags(newTags);\n \n //in multiselect if tag removed while dorpdownopen, do not call onchange\n if(!isMultiSelect || isMultiSelectWithoutCTA ||(isMultiSelect && !isDropdownOpen)) {\n onChange?.(newTags.map(tag => tag.value));\n }\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n // Handle Backspace to remove last tag (preserve existing behavior)\n if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n e.preventDefault();\n const newTags = tags.slice(0, -1);\n setTags(newTags);\n onChange?.(newTags.map(tag => tag.value));\n return;\n }\n\n // Handle Enter for custom tags when no options match\n if (e.key === 'Enter' && inputValue.trim() && filteredOptions.length === 0 && allowCustomTags) {\n e.preventDefault();\n const newTags = [...tags];\n if (!newTags.some(tag => tag.value === inputValue.trim())) {\n newTags.push({ label: inputValue.trim(), value: inputValue.trim() });\n setTags(newTags);\n onChange?.(newTags.map(tag => tag.value));\n }\n setInputValue('');\n setHighlightedIndex(-1);\n setIsDropdownOpen(false);\n return;\n }\n\n // Let combobox hook handle all other keyboard events (Arrow keys, Enter, Escape, etc.)\n comboboxInputProps.onKeyDown(e);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n const newValue = e.target.value;\n setInputValue(newValue);\n setHighlightedIndex(-1); // Reset highlighted index when user types\n \n if (newValue.trim() && !isDropdownOpen) {\n setIsDropdownOpen(true);\n }\n };\n\n const handleInputFocus = () => {\n if (disabled) return;\n \n if (inputValue.trim() || options.length > 0) {\n setIsDropdownOpen(true);\n }\n };\n\n const handleInputContainerClick = (e: React.MouseEvent) => {\n if (disabled) return;\n \n e.stopPropagation();\n inputRef.current?.focus();\n if (!isDropdownOpen && (inputValue.trim() || options.length > 0)) {\n setIsDropdownOpen(true);\n }\n };\n\n const handlePopoverWrapperClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n \n const target = e.target as HTMLElement;\n const isInputArea = target.closest('.input-with-tags-container');\n if (isInputArea) {\n e.stopPropagation();\n }\n };\n\n const toggleDropdown = () => {\n if (disabled) return;\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n useImperativeHandle(ref, () => ({ toggleDropdown }), []);\n\n const defaultRenderOption = (\n option: DropdownOption,\n index: number,\n onSelect: (option: DropdownOption) => void,\n disabled: boolean\n ) => {\n const isSelected = tags.some((tag) => tag.value === option.value);\n const isHighlighted = highlightedIndex === index;\n const optionProps = getOptionProps(index, isSelected);\n \n return (\n <div\n key={option.id}\n {...optionProps}\n className={`dropdown-with-input-tags-option ${isHighlighted ? 'highlighted' : ''}`}\n onClick={() => !disabled && onSelect(option)}\n onMouseEnter={() => setHighlightedIndex(index)}\n data-automation-id={`${automationId}-option-${option.id}`}\n >\n <span className=\"option-label\">{option.label}</span>\n {option.value !== option.label && <span className=\"option-value\">{option.value}</span>}\n </div>\n );\n };\n const handleApplySelectedDropDownValues = () => {\n applyClickedRef.current = true;\n const newTagValues = tags.map(tag => tag.value);\n onChange?.(newTagValues);\n setIsDropdownOpen(false);\n };\n\n const clearSelectedDropDownValues = () => {\n setTags([]);\n };\n const multiSelectRenderOption = (option: DropdownOption, index: number) => {\n const isOptionSelected = tags.some(tag => tag.value === option.value);\n const isHighlighted = highlightedIndex === index;\n const optionProps = getOptionProps(index, isOptionSelected);\n \n return (\n <div\n key={option.id}\n {...optionProps}\n className={`dropdown-with-input-tags-option dropdown-with-input-tags-multi-select-option ${isHighlighted ? 'highlighted' : ''}`}\n aria-checked={isOptionSelected}\n onClick={() => !disabled && handleMultiSelectDropdownOptionClick(!isOptionSelected, option)}\n onMouseEnter={() => setHighlightedIndex(index)}\n data-automation-id={`${automationId}-option-${option.id}`}\n >\n <span onClick={(e) => e.stopPropagation()}>\n <Checkbox\n automationId=\"checkbox\"\n className=\"checkbox\"\n defaultChecked={isOptionSelected}\n onChange={(value) => handleMultiSelectDropdownOptionClick(value, option)}\n label={option.label}\n />\n </span>\n </div>\n );\n };\n\n const multiSelectRenderCTAs = () => {\n return (\n <div className=\"dropdown-with-input-tags-ctas-container\">\n <Button label=\"Clear\" type=\"link\" size=\"sm\" onClick={clearSelectedDropDownValues} automationId={`${automationId}-clear-button`} />\n <Button label=\"Apply\" type=\"primary\" size=\"sm\" onClick={handleApplySelectedDropDownValues} automationId={`${automationId}-apply-button`} />\n </div>\n );\n };\n\n \n\n return (\n <div\n className={`dropdown-with-input-tags-wrapper ${className} ${disabled ? 'disabled-wrapper' : ''}`}\n data-automation-id={automationId}\n {...containerProps}\n >\n {label && <label id={`${automationId}-label`} className=\"dropdown-with-input-tags-label\">{label}</label>}\n\n <div onClick={handlePopoverWrapperClick}>\n <Popover\n ref={popoverRef}\n className=\"dropdown-with-input-tags-popover\"\n contentWidth=\"full\"\n position=\"bottom-left\"\n isPopoverOpen={!disabled && isDropdownOpen}\n onPopoverToggle={disabled ? () => {} : setIsDropdownOpen}\n disableClickToggle={true}\n renderPopoverContents={({ closePopoverCb }) => (\n <>\n <div\n {...listboxProps}\n className=\"dropdown-with-input-tags-content\"\n {...(isMultiSelect && { 'aria-multiselectable': 'true' })}\n >\n {effectiveItems.length > 0 ? (\n effectiveItems.map((option, index) => {\n if (option.value === ADD_CUSTOM_TAG_VALUE) {\n const isHighlighted = highlightedIndex === index;\n const optionProps = getOptionProps(index, false);\n return (\n <div\n key={option.id}\n {...optionProps}\n className={`dropdown-with-input-tags-option dropdown-with-input-tags-custom-option ${isHighlighted ? 'highlighted' : ''}`}\n onClick={() => {\n if (disabled) return;\n handleSelectFromDropdown(option);\n closePopoverCb();\n }}\n onMouseEnter={() => setHighlightedIndex(index)}\n >\n Add \"{inputValue.trim()}\"\n </div>\n );\n }\n if (isMultiSelect) {\n return multiSelectRenderOption(option, index);\n }\n \n const isSelected = tags.some((tag) => tag.value === option.value);\n const isHighlighted = highlightedIndex === index;\n const optionProps = getOptionProps(index, isSelected);\n const optionPropsWithHandlers = {\n ...optionProps,\n onMouseEnter: () => setHighlightedIndex(index),\n className: `dropdown-with-input-tags-option ${isHighlighted ? 'highlighted' : ''}`\n };\n \n return renderOption\n ? renderOption(option, optionPropsWithHandlers, handleSelectOption)\n : defaultRenderOption(option, index, handleSelectOption, disabled);\n })\n ) : (\n <div className=\"dropdown-with-input-tags-no-options\">\n <div className=\"dropdown-with-input-tags-no-options-text\" role=\"status\" aria-live=\"polite\">\n {noOptionsMessage}\n </div>\n </div>\n )}\n </div>\n {isMultiSelect && !isMultiSelectWithoutCTA && multiSelectRenderCTAs()}\n </>\n )}\n renderPopoverSrcElement={() => (\n <div className=\"dropdown-with-input-tags-input-container\">\n <div\n className={`input-with-tags-container ${disabled ? 'disabled-input-with-tags-container' : ''}`}\n onClick={handleInputContainerClick}\n >\n {tags.map((tag, index) => (\n <span key={index} className=\"tag-in-inputwithtags\">\n {tag[displayTagBy]}\n {!disabled && (\n <Icon\n name=\"close\"\n className=\"close-icon-in-inputwithtags\"\n ariaLabel={`Remove tag ${tag[displayTagBy]}`}\n onClick={() => handleRemoveTag(index)}\n shouldStopPropagation\n />\n )}\n </span>\n ))}\n {(showInput ||!tags.length) && (\n <input\n ref={inputRef}\n {...comboboxInputProps}\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onFocus={handleInputFocus}\n placeholder={tags.length === 0 ? placeholder : ''}\n className=\"input-with-tags-input\"\n disabled={disabled}\n aria-label={label || 'Search and select options'}\n />\n )}\n </div>\n </div>\n )}\n automationId={automationId}\n popoverContentAutomationId={`${automationId}-content`}\n />\n </div>\n </div>\n );\n }\n); "],"names":["DropdownWithInputTags","value","onChange","placeholder","className","options","renderOption","label","automationId","noOptionsMessage","allowCustomTags","disabled","type","showInput","displayTagBy","ref","initValues","values","map","val","found","find","opt","tags","setTags","useState","inputValue","setInputValue","filteredOptions","setFilteredOptions","isDropdownOpen","setIsDropdownOpen","popoverRef","useRef","inputRef","applyClickedRef","isMultiSelectWithoutCTA","isMultiSelect","listboxId","useStableId","handleSelectOption","useCallback","option","newTags","some","tag","push","handleMultiSelectDropdownOptionClick","isSelected","newSelectedTags","filter","ADD_CUSTOM_TAG_VALUE","handleSelectFromDropdown","trimmed","trim","effectiveItems","length","id","containerProps","inputProps","comboboxInputProps","listboxProps","getOptionProps","highlightedIndex","setHighlightedIndex","useCombobox","items","isOpen","onOpenChange","onSelect","hasItems","useEffect","current","filtered","toLowerCase","includes","handleRemoveTag","indexToRemove","_","index","handleKeyDown","e","key","preventDefault","slice","onKeyDown","handleInputChange","newValue","target","handleInputFocus","handleInputContainerClick","stopPropagation","focus","handlePopoverWrapperClick","closest","toggleDropdown","useImperativeHandle","defaultRenderOption","isHighlighted","optionProps","React","createElement","_extends","onClick","onMouseEnter","handleApplySelectedDropDownValues","newTagValues","clearSelectedDropDownValues","multiSelectRenderOption","isOptionSelected","Checkbox","defaultChecked","multiSelectRenderCTAs","Button","size","Popover","contentWidth","position","isPopoverOpen","onPopoverToggle","disableClickToggle","renderPopoverContents","closePopoverCb","Fragment","optionPropsWithHandlers","role","renderPopoverSrcElement","Icon","name","ariaLabel","shouldStopPropagation","onFocus","popoverContentAutomationId"],"mappings":"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"}
1
+ {"version":3,"file":"index37.js","sources":["../src/components/InputWithTags/index.tsx"],"sourcesContent":["import React, { useState, KeyboardEvent, useRef } from \"react\";\nimport './styles.scss';\nimport { Icon } from '../Icon';\n\nexport interface InputWithTagsProps {\n value: string[];\n onChange?: (tags: string[]) => void;\n placeholder?: string;\n className?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n automationId?: string;\n}\n\nexport function InputWithTags({ \n value, \n onChange, \n placeholder, \n className, \n error, \n errorMessage, \n label,\n automationId = ''\n}: InputWithTagsProps) {\n const [tags, setTags] = useState<string[]>([...value]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n const removeTag = (indexToRemove: number) => {\n const newTags = tags.filter((_, i) => i !== indexToRemove);\n setTags(newTags);\n onChange?.(newTags);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && inputValue.trim()) {\n e.preventDefault();\n const newTags = [...tags, inputValue.trim()];\n setTags(newTags);\n setInputValue(\"\");\n onChange?.(newTags);\n } else if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n removeTag(tags.length - 1);\n }\n };\n\n return (\n <div className=\"input-with-tags-main-container\" data-automation-id={automationId}>\n {label && <div className=\"label-container\">{label}</div>}\n <div \n className={`input-with-tags-container ${error ? 'input-with-tags-error' : ''} ${className}`} \n onClick={() => inputRef.current?.focus()}\n >\n {tags.map((tag, index) => (\n <span key={index} className=\"tag-in-inputwithtags\" data-automation-id={`input-tag-${index}`}>\n {tag} \n <Icon\n name=\"close\"\n className=\"close-icon-in-inputwithtags\"\n ariaLabel={`Remove tag ${tag}`}\n onClick={() => removeTag(index)}\n shouldStopPropagation\n />\n </span>\n ))}\n <input\n className=\"input-with-tags-input\"\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n data-automation-id=\"input-with-tags-input-field\"\n />\n </div>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n </div>\n );\n}"],"names":["React__default","useState","useRef","Icon","InputWithTags","value","onChange","placeholder","className","error","errorMessage","label","automationId","tags","setTags","inputValue","setInputValue","inputRef","removeTag","indexToRemove","newTags","filter","_","i","handleKeyDown","e","key","trim","preventDefault","length","React","createElement","onClick","current","focus","map","tag","index","name","ariaLabel","shouldStopPropagation","ref","type","target","onKeyDown"],"mappings":"AAeO,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAASC,EAAc;AAAA,EAC1BC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,cAAAA,IAAe;AACC,GAAG;AACnB,QAAM,CAACC,GAAMC,CAAO,IAAIb,EAAmB,CAAC,GAAGI,CAAK,CAAC,GAC/C,CAACU,GAAYC,CAAa,IAAIf,EAAS,EAAE,GACzCgB,IAAWf,EAAyB,IAAI,GAExCgB,IAAYA,CAACC,MAA0B;AACzC,UAAMC,IAAUP,EAAKQ,OAAO,CAACC,GAAGC,MAAMA,MAAMJ,CAAa;AACzDL,IAAAA,EAAQM,CAAO,GACfd,IAAWc,CAAO;AAAA,EACtB,GAEMI,IAAgBA,CAACC,MAAuC;AAC1D,QAAIA,EAAEC,QAAQ,WAAWX,EAAWY,QAAQ;AACxCF,MAAAA,EAAEG,eAAAA;AACF,YAAMR,IAAU,CAAC,GAAGP,GAAME,EAAWY,MAAM;AAC3Cb,MAAAA,EAAQM,CAAO,GACfJ,EAAc,EAAE,GAChBV,IAAWc,CAAO;AAAA,IACtB,MAAA,CAAWK,EAAEC,QAAQ,eAAeX,MAAe,MAAMF,EAAKgB,SAAS,KACnEX,EAAUL,EAAKgB,SAAS,CAAC;AAAA,EAEjC;AAEA,SACIC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKvB,WAAU;AAAA,IAAiC,sBAAoBI;AAAAA,EAAAA,GAC/DD,KAASmB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKvB,WAAU;AAAA,EAAA,GAAmBG,CAAW,GACvDmB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACIvB,WAAW,6BAA6BC,IAAQ,0BAA0B,EAAE,IAAID,CAAS;AAAA,IACzFwB,SAASA,MAAMf,EAASgB,SAASC,MAAAA;AAAAA,EAAM,GAEtCrB,EAAKsB,IAAI,CAACC,GAAKC,MACZP,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAML,KAAKW;AAAAA,IAAO7B,WAAU;AAAA,IAAuB,sBAAoB,aAAa6B,CAAK;AAAA,EAAA,GACpFD,GACDN,gBAAAA,EAAAC,cAAC5B,GAAI;AAAA,IACDmC,MAAK;AAAA,IACL9B,WAAU;AAAA,IACV+B,WAAW,cAAcH,CAAG;AAAA,IAC5BJ,SAASA,MAAMd,EAAUmB,CAAK;AAAA,IAC9BG,uBAAqB;AAAA,EAAA,CACxB,CACC,CACT,GACDV,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACIvB,WAAU;AAAA,IACViC,KAAKxB;AAAAA,IACLyB,MAAK;AAAA,IACLrC,OAAOU;AAAAA,IACPT,UAAWmB,CAAAA,MAAMT,EAAcS,EAAEkB,OAAOtC,KAAK;AAAA,IAC7CuC,WAAWpB;AAAAA,IACXjB,aAAAA;AAAAA,IACA,sBAAmB;AAAA,EAAA,CACtB,CACA,GACJE,KAASqB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKvB,WAAU;AAAA,EAAA,GAAiBE,CAAkB,CAC3D;AAEb;"}