se-design 1.0.3 → 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 (559) 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/envelope.svg +4 -0
  18. package/dist/assets/icons/file-filled-checked.svg +8 -0
  19. package/dist/assets/icons/filter.svg +3 -0
  20. package/dist/assets/icons/google-drive.svg +8 -0
  21. package/dist/assets/icons/home.svg +3 -2
  22. package/dist/assets/icons/left-align.svg +3 -0
  23. package/dist/assets/icons/library.svg +6 -0
  24. package/dist/assets/icons/minus.svg +3 -0
  25. package/dist/assets/icons/plus.svg +4 -0
  26. package/dist/assets/icons/reports.svg +4 -0
  27. package/dist/assets/icons/repository.svg +4 -0
  28. package/dist/assets/icons/right-align.svg +3 -0
  29. package/dist/assets/icons/sort-asc.svg +3 -4
  30. package/dist/assets/icons/sort-desc.svg +2 -3
  31. package/dist/assets/icons/tag.svg +2 -2
  32. package/dist/assets/icons/views.svg +7 -0
  33. package/dist/assets/icons/warning.svg +10 -0
  34. package/dist/assets/style.css +1 -1
  35. package/dist/assets/typographyMixin.scss +8 -0
  36. package/dist/components/AccessibleDiv/index.d.ts +46 -0
  37. package/dist/components/Accordion/index.d.ts +2 -0
  38. package/dist/components/AutoCompleteInput/index.d.ts +37 -7
  39. package/dist/components/Avatar/index.d.ts +1 -0
  40. package/dist/components/Badge/index.d.ts +2 -0
  41. package/dist/components/Banner/index.d.ts +17 -4
  42. package/dist/components/BottomSheet/index.d.ts +14 -0
  43. package/dist/components/BreadCrumbs/index.d.ts +5 -0
  44. package/dist/components/Button/index.d.ts +51 -7
  45. package/dist/components/Checkbox/index.d.ts +35 -0
  46. package/dist/components/CustomAccordion/index.d.ts +6 -0
  47. package/dist/components/CustomModal/index.d.ts +56 -1
  48. package/dist/components/DatePicker/index.d.ts +7 -0
  49. package/dist/components/DatePicker/useDatePickerA11y.d.ts +47 -0
  50. package/dist/components/Dropdown/index.d.ts +23 -0
  51. package/dist/components/DropdownWithInputTags/index.d.ts +12 -2
  52. package/dist/components/GuidedTour/index.d.ts +27 -0
  53. package/dist/components/Header/index.d.ts +3 -2
  54. package/dist/components/Icon/index.d.ts +45 -4
  55. package/dist/components/InfoTooltip/index.d.ts +14 -1
  56. package/dist/components/Input/index.d.ts +38 -6
  57. package/dist/components/InputWithIcon/index.d.ts +36 -2
  58. package/dist/components/KebabMenu/index.d.ts +1 -0
  59. package/dist/components/LabelChip/index.d.ts +3 -0
  60. package/dist/components/Link/index.d.ts +64 -0
  61. package/dist/components/MenuItem/index.d.ts +13 -3
  62. package/dist/components/MenuList/index.d.ts +3 -2
  63. package/dist/components/MessageBar/index.d.ts +20 -1
  64. package/dist/components/Modal/index.d.ts +3 -0
  65. package/dist/components/NavigationBar/TabButton.d.ts +20 -0
  66. package/dist/components/NavigationBar/index.d.ts +8 -1
  67. package/dist/components/OTPInput/index.d.ts +1 -0
  68. package/dist/components/OnboardingTour/index.d.ts +35 -0
  69. package/dist/components/Pagination/index.d.ts +2 -0
  70. package/dist/components/Paywall/index.d.ts +47 -0
  71. package/dist/components/PhoneInput/index.d.ts +27 -0
  72. package/dist/components/Popover/index.d.ts +15 -3
  73. package/dist/components/Radio/index.d.ts +7 -1
  74. package/dist/components/RadioGroup/index.d.ts +18 -0
  75. package/dist/components/ShimmerLoader/index.d.ts +4 -2
  76. package/dist/components/SidebarOverlay/index.d.ts +36 -0
  77. package/dist/components/SkipLinksBar/index.d.ts +11 -0
  78. package/dist/components/SnackBar/index.d.ts +5 -2
  79. package/dist/components/Spinner/index.d.ts +13 -1
  80. package/dist/components/TableLayout/index.d.ts +18 -0
  81. package/dist/components/Tabs/index.d.ts +6 -1
  82. package/dist/components/TimePicker/index.d.ts +14 -0
  83. package/dist/components/Toggle/index.d.ts +25 -1
  84. package/dist/components/Tooltip/index.d.ts +19 -2
  85. package/dist/components/index.d.ts +8 -0
  86. package/dist/index.js +153 -108
  87. package/dist/index.js.map +1 -1
  88. package/dist/index10.js +23 -48
  89. package/dist/index10.js.map +1 -1
  90. package/dist/index100.js +1 -1
  91. package/dist/index100.js.map +1 -1
  92. package/dist/index101.js +1 -1
  93. package/dist/index101.js.map +1 -1
  94. package/dist/index102.js +2 -2
  95. package/dist/index102.js.map +1 -1
  96. package/dist/index103.js +1 -1
  97. package/dist/index103.js.map +1 -1
  98. package/dist/index104.js +1 -1
  99. package/dist/index104.js.map +1 -1
  100. package/dist/index105.js +1 -1
  101. package/dist/index105.js.map +1 -1
  102. package/dist/index106.js +1 -1
  103. package/dist/index106.js.map +1 -1
  104. package/dist/index107.js +1 -1
  105. package/dist/index107.js.map +1 -1
  106. package/dist/index108.js +1 -1
  107. package/dist/index108.js.map +1 -1
  108. package/dist/index109.js +1 -1
  109. package/dist/index109.js.map +1 -1
  110. package/dist/index11.js +74 -18
  111. package/dist/index11.js.map +1 -1
  112. package/dist/index110.js +1 -1
  113. package/dist/index110.js.map +1 -1
  114. package/dist/index111.js +1 -1
  115. package/dist/index111.js.map +1 -1
  116. package/dist/index112.js +2 -2
  117. package/dist/index112.js.map +1 -1
  118. package/dist/index113.js +2 -2
  119. package/dist/index113.js.map +1 -1
  120. package/dist/index114.js +2 -2
  121. package/dist/index114.js.map +1 -1
  122. package/dist/index115.js +1 -1
  123. package/dist/index115.js.map +1 -1
  124. package/dist/index116.js +1 -1
  125. package/dist/index116.js.map +1 -1
  126. package/dist/index117.js +1 -1
  127. package/dist/index117.js.map +1 -1
  128. package/dist/index118.js +1 -1
  129. package/dist/index118.js.map +1 -1
  130. package/dist/index119.js +1 -1
  131. package/dist/index119.js.map +1 -1
  132. package/dist/index12.js +76 -11
  133. package/dist/index12.js.map +1 -1
  134. package/dist/index120.js +1 -1
  135. package/dist/index120.js.map +1 -1
  136. package/dist/index121.js +2 -2
  137. package/dist/index121.js.map +1 -1
  138. package/dist/index122.js +2 -2
  139. package/dist/index122.js.map +1 -1
  140. package/dist/index123.js +1 -1
  141. package/dist/index123.js.map +1 -1
  142. package/dist/index124.js +1 -1
  143. package/dist/index124.js.map +1 -1
  144. package/dist/index125.js +2 -2
  145. package/dist/index125.js.map +1 -1
  146. package/dist/index126.js +2 -2
  147. package/dist/index126.js.map +1 -1
  148. package/dist/index127.js +2 -2
  149. package/dist/index127.js.map +1 -1
  150. package/dist/index128.js +1 -1
  151. package/dist/index128.js.map +1 -1
  152. package/dist/index129.js +1 -1
  153. package/dist/index129.js.map +1 -1
  154. package/dist/index13.js +64 -5
  155. package/dist/index13.js.map +1 -1
  156. package/dist/index130.js +2 -2
  157. package/dist/index130.js.map +1 -1
  158. package/dist/index131.js +1 -1
  159. package/dist/index131.js.map +1 -1
  160. package/dist/index132.js +1 -1
  161. package/dist/index132.js.map +1 -1
  162. package/dist/index133.js +1 -1
  163. package/dist/index133.js.map +1 -1
  164. package/dist/index134.js +1 -1
  165. package/dist/index134.js.map +1 -1
  166. package/dist/index135.js +2 -2
  167. package/dist/index135.js.map +1 -1
  168. package/dist/index136.js +2 -2
  169. package/dist/index136.js.map +1 -1
  170. package/dist/index137.js +1 -1
  171. package/dist/index137.js.map +1 -1
  172. package/dist/index138.js +1 -1
  173. package/dist/index138.js.map +1 -1
  174. package/dist/index139.js +1 -1
  175. package/dist/index139.js.map +1 -1
  176. package/dist/index14.js +15 -138
  177. package/dist/index14.js.map +1 -1
  178. package/dist/index140.js +1 -1
  179. package/dist/index140.js.map +1 -1
  180. package/dist/index141.js +1 -1
  181. package/dist/index141.js.map +1 -1
  182. package/dist/index142.js +1 -1
  183. package/dist/index142.js.map +1 -1
  184. package/dist/index143.js +1 -1
  185. package/dist/index143.js.map +1 -1
  186. package/dist/index144.js +2 -2
  187. package/dist/index144.js.map +1 -1
  188. package/dist/index145.js +1 -1
  189. package/dist/index145.js.map +1 -1
  190. package/dist/index146.js +2 -2
  191. package/dist/index146.js.map +1 -1
  192. package/dist/index147.js +1 -1
  193. package/dist/index147.js.map +1 -1
  194. package/dist/index148.js +2 -2
  195. package/dist/index148.js.map +1 -1
  196. package/dist/index149.js +1 -1
  197. package/dist/index149.js.map +1 -1
  198. package/dist/index15.js +10 -54
  199. package/dist/index15.js.map +1 -1
  200. package/dist/index150.js +1 -1
  201. package/dist/index150.js.map +1 -1
  202. package/dist/index151.js +1 -1
  203. package/dist/index151.js.map +1 -1
  204. package/dist/index152.js +1 -1
  205. package/dist/index152.js.map +1 -1
  206. package/dist/index153.js +1 -1
  207. package/dist/index153.js.map +1 -1
  208. package/dist/index154.js +1 -1
  209. package/dist/index154.js.map +1 -1
  210. package/dist/index155.js +2 -2
  211. package/dist/index155.js.map +1 -1
  212. package/dist/index156.js +2 -2
  213. package/dist/index156.js.map +1 -1
  214. package/dist/index157.js +2 -2
  215. package/dist/index157.js.map +1 -1
  216. package/dist/index158.js +2 -2
  217. package/dist/index158.js.map +1 -1
  218. package/dist/index159.js +1 -1
  219. package/dist/index159.js.map +1 -1
  220. package/dist/index16.js +216 -54
  221. package/dist/index16.js.map +1 -1
  222. package/dist/index160.js +2 -149
  223. package/dist/index160.js.map +1 -1
  224. package/dist/index161.js +5 -0
  225. package/dist/index161.js.map +1 -0
  226. package/dist/index162.js +5 -0
  227. package/dist/index162.js.map +1 -0
  228. package/dist/index163.js +5 -0
  229. package/dist/index163.js.map +1 -0
  230. package/dist/index164.js +5 -0
  231. package/dist/index164.js.map +1 -0
  232. package/dist/index165.js +5 -0
  233. package/dist/index165.js.map +1 -0
  234. package/dist/index166.js +5 -0
  235. package/dist/index166.js.map +1 -0
  236. package/dist/index167.js +5 -0
  237. package/dist/index167.js.map +1 -0
  238. package/dist/index168.js +5 -0
  239. package/dist/index168.js.map +1 -0
  240. package/dist/index169.js +5 -0
  241. package/dist/index169.js.map +1 -0
  242. package/dist/index17.js +60 -255
  243. package/dist/index17.js.map +1 -1
  244. package/dist/index170.js +5 -0
  245. package/dist/index170.js.map +1 -0
  246. package/dist/index171.js +5 -0
  247. package/dist/index171.js.map +1 -0
  248. package/dist/index172.js +2 -12
  249. package/dist/index172.js.map +1 -1
  250. package/dist/index173.js +5 -0
  251. package/dist/index173.js.map +1 -0
  252. package/dist/index174.js +5 -0
  253. package/dist/index174.js.map +1 -0
  254. package/dist/index175.js +5 -0
  255. package/dist/index175.js.map +1 -0
  256. package/dist/index176.js +5 -0
  257. package/dist/index176.js.map +1 -0
  258. package/dist/index177.js +5 -0
  259. package/dist/index177.js.map +1 -0
  260. package/dist/index178.js +5 -0
  261. package/dist/index178.js.map +1 -0
  262. package/dist/index179.js +5 -0
  263. package/dist/index179.js.map +1 -0
  264. package/dist/index18.js +128 -11
  265. package/dist/index18.js.map +1 -1
  266. package/dist/index180.js +1 -1232
  267. package/dist/index180.js.map +1 -1
  268. package/dist/index181.js +5 -0
  269. package/dist/index181.js.map +1 -0
  270. package/dist/index182.js +5 -0
  271. package/dist/index182.js.map +1 -0
  272. package/dist/index183.js +5 -0
  273. package/dist/index183.js.map +1 -0
  274. package/dist/index184.js +2 -4
  275. package/dist/index184.js.map +1 -1
  276. package/dist/index185.js +5 -0
  277. package/dist/index185.js.map +1 -0
  278. package/dist/index186.js +5 -0
  279. package/dist/index186.js.map +1 -0
  280. package/dist/index187.js +5 -0
  281. package/dist/index187.js.map +1 -0
  282. package/dist/index188.js +5 -0
  283. package/dist/index188.js.map +1 -0
  284. package/dist/index189.js +2 -10
  285. package/dist/index189.js.map +1 -1
  286. package/dist/index19.js +360 -32
  287. package/dist/index19.js.map +1 -1
  288. package/dist/index190.js +1 -9
  289. package/dist/index190.js.map +1 -1
  290. package/dist/index191.js +2 -5
  291. package/dist/index191.js.map +1 -1
  292. package/dist/index192.js +2 -170
  293. package/dist/index192.js.map +1 -1
  294. package/dist/index193.js +2 -11
  295. package/dist/index193.js.map +1 -1
  296. package/dist/index194.js +1 -5
  297. package/dist/index194.js.map +1 -1
  298. package/dist/index195.js +2 -6
  299. package/dist/index195.js.map +1 -1
  300. package/dist/index196.js +2 -38
  301. package/dist/index196.js.map +1 -1
  302. package/dist/index197.js +2 -2
  303. package/dist/index197.js.map +1 -1
  304. package/dist/index198.js +2 -8
  305. package/dist/index198.js.map +1 -1
  306. package/dist/index199.js +2 -327
  307. package/dist/index199.js.map +1 -1
  308. package/dist/index20.js +18 -55
  309. package/dist/index20.js.map +1 -1
  310. package/dist/index200.js +2 -50
  311. package/dist/index200.js.map +1 -1
  312. package/dist/index201.js +2 -2
  313. package/dist/index201.js.map +1 -1
  314. package/dist/index202.js +2 -76
  315. package/dist/index202.js.map +1 -1
  316. package/dist/index203.js +147 -91
  317. package/dist/index203.js.map +1 -1
  318. package/dist/index204.js +8 -51
  319. package/dist/index204.js.map +1 -1
  320. package/dist/index205.js +5 -7
  321. package/dist/index205.js.map +1 -1
  322. package/dist/index206.js +4 -4
  323. package/dist/index206.js.map +1 -1
  324. package/dist/index207.js +41 -50
  325. package/dist/index207.js.map +1 -1
  326. package/dist/index208.js +21 -2
  327. package/dist/index208.js.map +1 -1
  328. package/dist/index21.js +33 -76
  329. package/dist/index21.js.map +1 -1
  330. package/dist/index215.js +31 -0
  331. package/dist/index215.js.map +1 -0
  332. package/dist/index216.js +75 -0
  333. package/dist/index216.js.map +1 -0
  334. package/dist/index22.js +64 -21
  335. package/dist/index22.js.map +1 -1
  336. package/dist/index224.js +15 -0
  337. package/dist/index224.js.map +1 -0
  338. package/dist/index23.js +84 -187
  339. package/dist/index23.js.map +1 -1
  340. package/dist/index232.js +1236 -0
  341. package/dist/index232.js.map +1 -0
  342. package/dist/index235.js +46 -0
  343. package/dist/index235.js.map +1 -0
  344. package/dist/index24.js +21 -45
  345. package/dist/index24.js.map +1 -1
  346. package/dist/index244.js +173 -0
  347. package/dist/index244.js.map +1 -0
  348. package/dist/index245.js +7 -0
  349. package/dist/index245.js.map +1 -0
  350. package/dist/index247.js +22 -0
  351. package/dist/index247.js.map +1 -0
  352. package/dist/index248.js +13 -0
  353. package/dist/index248.js.map +1 -0
  354. package/dist/index249.js +13 -0
  355. package/dist/index249.js.map +1 -0
  356. package/dist/index25.js +384 -18
  357. package/dist/index25.js.map +1 -1
  358. package/dist/index250.js +8 -0
  359. package/dist/index250.js.map +1 -0
  360. package/dist/index251.js +173 -0
  361. package/dist/index251.js.map +1 -0
  362. package/dist/index252.js +14 -0
  363. package/dist/index252.js.map +1 -0
  364. package/dist/index253.js +9 -0
  365. package/dist/index253.js.map +1 -0
  366. package/dist/index254.js +9 -0
  367. package/dist/index254.js.map +1 -0
  368. package/dist/index255.js +41 -0
  369. package/dist/index255.js.map +1 -0
  370. package/dist/index256.js +5 -0
  371. package/dist/index256.js.map +1 -0
  372. package/dist/index257.js +11 -0
  373. package/dist/index257.js.map +1 -0
  374. package/dist/index258.js +330 -0
  375. package/dist/index258.js.map +1 -0
  376. package/dist/index259.js +53 -0
  377. package/dist/index259.js.map +1 -0
  378. package/dist/index26.js +46 -51
  379. package/dist/index26.js.map +1 -1
  380. package/dist/index260.js +5 -0
  381. package/dist/index260.js.map +1 -0
  382. package/dist/index261.js +79 -0
  383. package/dist/index261.js.map +1 -0
  384. package/dist/index262.js +96 -0
  385. package/dist/index262.js.map +1 -0
  386. package/dist/index263.js +55 -0
  387. package/dist/index263.js.map +1 -0
  388. package/dist/index264.js +11 -0
  389. package/dist/index264.js.map +1 -0
  390. package/dist/index265.js +8 -0
  391. package/dist/index265.js.map +1 -0
  392. package/dist/index266.js +55 -0
  393. package/dist/index266.js.map +1 -0
  394. package/dist/index267.js +5 -0
  395. package/dist/index267.js.map +1 -0
  396. package/dist/{index209.js → index268.js} +1 -1
  397. package/dist/index268.js.map +1 -0
  398. package/dist/index27.js +22 -78
  399. package/dist/index27.js.map +1 -1
  400. package/dist/index28.js +108 -83
  401. package/dist/index28.js.map +1 -1
  402. package/dist/index29.js +148 -49
  403. package/dist/index29.js.map +1 -1
  404. package/dist/index3.js +69 -65
  405. package/dist/index3.js.map +1 -1
  406. package/dist/index30.js +133 -95
  407. package/dist/index30.js.map +1 -1
  408. package/dist/index31.js +77 -56
  409. package/dist/index31.js.map +1 -1
  410. package/dist/index32.js +99 -32
  411. package/dist/index32.js.map +1 -1
  412. package/dist/index33.js +75 -36
  413. package/dist/index33.js.map +1 -1
  414. package/dist/index34.js +42 -46
  415. package/dist/index34.js.map +1 -1
  416. package/dist/index35.js +72 -56
  417. package/dist/index35.js.map +1 -1
  418. package/dist/index36.js +96 -244
  419. package/dist/index36.js.map +1 -1
  420. package/dist/index37.js +50 -37
  421. package/dist/index37.js.map +1 -1
  422. package/dist/index38.js +306 -82
  423. package/dist/index38.js.map +1 -1
  424. package/dist/index39.js +70 -31
  425. package/dist/index39.js.map +1 -1
  426. package/dist/index4.js +108 -42
  427. package/dist/index4.js.map +1 -1
  428. package/dist/index40.js +82 -50
  429. package/dist/index40.js.map +1 -1
  430. package/dist/index41.js +27 -67
  431. package/dist/index41.js.map +1 -1
  432. package/dist/index42.js +45 -51
  433. package/dist/index42.js.map +1 -1
  434. package/dist/index43.js +109 -94
  435. package/dist/index43.js.map +1 -1
  436. package/dist/index44.js +54 -92
  437. package/dist/index44.js.map +1 -1
  438. package/dist/index45.js +143 -35
  439. package/dist/index45.js.map +1 -1
  440. package/dist/index46.js +194 -30
  441. package/dist/index46.js.map +1 -1
  442. package/dist/index47.js +36 -30
  443. package/dist/index47.js.map +1 -1
  444. package/dist/index48.js +34 -53
  445. package/dist/index48.js.map +1 -1
  446. package/dist/index49.js +142 -359
  447. package/dist/index49.js.map +1 -1
  448. package/dist/index5.js +41 -238
  449. package/dist/index5.js.map +1 -1
  450. package/dist/index50.js +82 -61
  451. package/dist/index50.js.map +1 -1
  452. package/dist/index51.js +458 -35
  453. package/dist/index51.js.map +1 -1
  454. package/dist/index52.js +98 -38
  455. package/dist/index52.js.map +1 -1
  456. package/dist/index53.js +42 -84
  457. package/dist/index53.js.map +1 -1
  458. package/dist/index54.js +36 -140
  459. package/dist/index54.js.map +1 -1
  460. package/dist/index55.js +88 -136
  461. package/dist/index55.js.map +1 -1
  462. package/dist/index56.js +163 -29
  463. package/dist/index56.js.map +1 -1
  464. package/dist/index57.js +143 -45
  465. package/dist/index57.js.map +1 -1
  466. package/dist/index58.js +36 -0
  467. package/dist/index58.js.map +1 -0
  468. package/dist/index59.js +86 -2
  469. package/dist/index59.js.map +1 -1
  470. package/dist/index6.js +328 -50
  471. package/dist/index6.js.map +1 -1
  472. package/dist/index60.js +119 -2
  473. package/dist/index60.js.map +1 -1
  474. package/dist/index61.js +78 -2
  475. package/dist/index61.js.map +1 -1
  476. package/dist/index62.js +152 -2
  477. package/dist/index62.js.map +1 -1
  478. package/dist/index63.js +318 -2
  479. package/dist/index63.js.map +1 -1
  480. package/dist/index64.js +47 -2
  481. package/dist/index64.js.map +1 -1
  482. package/dist/index65.js +145 -2
  483. package/dist/index65.js.map +1 -1
  484. package/dist/index66.js +12 -2
  485. package/dist/index66.js.map +1 -1
  486. package/dist/index67.js +46 -2
  487. package/dist/index67.js.map +1 -1
  488. package/dist/index68.js +103 -2
  489. package/dist/index68.js.map +1 -1
  490. package/dist/index69.js +19 -2
  491. package/dist/index69.js.map +1 -1
  492. package/dist/index7.js +44 -51
  493. package/dist/index7.js.map +1 -1
  494. package/dist/index70.js +66 -2
  495. package/dist/index70.js.map +1 -1
  496. package/dist/index71.js +27 -2
  497. package/dist/index71.js.map +1 -1
  498. package/dist/index72.js +108 -2
  499. package/dist/index72.js.map +1 -1
  500. package/dist/index73.js +62 -2
  501. package/dist/index73.js.map +1 -1
  502. package/dist/index74.js +21 -2
  503. package/dist/index74.js.map +1 -1
  504. package/dist/index75.js +171 -2
  505. package/dist/index75.js.map +1 -1
  506. package/dist/index76.js +18 -2
  507. package/dist/index76.js.map +1 -1
  508. package/dist/index77.js +11 -2
  509. package/dist/index77.js.map +1 -1
  510. package/dist/index78.js +5 -2
  511. package/dist/index78.js.map +1 -1
  512. package/dist/index79.js +56 -2
  513. package/dist/index79.js.map +1 -1
  514. package/dist/index8.js +48 -18
  515. package/dist/index8.js.map +1 -1
  516. package/dist/index80.js +27 -2
  517. package/dist/index80.js.map +1 -1
  518. package/dist/index81.js +9 -2
  519. package/dist/index81.js.map +1 -1
  520. package/dist/index83.js +2 -2
  521. package/dist/index83.js.map +1 -1
  522. package/dist/index84.js +1 -1
  523. package/dist/index84.js.map +1 -1
  524. package/dist/index85.js +1 -1
  525. package/dist/index85.js.map +1 -1
  526. package/dist/index86.js +2 -2
  527. package/dist/index86.js.map +1 -1
  528. package/dist/index87.js +1 -1
  529. package/dist/index87.js.map +1 -1
  530. package/dist/index88.js +2 -2
  531. package/dist/index88.js.map +1 -1
  532. package/dist/index89.js +2 -2
  533. package/dist/index89.js.map +1 -1
  534. package/dist/index9.js +91 -59
  535. package/dist/index9.js.map +1 -1
  536. package/dist/index90.js +1 -1
  537. package/dist/index90.js.map +1 -1
  538. package/dist/index91.js +1 -1
  539. package/dist/index91.js.map +1 -1
  540. package/dist/index92.js +1 -1
  541. package/dist/index92.js.map +1 -1
  542. package/dist/index93.js +1 -1
  543. package/dist/index93.js.map +1 -1
  544. package/dist/index94.js +2 -2
  545. package/dist/index94.js.map +1 -1
  546. package/dist/index95.js +2 -2
  547. package/dist/index95.js.map +1 -1
  548. package/dist/index96.js +2 -2
  549. package/dist/index96.js.map +1 -1
  550. package/dist/index97.js +1 -1
  551. package/dist/index97.js.map +1 -1
  552. package/dist/index98.js +2 -2
  553. package/dist/index98.js.map +1 -1
  554. package/dist/index99.js +1 -1
  555. package/dist/index99.js.map +1 -1
  556. package/package.json +1 -1
  557. package/dist/index209.js.map +0 -1
  558. package/dist/index82.js +0 -5
  559. package/dist/index82.js.map +0 -1
package/dist/index25.js CHANGED
@@ -1,22 +1,388 @@
1
- import e from "react";
2
- /* empty css */
3
- const p = (a) => {
4
- const {
5
- noOfRows: n = 2,
6
- noOfColumns: o = 4,
7
- colSpan: r = [2, 0, 0]
8
- } = a;
9
- return [...Array(n)].map((m, l) => /* @__PURE__ */ e.createElement("tr", {
10
- key: `tr-${l}`,
11
- className: "se-design-table-content-loader"
12
- }, [...Array(o)].map((c, t) => /* @__PURE__ */ e.createElement("td", {
13
- colSpan: r[t],
14
- key: `td-${t}`
15
- }, /* @__PURE__ */ e.createElement("div", {
16
- className: "loading-animation"
17
- })))));
1
+ import n, { useState as U, useRef as ce, useEffect as B, useLayoutEffect as Ke } from "react";
2
+ import { Popover as Le } from "./index19.js";
3
+ import { Icon as de } from "./index6.js";
4
+ import { Checkbox as Fe } from "./index23.js";
5
+ import { Button as ue } from "./index4.js";
6
+ import { InputWithIcon as Oe } from "./index52.js";
7
+ import { useStableId as W } from "./index205.js";
8
+ import { useCombobox as me } from "./index68.js";
9
+ import { announce as Be } from "./index75.js";
10
+ function p() {
11
+ return p = Object.assign ? Object.assign.bind() : function(t) {
12
+ for (var b = 1; b < arguments.length; b++) {
13
+ var x = arguments[b];
14
+ for (var w in x) ({}).hasOwnProperty.call(x, w) && (t[w] = x[w]);
15
+ }
16
+ return t;
17
+ }, p.apply(null, arguments);
18
+ }
19
+ const Je = (t) => {
20
+ const b = t.selectedValue !== void 0, x = t.isOpen !== void 0, [w, fe] = U(!1), [S, _] = U(""), [ye, z] = U(() => t?.defaultSelectedValue ? Array.isArray(t?.defaultSelectedValue) ? t?.defaultSelectedValue : [t.defaultSelectedValue] : []), m = ce(null), P = ce(null), T = W(void 0, "dropdown-label"), J = W(void 0, "dropdown-value"), N = W(void 0, "dropdown-listbox"), s = x ? t.isOpen : w, l = b ? Array.isArray(t.selectedValue) ? t.selectedValue : t.selectedValue ? [t.selectedValue] : [] : ye, V = (e) => {
21
+ x || fe(e), t.onOpenChange?.(e);
22
+ }, R = (e) => {
23
+ b || z(e);
24
+ }, {
25
+ selectBy: f = "",
26
+ optionsUniqueBy: c = "",
27
+ displaySelected: ge = !1,
28
+ dropDownOptions: $,
29
+ defaultText: u = "Select",
30
+ iconColor: Q = "var(--color-gray-700)",
31
+ disabled: A = !1,
32
+ dropdownClassName: pe = "",
33
+ hasError: X = !1,
34
+ errorMessage: be = "",
35
+ customDropdownContent: G = null,
36
+ isBorderless: he = !1,
37
+ shouldShowSearch: d = !1,
38
+ showSearchIcon: ve = !0,
39
+ searchPlaceholder: Y = "Search...",
40
+ searchResultEmptyMessage: E = "No results found",
41
+ ariaLabel: h = "",
42
+ customSelectedValue: q = "",
43
+ isWithPortal: Z = !1,
44
+ firstOptionAsHeading: ee = !1
45
+ } = t;
46
+ B(() => {
47
+ if (!b) {
48
+ const e = t?.defaultSelectedValue ? Array.isArray(t?.defaultSelectedValue) ? t?.defaultSelectedValue : [t.defaultSelectedValue] : [];
49
+ z(e);
50
+ }
51
+ }, [t?.defaultSelectedValue, b]), B(() => {
52
+ s || _("");
53
+ }, [s]), B(() => {
54
+ s && d && P.current && requestAnimationFrame(() => P.current?.focus());
55
+ }, [s, d]), Ke(() => {
56
+ t.popoverElementRef && (t.popoverElementRef.current = m.current?.element ?? null);
57
+ });
58
+ const i = t?.type === "multi-select", xe = () => S.trim() ? ($ || []).filter((e) => (e?.[f]?.toString().toLowerCase() || "").includes(S.toLowerCase())) : $ || [], K = (e) => {
59
+ R([e]), V(!1), t?.onOptionClick?.(e), requestAnimationFrame(() => {
60
+ requestAnimationFrame(() => {
61
+ m.current?.focusTrigger();
62
+ });
63
+ });
64
+ }, r = xe(), {
65
+ listboxProps: M,
66
+ getOptionProps: we,
67
+ highlightedIndex: C,
68
+ setHighlightedIndex: te,
69
+ containerProps: H,
70
+ inputProps: L,
71
+ isKeyboardFocused: Se
72
+ } = me({
73
+ items: i ? [] : r,
74
+ // Only use for single-select
75
+ isOpen: s && !i,
76
+ onOpenChange: V,
77
+ onSelect: (e) => {
78
+ K(e);
79
+ },
80
+ listboxId: N,
81
+ disabled: i || A,
82
+ hasItems: r.length > 0
83
+ }), {
84
+ inputProps: j,
85
+ listboxProps: F,
86
+ containerProps: I,
87
+ highlightedIndex: D,
88
+ setHighlightedIndex: Ee,
89
+ isKeyboardFocused: Ce
90
+ } = me({
91
+ items: i ? r : [],
92
+ isOpen: s && i,
93
+ onOpenChange: V,
94
+ onSelect: () => {
95
+ },
96
+ listboxId: N,
97
+ disabled: !i,
98
+ loop: !1,
99
+ hasItems: r.length > 0,
100
+ closeOnTab: !1
101
+ });
102
+ B(() => {
103
+ s && r.length === 0 && (S.trim() || $?.length === 0) && Be(E, {
104
+ assertiveness: "polite",
105
+ batchId: "dropdown-empty-state",
106
+ delay: 300
107
+ });
108
+ }, [r.length, s, S, $?.length]);
109
+ const Ie = (e, o = !1) => i ? u : o && q ? q : e?.[f] || u, De = () => {
110
+ R([]), t?.onClear?.();
111
+ }, oe = (e, o = !1) => {
112
+ if (t?.renderOptionChip)
113
+ return t?.renderOptionChip(e, o);
114
+ if (i && l?.length > 0) {
115
+ const g = l[0]?.[f] || "", k = l.length - 1;
116
+ return /* @__PURE__ */ n.createElement("div", {
117
+ className: "option-chip flex items-center w-full"
118
+ }, /* @__PURE__ */ n.createElement("div", {
119
+ className: `${k > 0 ? "w-full" : "flex-1"} truncate`
120
+ }, `${u}: ${g}`), k > 0 && /* @__PURE__ */ n.createElement("div", {
121
+ className: "flex-shrink-0"
122
+ }, "+", k));
123
+ }
124
+ const a = Ie(e, o), y = !!t?.label || !!t?.ariaLabelledBy, v = o && u && e?.[f] && !q && !y;
125
+ return /* @__PURE__ */ n.createElement("p", {
126
+ className: "option-chip flex flex-1 items-center justify-between"
127
+ }, v ? `${u}: ${a}` : a);
128
+ }, ne = (e) => /* @__PURE__ */ n.createElement("div", {
129
+ className: " w-full relative flex items-center border-b border-[var(--color-gray-300)]"
130
+ }, /* @__PURE__ */ n.createElement(Oe, {
131
+ leftIcon: ve ? {
132
+ name: "search",
133
+ position: "left",
134
+ style: {
135
+ color: "var(--color-gray-500)"
136
+ }
137
+ } : void 0,
138
+ value: S,
139
+ onChange: (o) => _(o),
140
+ placeholder: Y,
141
+ style: {
142
+ margin: 0,
143
+ gap: 0
144
+ },
145
+ inputStyle: {
146
+ width: "100%",
147
+ border: "none",
148
+ outline: "none"
149
+ },
150
+ automationId: "se-design-dropdown-search",
151
+ ariaLabel: Y,
152
+ inputRef: P,
153
+ inputProps: e
154
+ })), re = () => ne(i ? {
155
+ ...j,
156
+ onKeyDown: (e) => se(e, !0)
157
+ } : {
158
+ ...L,
159
+ onKeyDown: (e) => {
160
+ L.onKeyDown(e), e.key === "Escape" && requestAnimationFrame(() => m.current?.focusTrigger());
161
+ }
162
+ }), ae = (e, o) => {
163
+ const a = e[f], y = l[0]?.[f] || u, v = c?.length ? e[c] == l[0]?.[c] : !0, g = ge && a === y && v, k = C === o, Ae = i ? {} : we(o, g);
164
+ return /* @__PURE__ */ n.createElement("div", p({
165
+ key: e.id || e.value,
166
+ className: `option break-words px-3 py-2 hover:bg-[var(--color-gray-100)] cursor-pointer select-none flex items-center justify-between ${g ? "selected" : ""} ${k ? `bg-[var(--color-gray-100)]${Se ? " outline outline-[length:var(--focus-width)] -outline-offset-2 outline-[var(--focus-color)]" : ""}` : ""}`,
167
+ onClick: () => K(e),
168
+ onKeyDown: (O) => {
169
+ O.key === "Enter" || O.key === " " ? (O.preventDefault(), K(e)) : O.key === "Escape" && requestAnimationFrame(() => m.current?.focusTrigger());
170
+ },
171
+ tabIndex: -1,
172
+ "data-automation-id": `dropdown-option-${e?.automationId || o}`
173
+ }, Ae, {
174
+ "aria-selected": g ? "true" : "false"
175
+ }), oe({
176
+ ...e,
177
+ isOptionSelected: g
178
+ }, !1), g && /* @__PURE__ */ n.createElement(de, {
179
+ name: "checkmark",
180
+ stroke: Q
181
+ }));
182
+ }, ke = () => /* @__PURE__ */ n.createElement(n.Fragment, null, t?.label && ee && /* @__PURE__ */ n.createElement("div", {
183
+ "aria-hidden": "true",
184
+ className: "px-3 pt-2 pb-1 text-[var(--color-gray-650)] text-xs cursor-default select-none"
185
+ }, t.label), d && re(), /* @__PURE__ */ n.createElement("div", p({
186
+ className: `dropdown-content dropdown-options${d ? "" : " flex flex-col max-h-80 overflow-y-auto"}`
187
+ }, d ? {} : {
188
+ ...M,
189
+ "aria-label": `${u} options`,
190
+ style: {
191
+ outline: "none"
192
+ },
193
+ tabIndex: -1,
194
+ "aria-activedescendant": L["aria-activedescendant"],
195
+ onKeyDown: (e) => {
196
+ if (H.onKeyDownCapture?.(e), e.key === " ") {
197
+ e.preventDefault(), C >= 0 && r[C] && K(r[C]);
198
+ return;
199
+ }
200
+ L.onKeyDown(e);
201
+ },
202
+ onFocus: () => {
203
+ C === -1 && r.length > 0 && te(0);
204
+ }
205
+ }), d ? /* @__PURE__ */ n.createElement("div", p({
206
+ className: "flex flex-col max-h-80 overflow-y-auto",
207
+ "aria-label": `${u} options`
208
+ }, M), r.length > 0 ? r.map((e, o) => ae(e, o)) : /* @__PURE__ */ n.createElement("div", {
209
+ className: "px-3 py-4 text-center text-[var(--color-gray-700)] text-sm"
210
+ }, E)) : r.length > 0 ? r.map((e, o) => ae(e, o)) : /* @__PURE__ */ n.createElement("div", {
211
+ className: "px-3 py-4 text-center text-[var(--color-gray-700)] text-sm"
212
+ }, E))), le = (e, o) => {
213
+ let a = [];
214
+ e ? a = [...l, o] : a = l?.filter((y) => y[c] !== o[c]), R(a);
215
+ }, Pe = () => {
216
+ m.current?.togglePopover(), t?.onApply?.(l);
217
+ }, se = (e, o = !1) => {
218
+ if (!(o && e.key === " ")) {
219
+ if (e.key === "Enter" || e.key === " ") {
220
+ if (e.preventDefault(), D >= 0 && D < r.length) {
221
+ const a = r[D], y = l.some((v) => v[c] === a[c]);
222
+ le(!y, a);
223
+ }
224
+ return;
225
+ }
226
+ j.onKeyDown(e), e.key === "Escape" && (e.stopPropagation(), requestAnimationFrame(() => m.current?.focusTrigger()));
227
+ }
228
+ }, ie = (e, o) => {
229
+ const a = l.some((g) => g[c] === e[c]), y = `${N}-option-${o}`, v = D === o;
230
+ return /* @__PURE__ */ n.createElement("div", {
231
+ key: e.id || e.value,
232
+ id: y,
233
+ role: "option",
234
+ "aria-selected": a,
235
+ className: `option px-3 py-2 hover:bg-[var(--color-gray-100)] cursor-pointer select-none flex items-center gap-2 ${v ? `bg-[var(--color-gray-100)]${Ce ? " outline outline-[length:var(--focus-width)] -outline-offset-2 outline-[var(--focus-color)]" : ""}` : ""}`,
236
+ onClick: () => le(!a, e),
237
+ "data-automation-id": `dropdown-option-${e?.automationId || o}`
238
+ }, /* @__PURE__ */ n.createElement(Fe, {
239
+ tabIndex: -1,
240
+ ariaHidden: !0,
241
+ checked: a,
242
+ onChange: () => {
243
+ },
244
+ className: "pointer-events-none"
245
+ }), /* @__PURE__ */ n.createElement("span", {
246
+ className: "checkbox-label"
247
+ }, e?.label));
248
+ }, Ne = () => /* @__PURE__ */ n.createElement("div", {
249
+ onKeyDown: (e) => {
250
+ e.key === "Tab" && e.stopPropagation();
251
+ }
252
+ }, d && re(), /* @__PURE__ */ n.createElement("div", p({
253
+ className: `dropdown-content dropdown-options${d ? "" : " flex flex-col max-h-80 overflow-y-auto"}`
254
+ }, d ? {} : {
255
+ ...F,
256
+ "aria-label": `${u} options`,
257
+ "aria-multiselectable": "true",
258
+ style: {
259
+ outline: "none"
260
+ },
261
+ tabIndex: -1,
262
+ "aria-activedescendant": j["aria-activedescendant"],
263
+ onKeyDown: (e) => se(e, !1),
264
+ onFocus: () => {
265
+ D === -1 && r.length > 0 && Ee(0);
266
+ }
267
+ }), d ? /* @__PURE__ */ n.createElement("div", p({
268
+ className: "flex flex-col max-h-80 overflow-y-auto"
269
+ }, F, {
270
+ "aria-label": `${u} options`,
271
+ "aria-multiselectable": "true"
272
+ }), r.length > 0 ? r.map((e, o) => ie(e, o)) : /* @__PURE__ */ n.createElement("div", {
273
+ className: "px-3 py-4 text-center text-[var(--color-gray-700)] text-sm"
274
+ }, E)) : r.length > 0 ? r.map((e, o) => ie(e, o)) : /* @__PURE__ */ n.createElement("div", {
275
+ className: "px-3 py-4 text-center text-[var(--color-gray-700)] text-sm"
276
+ }, E)), /* @__PURE__ */ n.createElement("div", {
277
+ className: "flex items-center justify-end gap-4 p-3 border-t border-[var(--color-gray-200)]",
278
+ onKeyDown: (e) => {
279
+ if (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End") {
280
+ e.stopPropagation();
281
+ return;
282
+ }
283
+ e.key === "Tab" && e.shiftKey && (e.preventDefault(), e.stopPropagation(), d ? P.current?.focus() : F.ref.current?.focus());
284
+ }
285
+ }, /* @__PURE__ */ n.createElement(ue, {
286
+ label: "Clear",
287
+ type: "link",
288
+ size: "sm",
289
+ onClick: De,
290
+ automationId: "se-design-dropdown-clear-button"
291
+ }), /* @__PURE__ */ n.createElement(ue, {
292
+ label: "Apply",
293
+ type: "primary",
294
+ size: "sm",
295
+ onClick: Pe,
296
+ automationId: "se-design-dropdown-apply-button"
297
+ }))), Ve = () => {
298
+ const e = s ? "border-[var(--color-blue-500)]" : A ? "border-[var(--color-gray-300)]" : "border-[var(--color-gray-600)]", o = X ? "border-[var(--color-red-500)]" : "", a = `dropdown-src-element bg-[var(--color-white)] flex px-3 py-2 ${he ? "border-0" : `border rounded-md ${o || e}`} flex items-center ${pe}`;
299
+ return /* @__PURE__ */ n.createElement("div", {
300
+ className: a
301
+ }, /* @__PURE__ */ n.createElement("div", {
302
+ id: J,
303
+ className: "flex-1 min-w-0",
304
+ "data-automation-id": t?.dropDownSelectAutomationId || "selected-dropdown-value"
305
+ }, oe(l[0], !0)), /* @__PURE__ */ n.createElement("div", {
306
+ className: "flex-shrink-0 ml-2",
307
+ "aria-hidden": "true"
308
+ }, /* @__PURE__ */ n.createElement(de, {
309
+ name: "chevron",
310
+ rotation: s ? "180" : "0",
311
+ className: "transition-transform",
312
+ stroke: Q
313
+ })));
314
+ }, $e = () => {
315
+ const e = l[0]?.[f];
316
+ return h && e ? `${h}, ${e}` : h || u || "Select option";
317
+ };
318
+ return /* @__PURE__ */ n.createElement("div", {
319
+ className: `se-design-dropdown-container${t?.className ? ` ${t?.className}` : ""}`,
320
+ style: t?.style
321
+ }, t?.label ? /* @__PURE__ */ n.createElement("div", {
322
+ id: T,
323
+ className: `se-design-dropdown-label ${ee ? "sr-only" : "mb-[3px] text-[var(--color-gray-700)] text-sm"}`
324
+ }, t?.label) : !t?.ariaLabelledBy && h ? /* @__PURE__ */ n.createElement("span", {
325
+ id: T,
326
+ className: "sr-only"
327
+ }, h) : null, /* @__PURE__ */ n.createElement("div", p({
328
+ style: t?.style,
329
+ className: `${A ? "bg-[var(--color-gray-50)] rounded-md cursor-not-allowed" : ""}`
330
+ }, i ? {
331
+ // Multi-select: only spread focus-tracking handlers for isKeyboardFocused.
332
+ // Dismiss is handled by Popover — don't spread onBlurCapture.
333
+ onPointerMove: I.onPointerMove,
334
+ onPointerDown: I.onPointerDown,
335
+ onPointerUp: I.onPointerUp,
336
+ onFocusCapture: I.onFocusCapture,
337
+ onKeyDownCapture: (e) => {
338
+ e.key === "Escape" && s && (e.stopPropagation(), m.current?.focusTrigger()), I.onKeyDownCapture?.(e);
339
+ }
340
+ } : {
341
+ ...H,
342
+ onKeyDownCapture: (e) => {
343
+ (e.key === "Escape" || e.key === "Tab") && s && (e.stopPropagation(), m.current?.focusTrigger()), H.onKeyDownCapture?.(e);
344
+ },
345
+ // Portal content lives in document.body — focus moving into it looks like "focus out" to
346
+ // the container's blur handler, causing immediate close. Suppress it; the Popover's own
347
+ // onBlur handler checks both source and portal content and handles dismissal correctly.
348
+ ...Z ? {
349
+ onBlurCapture: void 0
350
+ } : {}
351
+ }), /* @__PURE__ */ n.createElement(Le, p({
352
+ ref: m,
353
+ isPopoverOpen: s,
354
+ isWithPortal: Z,
355
+ renderPopoverContents: G || (i ? Ne : ke),
356
+ contentWidth: "full",
357
+ popoverContentStyleProperty: t.popoverContentStyleProperty,
358
+ renderPopoverSrcElement: t.renderSrcElement ? () => t.renderSrcElement({
359
+ isOpen: s,
360
+ selectedValue: l
361
+ }) : Ve,
362
+ onPopoverToggle: (e) => {
363
+ if (V(e), e && !i && l.length > 0) {
364
+ const o = r.findIndex((a) => c ? a[c] === l[0]?.[c] : a[f] === l[0]?.[f]);
365
+ o >= 0 && te(o);
366
+ }
367
+ if (e && !d) {
368
+ const o = i ? F.ref : M.ref;
369
+ requestAnimationFrame(() => requestAnimationFrame(() => o.current?.focus()));
370
+ }
371
+ },
372
+ disabled: A,
373
+ automationId: t?.dropDownSrcAutomationId,
374
+ popoverContentAutomationId: t?.dropDownContentAutomationId,
375
+ ariaLabelledBy: t?.label || t?.ariaLabelledBy || h ? [t?.label || !t?.ariaLabelledBy && h ? T : t?.ariaLabelledBy, J].filter(Boolean).join(" ") : void 0,
376
+ ariaLabel: !t?.label && !h && !t?.ariaLabelledBy ? $e() : void 0,
377
+ sourceRole: "button",
378
+ "aria-haspopup": "listbox"
379
+ }, s ? {
380
+ "aria-controls": N
381
+ } : {}))), X && /* @__PURE__ */ n.createElement("div", {
382
+ className: "text-[var(--color-red-500)] text-sm"
383
+ }, be));
18
384
  };
19
385
  export {
20
- p as TableContentLoader
386
+ Je as Dropdown
21
387
  };
22
388
  //# sourceMappingURL=index25.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index25.js","sources":["../src/components/TableContentLoader/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport './style.scss';\n\nexport interface TableContentLoaderProps {\n noOfRows?: number;\n noOfColumns?: number;\n colSpan?: number[];\n}\n\nexport const TableContentLoader: FC<TableContentLoaderProps> = (props) => {\n const { noOfRows = 2, noOfColumns = 4, colSpan = [2, 0, 0] } = props;\n\n return [...Array(noOfRows)].map((_, index) => (\n <tr key={`tr-${index}`} className=\"se-design-table-content-loader\">\n {[...Array(noOfColumns)].map((_, idx) => (\n <td colSpan={colSpan[idx]} key={`td-${idx}`}>\n <div className=\"loading-animation\"></div>\n </td>\n ))}\n </tr>\n ));\n};\n"],"names":["React__default","TableContentLoader","props","noOfRows","noOfColumns","colSpan","Array","map","_","index","createElement","key","className","idx","React"],"mappings":"AASO,OAAAA,OAAA;AAAA,OAAA;AAAA,MAAMC,IAAmDC,CAAUA,MAAA;AAClE,QAAA;AAAA,IAAEC,UAAAA,IAAW;AAAA,IAAGC,aAAAA,IAAc;AAAA,IAAGC,SAAAA,IAAU,CAAC,GAAG,GAAG,CAAC;AAAA,EAAMH,IAAAA;AAE/D,SAAO,CAAC,GAAGI,MAAMH,CAAQ,CAAC,EAAEI,IAAI,CAACC,GAAGC,MAClCC,gBAAAA,EAAAA,cAAA,MAAA;AAAA,IAAIC,KAAK,MAAMF,CAAK;AAAA,IAAIG,WAAU;AAAA,EAC/B,GAAA,CAAC,GAAGN,MAAMF,CAAW,CAAC,EAAEG,IAAI,CAACC,GAAGK,MAC/BC,gBAAAA,EAAAJ,cAAA,MAAA;AAAA,IAAIL,SAASA,EAAQQ,CAAG;AAAA,IAAGF,KAAK,MAAME,CAAG;AAAA,EAAA,GACvCH,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKE,WAAU;AAAA,EAAA,CAAyB,CACtC,CACL,CACC,CACL;AACH;"}
1
+ {"version":3,"file":"index25.js","sources":["../src/components/Dropdown/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef, useEffect, useLayoutEffect } from 'react';\n\nimport { Popover, PopoverHandle } from 'src/components/Popover';\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from '../Checkbox';\nimport { Button } from '../Button';\nimport { InputWithIcon } from '../InputWithIcon';\nimport { useStableId } from '../../utils/useStableId';\nimport { useCombobox } from '../../utils/a11y/useCombobox';\nimport { announce } from '../../utils/a11y/liveAnnouncer/LiveAnnouncer';\n\ntype DropdownValue = {\n [key: string]: any;\n};\n\ntype DropdownProps = {\n label?: string;\n firstOptionAsHeading?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n type: 'select' | 'multi-select';\n dropDownOptions?: DropdownValue[];\n defaultText?: string;\n selectBy?: string;\n optionsUniqueBy?: string;\n displaySelected?: boolean;\n defaultSelectedValue?: DropdownValue | DropdownValue[];\n customSelectedValue?: string;\n onOptionClick?: (selectedValue: DropdownValue) => void;\n style?: React.CSSProperties;\n renderOptionChip?: (option: DropdownValue, srcOption: boolean) => React.ReactNode;\n className?: string;\n iconColor?: string;\n disabled?: boolean;\n dropdownClassName?: string;\n hasError?: boolean;\n errorMessage?: string;\n onApply?: (selectedValue: DropdownValue[]) => void;\n onClear?: () => void;\n customDropdownContent?: () => React.ReactNode;\n isBorderless?: boolean;\n dropDownSrcAutomationId?: string;\n dropDownSelectAutomationId?: string;\n dropDownContentAutomationId?: string;\n shouldShowSearch?: boolean;\n showSearchIcon?: boolean;\n searchPlaceholder?: string;\n searchResultEmptyMessage?: string;\n /** Controlled selection — when provided, Dropdown won't manage internal selected state */\n selectedValue?: DropdownValue | DropdownValue[];\n /** Controlled open state — when provided, Dropdown won't manage internal open/close */\n isOpen?: boolean;\n /** Callback when open state changes (fires in both controlled and uncontrolled modes) */\n onOpenChange?: (isOpen: boolean) => void;\n /** Custom trigger element — replaces the default bordered div + chevron */\n renderSrcElement?: (props: { isOpen: boolean; selectedValue: DropdownValue[] }) => React.ReactNode;\n /** Render the dropdown panel in a portal (document.body) to escape overflow:hidden containers */\n isWithPortal?: boolean;\n /** Optional ref that will be populated with the Popover wrapper element on mount.\n * Use with setFocusAnchor() to return focus to the dropdown trigger after a modal closes. */\n popoverElementRef?: React.RefObject<HTMLElement | null>;\n /** Inline styles forwarded to the Popover content (portal or inline). Useful for min-width overrides. */\n popoverContentStyleProperty?: React.CSSProperties;\n};\n\nexport const Dropdown: FC<DropdownProps> = (props) => {\n const isControlledSelection = props.selectedValue !== undefined;\n const isControlledOpen = props.isOpen !== undefined;\n\n const [internalIsOpen, setInternalIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [internalSelectedValues, setInternalSelectedValues] = useState<DropdownValue[]>(() =>\n props?.defaultSelectedValue\n ? Array.isArray(props?.defaultSelectedValue)\n ? props?.defaultSelectedValue\n : [props.defaultSelectedValue]\n : []\n );\n const popoverRef = useRef<HTMLDivElement & PopoverHandle>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const labelId = useStableId(undefined, 'dropdown-label');\n const valueId = useStableId(undefined, 'dropdown-value');\n const listboxId = useStableId(undefined, 'dropdown-listbox');\n\n // Derived state: controlled props take precedence over internal state\n const isDropDownOpen = isControlledOpen ? props.isOpen! : internalIsOpen;\n const selectedDropDownValues = isControlledSelection\n ? (Array.isArray(props.selectedValue) ? props.selectedValue : props.selectedValue ? [props.selectedValue] : [])\n : internalSelectedValues;\n\n const setIsDropDownOpen = (value: boolean) => {\n if (!isControlledOpen) {\n setInternalIsOpen(value);\n }\n props.onOpenChange?.(value);\n };\n\n const setSelectedDropDownValues = (values: DropdownValue[]) => {\n if (!isControlledSelection) {\n setInternalSelectedValues(values);\n }\n };\n\n const {\n selectBy = '',\n optionsUniqueBy = '',\n displaySelected = false,\n dropDownOptions,\n defaultText = 'Select',\n iconColor = 'var(--color-gray-700)',\n disabled = false,\n dropdownClassName = '',\n hasError = false,\n errorMessage = '',\n customDropdownContent = null,\n isBorderless = false,\n shouldShowSearch = false,\n showSearchIcon = true,\n searchPlaceholder = 'Search...',\n searchResultEmptyMessage = 'No results found',\n ariaLabel = '',\n customSelectedValue = '',\n isWithPortal = false,\n firstOptionAsHeading = false\n } = props;\n\n useEffect(() => {\n if (!isControlledSelection) {\n const newValues = props?.defaultSelectedValue\n ? Array.isArray(props?.defaultSelectedValue)\n ? props?.defaultSelectedValue\n : [props.defaultSelectedValue]\n : [];\n setInternalSelectedValues(newValues);\n }\n }, [props?.defaultSelectedValue, isControlledSelection]);\n\n useEffect(() => {\n if (!isDropDownOpen) {\n setSearchQuery('');\n }\n }, [isDropDownOpen]);\n\n // Focus search input when dropdown opens with search enabled\n useEffect(() => {\n if (isDropDownOpen && shouldShowSearch && searchInputRef.current) {\n requestAnimationFrame(() => searchInputRef.current?.focus());\n }\n }, [isDropDownOpen, shouldShowSearch]);\n\n // Populate caller's popoverElementRef with the Popover wrapper element.\n // Runs after mount so popoverRef.current is set.\n useLayoutEffect(() => {\n if (props.popoverElementRef) {\n props.popoverElementRef.current = popoverRef.current?.element ?? null;\n }\n });\n\n const isMultiSelect = props?.type === 'multi-select';\n\n const getFilteredOptions = () => {\n if (!searchQuery.trim()) {\n return dropDownOptions || [];\n }\n return (dropDownOptions || []).filter((option) => {\n const optionValue = option?.[selectBy]?.toString().toLowerCase() || '';\n return optionValue.includes(searchQuery.toLowerCase());\n });\n };\n\n const handleDropDownOptionClick = (dropDownOption: any) => {\n setSelectedDropDownValues([dropDownOption]);\n setIsDropDownOpen(false);\n props?.onOptionClick?.(dropDownOption);\n // Restore focus to the trigger after portal unmounts.\n // Double rAF ensures this runs after React re-renders AND the focus trap safety net,\n // getting the final say on focus.\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n popoverRef.current?.focusTrigger();\n });\n });\n };\n\n // Use useCombobox hook for keyboard navigation (only for single-select)\n const filteredOptions = getFilteredOptions();\n const {\n listboxProps,\n getOptionProps,\n highlightedIndex,\n setHighlightedIndex,\n containerProps: comboboxContainerProps,\n inputProps: comboboxInputProps,\n isKeyboardFocused: isSingleSelectKeyboardFocused\n } = useCombobox({\n items: isMultiSelect ? [] : filteredOptions, // Only use for single-select\n isOpen: isDropDownOpen && !isMultiSelect,\n onOpenChange: setIsDropDownOpen,\n onSelect: (item: DropdownValue) => {\n handleDropDownOptionClick(item);\n },\n listboxId,\n disabled: isMultiSelect || disabled,\n hasItems: filteredOptions.length > 0\n });\n\n // Second useCombobox for multi-select: provides ARIA props, keyboard navigation, and auto-scroll.\n // Enter/Space are intercepted in multiSelectOnKeyDown to avoid the hook's highlight reset after select.\n const {\n inputProps: multiSelectComboboxInputProps,\n listboxProps: multiSelectListboxProps,\n containerProps: multiSelectContainerProps,\n highlightedIndex: highlightedMultiSelectIndex,\n setHighlightedIndex: setHighlightedMultiSelectIndex,\n isKeyboardFocused: isMultiSelectKeyboardFocused\n } = useCombobox({\n items: isMultiSelect ? filteredOptions : [],\n isOpen: isDropDownOpen && isMultiSelect,\n onOpenChange: setIsDropDownOpen,\n onSelect: () => {},\n listboxId,\n disabled: !isMultiSelect,\n loop: false,\n hasItems: filteredOptions.length > 0,\n closeOnTab: false\n });\n\n useEffect(() => {\n if (isDropDownOpen && filteredOptions.length === 0 && (searchQuery.trim() || dropDownOptions?.length === 0)) {\n announce(searchResultEmptyMessage, { assertiveness: 'polite', batchId: 'dropdown-empty-state', delay: 300 });\n }\n }, [filteredOptions.length, isDropDownOpen, searchQuery, dropDownOptions?.length]);\n\n const getSelectedDropDownValue = (option: DropdownValue, isSrcOption: boolean = false) => {\n if (isMultiSelect) {\n return defaultText;\n }\n\n // if custom selected value is provided, use it instead of the option value\n if (isSrcOption && customSelectedValue) {\n return customSelectedValue;\n }\n\n return option?.[selectBy] || defaultText;\n };\n\n const clearSelectedDropDownValues = () => {\n setSelectedDropDownValues([]);\n props?.onClear?.();\n };\n\n const optionChip = (option: DropdownValue, srcOption: boolean = false) => {\n if (props?.renderOptionChip) {\n return props?.renderOptionChip(option, srcOption);\n }\n\n if (isMultiSelect && selectedDropDownValues?.length > 0) {\n const firstSelectedLabel = selectedDropDownValues[0]?.[selectBy] || '';\n const remainingCount = selectedDropDownValues.length - 1;\n\n // For multiple selections: text takes remaining space, count takes minimum space needed\n return (\n <div className={`option-chip flex items-center w-full`}>\n <div\n className={`${remainingCount > 0 ? 'w-full' : 'flex-1'} truncate`}\n >{`${defaultText}: ${firstSelectedLabel}`}</div>\n {remainingCount > 0 && <div className=\"flex-shrink-0\">+{remainingCount}</div>}\n </div>\n );\n }\n\n const selectedLabel = getSelectedDropDownValue(option, srcOption);\n const hasVisibleLabel = !!props?.label || !!props?.ariaLabelledBy;\n const showPrefix = srcOption && defaultText && option?.[selectBy] && !customSelectedValue && !hasVisibleLabel;\n\n return (\n <p className={`option-chip flex flex-1 items-center justify-between`}>\n {showPrefix ? `${defaultText}: ${selectedLabel}` : selectedLabel}\n </p>\n );\n };\n\n const renderSearchInput = (extraInputProps: Record<string, any>) => (\n <div className=\" w-full relative flex items-center border-b border-[var(--color-gray-300)]\">\n <InputWithIcon\n leftIcon={showSearchIcon ? { name: 'search', position: 'left', style: { color: 'var(--color-gray-500)' } } : undefined}\n value={searchQuery}\n onChange={(value) => setSearchQuery(value)}\n placeholder={searchPlaceholder}\n style={{ margin: 0, gap: 0 }}\n inputStyle={{ width: '100%', border: 'none', outline: 'none' }}\n automationId=\"se-design-dropdown-search\"\n ariaLabel={searchPlaceholder}\n inputRef={searchInputRef}\n inputProps={extraInputProps}\n />\n </div>\n );\n\n const renderSearchBar = () => {\n if (isMultiSelect) {\n return renderSearchInput({\n ...multiSelectComboboxInputProps,\n onKeyDown: (e: React.KeyboardEvent) => multiSelectOnKeyDown(e, true)\n });\n }\n\n // Single-select: wrap onKeyDown to add Escape → focusTrigger (portal-safe)\n return renderSearchInput({\n ...comboboxInputProps,\n onKeyDown: (e: React.KeyboardEvent) => {\n comboboxInputProps.onKeyDown(e);\n if (e.key === 'Escape') {\n requestAnimationFrame(() => popoverRef.current?.focusTrigger());\n }\n }\n });\n };\n\n const dropDownOptionJsx = (dropDownOption: DropdownValue, index: number) => {\n const optionTxt = dropDownOption[selectBy];\n const dropDownSelectedValue = selectedDropDownValues[0]?.[selectBy] || defaultText;\n const selectByUniqueId = optionsUniqueBy?.length\n ? dropDownOption[optionsUniqueBy] == selectedDropDownValues[0]?.[optionsUniqueBy]\n : true;\n const isOptionSelected = displaySelected && optionTxt === dropDownSelectedValue && selectByUniqueId;\n const isHighlighted = highlightedIndex === index;\n const optionProps = !isMultiSelect ? getOptionProps(index, isOptionSelected) : {};\n\n return (\n <div\n key={dropDownOption.id || dropDownOption.value}\n className={`option break-words px-3 py-2 hover:bg-[var(--color-gray-100)] cursor-pointer select-none flex items-center justify-between ${\n isOptionSelected ? 'selected' : ''\n } ${isHighlighted ? `bg-[var(--color-gray-100)]${isSingleSelectKeyboardFocused ? ' outline outline-[length:var(--focus-width)] -outline-offset-2 outline-[var(--focus-color)]' : ''}` : ''}`}\n onClick={() => handleDropDownOptionClick(dropDownOption)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleDropDownOptionClick(dropDownOption);\n } else if (e.key === 'Escape') {\n requestAnimationFrame(() => popoverRef.current?.focusTrigger());\n }\n }}\n tabIndex={-1}\n data-automation-id={`dropdown-option-${dropDownOption?.automationId || index}`}\n {...optionProps}\n aria-selected={isOptionSelected ? 'true' : 'false'}\n >\n {optionChip({ ...dropDownOption, isOptionSelected }, false)}\n {isOptionSelected && <Icon name=\"checkmark\" stroke={iconColor} />}\n </div>\n );\n };\n\n const renderDropdownContents = () => {\n return (\n <>\n {props?.label && firstOptionAsHeading && (\n <div\n aria-hidden=\"true\"\n className=\"px-3 pt-2 pb-1 text-[var(--color-gray-650)] text-xs cursor-default select-none\"\n >\n {props.label}\n </div>\n )}\n {shouldShowSearch && renderSearchBar()}\n <div\n className={`dropdown-content dropdown-options${shouldShowSearch ? '' : ' flex flex-col max-h-80 overflow-y-auto'}`}\n {...(shouldShowSearch ? {} : {\n ...listboxProps,\n 'aria-label': `${defaultText} options`,\n style: { outline: 'none' },\n tabIndex: -1,\n 'aria-activedescendant': comboboxInputProps['aria-activedescendant'],\n onKeyDown: (e: React.KeyboardEvent) => {\n comboboxContainerProps.onKeyDownCapture?.(e as React.KeyboardEvent<HTMLElement>);\n if (e.key === ' ') {\n e.preventDefault();\n if (highlightedIndex >= 0 && filteredOptions[highlightedIndex]) {\n handleDropDownOptionClick(filteredOptions[highlightedIndex]);\n }\n return;\n }\n comboboxInputProps.onKeyDown(e);\n },\n onFocus: () => {\n if (highlightedIndex === -1 && filteredOptions.length > 0) {\n setHighlightedIndex(0);\n }\n }\n })}\n >\n {shouldShowSearch ? (\n <div\n className=\"flex flex-col max-h-80 overflow-y-auto\"\n aria-label={`${defaultText} options`}\n {...listboxProps}\n >\n {filteredOptions.length > 0 ? (\n filteredOptions.map((dropDownOption, index) => dropDownOptionJsx(dropDownOption, index))\n ) : (\n <div className=\"px-3 py-4 text-center text-[var(--color-gray-700)] text-sm\">\n {searchResultEmptyMessage}\n </div>\n )}\n </div>\n ) : (\n filteredOptions.length > 0 ? (\n filteredOptions.map((dropDownOption, index) => dropDownOptionJsx(dropDownOption, index))\n ) : (\n <div className=\"px-3 py-4 text-center text-[var(--color-gray-700)] text-sm\">\n {searchResultEmptyMessage}\n </div>\n )\n )}\n </div>\n </>\n );\n };\n\n const handleMultiSelectDropdownOptionClick = (isSelected: boolean, dropDownOption: DropdownValue) => {\n let newSelectedDropDownValues: DropdownValue[] = [];\n if (isSelected) {\n newSelectedDropDownValues = [...selectedDropDownValues, dropDownOption];\n } else {\n newSelectedDropDownValues = selectedDropDownValues?.filter(\n (option) => option[optionsUniqueBy] !== dropDownOption[optionsUniqueBy]\n );\n }\n setSelectedDropDownValues(newSelectedDropDownValues);\n };\n\n const handleApplySelectedDropDownValues = () => {\n popoverRef.current?.togglePopover();\n props?.onApply?.(selectedDropDownValues);\n };\n\n // Wraps the multi-select useCombobox's onKeyDown.\n // - Intercepts Enter/Space to toggle selection without resetting the highlight\n // (the hook resets highlightedIndex to -1 after onSelect, which is wrong for multi-select).\n // - When isSearchInput is true, Space is left for typing.\n // - Adds focusTrigger on Escape (Popover's handler is unreliable for portals).\n const multiSelectOnKeyDown = (e: React.KeyboardEvent, isSearchInput: boolean = false) => {\n if (isSearchInput && e.key === ' ') return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (highlightedMultiSelectIndex >= 0 && highlightedMultiSelectIndex < filteredOptions.length) {\n const option = filteredOptions[highlightedMultiSelectIndex];\n const isSelected = selectedDropDownValues.some(\n (v) => v[optionsUniqueBy] === option[optionsUniqueBy]\n );\n handleMultiSelectDropdownOptionClick(!isSelected, option);\n }\n return;\n }\n\n multiSelectComboboxInputProps.onKeyDown(e);\n\n if (e.key === 'Escape') {\n e.stopPropagation();\n requestAnimationFrame(() => popoverRef.current?.focusTrigger());\n }\n };\n\n const multiSelectDropdownOptionJSX = (dropDownOption: DropdownValue, index: number) => {\n const isOptionSelected = selectedDropDownValues.some(\n (option) => option[optionsUniqueBy] === dropDownOption[optionsUniqueBy]\n );\n const optionId = `${listboxId}-option-${index}`;\n const isHighlighted = highlightedMultiSelectIndex === index;\n\n return (\n <div\n key={dropDownOption.id || dropDownOption.value}\n id={optionId}\n role=\"option\"\n aria-selected={isOptionSelected}\n className={`option px-3 py-2 hover:bg-[var(--color-gray-100)] cursor-pointer select-none flex items-center gap-2 ${\n isHighlighted ? `bg-[var(--color-gray-100)]${isMultiSelectKeyboardFocused ? ' outline outline-[length:var(--focus-width)] -outline-offset-2 outline-[var(--focus-color)]' : ''}` : ''\n }`}\n onClick={() => handleMultiSelectDropdownOptionClick(!isOptionSelected, dropDownOption)}\n data-automation-id={`dropdown-option-${dropDownOption?.automationId || index}`}\n >\n <Checkbox\n tabIndex={-1}\n ariaHidden\n checked={isOptionSelected}\n onChange={() => {}}\n className=\"pointer-events-none\"\n />\n <span className=\"checkbox-label\">{dropDownOption?.label}</span>\n </div>\n );\n };\n\n const renderMultiSelectDropdownContents = () => {\n return (\n <div\n onKeyDown={(e) => {\n // Stop all Tab events from reaching Popover's handlePopoverContentKeyDown (which closes on Tab).\n // Forward Tab: search → Clear → Apply → focus exits → useDismissOnFocusOut closes.\n // Shift+Tab: Apply → Clear → search → trigger.\n if (e.key === 'Tab') {\n e.stopPropagation();\n }\n }}\n >\n {shouldShowSearch && renderSearchBar()}\n <div\n className={`dropdown-content dropdown-options${shouldShowSearch ? '' : ' flex flex-col max-h-80 overflow-y-auto'}`}\n {...(shouldShowSearch ? {} : {\n ...multiSelectListboxProps,\n 'aria-label': `${defaultText} options`,\n 'aria-multiselectable': 'true',\n style: { outline: 'none' },\n tabIndex: -1,\n 'aria-activedescendant': multiSelectComboboxInputProps['aria-activedescendant'],\n onKeyDown: (e: React.KeyboardEvent) => multiSelectOnKeyDown(e, false),\n onFocus: () => {\n if (highlightedMultiSelectIndex === -1 && filteredOptions.length > 0) {\n setHighlightedMultiSelectIndex(0);\n }\n }\n })}\n >\n {shouldShowSearch ? (\n <div\n className=\"flex flex-col max-h-80 overflow-y-auto\"\n {...multiSelectListboxProps}\n aria-label={`${defaultText} options`}\n aria-multiselectable=\"true\"\n >\n {filteredOptions.length > 0 ? (\n filteredOptions.map((dropDownOption, index) => multiSelectDropdownOptionJSX(dropDownOption, index))\n ) : (\n <div className=\"px-3 py-4 text-center text-[var(--color-gray-700)] text-sm\">\n {searchResultEmptyMessage}\n </div>\n )}\n </div>\n ) : (\n filteredOptions.length > 0 ? (\n filteredOptions.map((dropDownOption, index) => multiSelectDropdownOptionJSX(dropDownOption, index))\n ) : (\n <div className=\"px-3 py-4 text-center text-[var(--color-gray-700)] text-sm\">\n {searchResultEmptyMessage}\n </div>\n )\n )}\n </div>\n <div\n className=\"flex items-center justify-end gap-4 p-3 border-t border-[var(--color-gray-200)]\"\n onKeyDown={(e) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Home' || e.key === 'End') {\n // Stop arrow keys from reaching Popover's handleArrowKeyNavigation\n // which would move focus out of the CTA buttons back into options\n e.stopPropagation();\n return;\n }\n if (e.key === 'Tab' && e.shiftKey) {\n e.preventDefault();\n e.stopPropagation();\n if (shouldShowSearch) {\n searchInputRef.current?.focus();\n } else {\n multiSelectListboxProps.ref.current?.focus();\n }\n }\n }}\n >\n <Button label=\"Clear\" type=\"link\" size=\"sm\" onClick={clearSelectedDropDownValues} automationId=\"se-design-dropdown-clear-button\" />\n <Button label=\"Apply\" type=\"primary\" size=\"sm\" onClick={handleApplySelectedDropDownValues} automationId=\"se-design-dropdown-apply-button\" />\n </div>\n </div>\n );\n };\n\n const renderDropdownSelect = () => {\n const borderColor = isDropDownOpen\n ? 'border-[var(--color-blue-500)]'\n : disabled\n ? 'border-[var(--color-gray-300)]'\n : 'border-[var(--color-gray-600)]';\n const errorBorderColor = hasError ? 'border-[var(--color-red-500)]' : '';\n const dropDownSelectClass = `dropdown-src-element bg-[var(--color-white)] flex px-3 py-2 ${\n isBorderless ? 'border-0' : `border rounded-md ${errorBorderColor ? errorBorderColor : borderColor}`\n } flex items-center ${dropdownClassName}`;\n\n return (\n <div className={dropDownSelectClass}>\n <div\n id={valueId}\n className=\"flex-1 min-w-0\"\n data-automation-id={props?.dropDownSelectAutomationId || 'selected-dropdown-value'}\n >\n {optionChip(selectedDropDownValues[0], true)}\n </div>\n <div className=\"flex-shrink-0 ml-2\" aria-hidden=\"true\">\n <Icon\n name={'chevron'}\n rotation={isDropDownOpen ? '180' : '0'}\n className={`transition-transform`}\n stroke={iconColor}\n />\n </div>\n </div>\n );\n };\n\n const getDropdownAriaLabel = () => {\n const selectedLabel = selectedDropDownValues[0]?.[selectBy];\n if (ariaLabel && selectedLabel) {\n return `${ariaLabel}, ${selectedLabel}`;\n }\n return ariaLabel || defaultText || 'Select option';\n };\n\n // Trigger is always a button that reveals a listbox popup (Select/Listbox pattern).\n // For search-enabled dropdowns, the combobox role lives on the search input inside the popup.\n // This matches React Aria (useSelect), Radix (Select), and Headless UI (Listbox) — all use\n // role=\"button\" with real focus on options, separate from their Combobox components.\n const triggerSourceRole = 'button';\n\n // Trigger is always role=\"button\" — combobox ARIA (aria-activedescendant etc.)\n // lives on the search input inside the popup, not on the trigger.\n // Trigger only needs aria-haspopup + aria-expanded (Popover handles) + aria-controls.\n\n return (\n <div\n className={`se-design-dropdown-container${props?.className ? ` ${props?.className}` : ''}`}\n style={props?.style}\n >\n {props?.label ? (\n <div id={labelId} className={`se-design-dropdown-label ${firstOptionAsHeading ? 'sr-only' : 'mb-[3px] text-[var(--color-gray-700)] text-sm'}`}>\n {props?.label}\n </div>\n ) : !props?.ariaLabelledBy && ariaLabel ? (\n <span id={labelId} className=\"sr-only\">{ariaLabel}</span>\n ) : null}\n <div\n style={props?.style}\n className={`${disabled ? 'bg-[var(--color-gray-50)] rounded-md cursor-not-allowed' : ''}`}\n {...(!isMultiSelect ? {\n ...comboboxContainerProps,\n onKeyDownCapture: (e: React.KeyboardEvent<HTMLElement>) => {\n // Handle Escape/Tab BEFORE dismiss — React unmounts the popup after\n // dismiss's setState, so bubble-phase handlers never fire.\n if ((e.key === 'Escape' || e.key === 'Tab') && isDropDownOpen) {\n e.stopPropagation(); // prevent Popover wrapper + parent sidebar from seeing Escape\n popoverRef.current?.focusTrigger();\n }\n comboboxContainerProps.onKeyDownCapture?.(e);\n },\n // Portal content lives in document.body — focus moving into it looks like \"focus out\" to\n // the container's blur handler, causing immediate close. Suppress it; the Popover's own\n // onBlur handler checks both source and portal content and handles dismissal correctly.\n ...(isWithPortal ? { onBlurCapture: undefined } : {})\n } : {\n // Multi-select: only spread focus-tracking handlers for isKeyboardFocused.\n // Dismiss is handled by Popover — don't spread onBlurCapture.\n onPointerMove: multiSelectContainerProps.onPointerMove,\n onPointerDown: multiSelectContainerProps.onPointerDown,\n onPointerUp: multiSelectContainerProps.onPointerUp,\n onFocusCapture: multiSelectContainerProps.onFocusCapture,\n onKeyDownCapture: (e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Escape' && isDropDownOpen) {\n e.stopPropagation();\n popoverRef.current?.focusTrigger();\n }\n multiSelectContainerProps.onKeyDownCapture?.(e);\n }\n })}\n >\n <Popover\n ref={popoverRef}\n isPopoverOpen={isDropDownOpen}\n isWithPortal={isWithPortal}\n renderPopoverContents={\n customDropdownContent\n ? customDropdownContent\n : isMultiSelect\n ? renderMultiSelectDropdownContents\n : renderDropdownContents\n }\n contentWidth={'full'}\n popoverContentStyleProperty={props.popoverContentStyleProperty}\n renderPopoverSrcElement={\n props.renderSrcElement\n ? () => props.renderSrcElement!({ isOpen: isDropDownOpen, selectedValue: selectedDropDownValues })\n : renderDropdownSelect\n }\n onPopoverToggle={(value) => {\n setIsDropDownOpen(value);\n if (value && !isMultiSelect && selectedDropDownValues.length > 0) {\n // Highlight the currently selected option when the dropdown opens (APG Select pattern)\n const selectedIndex = filteredOptions.findIndex(\n (option) => optionsUniqueBy\n ? option[optionsUniqueBy] === selectedDropDownValues[0]?.[optionsUniqueBy]\n : option[selectBy] === selectedDropDownValues[0]?.[selectBy]\n );\n if (selectedIndex >= 0) {\n setHighlightedIndex(selectedIndex);\n }\n }\n if (value && !shouldShowSearch) {\n // Focus listbox after Popover's own focus-first-on-open (setTimeout 0ms) has fired.\n // Using nested requestAnimationFrame ensures we run after both the Popover timeout\n // and any pending paint, so the listbox DOM is ready and we get the last word on focus.\n const ref = isMultiSelect ? multiSelectListboxProps.ref : listboxProps.ref;\n requestAnimationFrame(() => requestAnimationFrame(() => ref.current?.focus()));\n }\n // When search is enabled, Popover's focus-first-on-open naturally finds the search input.\n }}\n disabled={disabled}\n automationId={props?.dropDownSrcAutomationId}\n popoverContentAutomationId={props?.dropDownContentAutomationId}\n ariaLabelledBy={\n props?.label || props?.ariaLabelledBy || ariaLabel\n ? [props?.label || (!props?.ariaLabelledBy && ariaLabel) ? labelId : props?.ariaLabelledBy, valueId].filter(Boolean).join(' ')\n : undefined\n }\n ariaLabel={!props?.label && !ariaLabel && !props?.ariaLabelledBy ? getDropdownAriaLabel() : undefined}\n sourceRole={triggerSourceRole}\n {...{ 'aria-haspopup': 'listbox' }}\n {...(isDropDownOpen ? { 'aria-controls': listboxId } : {})}\n />\n </div>\n {hasError && <div className=\"text-[var(--color-red-500)] text-sm\">{errorMessage}</div>}\n </div>\n );\n};\n"],"names":["Dropdown","props","isControlledSelection","selectedValue","undefined","isControlledOpen","isOpen","internalIsOpen","setInternalIsOpen","useState","searchQuery","setSearchQuery","internalSelectedValues","setInternalSelectedValues","defaultSelectedValue","Array","isArray","popoverRef","useRef","searchInputRef","labelId","useStableId","valueId","listboxId","isDropDownOpen","selectedDropDownValues","setIsDropDownOpen","value","onOpenChange","setSelectedDropDownValues","values","selectBy","optionsUniqueBy","displaySelected","dropDownOptions","defaultText","iconColor","disabled","dropdownClassName","hasError","errorMessage","customDropdownContent","isBorderless","shouldShowSearch","showSearchIcon","searchPlaceholder","searchResultEmptyMessage","ariaLabel","customSelectedValue","isWithPortal","firstOptionAsHeading","useEffect","newValues","current","requestAnimationFrame","focus","useLayoutEffect","popoverElementRef","element","isMultiSelect","type","getFilteredOptions","trim","filter","option","toString","toLowerCase","includes","handleDropDownOptionClick","dropDownOption","onOptionClick","focusTrigger","filteredOptions","listboxProps","getOptionProps","highlightedIndex","setHighlightedIndex","containerProps","comboboxContainerProps","inputProps","comboboxInputProps","isKeyboardFocused","isSingleSelectKeyboardFocused","useCombobox","items","onSelect","item","hasItems","length","multiSelectComboboxInputProps","multiSelectListboxProps","multiSelectContainerProps","highlightedMultiSelectIndex","setHighlightedMultiSelectIndex","isMultiSelectKeyboardFocused","loop","closeOnTab","announce","assertiveness","batchId","delay","getSelectedDropDownValue","isSrcOption","clearSelectedDropDownValues","onClear","optionChip","srcOption","renderOptionChip","firstSelectedLabel","remainingCount","React","createElement","className","selectedLabel","hasVisibleLabel","label","ariaLabelledBy","showPrefix","renderSearchInput","extraInputProps","InputWithIcon","leftIcon","name","position","style","color","onChange","placeholder","margin","gap","inputStyle","width","border","outline","automationId","inputRef","renderSearchBar","onKeyDown","e","multiSelectOnKeyDown","key","dropDownOptionJsx","index","optionTxt","dropDownSelectedValue","selectByUniqueId","isOptionSelected","isHighlighted","optionProps","_extends","id","onClick","preventDefault","tabIndex","Icon","stroke","renderDropdownContents","Fragment","onKeyDownCapture","onFocus","map","handleMultiSelectDropdownOptionClick","isSelected","newSelectedDropDownValues","handleApplySelectedDropDownValues","togglePopover","onApply","isSearchInput","some","v","stopPropagation","multiSelectDropdownOptionJSX","optionId","role","Checkbox","ariaHidden","checked","renderMultiSelectDropdownContents","shiftKey","ref","Button","size","renderDropdownSelect","borderColor","errorBorderColor","dropDownSelectClass","dropDownSelectAutomationId","rotation","getDropdownAriaLabel","onPointerMove","onPointerDown","onPointerUp","onFocusCapture","onBlurCapture","Popover","isPopoverOpen","renderPopoverContents","contentWidth","popoverContentStyleProperty","renderPopoverSrcElement","renderSrcElement","onPopoverToggle","selectedIndex","findIndex","dropDownSrcAutomationId","popoverContentAutomationId","dropDownContentAutomationId","Boolean","join","sourceRole"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import e from "./index253.js";
2
+ function p(o, t) {
3
+ o.prototype = Object.create(t.prototype), o.prototype.constructor = o, e(o, t);
4
+ }
5
+ export {
6
+ p as default
7
+ };
8
+ //# sourceMappingURL=index250.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index250.js","sources":["../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"],"sourcesContent":["import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };"],"names":["_setPrototypeOf","_inheritsLoose","t","o","setPrototypeOf"],"mappings":"AACA,OAAAA,OAAA;AAAA,SAASC,EAAeC,GAAGC,GAAG;AAC5B,EAAAD,EAAE,YAAY,OAAO,OAAOC,EAAE,SAAS,GAAGD,EAAE,UAAU,cAAcA,GAAGE,EAAeF,GAAGC,CAAC;AAC5F;","x_google_ignoreList":[0]}