se-design 1.0.2 → 1.0.8-5.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 (564) hide show
  1. package/dist/assets/colors.css +26 -13
  2. package/dist/assets/icons/ai-off.svg +6 -0
  3. package/dist/assets/icons/ai-re-run.svg +5 -0
  4. package/dist/assets/icons/arrow-head.svg +8 -0
  5. package/dist/assets/icons/center-align.svg +3 -0
  6. package/dist/assets/icons/chat.svg +4 -0
  7. package/dist/assets/icons/checkbox-disabled-minus.svg +1 -1
  8. package/dist/assets/icons/checkbox-disabled-tick.svg +1 -1
  9. package/dist/assets/icons/checkbox-fill.svg +1 -1
  10. package/dist/assets/icons/checkbox-hover-fill.svg +2 -2
  11. package/dist/assets/icons/checkbox-hover-minus.svg +1 -1
  12. package/dist/assets/icons/checkbox-hover-tick.svg +1 -1
  13. package/dist/assets/icons/checkbox-minus.svg +1 -1
  14. package/dist/assets/icons/checkbox-tick.svg +1 -1
  15. package/dist/assets/icons/combobox-field.svg +6 -0
  16. package/dist/assets/icons/command.svg +1 -1
  17. package/dist/assets/icons/csv-file.svg +4 -4
  18. package/dist/assets/icons/doc-file.svg +6 -0
  19. package/dist/assets/icons/envelope.svg +4 -0
  20. package/dist/assets/icons/file-filled-checked.svg +8 -0
  21. package/dist/assets/icons/filter.svg +3 -0
  22. package/dist/assets/icons/google-drive.svg +8 -0
  23. package/dist/assets/icons/home.svg +3 -2
  24. package/dist/assets/icons/left-align.svg +3 -0
  25. package/dist/assets/icons/library.svg +6 -0
  26. package/dist/assets/icons/minus.svg +3 -0
  27. package/dist/assets/icons/office-building.svg +9 -0
  28. package/dist/assets/icons/photo.svg +5 -3
  29. package/dist/assets/icons/plus.svg +4 -0
  30. package/dist/assets/icons/reports.svg +4 -0
  31. package/dist/assets/icons/repository.svg +4 -0
  32. package/dist/assets/icons/right-align.svg +3 -0
  33. package/dist/assets/icons/sort-asc.svg +3 -4
  34. package/dist/assets/icons/sort-desc.svg +2 -3
  35. package/dist/assets/icons/tag.svg +2 -2
  36. package/dist/assets/icons/upload-csv.svg +37 -0
  37. package/dist/assets/icons/views.svg +7 -0
  38. package/dist/assets/icons/warning.svg +10 -0
  39. package/dist/assets/style.css +1 -1
  40. package/dist/assets/typographyMixin.scss +8 -0
  41. package/dist/components/AccessibleDiv/index.d.ts +46 -0
  42. package/dist/components/Accordion/index.d.ts +2 -0
  43. package/dist/components/AutoCompleteInput/index.d.ts +37 -7
  44. package/dist/components/Avatar/index.d.ts +1 -0
  45. package/dist/components/Badge/index.d.ts +2 -0
  46. package/dist/components/Banner/index.d.ts +17 -4
  47. package/dist/components/BottomSheet/index.d.ts +14 -0
  48. package/dist/components/BreadCrumbs/index.d.ts +5 -0
  49. package/dist/components/Button/index.d.ts +51 -7
  50. package/dist/components/Checkbox/index.d.ts +36 -0
  51. package/dist/components/CustomAccordion/index.d.ts +6 -0
  52. package/dist/components/CustomModal/index.d.ts +56 -1
  53. package/dist/components/DatePicker/index.d.ts +7 -0
  54. package/dist/components/DatePicker/useDatePickerA11y.d.ts +47 -0
  55. package/dist/components/Dropdown/index.d.ts +24 -0
  56. package/dist/components/DropdownWithInputTags/index.d.ts +14 -2
  57. package/dist/components/GuidedTour/index.d.ts +27 -0
  58. package/dist/components/Header/index.d.ts +3 -2
  59. package/dist/components/Icon/index.d.ts +45 -4
  60. package/dist/components/InfoBar/index.d.ts +10 -0
  61. package/dist/components/InfoTooltip/index.d.ts +21 -0
  62. package/dist/components/Input/index.d.ts +38 -6
  63. package/dist/components/InputWithIcon/index.d.ts +36 -2
  64. package/dist/components/KebabMenu/index.d.ts +1 -0
  65. package/dist/components/LabelChip/index.d.ts +3 -0
  66. package/dist/components/Link/index.d.ts +64 -0
  67. package/dist/components/MenuItem/index.d.ts +13 -3
  68. package/dist/components/MenuList/index.d.ts +3 -2
  69. package/dist/components/MessageBar/index.d.ts +20 -1
  70. package/dist/components/Modal/index.d.ts +3 -0
  71. package/dist/components/NavigationBar/TabButton.d.ts +20 -0
  72. package/dist/components/NavigationBar/index.d.ts +8 -1
  73. package/dist/components/OTPInput/index.d.ts +1 -0
  74. package/dist/components/OnboardingTour/index.d.ts +35 -0
  75. package/dist/components/Pagination/index.d.ts +2 -0
  76. package/dist/components/Paywall/index.d.ts +47 -0
  77. package/dist/components/PhoneInput/index.d.ts +27 -0
  78. package/dist/components/Popover/index.d.ts +19 -3
  79. package/dist/components/Radio/index.d.ts +7 -0
  80. package/dist/components/RadioGroup/index.d.ts +18 -0
  81. package/dist/components/ShimmerLoader/index.d.ts +4 -2
  82. package/dist/components/SidebarOverlay/index.d.ts +36 -0
  83. package/dist/components/SkipLinksBar/index.d.ts +11 -0
  84. package/dist/components/SnackBar/index.d.ts +5 -2
  85. package/dist/components/Spinner/index.d.ts +13 -1
  86. package/dist/components/TableLayout/index.d.ts +18 -0
  87. package/dist/components/Tabs/index.d.ts +6 -1
  88. package/dist/components/TimePicker/index.d.ts +14 -0
  89. package/dist/components/Toggle/index.d.ts +25 -1
  90. package/dist/components/Tooltip/index.d.ts +19 -2
  91. package/dist/components/index.d.ts +10 -0
  92. package/dist/index.js +152 -103
  93. package/dist/index.js.map +1 -1
  94. package/dist/index10.js +23 -48
  95. package/dist/index10.js.map +1 -1
  96. package/dist/index100.js +1 -1
  97. package/dist/index100.js.map +1 -1
  98. package/dist/index101.js +1 -1
  99. package/dist/index101.js.map +1 -1
  100. package/dist/index102.js +1 -1
  101. package/dist/index102.js.map +1 -1
  102. package/dist/index103.js +1 -1
  103. package/dist/index103.js.map +1 -1
  104. package/dist/index104.js +1 -1
  105. package/dist/index104.js.map +1 -1
  106. package/dist/index105.js +1 -1
  107. package/dist/index105.js.map +1 -1
  108. package/dist/index106.js +1 -1
  109. package/dist/index106.js.map +1 -1
  110. package/dist/index107.js +1 -1
  111. package/dist/index107.js.map +1 -1
  112. package/dist/index108.js +1 -1
  113. package/dist/index108.js.map +1 -1
  114. package/dist/index109.js +2 -2
  115. package/dist/index109.js.map +1 -1
  116. package/dist/index11.js +74 -18
  117. package/dist/index11.js.map +1 -1
  118. package/dist/index110.js +1 -1
  119. package/dist/index110.js.map +1 -1
  120. package/dist/index111.js +1 -1
  121. package/dist/index111.js.map +1 -1
  122. package/dist/index112.js +1 -1
  123. package/dist/index112.js.map +1 -1
  124. package/dist/index113.js +2 -2
  125. package/dist/index113.js.map +1 -1
  126. package/dist/index114.js +1 -1
  127. package/dist/index114.js.map +1 -1
  128. package/dist/index115.js +2 -2
  129. package/dist/index115.js.map +1 -1
  130. package/dist/index116.js +1 -1
  131. package/dist/index116.js.map +1 -1
  132. package/dist/index117.js +2 -2
  133. package/dist/index117.js.map +1 -1
  134. package/dist/index118.js +1 -1
  135. package/dist/index118.js.map +1 -1
  136. package/dist/index119.js +2 -2
  137. package/dist/index119.js.map +1 -1
  138. package/dist/index12.js +76 -11
  139. package/dist/index12.js.map +1 -1
  140. package/dist/index120.js +1 -1
  141. package/dist/index120.js.map +1 -1
  142. package/dist/index121.js +1 -1
  143. package/dist/index121.js.map +1 -1
  144. package/dist/index122.js +1 -1
  145. package/dist/index122.js.map +1 -1
  146. package/dist/index123.js +1 -1
  147. package/dist/index123.js.map +1 -1
  148. package/dist/index124.js +1 -1
  149. package/dist/index124.js.map +1 -1
  150. package/dist/index125.js +2 -2
  151. package/dist/index125.js.map +1 -1
  152. package/dist/index126.js +2 -2
  153. package/dist/index126.js.map +1 -1
  154. package/dist/index127.js +2 -2
  155. package/dist/index127.js.map +1 -1
  156. package/dist/index128.js +1 -1
  157. package/dist/index128.js.map +1 -1
  158. package/dist/index129.js +1 -1
  159. package/dist/index129.js.map +1 -1
  160. package/dist/index13.js +64 -5
  161. package/dist/index13.js.map +1 -1
  162. package/dist/index130.js +2 -2
  163. package/dist/index130.js.map +1 -1
  164. package/dist/index131.js +1 -1
  165. package/dist/index131.js.map +1 -1
  166. package/dist/index132.js +1 -1
  167. package/dist/index132.js.map +1 -1
  168. package/dist/index133.js +1 -1
  169. package/dist/index133.js.map +1 -1
  170. package/dist/index134.js +1 -1
  171. package/dist/index134.js.map +1 -1
  172. package/dist/index135.js +2 -2
  173. package/dist/index135.js.map +1 -1
  174. package/dist/index136.js +2 -2
  175. package/dist/index136.js.map +1 -1
  176. package/dist/index137.js +1 -1
  177. package/dist/index137.js.map +1 -1
  178. package/dist/index138.js +1 -1
  179. package/dist/index138.js.map +1 -1
  180. package/dist/index139.js +1 -1
  181. package/dist/index139.js.map +1 -1
  182. package/dist/index14.js +15 -138
  183. package/dist/index14.js.map +1 -1
  184. package/dist/index140.js +2 -2
  185. package/dist/index140.js.map +1 -1
  186. package/dist/index141.js +1 -1
  187. package/dist/index141.js.map +1 -1
  188. package/dist/index142.js +1 -1
  189. package/dist/index142.js.map +1 -1
  190. package/dist/index143.js +1 -1
  191. package/dist/index143.js.map +1 -1
  192. package/dist/index144.js +2 -2
  193. package/dist/index144.js.map +1 -1
  194. package/dist/index145.js +1 -1
  195. package/dist/index145.js.map +1 -1
  196. package/dist/index146.js +2 -2
  197. package/dist/index146.js.map +1 -1
  198. package/dist/index147.js +1 -1
  199. package/dist/index147.js.map +1 -1
  200. package/dist/index148.js +1 -1
  201. package/dist/index148.js.map +1 -1
  202. package/dist/index149.js +1 -1
  203. package/dist/index149.js.map +1 -1
  204. package/dist/index15.js +10 -54
  205. package/dist/index15.js.map +1 -1
  206. package/dist/index150.js +1 -1
  207. package/dist/index150.js.map +1 -1
  208. package/dist/index151.js +1 -1
  209. package/dist/index151.js.map +1 -1
  210. package/dist/index152.js +2 -2
  211. package/dist/index152.js.map +1 -1
  212. package/dist/index153.js +1 -1
  213. package/dist/index153.js.map +1 -1
  214. package/dist/index154.js +2 -2
  215. package/dist/index154.js.map +1 -1
  216. package/dist/index155.js +2 -149
  217. package/dist/index155.js.map +1 -1
  218. package/dist/index156.js +5 -0
  219. package/dist/index156.js.map +1 -0
  220. package/dist/index157.js +5 -0
  221. package/dist/index157.js.map +1 -0
  222. package/dist/index158.js +5 -0
  223. package/dist/index158.js.map +1 -0
  224. package/dist/index159.js +5 -0
  225. package/dist/index159.js.map +1 -0
  226. package/dist/index16.js +216 -54
  227. package/dist/index16.js.map +1 -1
  228. package/dist/index160.js +5 -0
  229. package/dist/index160.js.map +1 -0
  230. package/dist/index161.js +5 -0
  231. package/dist/index161.js.map +1 -0
  232. package/dist/index162.js +5 -0
  233. package/dist/index162.js.map +1 -0
  234. package/dist/index163.js +5 -0
  235. package/dist/index163.js.map +1 -0
  236. package/dist/index164.js +5 -0
  237. package/dist/index164.js.map +1 -0
  238. package/dist/index165.js +5 -0
  239. package/dist/index165.js.map +1 -0
  240. package/dist/index166.js +5 -0
  241. package/dist/index166.js.map +1 -0
  242. package/dist/index167.js +2 -12
  243. package/dist/index167.js.map +1 -1
  244. package/dist/index168.js +5 -0
  245. package/dist/index168.js.map +1 -0
  246. package/dist/index169.js +5 -0
  247. package/dist/index169.js.map +1 -0
  248. package/dist/index17.js +60 -250
  249. package/dist/index17.js.map +1 -1
  250. package/dist/index170.js +5 -0
  251. package/dist/index170.js.map +1 -0
  252. package/dist/index171.js +5 -0
  253. package/dist/index171.js.map +1 -0
  254. package/dist/index172.js +5 -0
  255. package/dist/index172.js.map +1 -0
  256. package/dist/index173.js +5 -0
  257. package/dist/index173.js.map +1 -0
  258. package/dist/index174.js +5 -0
  259. package/dist/index174.js.map +1 -0
  260. package/dist/index175.js +1 -1232
  261. package/dist/index175.js.map +1 -1
  262. package/dist/index176.js +5 -0
  263. package/dist/index176.js.map +1 -0
  264. package/dist/index177.js +5 -0
  265. package/dist/index177.js.map +1 -0
  266. package/dist/index178.js +5 -0
  267. package/dist/index178.js.map +1 -0
  268. package/dist/index179.js +2 -4
  269. package/dist/index179.js.map +1 -1
  270. package/dist/index18.js +128 -11
  271. package/dist/index18.js.map +1 -1
  272. package/dist/index180.js +5 -0
  273. package/dist/index180.js.map +1 -0
  274. package/dist/index181.js +5 -0
  275. package/dist/index181.js.map +1 -0
  276. package/dist/index182.js +5 -0
  277. package/dist/index182.js.map +1 -0
  278. package/dist/index183.js +2 -10
  279. package/dist/index183.js.map +1 -1
  280. package/dist/index184.js +1 -9
  281. package/dist/index184.js.map +1 -1
  282. package/dist/index185.js +2 -5
  283. package/dist/index185.js.map +1 -1
  284. package/dist/index186.js +2 -170
  285. package/dist/index186.js.map +1 -1
  286. package/dist/index187.js +2 -11
  287. package/dist/index187.js.map +1 -1
  288. package/dist/index188.js +1 -5
  289. package/dist/index188.js.map +1 -1
  290. package/dist/index189.js +2 -6
  291. package/dist/index189.js.map +1 -1
  292. package/dist/index19.js +360 -32
  293. package/dist/index19.js.map +1 -1
  294. package/dist/index190.js +2 -38
  295. package/dist/index190.js.map +1 -1
  296. package/dist/index191.js +2 -2
  297. package/dist/index191.js.map +1 -1
  298. package/dist/index192.js +2 -8
  299. package/dist/index192.js.map +1 -1
  300. package/dist/index193.js +2 -327
  301. package/dist/index193.js.map +1 -1
  302. package/dist/index194.js +2 -50
  303. package/dist/index194.js.map +1 -1
  304. package/dist/index195.js +2 -2
  305. package/dist/index195.js.map +1 -1
  306. package/dist/index196.js +2 -76
  307. package/dist/index196.js.map +1 -1
  308. package/dist/index197.js +2 -93
  309. package/dist/index197.js.map +1 -1
  310. package/dist/index198.js +2 -52
  311. package/dist/index198.js.map +1 -1
  312. package/dist/index199.js +2 -8
  313. package/dist/index199.js.map +1 -1
  314. package/dist/index20.js +18 -55
  315. package/dist/index20.js.map +1 -1
  316. package/dist/index200.js +2 -5
  317. package/dist/index200.js.map +1 -1
  318. package/dist/index201.js +2 -52
  319. package/dist/index201.js.map +1 -1
  320. package/dist/index202.js +2 -2
  321. package/dist/index202.js.map +1 -1
  322. package/dist/index203.js +149 -2
  323. package/dist/index203.js.map +1 -1
  324. package/dist/index204.js +12 -0
  325. package/dist/index204.js.map +1 -0
  326. package/dist/index205.js +9 -0
  327. package/dist/index205.js.map +1 -0
  328. package/dist/index206.js +8 -0
  329. package/dist/index206.js.map +1 -0
  330. package/dist/index207.js +46 -0
  331. package/dist/index207.js.map +1 -0
  332. package/dist/index208.js +24 -0
  333. package/dist/index208.js.map +1 -0
  334. package/dist/index21.js +33 -45
  335. package/dist/index21.js.map +1 -1
  336. package/dist/index215.js +31 -0
  337. package/dist/index215.js.map +1 -0
  338. package/dist/index216.js +75 -0
  339. package/dist/index216.js.map +1 -0
  340. package/dist/index22.js +64 -21
  341. package/dist/index22.js.map +1 -1
  342. package/dist/index224.js +15 -0
  343. package/dist/index224.js.map +1 -0
  344. package/dist/index23.js +84 -189
  345. package/dist/index23.js.map +1 -1
  346. package/dist/index232.js +1236 -0
  347. package/dist/index232.js.map +1 -0
  348. package/dist/index235.js +46 -0
  349. package/dist/index235.js.map +1 -0
  350. package/dist/index24.js +21 -45
  351. package/dist/index24.js.map +1 -1
  352. package/dist/index244.js +173 -0
  353. package/dist/index244.js.map +1 -0
  354. package/dist/index245.js +7 -0
  355. package/dist/index245.js.map +1 -0
  356. package/dist/index247.js +22 -0
  357. package/dist/index247.js.map +1 -0
  358. package/dist/index248.js +13 -0
  359. package/dist/index248.js.map +1 -0
  360. package/dist/index249.js +13 -0
  361. package/dist/index249.js.map +1 -0
  362. package/dist/index25.js +384 -18
  363. package/dist/index25.js.map +1 -1
  364. package/dist/index250.js +8 -0
  365. package/dist/index250.js.map +1 -0
  366. package/dist/index251.js +173 -0
  367. package/dist/index251.js.map +1 -0
  368. package/dist/index252.js +14 -0
  369. package/dist/index252.js.map +1 -0
  370. package/dist/index253.js +9 -0
  371. package/dist/index253.js.map +1 -0
  372. package/dist/index254.js +9 -0
  373. package/dist/index254.js.map +1 -0
  374. package/dist/index255.js +41 -0
  375. package/dist/index255.js.map +1 -0
  376. package/dist/index256.js +5 -0
  377. package/dist/index256.js.map +1 -0
  378. package/dist/index257.js +11 -0
  379. package/dist/index257.js.map +1 -0
  380. package/dist/index258.js +330 -0
  381. package/dist/index258.js.map +1 -0
  382. package/dist/index259.js +53 -0
  383. package/dist/index259.js.map +1 -0
  384. package/dist/index26.js +46 -51
  385. package/dist/index26.js.map +1 -1
  386. package/dist/index260.js +5 -0
  387. package/dist/index260.js.map +1 -0
  388. package/dist/index261.js +79 -0
  389. package/dist/index261.js.map +1 -0
  390. package/dist/index262.js +96 -0
  391. package/dist/index262.js.map +1 -0
  392. package/dist/index263.js +55 -0
  393. package/dist/index263.js.map +1 -0
  394. package/dist/index264.js +11 -0
  395. package/dist/index264.js.map +1 -0
  396. package/dist/index265.js +8 -0
  397. package/dist/index265.js.map +1 -0
  398. package/dist/index266.js +55 -0
  399. package/dist/index266.js.map +1 -0
  400. package/dist/index267.js +5 -0
  401. package/dist/index267.js.map +1 -0
  402. package/dist/index268.js +5 -0
  403. package/dist/index268.js.map +1 -0
  404. package/dist/index27.js +22 -74
  405. package/dist/index27.js.map +1 -1
  406. package/dist/index28.js +108 -83
  407. package/dist/index28.js.map +1 -1
  408. package/dist/index29.js +148 -49
  409. package/dist/index29.js.map +1 -1
  410. package/dist/index3.js +69 -65
  411. package/dist/index3.js.map +1 -1
  412. package/dist/index30.js +133 -95
  413. package/dist/index30.js.map +1 -1
  414. package/dist/index31.js +77 -77
  415. package/dist/index31.js.map +1 -1
  416. package/dist/index32.js +99 -32
  417. package/dist/index32.js.map +1 -1
  418. package/dist/index33.js +75 -36
  419. package/dist/index33.js.map +1 -1
  420. package/dist/index34.js +42 -46
  421. package/dist/index34.js.map +1 -1
  422. package/dist/index35.js +72 -56
  423. package/dist/index35.js.map +1 -1
  424. package/dist/index36.js +99 -169
  425. package/dist/index36.js.map +1 -1
  426. package/dist/index37.js +51 -38
  427. package/dist/index37.js.map +1 -1
  428. package/dist/index38.js +306 -82
  429. package/dist/index38.js.map +1 -1
  430. package/dist/index39.js +70 -31
  431. package/dist/index39.js.map +1 -1
  432. package/dist/index4.js +108 -42
  433. package/dist/index4.js.map +1 -1
  434. package/dist/index40.js +82 -50
  435. package/dist/index40.js.map +1 -1
  436. package/dist/index41.js +27 -67
  437. package/dist/index41.js.map +1 -1
  438. package/dist/index42.js +45 -51
  439. package/dist/index42.js.map +1 -1
  440. package/dist/index43.js +109 -94
  441. package/dist/index43.js.map +1 -1
  442. package/dist/index44.js +54 -92
  443. package/dist/index44.js.map +1 -1
  444. package/dist/index45.js +143 -35
  445. package/dist/index45.js.map +1 -1
  446. package/dist/index46.js +194 -30
  447. package/dist/index46.js.map +1 -1
  448. package/dist/index47.js +36 -30
  449. package/dist/index47.js.map +1 -1
  450. package/dist/index48.js +34 -53
  451. package/dist/index48.js.map +1 -1
  452. package/dist/index49.js +142 -359
  453. package/dist/index49.js.map +1 -1
  454. package/dist/index5.js +41 -232
  455. package/dist/index5.js.map +1 -1
  456. package/dist/index50.js +82 -61
  457. package/dist/index50.js.map +1 -1
  458. package/dist/index51.js +458 -35
  459. package/dist/index51.js.map +1 -1
  460. package/dist/index52.js +98 -38
  461. package/dist/index52.js.map +1 -1
  462. package/dist/index53.js +42 -84
  463. package/dist/index53.js.map +1 -1
  464. package/dist/index54.js +36 -140
  465. package/dist/index54.js.map +1 -1
  466. package/dist/index55.js +88 -136
  467. package/dist/index55.js.map +1 -1
  468. package/dist/index56.js +166 -0
  469. package/dist/index56.js.map +1 -0
  470. package/dist/index57.js +149 -2
  471. package/dist/index57.js.map +1 -1
  472. package/dist/index58.js +33 -2
  473. package/dist/index58.js.map +1 -1
  474. package/dist/index59.js +86 -2
  475. package/dist/index59.js.map +1 -1
  476. package/dist/index6.js +328 -50
  477. package/dist/index6.js.map +1 -1
  478. package/dist/index60.js +119 -2
  479. package/dist/index60.js.map +1 -1
  480. package/dist/index61.js +78 -2
  481. package/dist/index61.js.map +1 -1
  482. package/dist/index62.js +152 -2
  483. package/dist/index62.js.map +1 -1
  484. package/dist/index63.js +318 -2
  485. package/dist/index63.js.map +1 -1
  486. package/dist/index64.js +47 -2
  487. package/dist/index64.js.map +1 -1
  488. package/dist/index65.js +145 -2
  489. package/dist/index65.js.map +1 -1
  490. package/dist/index66.js +12 -2
  491. package/dist/index66.js.map +1 -1
  492. package/dist/index67.js +46 -2
  493. package/dist/index67.js.map +1 -1
  494. package/dist/index68.js +103 -2
  495. package/dist/index68.js.map +1 -1
  496. package/dist/index69.js +19 -2
  497. package/dist/index69.js.map +1 -1
  498. package/dist/index7.js +44 -51
  499. package/dist/index7.js.map +1 -1
  500. package/dist/index70.js +66 -2
  501. package/dist/index70.js.map +1 -1
  502. package/dist/index71.js +27 -2
  503. package/dist/index71.js.map +1 -1
  504. package/dist/index72.js +108 -2
  505. package/dist/index72.js.map +1 -1
  506. package/dist/index73.js +62 -2
  507. package/dist/index73.js.map +1 -1
  508. package/dist/index74.js +21 -2
  509. package/dist/index74.js.map +1 -1
  510. package/dist/index75.js +171 -2
  511. package/dist/index75.js.map +1 -1
  512. package/dist/index76.js +18 -2
  513. package/dist/index76.js.map +1 -1
  514. package/dist/index77.js +11 -2
  515. package/dist/index77.js.map +1 -1
  516. package/dist/index78.js +5 -2
  517. package/dist/index78.js.map +1 -1
  518. package/dist/index79.js +56 -2
  519. package/dist/index79.js.map +1 -1
  520. package/dist/index8.js +48 -18
  521. package/dist/index8.js.map +1 -1
  522. package/dist/index80.js +27 -2
  523. package/dist/index80.js.map +1 -1
  524. package/dist/index81.js +9 -2
  525. package/dist/index81.js.map +1 -1
  526. package/dist/index83.js +2 -2
  527. package/dist/index83.js.map +1 -1
  528. package/dist/index84.js +2 -2
  529. package/dist/index84.js.map +1 -1
  530. package/dist/index85.js +1 -1
  531. package/dist/index85.js.map +1 -1
  532. package/dist/index86.js +2 -2
  533. package/dist/index86.js.map +1 -1
  534. package/dist/index87.js +1 -1
  535. package/dist/index87.js.map +1 -1
  536. package/dist/index88.js +1 -1
  537. package/dist/index88.js.map +1 -1
  538. package/dist/index89.js +1 -1
  539. package/dist/index89.js.map +1 -1
  540. package/dist/index9.js +91 -59
  541. package/dist/index9.js.map +1 -1
  542. package/dist/index90.js +1 -1
  543. package/dist/index90.js.map +1 -1
  544. package/dist/index91.js +2 -2
  545. package/dist/index91.js.map +1 -1
  546. package/dist/index92.js +2 -2
  547. package/dist/index92.js.map +1 -1
  548. package/dist/index93.js +2 -2
  549. package/dist/index93.js.map +1 -1
  550. package/dist/index94.js +1 -1
  551. package/dist/index94.js.map +1 -1
  552. package/dist/index95.js +2 -2
  553. package/dist/index95.js.map +1 -1
  554. package/dist/index96.js +1 -1
  555. package/dist/index96.js.map +1 -1
  556. package/dist/index97.js +1 -1
  557. package/dist/index97.js.map +1 -1
  558. package/dist/index98.js +1 -1
  559. package/dist/index98.js.map +1 -1
  560. package/dist/index99.js +2 -2
  561. package/dist/index99.js.map +1 -1
  562. package/package.json +1 -1
  563. package/dist/index82.js +0 -5
  564. package/dist/index82.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index36.js","sources":["../src/components/DropdownWithInputTags/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef, ForwardedRef, useImperativeHandle, KeyboardEvent } from 'react';\nimport { Popover, PopoverHandle } from '../Popover';\nimport { Icon } from '../Icon';\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?: (option: DropdownOption, onSelect: (option: DropdownOption) => void) => React.ReactNode;\n onSearch?: (searchTerm: string) => void;\n label?: string;\n automationId?: string;\n noOptionsMessage?: string;\n allowCustomTags?: boolean;\n disabled?: boolean;\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 onSearch,\n label,\n automationId = '',\n noOptionsMessage = \"No options found\",\n allowCustomTags = true,\n disabled = false,\n },\n ref: ForwardedRef<DropdownWithInputTagsHandle>\n ) => {\n const [tags, setTags] = useState<{ label: string; value: string }[]>(() => {\n return value.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 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\n useEffect(() => {\n setTags(\n value.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 }, [value, options]);\n\n useEffect(() => {\n if (!inputValue.trim()) {\n setFilteredOptions(options);\n } else {\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 }\n \n if (onSearch) {\n onSearch(inputValue);\n }\n }, [inputValue, options, onSearch]);\n\n const handleSelectOption = (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\n const handleRemoveTag = (indexToRemove: number) => {\n if (disabled) return;\n \n const newTags = tags.filter((_, index) => index !== indexToRemove);\n setTags(newTags);\n onChange?.(newTags.map(tag => tag.value));\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n if (e.key === 'Enter' && inputValue.trim()) {\n e.preventDefault();\n if (filteredOptions.length > 0) {\n handleSelectOption(filteredOptions[0]);\n } else if (allowCustomTags) {\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 }\n setIsDropdownOpen(false);\n } else if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n const newTags = tags.slice(0, -1);\n setTags(newTags);\n onChange?.(newTags.map(tag => tag.value));\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (!isDropdownOpen) {\n setIsDropdownOpen(true);\n }\n } else if (e.key === 'Escape') {\n setIsDropdownOpen(false);\n setInputValue('');\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n \n const newValue = e.target.value;\n setInputValue(newValue);\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 = (option: DropdownOption, onSelect: (option: DropdownOption) => void, disabled: boolean) => (\n <div\n key={option.id}\n className=\"dropdown-with-input-tags-option\"\n onClick={() => !disabled && onSelect(option)}\n >\n <span className=\"option-label\">{option.label}</span>\n {option.value !== option.label && (\n <span className=\"option-value\">{option.value}</span>\n )}\n </div>\n );\n\n return (\n <div className={`dropdown-with-input-tags-wrapper ${className} ${disabled ? 'disabled-wrapper' : ''}`} data-automation-id={automationId}>\n {label && <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 renderPopoverContents={({ closePopoverCb }) => (\n <div className=\"dropdown-with-input-tags-content\">\n {filteredOptions.length > 0 ? (\n filteredOptions.map((option) =>\n renderOption\n ? renderOption(option, handleSelectOption)\n : defaultRenderOption(option, handleSelectOption, disabled)\n )\n ) : (\n <div className=\"dropdown-with-input-tags-no-options\">\n {inputValue.trim() ? (\n allowCustomTags ? (\n <div\n className=\"dropdown-with-input-tags-option dropdown-with-input-tags-custom-option\"\n onClick={() => {\n if (disabled) return;\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 closePopoverCb();\n }}\n >\n Add \"{inputValue.trim()}\"\n </div>\n ) : (\n <div className=\"dropdown-with-input-tags-no-options-text\">\n {noOptionsMessage}\n </div>\n )\n ) : (\n <div className=\"dropdown-with-input-tags-no-options-text\">\n {noOptionsMessage}\n </div>\n )}\n </div>\n )}\n </div>\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.label}\n {!disabled && (\n <span\n className=\"close-icon-in-inputwithtags\"\n onClick={(e) => {\n e.stopPropagation();\n handleRemoveTag(index);\n }}\n >\n <Icon name=\"close\" />\n </span>\n )}\n </span>\n ))}\n <input\n ref={inputRef}\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 />\n </div>\n </div>\n )}\n />\n </div>\n </div>\n );\n }\n); "],"names":["DropdownWithInputTags","value","onChange","placeholder","className","options","renderOption","onSearch","label","automationId","noOptionsMessage","allowCustomTags","disabled","ref","tags","setTags","useState","map","val","found","find","opt","inputValue","setInputValue","filteredOptions","setFilteredOptions","isDropdownOpen","setIsDropdownOpen","popoverRef","useRef","inputRef","useEffect","trim","filtered","filter","option","toLowerCase","includes","handleSelectOption","newTags","some","tag","push","handleRemoveTag","indexToRemove","_","index","handleKeyDown","e","key","preventDefault","length","slice","handleInputChange","newValue","target","handleInputFocus","handleInputContainerClick","stopPropagation","current","focus","handlePopoverWrapperClick","closest","toggleDropdown","useImperativeHandle","defaultRenderOption","onSelect","React","createElement","id","onClick","Popover","contentWidth","position","isPopoverOpen","onPopoverToggle","renderPopoverContents","closePopoverCb","renderPopoverSrcElement","Icon","name","type","onKeyDown","onFocus"],"mappings":"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"}
1
+ {"version":3,"file":"index36.js","sources":["../src/components/CustomAccordion/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { useAccessiblePress, getA11yNameAttributes } from '../../utils/a11y';\nimport { getRegionAttributes } from '../../utils/a11y/regionAttributes';\n\nexport interface CustomAccordionProps {\n renderAccordionContents: (props: { isOpen: boolean }) => React.ReactNode;\n renderAccordionSrcElement: (props: { isOpen: boolean }) => React.ReactNode;\n renderControls?: () => React.ReactNode;\n defaultOpen?: boolean;\n expanded?: boolean;\n onChange?: (isOpen: boolean) => void;\n className?: string;\n arrowPosition?: 'left' | 'right';\n contentClassName?: string;\n disabled?: boolean;\n automationId?: string;\n id?: string;\n ariaLabel?: string;\n titleTag?: string;\n}\n\nexport const CustomAccordion: FC<CustomAccordionProps> = ({\n renderAccordionContents,\n renderAccordionSrcElement,\n renderControls,\n defaultOpen,\n expanded,\n onChange,\n className = '',\n arrowPosition = 'left',\n contentClassName = '',\n disabled = false,\n automationId = '',\n id,\n ariaLabel,\n titleTag\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n setIsOpen(defaultOpen || false);\n }, [defaultOpen]);\n\n const isControlled = expanded !== undefined;\n const open = isControlled ? expanded : isOpen;\n\n const handleToggle = () => {\n if (isControlled) {\n onChange?.(!open);\n } else {\n setIsOpen(!open);\n }\n };\n\n // Generate stable IDs for ARIA relationships\n const triggerId = useStableId(id, 'custom-accordion');\n const contentId = `${triggerId}-content`;\n\n // Use accessible press hook for keyboard + mouse handling\n const { pressProps, role, tabIndex } = useAccessiblePress({\n onClick: handleToggle,\n isNative: false,\n disabled\n });\n\n // Get region attributes for content panel\n const regionAttributes = getRegionAttributes({\n titleId: triggerId,\n isFocusable: false\n });\n\n const focusVisibleClasses = 'group-focus-visible:[outline:var(--focus-width)_solid_var(--focus-color)] group-focus-visible:[outline-offset:var(--focus-offset)] group-focus-visible:p-[2px]';\n\n const getArrowRotation = () => {\n if (disabled) {\n return '';\n }\n if (arrowPosition === 'left') {\n return open ? 'rotate-90' : '';\n }\n return open ? 'rotate-180' : '';\n };\n\n const TitleTag = titleTag as React.ElementType | undefined;\n\n const triggerContent = (\n <div className={`se-design-accordion-trigger-content flex items-center rounded ${focusVisibleClasses}`}>\n {arrowPosition === 'left' && (\n <div className={`se-design-accordion-icon transform transition-transform duration-300 ${getArrowRotation()} ${\n disabled ? 'opacity-30 pointer-events-none' : ''\n }`}>\n <Icon name=\"rightSide\" />\n </div>\n )}\n <div className=\"se-design-accordion-elements\">\n <div id={triggerId} className=\"se-design-accordion-src-element title\">{renderAccordionSrcElement({ isOpen: open })}</div>\n </div>\n {arrowPosition === 'right' && (\n <div className={`se-design-accordion-icon transform transition-transform duration-300 ${getArrowRotation()} ${\n disabled ? 'opacity-30 pointer-events-none' : ''\n }`}>\n <Icon name=\"chevron\" />\n </div>\n )}\n </div>\n );\n\n const trigger = TitleTag ? (\n <TitleTag className=\"flex-1\">\n <button\n id={triggerId + '-btn'}\n onClick={handleToggle}\n aria-expanded={open}\n aria-controls={contentId}\n disabled={disabled}\n className=\"flex items-center flex-1 w-full cursor-pointer group focus-visible:!outline-none bg-transparent border-0 p-0 text-left\"\n >\n {triggerContent}\n </button>\n </TitleTag>\n ) : (\n <div\n {...pressProps}\n {...getA11yNameAttributes({ ariaLabel })}\n role={role}\n tabIndex={tabIndex}\n aria-expanded={open}\n aria-controls={contentId}\n className=\"flex items-center flex-1 cursor-pointer group focus-visible:outline-none\"\n >\n {triggerContent}\n </div>\n );\n\n return (\n <div className={`se-design-accordion ${className}`} data-automation-id={automationId}>\n <div className=\"flex flex-col\">\n <div className=\"se-design-accordion-src flex items-center\">\n {trigger}\n {renderControls?.()}\n </div>\n {open && (\n <div id={contentId} {...regionAttributes} className={`se-design-accordion-content transition-all duration-300 mt-1 ${contentClassName}`}>\n {renderAccordionContents({ isOpen: open })}\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["CustomAccordion","renderAccordionContents","renderAccordionSrcElement","renderControls","defaultOpen","expanded","onChange","className","arrowPosition","contentClassName","disabled","automationId","id","ariaLabel","titleTag","isOpen","setIsOpen","useState","useEffect","isControlled","undefined","open","handleToggle","triggerId","useStableId","contentId","pressProps","role","tabIndex","useAccessiblePress","onClick","isNative","regionAttributes","getRegionAttributes","titleId","isFocusable","focusVisibleClasses","getArrowRotation","TitleTag","triggerContent","React","createElement","Icon","name","trigger","_extends","getA11yNameAttributes"],"mappings":"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"}
package/dist/index37.js CHANGED
@@ -1,45 +1,58 @@
1
- import e from "react";
1
+ import a, { useState as p, useRef as N } from "react";
2
2
  /* empty css */
3
- function $({
4
- value: r,
5
- onChange: c,
6
- onBlur: o,
7
- disabled: a,
8
- maxLength: t,
9
- tag: l,
10
- error: n,
11
- errorMessage: m,
12
- label: i,
13
- placeholder: s,
14
- style: d,
15
- inputStyle: u,
16
- automationId: p = ""
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 = ""
17
13
  }) {
18
- const E = l || "input";
19
- return /* @__PURE__ */ e.createElement("div", {
20
- className: "input-main-container",
21
- style: d,
22
- "data-automation-id": p
23
- }, i && /* @__PURE__ */ e.createElement("div", {
24
- className: `label-container ${a ? "label-container-disabled" : ""}`
25
- }, i), /* @__PURE__ */ e.createElement(E, {
26
- value: r,
27
- onChange: (v) => c(v.target.value),
28
- onBlur: o,
29
- disabled: a,
30
- className: `${n ? "input-container-error" : "input-container-default"} ${a ? "input-container-disabled" : ""}`,
31
- maxLength: t || void 0,
32
- placeholder: s,
33
- style: u
34
- }), /* @__PURE__ */ e.createElement("div", {
35
- className: `${n ? "error-and-max-word" : "max-word-container"}`
36
- }, n && /* @__PURE__ */ e.createElement("div", {
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);
23
+ };
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", {
37
52
  className: "error-message"
38
- }, m), t && /* @__PURE__ */ e.createElement("div", {
39
- className: "max-word"
40
- }, t && r?.length + "/" + t)));
53
+ }, h));
41
54
  }
42
55
  export {
43
- $ as Input
56
+ D as InputWithTags
44
57
  };
45
58
  //# sourceMappingURL=index37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index37.js","sources":["../src/components/Input/index.tsx"],"sourcesContent":["import React from 'react';\nimport './style.scss';\n\nexport interface InputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number | undefined;\n onChange: (value: string) => void;\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n style?: React.CSSProperties;\n inputStyle?: React.CSSProperties;\n automationId?: string;\n}\n\nexport function Input({\n value,\n onChange,\n onBlur,\n disabled,\n maxLength,\n tag,\n error,\n errorMessage,\n label,\n placeholder,\n style,\n inputStyle,\n automationId = ''\n}: InputProps) {\n const Element = tag || 'input';\n\n return (\n <div className=\"input-main-container\" style={style} data-automation-id={automationId}>\n {label && <div className={`label-container ${disabled ? 'label-container-disabled' : ''}`}>{label}</div>}\n {React.createElement(Element, {\n value,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value),\n onBlur,\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''}`,\n maxLength: maxLength ? maxLength : undefined,\n placeholder: placeholder,\n style: inputStyle\n })}\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n {maxLength && <div className=\"max-word\">{maxLength && value?.length + '/' + maxLength}</div>}\n </div>\n </div>\n );\n}\n"],"names":["React__default","Input","value","onChange","onBlur","disabled","maxLength","tag","error","errorMessage","label","placeholder","style","inputStyle","automationId","Element","React","createElement","className","e","target","undefined","length"],"mappings":"AAmBO,OAAAA,OAAA;AAAA,OAAA;AAAA,SAASC,EAAM;AAAA,EACpBC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,cAAAA,IAAe;AACL,GAAG;AACb,QAAMC,IAAUR,KAAO;AAGrBS,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAAuBN,OAAAA;AAAAA,IAAc,sBAAoBE;AAAAA,EACrEJ,GAAAA,KAASO,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAW,mBAAmBb,IAAW,6BAA6B,EAAE;AAAA,EAAKK,GAAAA,CAAW,GACtGM,gBAAAA,EAAMC,cAAcF,GAAS;AAAA,IAC5Bb,OAAAA;AAAAA,IACAC,UAAUA,CAACgB,MAA2ChB,EAASgB,EAAEC,OAAOlB,KAAK;AAAA,IAC7EE,QAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAa,WAAW,GAAGV,IAAQ,0BAA0B,yBAAyB,IAAIH,IAAW,6BAA6B,EAAE;AAAA,IACvHC,WAAWA,KAAwBe;AAAAA,IACnCV,aAAAA;AAAAA,IACAC,OAAOC;AAAAA,EAAAA,CACR,GACDI,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAGV,IAAQ,uBAAuB,oBAAoB;AAAA,EACnEA,GAAAA,KAASS,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,KAAiBT,CAAkB,GAC3DH,KAAaU,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GAAYZ,KAAaJ,GAAOoB,SAAS,MAAMhB,CAAe,CACxF,CACF;AAET;"}
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;"}
package/dist/index38.js CHANGED
@@ -1,87 +1,311 @@
1
- import a, { useState as d, useRef as $, useEffect as r, useMemo as D } from "react";
2
- import { Icon as g } from "./index5.js";
3
- import { LabelChip as F } from "./index9.js";
4
- import { debounce as L } from "./index167.js";
1
+ import a, { forwardRef as be, useState as _, useRef as M, useCallback as F, useEffect as W, useImperativeHandle as Ee } from "react";
2
+ import { Popover as Pe } from "./index19.js";
3
+ import { Icon as Ce } from "./index6.js";
4
+ import { Checkbox as Se } from "./index23.js";
5
+ import { Button as X } from "./index4.js";
6
+ import { getA11yNameAttributes as De } from "./index81.js";
7
+ import "./index72.js";
8
+ import { useCombobox as Ne } from "./index68.js";
9
+ import { useStableId as $e } from "./index205.js";
10
+ import { announce as Oe } from "./index75.js";
5
11
  /* empty css */
6
- function z(p) {
7
- const {
8
- disabled: v = !1,
9
- placeholder: I = "Search",
10
- debounceDuration: h = 500,
11
- onInputChange: c = () => {
12
- },
13
- onSearchClear: N = () => {
14
- },
15
- onChipRemove: S = () => {
16
- },
17
- updateSearchString: o = "",
18
- collapsible: f = !1,
19
- width: k = "200px",
20
- chips: s = [],
21
- showSearchIcon: w = !0,
22
- renderFilterComponent: b = null,
23
- automationId: R = ""
24
- } = p, [n, l] = d(""), [t, C] = d(!p?.collapsible), [i, E] = d(s || []), m = $(null);
25
- r(() => {
26
- t && m.current && setTimeout(() => m?.current?.focus(), 0);
27
- }, [t]), r(() => {
28
- o !== n && l(o);
29
- }, [o]), r(() => {
30
- E(s);
31
- }, [s]);
32
- const u = D(() => L(c, h), [c, h]);
33
- r(() => () => {
34
- u.cancel();
35
- }, [u]);
36
- const y = (e) => {
37
- l(e), u(e);
38
- }, B = () => {
39
- l(""), c(""), N();
40
- }, H = () => {
41
- f && n?.trimEnd() === "" && C(!1);
42
- }, _ = (e) => {
43
- E(i.filter((V) => V?.id !== e?.id)), S(e);
44
- }, x = i?.length > 0;
45
- return /* @__PURE__ */ a.createElement("div", {
46
- className: `se-search-box ${t ? "expand-box" : "shrink-box"}`,
47
- style: {
48
- width: k
49
- },
50
- "data-automation-id": R
51
- }, t && /* @__PURE__ */ a.createElement("div", {
52
- className: "search-box-container"
53
- }, /* @__PURE__ */ a.createElement("div", {
54
- className: `chips-and-search-box-container${x ? " has-chips" : ""}`
55
- }, x && i?.map((e) => /* @__PURE__ */ a.createElement(F, {
56
- key: e?.value,
57
- label: e?.label,
58
- icon: "close",
59
- onIconClick: () => _(e)
60
- })), /* @__PURE__ */ a.createElement("div", {
61
- className: "search-input-container"
62
- }, w && /* @__PURE__ */ a.createElement(g, {
63
- name: "search",
64
- className: "search-icon img-wrap",
65
- onClick: () => f && C((e) => !e)
66
- }), /* @__PURE__ */ a.createElement("input", {
67
- ref: m,
68
- className: "search-input border-transparent focus:border-transparent active:border-transparent focus:ring-0",
69
- id: "search_bar",
70
- type: "text",
71
- placeholder: I,
72
- onChange: (e) => y(e.target.value),
73
- value: n,
74
- disabled: v,
75
- onBlur: H
76
- }), !!n && /* @__PURE__ */ a.createElement(g, {
77
- name: "close",
78
- className: "cross-icon img-wrap",
79
- onClick: B
80
- }))), b && /* @__PURE__ */ a.createElement("div", {
81
- className: "filter-component-container"
82
- }, b())));
12
+ function g() {
13
+ return g = Object.assign ? Object.assign.bind() : function(h) {
14
+ for (var i = 1; i < arguments.length; i++) {
15
+ var k = arguments[i];
16
+ for (var y in k) ({}).hasOwnProperty.call(k, y) && (h[y] = k[y]);
17
+ }
18
+ return h;
19
+ }, g.apply(null, arguments);
83
20
  }
21
+ const We = /* @__PURE__ */ be(({
22
+ value: h,
23
+ onChange: i,
24
+ placeholder: k = "Type to search or add custom tags...",
25
+ className: y = "",
26
+ options: d = [],
27
+ renderOption: x,
28
+ label: R,
29
+ ariaLabel: Y,
30
+ ariaLabelledBy: Z,
31
+ ariaDescribedBy: ee,
32
+ automationId: u = "",
33
+ noOptionsMessage: U = "No options found",
34
+ allowCustomTags: j = !0,
35
+ disabled: r = !1,
36
+ type: H = "select",
37
+ showInput: z = !0,
38
+ displayTagBy: B = "label",
39
+ isWithPortal: te = !1
40
+ }, ne) => {
41
+ const G = (e) => e.map((t) => {
42
+ const n = d.find((s) => s.value === t);
43
+ return n ? {
44
+ label: n.label,
45
+ value: n.value
46
+ } : {
47
+ label: t,
48
+ value: t
49
+ };
50
+ }), [o, f] = _(() => G(h || [])), [l, b] = _(""), [K, ae] = _(d), [p, c] = _(!1), re = M(null), S = M(null), D = M(!1), E = H === "multi-select-without-cta", m = H === "multi-select" || E, oe = $e(u, "dropdown-input-tags-listbox"), N = F((e) => {
51
+ if (r) return;
52
+ const t = [...o];
53
+ t.some((n) => n.value === e.value) || (t.push({
54
+ label: e.label,
55
+ value: e.value
56
+ }), f(t), i?.(t.map((n) => n.value))), b(""), c(!1);
57
+ }, [r, o, i]), V = F((e, t) => {
58
+ let n = [];
59
+ e ? n = [...o, {
60
+ label: t.label,
61
+ value: t.value
62
+ }] : n = o.filter((s) => s.value !== t.value), f(n), b(""), E && (D.current = !0, i?.(n.map((s) => s.value)));
63
+ }, [o, E, i]), $ = "__add_custom_tag__", q = F((e) => {
64
+ if (!r) {
65
+ if (e.value === $) {
66
+ const t = l.trim();
67
+ if (!t) return;
68
+ const n = [...o];
69
+ n.some((s) => s.value === t) || (n.push({
70
+ label: t,
71
+ value: t
72
+ }), f(n), i?.(n.map((s) => s.value))), b(""), c(!1);
73
+ return;
74
+ }
75
+ if (m) {
76
+ const t = o.some((n) => n.value === e.value);
77
+ V(!t, e);
78
+ } else
79
+ N(e);
80
+ }
81
+ }, [r, m, o, l, i, V, N]), v = K.length > 0 ? K : j && l.trim() ? [{
82
+ id: $,
83
+ label: `Add "${l.trim()}"`,
84
+ value: $
85
+ }] : [], {
86
+ containerProps: le,
87
+ inputProps: J,
88
+ listboxProps: se,
89
+ getOptionProps: O,
90
+ highlightedIndex: A,
91
+ setHighlightedIndex: w,
92
+ isKeyboardFocused: Q
93
+ } = Ne({
94
+ items: v,
95
+ isOpen: p,
96
+ onOpenChange: c,
97
+ onSelect: q,
98
+ listboxId: oe,
99
+ hasItems: v.length > 0,
100
+ keepHighlightOnSelect: m,
101
+ closeOnTab: H !== "multi-select"
102
+ }), T = (e) => e ? `highlighted${Q ? " keyboard-highlight" : ""}` : "";
103
+ W(() => {
104
+ if (D.current) {
105
+ D.current = !1;
106
+ return;
107
+ }
108
+ f(G(h || []));
109
+ }, [h, d, p]), W(() => {
110
+ const e = d.filter((t) => t.label.toLowerCase().includes(l.toLowerCase()) || t.value.toLowerCase().includes(l.toLowerCase()));
111
+ ae(e);
112
+ }, [l, d]), W(() => {
113
+ p && v.length === 0 && l.trim() && Oe(U, {
114
+ assertiveness: "polite",
115
+ batchId: "dropdown-input-tags-empty-state",
116
+ delay: 300
117
+ });
118
+ }, [v.length, p, l]);
119
+ const ie = (e) => {
120
+ if (r) return;
121
+ const t = o.filter((n, s) => s !== e);
122
+ f(t), (!m || E || m && !p) && i?.(t.map((n) => n.value));
123
+ }, ce = (e) => {
124
+ if (!r) {
125
+ if (e.key === "Backspace" && l === "" && o.length > 0) {
126
+ e.preventDefault();
127
+ const t = o.slice(0, -1);
128
+ f(t), i?.(t.map((n) => n.value));
129
+ return;
130
+ }
131
+ if (e.key === "Enter" && l.trim() && K.length === 0 && j) {
132
+ e.preventDefault();
133
+ const t = [...o];
134
+ t.some((n) => n.value === l.trim()) || (t.push({
135
+ label: l.trim(),
136
+ value: l.trim()
137
+ }), f(t), i?.(t.map((n) => n.value))), b(""), w(-1), c(!1);
138
+ return;
139
+ }
140
+ J.onKeyDown(e);
141
+ }
142
+ }, ue = (e) => {
143
+ if (r) return;
144
+ const t = e.target.value;
145
+ b(t), w(-1), t.trim() && !p && c(!0);
146
+ }, pe = () => {
147
+ r || (l.trim() || d.length > 0) && c(!0);
148
+ }, me = (e) => {
149
+ r || (e.stopPropagation(), S.current?.focus(), !p && (l.trim() || d.length > 0) && c(!0));
150
+ }, fe = (e) => {
151
+ if (r) {
152
+ e.preventDefault(), e.stopPropagation();
153
+ return;
154
+ }
155
+ e.target.closest(".input-with-tags-container") && e.stopPropagation();
156
+ }, ge = () => {
157
+ r || c(!p);
158
+ };
159
+ Ee(ne, () => ({
160
+ toggleDropdown: ge
161
+ }), []);
162
+ const de = (e, t, n, s) => {
163
+ const P = o.some((C) => C.value === e.value), I = A === t, L = O(t, P);
164
+ return /* @__PURE__ */ a.createElement("div", g({
165
+ key: e.id
166
+ }, L, {
167
+ className: `dropdown-with-input-tags-option ${T(I)}`,
168
+ onClick: () => !s && n(e),
169
+ onMouseEnter: () => w(t),
170
+ "data-automation-id": `${u}-option-${e.id}`
171
+ }), /* @__PURE__ */ a.createElement("span", {
172
+ className: "option-label"
173
+ }, e.label), e.value !== e.label && /* @__PURE__ */ a.createElement("span", {
174
+ className: "option-value"
175
+ }, e.value));
176
+ }, he = () => {
177
+ D.current = !0;
178
+ const e = o.map((t) => t.value);
179
+ i?.(e), c(!1);
180
+ }, ve = () => {
181
+ f([]);
182
+ }, we = (e, t) => {
183
+ const n = o.some((I) => I.value === e.value), s = A === t, P = O(t, n);
184
+ return /* @__PURE__ */ a.createElement("div", g({
185
+ key: e.id
186
+ }, P, {
187
+ className: `dropdown-with-input-tags-option dropdown-with-input-tags-multi-select-option ${T(s)}`,
188
+ "aria-checked": n,
189
+ onClick: () => {
190
+ r || (V(!n, e), S.current?.focus());
191
+ },
192
+ onMouseEnter: () => w(t),
193
+ "data-automation-id": `${u}-option-${e.id}`
194
+ }), /* @__PURE__ */ a.createElement(Se, {
195
+ automationId: "checkbox",
196
+ className: "checkbox",
197
+ checked: n,
198
+ onChange: () => {
199
+ },
200
+ label: e.label,
201
+ tabIndex: -1
202
+ }));
203
+ }, ke = () => /* @__PURE__ */ a.createElement("div", {
204
+ className: "dropdown-with-input-tags-ctas-container",
205
+ onKeyDown: (e) => {
206
+ (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End") && e.stopPropagation();
207
+ }
208
+ }, /* @__PURE__ */ a.createElement(X, {
209
+ label: "Clear",
210
+ type: "link",
211
+ size: "sm",
212
+ onClick: ve,
213
+ automationId: `${u}-clear-button`
214
+ }), /* @__PURE__ */ a.createElement(X, {
215
+ label: "Apply",
216
+ type: "primary",
217
+ size: "sm",
218
+ onClick: he,
219
+ automationId: `${u}-apply-button`
220
+ }));
221
+ return /* @__PURE__ */ a.createElement("div", g({
222
+ className: `dropdown-with-input-tags-wrapper ${y} ${r ? "disabled-wrapper" : ""}`,
223
+ "data-automation-id": u
224
+ }, le), R && /* @__PURE__ */ a.createElement("label", {
225
+ id: `${u}-label`,
226
+ className: "dropdown-with-input-tags-label"
227
+ }, R), /* @__PURE__ */ a.createElement("div", {
228
+ onClick: fe
229
+ }, /* @__PURE__ */ a.createElement(Pe, {
230
+ ref: re,
231
+ className: "dropdown-with-input-tags-popover",
232
+ contentWidth: "full",
233
+ position: "bottom-left",
234
+ isPopoverOpen: !r && p,
235
+ onPopoverToggle: r ? () => {
236
+ } : c,
237
+ disableClickToggle: !0,
238
+ isWithPortal: te,
239
+ renderPopoverContents: ({
240
+ closePopoverCb: e
241
+ }) => /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("div", g({}, se, {
242
+ className: "dropdown-with-input-tags-content"
243
+ }, m && {
244
+ "aria-multiselectable": "true"
245
+ }), v.length > 0 ? v.map((t, n) => {
246
+ if (t.value === $) {
247
+ const C = A === n, ye = O(n, !1);
248
+ return /* @__PURE__ */ a.createElement("div", g({
249
+ key: t.id
250
+ }, ye, {
251
+ className: `dropdown-with-input-tags-option dropdown-with-input-tags-custom-option ${T(C)}`,
252
+ onClick: () => {
253
+ r || (q(t), e());
254
+ },
255
+ onMouseEnter: () => w(n)
256
+ }), 'Add "', l.trim(), '"');
257
+ }
258
+ if (m)
259
+ return we(t, n);
260
+ const s = o.some((C) => C.value === t.value), P = A === n, L = {
261
+ ...O(n, s),
262
+ onMouseEnter: () => w(n),
263
+ className: `dropdown-with-input-tags-option ${T(P)}`
264
+ };
265
+ return x ? x(t, L, N) : de(t, n, N, r);
266
+ }) : /* @__PURE__ */ a.createElement("div", {
267
+ className: "dropdown-with-input-tags-no-options"
268
+ }, /* @__PURE__ */ a.createElement("div", {
269
+ className: "dropdown-with-input-tags-no-options-text"
270
+ }, U))), m && !E && ke()),
271
+ renderPopoverSrcElement: () => /* @__PURE__ */ a.createElement("div", {
272
+ className: "dropdown-with-input-tags-input-container"
273
+ }, /* @__PURE__ */ a.createElement("div", {
274
+ className: `input-with-tags-container ${r ? "disabled-input-with-tags-container" : ""} ${Q ? "keyboard-focused" : ""}`,
275
+ onClick: me,
276
+ onKeyDown: (e) => {
277
+ e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && S.current?.focus();
278
+ }
279
+ }, o.map((e, t) => /* @__PURE__ */ a.createElement("span", {
280
+ key: t,
281
+ className: "tag-in-inputwithtags"
282
+ }, e[B], !r && /* @__PURE__ */ a.createElement(Ce, {
283
+ name: "close",
284
+ className: "close-icon-in-inputwithtags",
285
+ ariaLabel: `Remove tag ${e[B]}`,
286
+ onClick: () => ie(t),
287
+ shouldStopPropagation: !0
288
+ }))), (z || !o.length || m) && /* @__PURE__ */ a.createElement("input", g({
289
+ ref: S
290
+ }, J, {
291
+ type: "text",
292
+ value: l,
293
+ onChange: ue,
294
+ onKeyDown: ce,
295
+ onFocus: pe,
296
+ placeholder: o.length === 0 ? k : "",
297
+ className: `input-with-tags-input${!z && o.length > 0 && !l ? " sr-only" : ""}`,
298
+ disabled: r
299
+ }, De({
300
+ ariaLabel: Y || R || "Search and select options",
301
+ ariaLabelledBy: Z,
302
+ ariaDescribedBy: ee
303
+ }))))),
304
+ automationId: u,
305
+ popoverContentAutomationId: `${u}-content`
306
+ })));
307
+ });
84
308
  export {
85
- z as SearchBox
309
+ We as DropdownWithInputTags
86
310
  };
87
311
  //# sourceMappingURL=index38.js.map