se-design 1.0.97 → 1.0.98-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 (501) hide show
  1. package/dist/assets/icons/envelope.svg +2 -2
  2. package/dist/assets/icons/envelopes-outline.svg +3 -0
  3. package/dist/assets/icons/home-outline.svg +3 -0
  4. package/dist/assets/icons/library-outline.svg +3 -0
  5. package/dist/assets/icons/magicpen.svg +11 -0
  6. package/dist/assets/icons/move-folder.svg +1 -1
  7. package/dist/assets/icons/plus.svg +2 -2
  8. package/dist/assets/icons/reports-outline.svg +3 -0
  9. package/dist/assets/icons/repository-outline.svg +3 -0
  10. package/dist/assets/icons/sign-doc.svg +10 -0
  11. package/dist/assets/icons/template.svg +3 -0
  12. package/dist/assets/icons/upload.svg +5 -0
  13. package/dist/assets/icons/views-outline.svg +3 -0
  14. package/dist/assets/style.css +1 -1
  15. package/dist/components/GetStartedWidget/index.d.ts +28 -5
  16. package/dist/components/Tabs/index.d.ts +2 -1
  17. package/dist/components/UpgradeBanner/index.d.ts +31 -0
  18. package/dist/components/index.d.ts +1 -0
  19. package/dist/index.js +94 -92
  20. package/dist/index.js.map +1 -1
  21. package/dist/index100.js +1 -1
  22. package/dist/index100.js.map +1 -1
  23. package/dist/index101.js +1 -1
  24. package/dist/index101.js.map +1 -1
  25. package/dist/index102.js +1 -1
  26. package/dist/index102.js.map +1 -1
  27. package/dist/index103.js +1 -1
  28. package/dist/index103.js.map +1 -1
  29. package/dist/index104.js +1 -1
  30. package/dist/index104.js.map +1 -1
  31. package/dist/index105.js +1 -1
  32. package/dist/index105.js.map +1 -1
  33. package/dist/index106.js +1 -1
  34. package/dist/index106.js.map +1 -1
  35. package/dist/index107.js +1 -1
  36. package/dist/index107.js.map +1 -1
  37. package/dist/index108.js +1 -1
  38. package/dist/index108.js.map +1 -1
  39. package/dist/index109.js +1 -1
  40. package/dist/index109.js.map +1 -1
  41. package/dist/index11.js +1 -1
  42. package/dist/index110.js +1 -1
  43. package/dist/index110.js.map +1 -1
  44. package/dist/index111.js +1 -1
  45. package/dist/index111.js.map +1 -1
  46. package/dist/index112.js +1 -1
  47. package/dist/index112.js.map +1 -1
  48. package/dist/index113.js +1 -1
  49. package/dist/index113.js.map +1 -1
  50. package/dist/index114.js +1 -1
  51. package/dist/index114.js.map +1 -1
  52. package/dist/index115.js +1 -1
  53. package/dist/index115.js.map +1 -1
  54. package/dist/index116.js +1 -1
  55. package/dist/index116.js.map +1 -1
  56. package/dist/index117.js +1 -1
  57. package/dist/index117.js.map +1 -1
  58. package/dist/index118.js +1 -1
  59. package/dist/index118.js.map +1 -1
  60. package/dist/index119.js +2 -2
  61. package/dist/index119.js.map +1 -1
  62. package/dist/index12.js +3 -3
  63. package/dist/index120.js +1 -1
  64. package/dist/index120.js.map +1 -1
  65. package/dist/index121.js +2 -2
  66. package/dist/index121.js.map +1 -1
  67. package/dist/index122.js +1 -1
  68. package/dist/index122.js.map +1 -1
  69. package/dist/index123.js +1 -1
  70. package/dist/index123.js.map +1 -1
  71. package/dist/index124.js +2 -2
  72. package/dist/index124.js.map +1 -1
  73. package/dist/index125.js +1 -1
  74. package/dist/index125.js.map +1 -1
  75. package/dist/index126.js +2 -2
  76. package/dist/index126.js.map +1 -1
  77. package/dist/index127.js +1 -1
  78. package/dist/index127.js.map +1 -1
  79. package/dist/index128.js +1 -1
  80. package/dist/index128.js.map +1 -1
  81. package/dist/index129.js +1 -1
  82. package/dist/index129.js.map +1 -1
  83. package/dist/index13.js +3 -3
  84. package/dist/index130.js +1 -1
  85. package/dist/index130.js.map +1 -1
  86. package/dist/index131.js +2 -2
  87. package/dist/index131.js.map +1 -1
  88. package/dist/index132.js +2 -2
  89. package/dist/index132.js.map +1 -1
  90. package/dist/index133.js +2 -2
  91. package/dist/index133.js.map +1 -1
  92. package/dist/index134.js +2 -2
  93. package/dist/index134.js.map +1 -1
  94. package/dist/index135.js +2 -2
  95. package/dist/index135.js.map +1 -1
  96. package/dist/index136.js +2 -2
  97. package/dist/index136.js.map +1 -1
  98. package/dist/index137.js +1 -1
  99. package/dist/index137.js.map +1 -1
  100. package/dist/index138.js +2 -2
  101. package/dist/index138.js.map +1 -1
  102. package/dist/index139.js +1 -1
  103. package/dist/index139.js.map +1 -1
  104. package/dist/index140.js +1 -1
  105. package/dist/index140.js.map +1 -1
  106. package/dist/index141.js +2 -2
  107. package/dist/index141.js.map +1 -1
  108. package/dist/index142.js +2 -2
  109. package/dist/index142.js.map +1 -1
  110. package/dist/index143.js +2 -2
  111. package/dist/index143.js.map +1 -1
  112. package/dist/index144.js +2 -2
  113. package/dist/index144.js.map +1 -1
  114. package/dist/index145.js +1 -1
  115. package/dist/index145.js.map +1 -1
  116. package/dist/index146.js +1 -1
  117. package/dist/index146.js.map +1 -1
  118. package/dist/index147.js +1 -1
  119. package/dist/index147.js.map +1 -1
  120. package/dist/index148.js +1 -1
  121. package/dist/index148.js.map +1 -1
  122. package/dist/index149.js +1 -1
  123. package/dist/index149.js.map +1 -1
  124. package/dist/index150.js +1 -1
  125. package/dist/index150.js.map +1 -1
  126. package/dist/index151.js +1 -1
  127. package/dist/index151.js.map +1 -1
  128. package/dist/index152.js +2 -2
  129. package/dist/index152.js.map +1 -1
  130. package/dist/index153.js +1 -1
  131. package/dist/index153.js.map +1 -1
  132. package/dist/index154.js +1 -1
  133. package/dist/index154.js.map +1 -1
  134. package/dist/index155.js +2 -2
  135. package/dist/index155.js.map +1 -1
  136. package/dist/index156.js +1 -1
  137. package/dist/index156.js.map +1 -1
  138. package/dist/index157.js +1 -1
  139. package/dist/index157.js.map +1 -1
  140. package/dist/index158.js +1 -1
  141. package/dist/index158.js.map +1 -1
  142. package/dist/index159.js +1 -1
  143. package/dist/index159.js.map +1 -1
  144. package/dist/index16.js +3 -3
  145. package/dist/index160.js +1 -1
  146. package/dist/index160.js.map +1 -1
  147. package/dist/index161.js +2 -2
  148. package/dist/index161.js.map +1 -1
  149. package/dist/index162.js +2 -2
  150. package/dist/index162.js.map +1 -1
  151. package/dist/index163.js +1 -1
  152. package/dist/index163.js.map +1 -1
  153. package/dist/index164.js +2 -2
  154. package/dist/index164.js.map +1 -1
  155. package/dist/index165.js +2 -2
  156. package/dist/index165.js.map +1 -1
  157. package/dist/index166.js +2 -2
  158. package/dist/index166.js.map +1 -1
  159. package/dist/index167.js +2 -2
  160. package/dist/index167.js.map +1 -1
  161. package/dist/index168.js +1 -1
  162. package/dist/index168.js.map +1 -1
  163. package/dist/index169.js +2 -2
  164. package/dist/index169.js.map +1 -1
  165. package/dist/index170.js +2 -2
  166. package/dist/index170.js.map +1 -1
  167. package/dist/index171.js +1 -1
  168. package/dist/index171.js.map +1 -1
  169. package/dist/index172.js +1 -1
  170. package/dist/index172.js.map +1 -1
  171. package/dist/index173.js +1 -1
  172. package/dist/index173.js.map +1 -1
  173. package/dist/index174.js +1 -1
  174. package/dist/index174.js.map +1 -1
  175. package/dist/index175.js +1 -1
  176. package/dist/index175.js.map +1 -1
  177. package/dist/index176.js +1 -1
  178. package/dist/index176.js.map +1 -1
  179. package/dist/index177.js +1 -1
  180. package/dist/index177.js.map +1 -1
  181. package/dist/index178.js +1 -1
  182. package/dist/index178.js.map +1 -1
  183. package/dist/index179.js +2 -2
  184. package/dist/index179.js.map +1 -1
  185. package/dist/index18.js +3 -3
  186. package/dist/index180.js +1 -1
  187. package/dist/index180.js.map +1 -1
  188. package/dist/index181.js +1 -1
  189. package/dist/index181.js.map +1 -1
  190. package/dist/index182.js +1 -1
  191. package/dist/index182.js.map +1 -1
  192. package/dist/index183.js +1 -1
  193. package/dist/index183.js.map +1 -1
  194. package/dist/index184.js +1 -1
  195. package/dist/index184.js.map +1 -1
  196. package/dist/index185.js +1 -1
  197. package/dist/index185.js.map +1 -1
  198. package/dist/index186.js +1 -1
  199. package/dist/index186.js.map +1 -1
  200. package/dist/index187.js +1 -1
  201. package/dist/index187.js.map +1 -1
  202. package/dist/index188.js +1 -1
  203. package/dist/index188.js.map +1 -1
  204. package/dist/index189.js +1 -1
  205. package/dist/index189.js.map +1 -1
  206. package/dist/index19.js +5 -5
  207. package/dist/index190.js +1 -1
  208. package/dist/index190.js.map +1 -1
  209. package/dist/index191.js +1 -1
  210. package/dist/index191.js.map +1 -1
  211. package/dist/index192.js +2 -2
  212. package/dist/index192.js.map +1 -1
  213. package/dist/index193.js +1 -1
  214. package/dist/index193.js.map +1 -1
  215. package/dist/index194.js +1 -1
  216. package/dist/index194.js.map +1 -1
  217. package/dist/index195.js +1 -1
  218. package/dist/index195.js.map +1 -1
  219. package/dist/index196.js +2 -2
  220. package/dist/index196.js.map +1 -1
  221. package/dist/index197.js +1 -1
  222. package/dist/index197.js.map +1 -1
  223. package/dist/index198.js +1 -1
  224. package/dist/index198.js.map +1 -1
  225. package/dist/index199.js +1 -1
  226. package/dist/index199.js.map +1 -1
  227. package/dist/index200.js +2 -2
  228. package/dist/index200.js.map +1 -1
  229. package/dist/index201.js +1 -1
  230. package/dist/index201.js.map +1 -1
  231. package/dist/index202.js +1 -1
  232. package/dist/index202.js.map +1 -1
  233. package/dist/index203.js +1 -1
  234. package/dist/index203.js.map +1 -1
  235. package/dist/index204.js +2 -2
  236. package/dist/index204.js.map +1 -1
  237. package/dist/index205.js +1 -1
  238. package/dist/index205.js.map +1 -1
  239. package/dist/index206.js +1 -1
  240. package/dist/index206.js.map +1 -1
  241. package/dist/index207.js +2 -2
  242. package/dist/index207.js.map +1 -1
  243. package/dist/index208.js +1 -1
  244. package/dist/index208.js.map +1 -1
  245. package/dist/index209.js +2 -2
  246. package/dist/index209.js.map +1 -1
  247. package/dist/index210.js +2 -2
  248. package/dist/index210.js.map +1 -1
  249. package/dist/index211.js +2 -2
  250. package/dist/index211.js.map +1 -1
  251. package/dist/index212.js +2 -149
  252. package/dist/index212.js.map +1 -1
  253. package/dist/index213.js +2 -9
  254. package/dist/index213.js.map +1 -1
  255. package/dist/index214.js +2 -6
  256. package/dist/index214.js.map +1 -1
  257. package/dist/index215.js +2 -43
  258. package/dist/index215.js.map +1 -1
  259. package/dist/index216.js +2 -21
  260. package/dist/index216.js.map +1 -1
  261. package/dist/index217.js +5 -0
  262. package/dist/index217.js.map +1 -0
  263. package/dist/index218.js +5 -0
  264. package/dist/index218.js.map +1 -0
  265. package/dist/index219.js +5 -0
  266. package/dist/index219.js.map +1 -0
  267. package/dist/index220.js +5 -0
  268. package/dist/index220.js.map +1 -0
  269. package/dist/index221.js +5 -0
  270. package/dist/index221.js.map +1 -0
  271. package/dist/index222.js +5 -0
  272. package/dist/index222.js.map +1 -0
  273. package/dist/index223.js +148 -27
  274. package/dist/index223.js.map +1 -1
  275. package/dist/index224.js +8 -71
  276. package/dist/index224.js.map +1 -1
  277. package/dist/index225.js +9 -0
  278. package/dist/index225.js.map +1 -0
  279. package/dist/index226.js +46 -0
  280. package/dist/index226.js.map +1 -0
  281. package/dist/index227.js +24 -0
  282. package/dist/index227.js.map +1 -0
  283. package/dist/index23.js +1 -1
  284. package/dist/index234.js +31 -0
  285. package/dist/index234.js.map +1 -0
  286. package/dist/index235.js +75 -0
  287. package/dist/index235.js.map +1 -0
  288. package/dist/index24.js +3 -3
  289. package/dist/{index231.js → index242.js} +1 -1
  290. package/dist/{index231.js.map → index242.js.map} +1 -1
  291. package/dist/index244.js +11 -42
  292. package/dist/index244.js.map +1 -1
  293. package/dist/index253.js +1232 -169
  294. package/dist/index253.js.map +1 -1
  295. package/dist/index256.js +42 -18
  296. package/dist/index256.js.map +1 -1
  297. package/dist/index26.js +6 -6
  298. package/dist/index265.js +170 -2
  299. package/dist/index265.js.map +1 -1
  300. package/dist/index266.js +3 -7
  301. package/dist/index266.js.map +1 -1
  302. package/dist/index268.js +18 -49
  303. package/dist/index268.js.map +1 -1
  304. package/dist/index269.js +10 -2
  305. package/dist/index269.js.map +1 -1
  306. package/dist/index270.js +8 -74
  307. package/dist/index270.js.map +1 -1
  308. package/dist/index271.js +4 -92
  309. package/dist/index271.js.map +1 -1
  310. package/dist/index272.js +166 -48
  311. package/dist/index272.js.map +1 -1
  312. package/dist/index273.js +11 -8
  313. package/dist/index273.js.map +1 -1
  314. package/dist/index274.js +5 -4
  315. package/dist/index274.js.map +1 -1
  316. package/dist/index275.js +5 -51
  317. package/dist/index275.js.map +1 -1
  318. package/dist/index276.js +38 -2
  319. package/dist/index276.js.map +1 -1
  320. package/dist/index277.js +2 -2
  321. package/dist/index278.js +11 -0
  322. package/dist/index278.js.map +1 -0
  323. package/dist/{index267.js → index279.js} +6 -6
  324. package/dist/{index267.js.map → index279.js.map} +1 -1
  325. package/dist/index28.js +1 -1
  326. package/dist/index280.js +53 -0
  327. package/dist/index280.js.map +1 -0
  328. package/dist/index281.js +5 -0
  329. package/dist/index281.js.map +1 -0
  330. package/dist/index282.js +79 -0
  331. package/dist/index282.js.map +1 -0
  332. package/dist/index283.js +96 -0
  333. package/dist/index283.js.map +1 -0
  334. package/dist/index284.js +55 -0
  335. package/dist/index284.js.map +1 -0
  336. package/dist/index285.js +11 -0
  337. package/dist/index285.js.map +1 -0
  338. package/dist/index286.js +8 -0
  339. package/dist/index286.js.map +1 -0
  340. package/dist/index287.js +55 -0
  341. package/dist/index287.js.map +1 -0
  342. package/dist/index288.js +5 -0
  343. package/dist/index288.js.map +1 -0
  344. package/dist/index289.js +5 -0
  345. package/dist/index289.js.map +1 -0
  346. package/dist/index29.js +4 -4
  347. package/dist/index3.js +3 -3
  348. package/dist/index30.js +48 -46
  349. package/dist/index30.js.map +1 -1
  350. package/dist/index31.js +4 -4
  351. package/dist/index32.js +1 -1
  352. package/dist/index33.js +11 -10
  353. package/dist/index34.js +1 -1
  354. package/dist/index36.js +4 -4
  355. package/dist/index37.js +5 -5
  356. package/dist/index38.js +3 -3
  357. package/dist/index39.js +5 -5
  358. package/dist/index4.js +4 -4
  359. package/dist/index40.js +4 -4
  360. package/dist/index41.js +1 -1
  361. package/dist/index43.js +125 -42
  362. package/dist/index43.js.map +1 -1
  363. package/dist/index44.js +139 -101
  364. package/dist/index44.js.map +1 -1
  365. package/dist/index45.js +105 -50
  366. package/dist/index45.js.map +1 -1
  367. package/dist/index46.js +53 -142
  368. package/dist/index46.js.map +1 -1
  369. package/dist/index47.js +140 -194
  370. package/dist/index47.js.map +1 -1
  371. package/dist/index48.js +187 -26
  372. package/dist/index48.js.map +1 -1
  373. package/dist/index49.js +30 -26
  374. package/dist/index49.js.map +1 -1
  375. package/dist/index50.js +39 -0
  376. package/dist/index50.js.map +1 -0
  377. package/dist/index52.js +195 -35
  378. package/dist/index52.js.map +1 -1
  379. package/dist/index53.js +34 -32
  380. package/dist/index53.js.map +1 -1
  381. package/dist/index54.js +34 -151
  382. package/dist/index54.js.map +1 -1
  383. package/dist/index55.js +140 -72
  384. package/dist/index55.js.map +1 -1
  385. package/dist/index56.js +78 -453
  386. package/dist/index56.js.map +1 -1
  387. package/dist/index57.js +459 -96
  388. package/dist/index57.js.map +1 -1
  389. package/dist/index58.js +98 -43
  390. package/dist/index58.js.map +1 -1
  391. package/dist/index59.js +40 -35
  392. package/dist/index59.js.map +1 -1
  393. package/dist/index6.js +238 -218
  394. package/dist/index6.js.map +1 -1
  395. package/dist/index60.js +33 -87
  396. package/dist/index60.js.map +1 -1
  397. package/dist/index61.js +89 -159
  398. package/dist/index61.js.map +1 -1
  399. package/dist/index62.js +157 -143
  400. package/dist/index62.js.map +1 -1
  401. package/dist/index63.js +149 -33
  402. package/dist/index63.js.map +1 -1
  403. package/dist/index64.js +33 -86
  404. package/dist/index64.js.map +1 -1
  405. package/dist/index65.js +80 -113
  406. package/dist/index65.js.map +1 -1
  407. package/dist/index66.js +114 -73
  408. package/dist/index66.js.map +1 -1
  409. package/dist/index67.js +73 -158
  410. package/dist/index67.js.map +1 -1
  411. package/dist/index68.js +157 -312
  412. package/dist/index68.js.map +1 -1
  413. package/dist/index69.js +317 -46
  414. package/dist/index69.js.map +1 -1
  415. package/dist/index7.js +10 -9
  416. package/dist/index70.js +45 -142
  417. package/dist/index70.js.map +1 -1
  418. package/dist/index71.js +145 -12
  419. package/dist/index71.js.map +1 -1
  420. package/dist/index72.js +10 -53
  421. package/dist/index72.js.map +1 -1
  422. package/dist/index73.js +52 -110
  423. package/dist/index73.js.map +1 -1
  424. package/dist/index74.js +111 -17
  425. package/dist/index74.js.map +1 -1
  426. package/dist/index75.js +17 -64
  427. package/dist/index75.js.map +1 -1
  428. package/dist/index76.js +64 -25
  429. package/dist/index76.js.map +1 -1
  430. package/dist/index77.js +24 -105
  431. package/dist/index77.js.map +1 -1
  432. package/dist/index78.js +104 -58
  433. package/dist/index78.js.map +1 -1
  434. package/dist/index79.js +60 -19
  435. package/dist/index79.js.map +1 -1
  436. package/dist/index80.js +18 -168
  437. package/dist/index80.js.map +1 -1
  438. package/dist/index81.js +171 -18
  439. package/dist/index81.js.map +1 -1
  440. package/dist/index82.js +17 -10
  441. package/dist/index82.js.map +1 -1
  442. package/dist/index83.js +11 -5
  443. package/dist/index83.js.map +1 -1
  444. package/dist/index84.js +5 -62
  445. package/dist/index84.js.map +1 -1
  446. package/dist/index85.js +58 -23
  447. package/dist/index85.js.map +1 -1
  448. package/dist/index86.js +25 -9
  449. package/dist/index86.js.map +1 -1
  450. package/dist/index87.js +14 -0
  451. package/dist/index87.js.map +1 -0
  452. package/dist/index89.js +2 -2
  453. package/dist/index89.js.map +1 -1
  454. package/dist/index9.js +4 -4
  455. package/dist/index90.js +2 -2
  456. package/dist/index90.js.map +1 -1
  457. package/dist/index91.js +2 -2
  458. package/dist/index91.js.map +1 -1
  459. package/dist/index92.js +2 -2
  460. package/dist/index92.js.map +1 -1
  461. package/dist/index93.js +1 -1
  462. package/dist/index93.js.map +1 -1
  463. package/dist/index94.js +1 -1
  464. package/dist/index94.js.map +1 -1
  465. package/dist/index95.js +1 -1
  466. package/dist/index95.js.map +1 -1
  467. package/dist/index96.js +1 -1
  468. package/dist/index96.js.map +1 -1
  469. package/dist/index97.js +1 -1
  470. package/dist/index97.js.map +1 -1
  471. package/dist/index98.js +1 -1
  472. package/dist/index98.js.map +1 -1
  473. package/dist/index99.js +1 -1
  474. package/dist/index99.js.map +1 -1
  475. package/package.json +1 -1
  476. package/dist/index233.js +0 -15
  477. package/dist/index233.js.map +0 -1
  478. package/dist/index241.js +0 -1236
  479. package/dist/index241.js.map +0 -1
  480. package/dist/index254.js +0 -7
  481. package/dist/index254.js.map +0 -1
  482. package/dist/index257.js +0 -13
  483. package/dist/index257.js.map +0 -1
  484. package/dist/index258.js +0 -13
  485. package/dist/index258.js.map +0 -1
  486. package/dist/index259.js +0 -8
  487. package/dist/index259.js.map +0 -1
  488. package/dist/index260.js +0 -173
  489. package/dist/index260.js.map +0 -1
  490. package/dist/index261.js +0 -14
  491. package/dist/index261.js.map +0 -1
  492. package/dist/index262.js +0 -9
  493. package/dist/index262.js.map +0 -1
  494. package/dist/index263.js +0 -9
  495. package/dist/index263.js.map +0 -1
  496. package/dist/index264.js +0 -41
  497. package/dist/index264.js.map +0 -1
  498. package/dist/index51.js +0 -201
  499. package/dist/index51.js.map +0 -1
  500. package/dist/index88.js +0 -5
  501. package/dist/index88.js.map +0 -1
package/dist/index47.js CHANGED
@@ -1,204 +1,150 @@
1
- import e, { useRef as R, useState as g, useCallback as C, useEffect as b } from "react";
2
- const A = ({
3
- size: n = 14,
4
- className: s
5
- }) => /* @__PURE__ */ e.createElement("svg", {
6
- width: n,
7
- height: n,
8
- viewBox: "0 0 18 18",
9
- fill: "currentColor",
10
- className: s,
11
- "aria-hidden": "true"
12
- }, /* @__PURE__ */ e.createElement("path", {
13
- d: "M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z"
14
- }), /* @__PURE__ */ e.createElement("path", {
15
- d: "M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z"
16
- })), U = ({
17
- size: n = 14
18
- }) => /* @__PURE__ */ e.createElement("svg", {
19
- width: n,
20
- height: n,
21
- viewBox: "0 0 24 24",
22
- fill: "none",
23
- stroke: "currentColor",
24
- strokeWidth: "2",
25
- strokeLinecap: "round",
26
- strokeLinejoin: "round",
27
- "aria-hidden": "true"
28
- }, /* @__PURE__ */ e.createElement("circle", {
29
- cx: "12",
30
- cy: "12",
31
- r: "10"
32
- }), /* @__PURE__ */ e.createElement("path", {
33
- d: "M12 6v6l4 2"
34
- })), q = ({
35
- size: n = 14
36
- }) => /* @__PURE__ */ e.createElement("svg", {
37
- width: n,
38
- height: n,
39
- viewBox: "0 0 24 24",
40
- fill: "none",
41
- stroke: "currentColor",
42
- strokeWidth: "2.2",
43
- strokeLinecap: "round",
44
- "aria-hidden": "true"
45
- }, /* @__PURE__ */ e.createElement("path", {
46
- d: "M18 6 6 18M6 6l12 12"
47
- })), H = /[.*+?^${}()|[\]\\]/g, J = (n, s, m) => {
48
- const o = (m && m.length ? m : [s]).map((r) => (r || "").trim()).filter(Boolean);
49
- if (!o.length) return n;
50
- o.sort((r, i) => i.length - r.length);
51
- const k = new Set(o.map((r) => r.toLowerCase())), l = o.map((r) => r.replace(H, "\\$&")).join("|");
52
- return n.split(new RegExp(`(${l})`, "ig")).map((r, i) => k.has(r.toLowerCase()) ? /* @__PURE__ */ e.createElement("mark", {
53
- key: i
54
- }, r) : /* @__PURE__ */ e.createElement(e.Fragment, {
55
- key: i
56
- }, r));
57
- }, P = /* @__PURE__ */ e.memo(({
58
- value: n,
59
- onChange: s,
60
- onSelect: m,
61
- onSubmit: o,
62
- onClear: k,
63
- suggestions: l = [],
64
- isLoading: v = !1,
65
- helperText: r,
66
- helperVariant: i = "info",
67
- placeholder: S = "Get any of your contracts",
68
- placeholderPrefix: d,
69
- examples: u,
70
- collapsed: c = !1,
71
- onExpand: I,
72
- automationId: B = "nl-search-input",
73
- ariaLabel: F = "Natural language search"
1
+ import e, { useState as k, useRef as S, useCallback as P, useEffect as Y } from "react";
2
+ /* empty css */
3
+ import { Icon as x } from "./index6.js";
4
+ import { useStableId as Z } from "./index225.js";
5
+ import { getA11yNameAttributes as ee } from "./index87.js";
6
+ import "./index78.js";
7
+ import { useCombobox as te } from "./index74.js";
8
+ function u() {
9
+ return u = Object.assign ? Object.assign.bind() : function(o) {
10
+ for (var i = 1; i < arguments.length; i++) {
11
+ var t = arguments[i];
12
+ for (var a in t) ({}).hasOwnProperty.call(t, a) && (o[a] = t[a]);
13
+ }
14
+ return o;
15
+ }, u.apply(null, arguments);
16
+ }
17
+ const ce = /* @__PURE__ */ e.memo(({
18
+ value: o,
19
+ onChange: i,
20
+ disabled: t = !1,
21
+ maxLength: a,
22
+ tag: F = "input",
23
+ error: l = !1,
24
+ errorMessage: R,
25
+ label: p,
26
+ placeholder: j,
27
+ suggestions: c = [],
28
+ onSelect: E,
29
+ renderOption: d,
30
+ optionClassName: A,
31
+ automationId: B = "",
32
+ ariaLabel: $,
33
+ ariaLabelledBy: O,
34
+ ariaDescribedBy: V,
35
+ ..._
74
36
  }) => {
75
- const D = R(null), K = R(null), [w, E] = g(!1), [h, N] = g(-1), j = C(() => {
76
- c && I?.();
77
- }, [c, I]), p = !!u && u.length > 0 && !n && !w, [L, W] = g(0), [f, _] = g(""), [y, $] = g("typing");
78
- b(() => {
79
- if (!p) return;
80
- const t = u[L % u.length] || "";
81
- let a = 60;
82
- if (y === "typing")
83
- if (f.length < t.length)
84
- a = 55 + Math.random() * 35;
85
- else {
86
- const x = setTimeout(() => $("erasing"), 1800);
87
- return () => clearTimeout(x);
88
- }
89
- else if (y === "erasing")
90
- if (f.length > 0)
91
- a = 28;
37
+ const [s, b] = k([...c]), [v, g] = k(!1), H = S(null), N = S(null), f = Z(void 0, "autocomplete"), z = `${f}-input`, D = `${f}-listbox`, y = `${f}-label`, C = `${f}-error`, w = P((r) => {
38
+ g(!1), E?.(r);
39
+ }, [E]), {
40
+ containerProps: K,
41
+ inputProps: M,
42
+ listboxProps: q,
43
+ getOptionProps: G,
44
+ highlightedIndex: J,
45
+ setHighlightedIndex: h,
46
+ isKeyboardFocused: L
47
+ } = te({
48
+ items: s,
49
+ isOpen: v,
50
+ onOpenChange: g,
51
+ onSelect: w,
52
+ listboxId: D
53
+ }), Q = P((r) => {
54
+ const n = r.target.value;
55
+ if (h(-1), i(n), !d)
56
+ if (n === "")
57
+ b([...c]);
92
58
  else {
93
- const x = setTimeout(() => {
94
- W((O) => (O + 1) % u.length), $("typing");
95
- }, 260);
96
- return () => clearTimeout(x);
59
+ const I = c?.filter((m) => typeof m == "object" && m?.label?.toLowerCase().includes(n?.toLowerCase() ?? ""));
60
+ b([...I]);
97
61
  }
98
- const M = setTimeout(() => {
99
- y === "typing" ? _(t.slice(0, f.length + 1)) : y === "erasing" && _(t.slice(0, f.length - 1));
100
- }, a);
101
- return () => clearTimeout(M);
102
- }, [p, L, f, y, u]), b(() => {
103
- p || (_(""), $("typing"));
104
- }, [p]), b(() => {
105
- N(-1);
106
- }, [l]), b(() => {
107
- if (!w) return;
108
- const t = (a) => {
109
- D.current && !D.current.contains(a.target) && E(!1);
110
- };
111
- return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
112
- }, [w]);
113
- const Z = w && l.length > 0, T = C((t) => {
114
- m?.(t), E(!1);
115
- }, [m]), z = C((t) => {
116
- t.key === "ArrowDown" && l.length ? (t.preventDefault(), N((a) => (a + 1) % l.length)) : t.key === "ArrowUp" && l.length ? (t.preventDefault(), N((a) => a <= 0 ? l.length - 1 : a - 1)) : t.key === "Enter" ? h >= 0 && l[h] ? (t.preventDefault(), T(l[h])) : n.trim() && (t.preventDefault(), o?.(n.trim()), E(!1)) : t.key === "Escape" && E(!1);
117
- }, [l, h, n, T, o]), G = C(() => {
118
- s(""), k?.();
119
- }, [s, k]);
120
- return /* @__PURE__ */ e.createElement("div", {
121
- className: `nl-wrap${c ? " is-collapsed" : ""}`,
122
- ref: D,
62
+ }, [i, c, d, h]);
63
+ Y(() => {
64
+ b([...c]);
65
+ }, [c]);
66
+ const T = () => {
67
+ g(!0);
68
+ }, U = () => {
69
+ s.length > 0 && g(!0);
70
+ }, W = () => {
71
+ i(""), h(-1), N.current?.focus();
72
+ }, X = ee({
73
+ ariaLabelledBy: O,
74
+ internalLabelId: p ? y : void 0,
75
+ ariaLabel: $,
76
+ ariaDescribedBy: l ? C : V
77
+ });
78
+ return /* @__PURE__ */ e.createElement("div", u({
79
+ className: "main-container-autocomplete-se-design",
80
+ ref: H,
123
81
  "data-automation-id": B
82
+ }, K), p && /* @__PURE__ */ e.createElement("span", {
83
+ id: y,
84
+ className: `label-container ${t ? "label-container-disabled" : ""}`
85
+ }, p), /* @__PURE__ */ e.createElement("div", {
86
+ className: "input-container-wrapper"
124
87
  }, /* @__PURE__ */ e.createElement("div", {
125
- className: `nl-input-row${w ? " is-active" : ""}${v ? " is-loading" : ""}${c ? " is-collapsed" : ""}`
126
- }, /* @__PURE__ */ e.createElement("div", {
127
- className: "nl-mark",
128
- "aria-hidden": !c,
129
- role: c ? "button" : void 0,
130
- "aria-label": c ? "Open AI search" : void 0,
131
- tabIndex: c ? 0 : -1,
132
- onClick: j,
133
- onKeyDown: c ? (t) => {
134
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), I?.());
135
- } : void 0
136
- }, /* @__PURE__ */ e.createElement(A, {
137
- size: 14
138
- })), /* @__PURE__ */ e.createElement("input", {
139
- ref: K,
140
- type: "text",
141
- className: "nl-input",
142
- value: n,
143
- placeholder: p ? "" : S,
144
- autoComplete: "off",
145
- "aria-label": F,
146
- tabIndex: c ? -1 : 0,
147
- disabled: c,
148
- onChange: (t) => s(t.target.value),
149
- onFocus: () => E(!0),
150
- onKeyDown: z
151
- }), p && /* @__PURE__ */ e.createElement("div", {
152
- className: "nl-typewriter",
153
- "aria-hidden": "true"
154
- }, d && /* @__PURE__ */ e.createElement("span", {
155
- className: "nl-typewriter__prefix"
156
- }, d), /* @__PURE__ */ e.createElement("span", {
157
- className: "nl-typewriter__example"
158
- }, f), /* @__PURE__ */ e.createElement("span", {
159
- className: "nl-typewriter__caret"
160
- }), d && /['"`]\s*$/.test(d) && /* @__PURE__ */ e.createElement("span", {
161
- className: "nl-typewriter__prefix"
162
- }, d.trim().slice(-1))), v && /* @__PURE__ */ e.createElement("span", {
163
- className: "nl-spinner show",
164
- role: "status",
165
- "aria-label": "Resolving"
166
- }), !v && n && /* @__PURE__ */ e.createElement("button", {
167
- type: "button",
168
- className: "nl-clear show",
169
- title: "Clear search",
170
- onClick: G
171
- }, /* @__PURE__ */ e.createElement(q, {
172
- size: 14
173
- }))), Z && /* @__PURE__ */ e.createElement("div", {
174
- className: "nl-suggestions show",
175
- role: "listbox"
176
- }, l.map((t, a) => /* @__PURE__ */ e.createElement("button", {
177
- key: `${t.source}-${t.text}`,
178
- type: "button",
179
- role: "option",
180
- "aria-selected": a === h,
181
- className: `nl-sug${a === h ? " kb-active" : ""}`,
182
- onMouseEnter: () => N(a),
183
- onMouseDown: (M) => {
184
- M.preventDefault(), T(t);
88
+ className: "input-wrapper",
89
+ style: {
90
+ pointerEvents: t ? "none" : "auto"
185
91
  }
186
- }, t.source === "recent" ? /* @__PURE__ */ e.createElement(U, {
187
- size: 16
188
- }) : /* @__PURE__ */ e.createElement(A, {
189
- size: 16,
190
- className: "sparkle"
191
- }), /* @__PURE__ */ e.createElement("span", {
192
- className: "sug-text"
193
- }, J(t.text, n.trim(), t.highlight_terms)), t.source === "recent" && /* @__PURE__ */ e.createElement("span", {
194
- className: "sug-meta"
195
- }, "Recent")))), r && /* @__PURE__ */ e.createElement("div", {
196
- className: `nl-helper nl-helper--${i}`,
197
- role: i === "error" ? "alert" : "status"
198
- }, r));
92
+ }, /* @__PURE__ */ e.createElement(F, {
93
+ ref: N,
94
+ id: z,
95
+ value: o,
96
+ onChange: Q,
97
+ onClick: T,
98
+ onFocus: U,
99
+ ...M,
100
+ disabled: t,
101
+ className: `${l ? "input-container-error" : "input-container-default"} ${t ? "input-container-disabled" : ""} ${s.length > 0 || o ? "with-icon" : ""} ${s.length > 0 && o ? "with-icons" : ""}`,
102
+ maxLength: a,
103
+ placeholder: j,
104
+ "aria-invalid": l || void 0,
105
+ ...X,
106
+ ..._
107
+ }), o && /* @__PURE__ */ e.createElement(x, {
108
+ name: "close",
109
+ className: "input-icon-close",
110
+ size: 15,
111
+ onClick: W,
112
+ stroke: t ? "var(--color-gray-600)" : "",
113
+ ariaLabel: "Clear input"
114
+ }), s.length > 0 && /* @__PURE__ */ e.createElement(x, {
115
+ name: "chevron",
116
+ rotation: v ? "180" : "0",
117
+ className: "input-icon-chevron",
118
+ stroke: t ? "var(--color-gray-600)" : "",
119
+ "aria-hidden": "true"
120
+ })), v && s.length > 0 && /* @__PURE__ */ e.createElement("div", u({}, q, {
121
+ "aria-label": p || $ || "Suggestions",
122
+ className: "suggestions-list",
123
+ "data-automation-id": "autocomplete-suggestions-list"
124
+ }), s.map((r, n) => {
125
+ const I = G(n, !1), m = J === n;
126
+ return /* @__PURE__ */ e.createElement("div", u({
127
+ key: n
128
+ }, I, {
129
+ className: `${A || "suggestion-item"} ${m ? `suggestion-item-highlighted${L ? " suggestion-item-keyboard-highlight" : ""}` : ""}`,
130
+ onClick: () => w(r),
131
+ onMouseEnter: () => h(n),
132
+ "data-automation-id": `autocomplete-suggestion-item-${n}`
133
+ }), d ? d(r, {
134
+ isHighlighted: m,
135
+ index: n
136
+ }) : r.label);
137
+ }))), (l || a) && /* @__PURE__ */ e.createElement("div", {
138
+ className: `${l ? "error-and-max-word" : "max-word-container"} ${t ? "disabled" : ""}`
139
+ }, l && /* @__PURE__ */ e.createElement("div", {
140
+ id: C,
141
+ className: "error-message",
142
+ role: "alert"
143
+ }, R), a && /* @__PURE__ */ e.createElement("div", {
144
+ className: "max-word"
145
+ }, o.length, "/", a)));
199
146
  });
200
- P.displayName = "NLSearchInput";
201
147
  export {
202
- P as NLSearchInput
148
+ ce as AutoCompleteInput
203
149
  };
204
150
  //# sourceMappingURL=index47.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index47.js","sources":["../src/components/NLSearch/NLSearchInput.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type NLSuggestionSource = 'recent' | 'global';\n\nexport interface NLSuggestion {\n text: string;\n source: NLSuggestionSource;\n /**\n * Words inside `text` the backend wants <mark>-highlighted. Set when\n * the user's typed prefix matched via a synonym (typed \"documents\",\n * suggestion says \"contracts\" — backend returns `[\"contracts\"]` so the\n * canonical word still lights up). Empty/undefined falls back to\n * highlighting the literal typed query.\n */\n highlight_terms?: string[];\n}\n\nexport interface NLSearchInputProps {\n value: string;\n onChange: (value: string) => void;\n onSelect?: (suggestion: NLSuggestion) => void;\n onSubmit?: (text: string) => void;\n onClear?: () => void;\n suggestions?: NLSuggestion[];\n isLoading?: boolean;\n helperText?: string;\n helperVariant?: 'info' | 'warning' | 'error';\n placeholder?: string;\n /**\n * When provided alongside `examples`, the input renders a typewriter\n * placeholder overlay: `<placeholderPrefix><typed-example>` cycling\n * through the list every ~5s. The native `placeholder` prop is\n * suppressed while the overlay is active so the two don't collide.\n */\n placeholderPrefix?: string;\n examples?: string[];\n /**\n * When true, the bar collapses to just the sparkle disc — the input,\n * placeholder overlay, clear button, and helper line all hide via\n * width + opacity transitions. Clicking the disc fires `onExpand`\n * (the parent toggles `collapsed` back to false). Auto-focuses the\n * input after the expand animation finishes.\n */\n collapsed?: boolean;\n onExpand?: () => void;\n automationId?: string;\n ariaLabel?: string;\n}\n\nconst SparkleIcon = ({ size = 14, className }: { size?: number; className?: string }) => (\n <svg width={size} height={size} viewBox=\"0 0 18 18\" fill=\"currentColor\" className={className} aria-hidden=\"true\">\n <path d=\"M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z\" />\n <path d=\"M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z\" />\n </svg>\n);\n\nconst ClockIcon = ({ size = 14 }: { size?: number }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 6v6l4 2\" />\n </svg>\n);\n\nconst CloseIcon = ({ size = 14 }: { size?: number }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n);\n\nconst RE_SPECIAL = /[.*+?^${}()|[\\]\\\\]/g;\n\n/**\n * Wrap each case-insensitive occurrence of `terms` (any of them) inside\n * `text` in a <mark>. Long terms first so \"contracts\" wins over a\n * shorter prefix that overlaps. Falls back to splitting on the literal\n * `query` if no `terms` were provided by the backend.\n */\nconst highlightMatch = (\n text: string,\n query: string,\n terms?: string[],\n): React.ReactNode => {\n const needles = (terms && terms.length ? terms : [query])\n .map((t) => (t || '').trim())\n .filter(Boolean);\n if (!needles.length) return text;\n // Longest first so substrings don't pre-empt the longer canonical\n // match (e.g. \"contracts\" should win over \"con\").\n needles.sort((a, b) => b.length - a.length);\n const needleSet = new Set(needles.map((n) => n.toLowerCase()));\n const pattern = needles.map((n) => n.replace(RE_SPECIAL, '\\\\$&')).join('|');\n const parts = text.split(new RegExp(`(${pattern})`, 'ig'));\n return parts.map((part, idx) =>\n needleSet.has(part.toLowerCase())\n ? <mark key={idx}>{part}</mark>\n : <React.Fragment key={idx}>{part}</React.Fragment>,\n );\n};\n\nexport const NLSearchInput: React.FC<NLSearchInputProps> = React.memo(\n ({\n value,\n onChange,\n onSelect,\n onSubmit,\n onClear,\n suggestions = [],\n isLoading = false,\n helperText,\n helperVariant = 'info',\n placeholder = 'Get any of your contracts',\n placeholderPrefix,\n examples,\n collapsed = false,\n onExpand,\n automationId = 'nl-search-input',\n ariaLabel = 'Natural language search'\n }) => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const [focused, setFocused] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const handleMarkClick = useCallback(() => {\n if (collapsed) onExpand?.();\n }, [collapsed, onExpand]);\n\n // Typewriter overlay state. Only animates when:\n // • caller passed a non-empty `examples` list,\n // • the input is empty (no user-typed value),\n // • the input isn't focused.\n // On any of those conditions flipping false the overlay hides\n // instantly and the native input takes over.\n const showTypewriter =\n !!examples && examples.length > 0 && !value && !focused;\n const [twIdx, setTwIdx] = useState(0);\n const [twText, setTwText] = useState('');\n const [twPhase, setTwPhase] = useState<'typing' | 'holding' | 'erasing'>('typing');\n\n useEffect(() => {\n if (!showTypewriter) return undefined;\n const target = examples![twIdx % examples!.length] || '';\n let delay = 60;\n if (twPhase === 'typing') {\n if (twText.length < target.length) {\n delay = 55 + Math.random() * 35; // slight jitter for organic feel\n } else {\n // Finished typing — hold the full sentence before erasing.\n const t = setTimeout(() => setTwPhase('erasing'), 1800);\n return () => clearTimeout(t);\n }\n } else if (twPhase === 'erasing') {\n if (twText.length > 0) {\n delay = 28;\n } else {\n // Erased — short pause then cycle to next example.\n const t = setTimeout(() => {\n setTwIdx((i) => (i + 1) % examples!.length);\n setTwPhase('typing');\n }, 260);\n return () => clearTimeout(t);\n }\n }\n const tick = setTimeout(() => {\n if (twPhase === 'typing') setTwText(target.slice(0, twText.length + 1));\n else if (twPhase === 'erasing') setTwText(target.slice(0, twText.length - 1));\n }, delay);\n return () => clearTimeout(tick);\n }, [showTypewriter, twIdx, twText, twPhase, examples]);\n\n // Reset typewriter when overlay re-engages so it starts cleanly.\n useEffect(() => {\n if (!showTypewriter) {\n setTwText('');\n setTwPhase('typing');\n }\n }, [showTypewriter]);\n\n useEffect(() => {\n setActiveIndex(-1);\n }, [suggestions]);\n\n useEffect(() => {\n if (!focused) return undefined;\n const onDocClick = (e: MouseEvent) => {\n if (wrapRef.current && !wrapRef.current.contains(e.target as Node)) {\n setFocused(false);\n }\n };\n document.addEventListener('mousedown', onDocClick);\n return () => document.removeEventListener('mousedown', onDocClick);\n }, [focused]);\n\n const showPopover = focused && suggestions.length > 0;\n\n const pick = useCallback(\n (s: NLSuggestion) => {\n onSelect?.(s);\n setFocused(false);\n },\n [onSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown' && suggestions.length) {\n e.preventDefault();\n setActiveIndex((i) => (i + 1) % suggestions.length);\n } else if (e.key === 'ArrowUp' && suggestions.length) {\n e.preventDefault();\n setActiveIndex((i) => (i <= 0 ? suggestions.length - 1 : i - 1));\n } else if (e.key === 'Enter') {\n if (activeIndex >= 0 && suggestions[activeIndex]) {\n e.preventDefault();\n pick(suggestions[activeIndex]);\n } else if (value.trim()) {\n e.preventDefault();\n onSubmit?.(value.trim());\n setFocused(false);\n }\n } else if (e.key === 'Escape') {\n setFocused(false);\n }\n },\n [suggestions, activeIndex, value, pick, onSubmit]\n );\n\n const handleClear = useCallback(() => {\n onChange('');\n onClear?.();\n }, [onChange, onClear]);\n\n return (\n <div\n className={`nl-wrap${collapsed ? ' is-collapsed' : ''}`}\n ref={wrapRef}\n data-automation-id={automationId}\n >\n <div className={`nl-input-row${focused ? ' is-active' : ''}${isLoading ? ' is-loading' : ''}${collapsed ? ' is-collapsed' : ''}`}>\n <div\n className=\"nl-mark\"\n aria-hidden={!collapsed}\n role={collapsed ? 'button' : undefined}\n aria-label={collapsed ? 'Open AI search' : undefined}\n tabIndex={collapsed ? 0 : -1}\n onClick={handleMarkClick}\n onKeyDown={collapsed ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onExpand?.();\n }\n } : undefined}\n >\n <SparkleIcon size={14} />\n </div>\n <input\n ref={inputRef}\n type=\"text\"\n className=\"nl-input\"\n value={value}\n placeholder={showTypewriter ? '' : placeholder}\n autoComplete=\"off\"\n aria-label={ariaLabel}\n // Skip the bar in tab order while collapsed; restored on\n // expand. Prevents users from \"clicking\" the hidden input\n // via keyboard.\n tabIndex={collapsed ? -1 : 0}\n disabled={collapsed}\n onChange={(e) => onChange(e.target.value)}\n onFocus={() => setFocused(true)}\n onKeyDown={handleKeyDown}\n />\n {showTypewriter && (\n <div className=\"nl-typewriter\" aria-hidden=\"true\">\n {placeholderPrefix && (\n <span className=\"nl-typewriter__prefix\">{placeholderPrefix}</span>\n )}\n <span className=\"nl-typewriter__example\">{twText}</span>\n <span className=\"nl-typewriter__caret\" />\n {/* Closing quote — paired with the opening quote the\n caller passes in via placeholderPrefix. Hidden when\n the prefix doesn't end with an opening quote so the\n component degrades cleanly for callers that pass a\n prefix without quotes. */}\n {placeholderPrefix && /['\"`]\\s*$/.test(placeholderPrefix) && (\n <span className=\"nl-typewriter__prefix\">\n {placeholderPrefix.trim().slice(-1)}\n </span>\n )}\n </div>\n )}\n {isLoading && <span className=\"nl-spinner show\" role=\"status\" aria-label=\"Resolving\" />}\n {!isLoading && value && (\n <button type=\"button\" className=\"nl-clear show\" title=\"Clear search\" onClick={handleClear}>\n <CloseIcon size={14} />\n </button>\n )}\n </div>\n\n {showPopover && (\n <div className=\"nl-suggestions show\" role=\"listbox\">\n {suggestions.map((s, i) => (\n <button\n key={`${s.source}-${s.text}`}\n type=\"button\"\n role=\"option\"\n aria-selected={i === activeIndex}\n className={`nl-sug${i === activeIndex ? ' kb-active' : ''}`}\n onMouseEnter={() => setActiveIndex(i)}\n onMouseDown={(e) => {\n e.preventDefault();\n pick(s);\n }}\n >\n {s.source === 'recent' ? (\n <ClockIcon size={16} />\n ) : (\n <SparkleIcon size={16} className=\"sparkle\" />\n )}\n <span className=\"sug-text\">{highlightMatch(s.text, value.trim(), s.highlight_terms)}</span>\n {s.source === 'recent' && <span className=\"sug-meta\">Recent</span>}\n </button>\n ))}\n </div>\n )}\n\n {helperText && (\n <div\n className={`nl-helper nl-helper--${helperVariant}`}\n role={helperVariant === 'error' ? 'alert' : 'status'}\n >\n {helperText}\n </div>\n )}\n </div>\n );\n }\n);\n\nNLSearchInput.displayName = 'NLSearchInput';\n"],"names":["SparkleIcon","size","className","React","createElement","width","height","viewBox","fill","d","ClockIcon","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","CloseIcon","RE_SPECIAL","highlightMatch","text","query","terms","needles","length","map","t","trim","filter","Boolean","sort","a","b","needleSet","Set","n","toLowerCase","pattern","replace","join","split","RegExp","part","idx","has","key","Fragment","NLSearchInput","memo","value","onChange","onSelect","onSubmit","onClear","suggestions","isLoading","helperText","helperVariant","placeholder","placeholderPrefix","examples","collapsed","onExpand","automationId","ariaLabel","wrapRef","useRef","inputRef","focused","setFocused","useState","activeIndex","setActiveIndex","handleMarkClick","useCallback","showTypewriter","twIdx","setTwIdx","twText","setTwText","twPhase","setTwPhase","useEffect","target","delay","Math","random","setTimeout","clearTimeout","i","tick","slice","onDocClick","e","current","contains","document","addEventListener","removeEventListener","showPopover","pick","s","handleKeyDown","preventDefault","handleClear","ref","role","undefined","tabIndex","onClick","onKeyDown","type","autoComplete","disabled","onFocus","test","title","source","onMouseEnter","onMouseDown","highlight_terms","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index47.js","sources":["../src/components/AutoCompleteInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useCallback, useState } from 'react';\nimport './style.scss';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { getA11yNameAttributes, useCombobox } from '../../utils/a11y';\n\nexport interface AutoCompleteInputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number;\n /** Called when the user types in the input. Not called on suggestion selection. */\n onChange: (value: string) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n /**\n * Suggestion items. Default rendering expects { label, value } shape.\n * When renderOption is provided, any shape is accepted.\n */\n suggestions?: any[];\n /**\n * Called when a suggestion is selected (click or Enter key).\n * Receives the full item object from the suggestions array.\n */\n onSelect?: (item: any) => void;\n /**\n * Render custom content for each suggestion option. The component handles the option wrapper\n * (ARIA props, highlight, click, keyboard navigation). You only provide the inner content.\n */\n renderOption?: (suggestion: any, context: { isHighlighted: boolean; index: number }) => React.ReactNode;\n /**\n * Custom CSS class for option elements. Replaces the default 'suggestion-item' class.\n * Useful with renderOption to apply custom styling to option wrappers.\n */\n optionClassName?: string;\n automationId?: string;\n /**\n * Accessible label for the input. Used when no visible label is provided.\n */\n ariaLabel?: string;\n /**\n * ID(s) of element(s) that label this input. Takes precedence over ariaLabel.\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) providing additional description.\n */\n ariaDescribedBy?: string;\n}\n\nexport const AutoCompleteInput: React.FC<AutoCompleteInputProps> = React.memo(\n ({\n value,\n onChange,\n disabled = false,\n maxLength,\n tag = 'input',\n error = false,\n errorMessage,\n label,\n placeholder,\n suggestions = [],\n onSelect,\n renderOption,\n optionClassName,\n automationId = '',\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ...props\n }) => {\n const [filteredSuggestions, setFilteredSuggestions] = useState<any[]>([...suggestions]);\n const [isSuggestionBoxVisible, setSuggestionBoxVisible] = useState<boolean>(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Generate stable unique IDs per instance so label, input, listbox, and error never share IDs (HTML/ARIA require unique ids).\n const instanceId = useStableId(undefined, 'autocomplete');\n const inputId = `${instanceId}-input`;\n const listboxId = `${instanceId}-listbox`;\n const labelId = `${instanceId}-label`;\n const errorId = `${instanceId}-error`;\n\n const handleSelectSuggestion = useCallback(\n (item: any) => {\n setSuggestionBoxVisible(false);\n onSelect?.(item);\n },\n [onSelect]\n );\n\n // Use the comprehensive useCombobox hook\n const {\n containerProps,\n inputProps: comboboxInputProps,\n listboxProps,\n getOptionProps,\n highlightedIndex,\n setHighlightedIndex,\n isKeyboardFocused\n } = useCombobox<any>({\n items: filteredSuggestions,\n isOpen: isSuggestionBoxVisible,\n onOpenChange: setSuggestionBoxVisible,\n onSelect: handleSelectSuggestion,\n listboxId\n });\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n setHighlightedIndex(-1); // Reset highlight on input change\n onChange(inputValue);\n\n // Internal filtering for default rendering (when no renderOption, component manages filtering)\n if (!renderOption) {\n if (inputValue === '') {\n setFilteredSuggestions([...suggestions]);\n } else {\n const filtered = suggestions?.filter(\n (suggestion) =>\n typeof suggestion === 'object' &&\n suggestion?.label?.toLowerCase().includes(inputValue?.toLowerCase() ?? '')\n );\n setFilteredSuggestions([...filtered]);\n }\n }\n },\n [onChange, suggestions, renderOption, setHighlightedIndex]\n );\n\n useEffect(() => {\n setFilteredSuggestions([...suggestions]);\n }, [suggestions]);\n\n const handleInputClick = () => {\n setSuggestionBoxVisible(true);\n };\n\n const handleInputFocus = () => {\n if (filteredSuggestions.length > 0) {\n setSuggestionBoxVisible(true);\n }\n };\n\n const handleClearInput = () => {\n onChange('');\n setHighlightedIndex(-1);\n inputRef.current?.focus();\n };\n\n // Build ARIA name attributes: when ariaLabel is provided use it (e.g. \"Signer 1 name\"); otherwise use visible label or ariaLabelledBy\n const a11yNameProps = getA11yNameAttributes({\n ariaLabelledBy,\n internalLabelId: label ? labelId : undefined,\n ariaLabel,\n ariaDescribedBy: error ? errorId : ariaDescribedBy\n });\n\n return (\n <div \n className=\"main-container-autocomplete-se-design\" \n ref={containerRef} \n data-automation-id={automationId}\n {...containerProps}\n >\n {label && (\n <span\n id={labelId}\n className={`label-container ${disabled ? 'label-container-disabled' : ''}`}\n >\n {label}\n </span>\n )}\n <div className=\"input-container-wrapper\">\n <div className=\"input-wrapper\" style={{ pointerEvents: disabled ? 'none' : 'auto' }}>\n {React.createElement(tag, {\n ref: inputRef,\n id: inputId,\n value: value,\n onChange: handleInputChange,\n onClick: handleInputClick,\n onFocus: handleInputFocus,\n ...comboboxInputProps,\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''} ${filteredSuggestions.length > 0 || value ? 'with-icon' : ''} ${filteredSuggestions.length > 0 && value ? 'with-icons' : ''}`,\n maxLength,\n placeholder,\n 'aria-invalid': error || undefined,\n ...a11yNameProps,\n ...props\n })}\n {value && (\n <Icon\n name=\"close\"\n className=\"input-icon-close\"\n size={15}\n onClick={handleClearInput}\n stroke={disabled ? 'var(--color-gray-600)' : ''}\n ariaLabel=\"Clear input\"\n />\n )}\n {filteredSuggestions.length > 0 && (\n <Icon\n name=\"chevron\"\n rotation={isSuggestionBoxVisible ? '180' : '0'}\n className=\"input-icon-chevron\"\n stroke={disabled ? 'var(--color-gray-600)' : ''}\n aria-hidden=\"true\"\n />\n )}\n </div>\n {isSuggestionBoxVisible && filteredSuggestions.length > 0 && (\n <div\n {...listboxProps}\n aria-label={label || ariaLabel || 'Suggestions'}\n className=\"suggestions-list\"\n data-automation-id=\"autocomplete-suggestions-list\"\n >\n {filteredSuggestions.map((suggestion, index) => {\n const optionProps = getOptionProps(index, false);\n const isHighlighted = highlightedIndex === index;\n return (\n <div\n key={index}\n {...optionProps}\n className={`${optionClassName || 'suggestion-item'} ${isHighlighted ? `suggestion-item-highlighted${isKeyboardFocused ? ' suggestion-item-keyboard-highlight' : ''}` : ''}`}\n onClick={() => handleSelectSuggestion(suggestion)}\n onMouseEnter={() => setHighlightedIndex(index)}\n data-automation-id={`autocomplete-suggestion-item-${index}`}\n >\n {renderOption\n ? renderOption(suggestion, { isHighlighted, index })\n : suggestion.label}\n </div>\n );\n })}\n </div>\n )}\n </div>\n {(error || maxLength) && (\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'} ${disabled ? 'disabled' : ''}`}>\n {error && (\n <div id={errorId} className=\"error-message\" role=\"alert\">\n {errorMessage}\n </div>\n )}\n {maxLength && (\n <div className=\"max-word\">\n {value.length}/{maxLength}\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["AutoCompleteInput","React","memo","value","onChange","disabled","maxLength","tag","error","errorMessage","label","placeholder","suggestions","onSelect","renderOption","optionClassName","automationId","ariaLabel","ariaLabelledBy","ariaDescribedBy","props","filteredSuggestions","setFilteredSuggestions","useState","isSuggestionBoxVisible","setSuggestionBoxVisible","containerRef","useRef","inputRef","instanceId","useStableId","undefined","inputId","listboxId","labelId","errorId","handleSelectSuggestion","useCallback","item","containerProps","inputProps","comboboxInputProps","listboxProps","getOptionProps","highlightedIndex","setHighlightedIndex","isKeyboardFocused","useCombobox","items","isOpen","onOpenChange","handleInputChange","e","inputValue","target","filtered","filter","suggestion","toLowerCase","includes","useEffect","handleInputClick","handleInputFocus","length","handleClearInput","current","focus","a11yNameProps","getA11yNameAttributes","internalLabelId","createElement","_extends","className","ref","id","style","pointerEvents","onClick","onFocus","Icon","name","size","stroke","rotation","map","index","optionProps","isHighlighted","key","onMouseEnter","role"],"mappings":"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"}