se-design 1.0.82 → 1.0.83-dev.2

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 (397) hide show
  1. package/dist/assets/icons/chat.svg +4 -0
  2. package/dist/assets/icons/tag.svg +2 -2
  3. package/dist/assets/style.css +1 -1
  4. package/dist/components/AccessibleDiv/index.d.ts +23 -1
  5. package/dist/components/Dropdown/index.d.ts +2 -0
  6. package/dist/components/DropdownWithInputTags/index.d.ts +3 -0
  7. package/dist/components/Link/index.d.ts +6 -2
  8. package/dist/index.js +62 -54
  9. package/dist/index.js.map +1 -1
  10. package/dist/index100.js +1 -1
  11. package/dist/index100.js.map +1 -1
  12. package/dist/index101.js +1 -1
  13. package/dist/index101.js.map +1 -1
  14. package/dist/index102.js +1 -1
  15. package/dist/index102.js.map +1 -1
  16. package/dist/index103.js +1 -1
  17. package/dist/index103.js.map +1 -1
  18. package/dist/index104.js +1 -1
  19. package/dist/index104.js.map +1 -1
  20. package/dist/index105.js +1 -1
  21. package/dist/index105.js.map +1 -1
  22. package/dist/index106.js +1 -1
  23. package/dist/index106.js.map +1 -1
  24. package/dist/index107.js +1 -1
  25. package/dist/index107.js.map +1 -1
  26. package/dist/index108.js +1 -1
  27. package/dist/index108.js.map +1 -1
  28. package/dist/index109.js +2 -2
  29. package/dist/index109.js.map +1 -1
  30. package/dist/index110.js +2 -2
  31. package/dist/index110.js.map +1 -1
  32. package/dist/index111.js +1 -1
  33. package/dist/index111.js.map +1 -1
  34. package/dist/index112.js +1 -1
  35. package/dist/index112.js.map +1 -1
  36. package/dist/index113.js +2 -2
  37. package/dist/index113.js.map +1 -1
  38. package/dist/index114.js +1 -1
  39. package/dist/index114.js.map +1 -1
  40. package/dist/index115.js +2 -2
  41. package/dist/index115.js.map +1 -1
  42. package/dist/index116.js +1 -1
  43. package/dist/index116.js.map +1 -1
  44. package/dist/index117.js +1 -1
  45. package/dist/index117.js.map +1 -1
  46. package/dist/index118.js +2 -2
  47. package/dist/index118.js.map +1 -1
  48. package/dist/index119.js +2 -2
  49. package/dist/index119.js.map +1 -1
  50. package/dist/index12.js +2 -2
  51. package/dist/index120.js +1 -1
  52. package/dist/index120.js.map +1 -1
  53. package/dist/index121.js +2 -2
  54. package/dist/index121.js.map +1 -1
  55. package/dist/index122.js +2 -2
  56. package/dist/index122.js.map +1 -1
  57. package/dist/index123.js +2 -2
  58. package/dist/index123.js.map +1 -1
  59. package/dist/index124.js +1 -1
  60. package/dist/index124.js.map +1 -1
  61. package/dist/index125.js +2 -2
  62. package/dist/index125.js.map +1 -1
  63. package/dist/index126.js +2 -2
  64. package/dist/index126.js.map +1 -1
  65. package/dist/index127.js +2 -2
  66. package/dist/index127.js.map +1 -1
  67. package/dist/index128.js +1 -1
  68. package/dist/index128.js.map +1 -1
  69. package/dist/index129.js +1 -1
  70. package/dist/index129.js.map +1 -1
  71. package/dist/index13.js +1 -1
  72. package/dist/index130.js +2 -2
  73. package/dist/index130.js.map +1 -1
  74. package/dist/index131.js +2 -2
  75. package/dist/index131.js.map +1 -1
  76. package/dist/index132.js +2 -2
  77. package/dist/index132.js.map +1 -1
  78. package/dist/index133.js +1 -1
  79. package/dist/index133.js.map +1 -1
  80. package/dist/index134.js +1 -1
  81. package/dist/index134.js.map +1 -1
  82. package/dist/index135.js +2 -2
  83. package/dist/index135.js.map +1 -1
  84. package/dist/index136.js +2 -2
  85. package/dist/index136.js.map +1 -1
  86. package/dist/index137.js +1 -1
  87. package/dist/index137.js.map +1 -1
  88. package/dist/index138.js +1 -1
  89. package/dist/index138.js.map +1 -1
  90. package/dist/index139.js +1 -1
  91. package/dist/index139.js.map +1 -1
  92. package/dist/index140.js +1 -1
  93. package/dist/index140.js.map +1 -1
  94. package/dist/index141.js +1 -1
  95. package/dist/index141.js.map +1 -1
  96. package/dist/index142.js +2 -2
  97. package/dist/index142.js.map +1 -1
  98. package/dist/index143.js +1 -1
  99. package/dist/index143.js.map +1 -1
  100. package/dist/index144.js +1 -1
  101. package/dist/index144.js.map +1 -1
  102. package/dist/index145.js +1 -1
  103. package/dist/index145.js.map +1 -1
  104. package/dist/index146.js +2 -2
  105. package/dist/index146.js.map +1 -1
  106. package/dist/index147.js +1 -1
  107. package/dist/index147.js.map +1 -1
  108. package/dist/index148.js +1 -1
  109. package/dist/index148.js.map +1 -1
  110. package/dist/index149.js +1 -1
  111. package/dist/index149.js.map +1 -1
  112. package/dist/index150.js +1 -1
  113. package/dist/index150.js.map +1 -1
  114. package/dist/index151.js +2 -2
  115. package/dist/index151.js.map +1 -1
  116. package/dist/index152.js +2 -2
  117. package/dist/index152.js.map +1 -1
  118. package/dist/index153.js +1 -1
  119. package/dist/index153.js.map +1 -1
  120. package/dist/index154.js +2 -2
  121. package/dist/index154.js.map +1 -1
  122. package/dist/index155.js +1 -1
  123. package/dist/index155.js.map +1 -1
  124. package/dist/index156.js +2 -2
  125. package/dist/index156.js.map +1 -1
  126. package/dist/index157.js +1 -1
  127. package/dist/index157.js.map +1 -1
  128. package/dist/index158.js +2 -2
  129. package/dist/index158.js.map +1 -1
  130. package/dist/index159.js +2 -2
  131. package/dist/index159.js.map +1 -1
  132. package/dist/index16.js +25 -23
  133. package/dist/index16.js.map +1 -1
  134. package/dist/index160.js +1 -1
  135. package/dist/index160.js.map +1 -1
  136. package/dist/index161.js +1 -1
  137. package/dist/index161.js.map +1 -1
  138. package/dist/index162.js +1 -1
  139. package/dist/index162.js.map +1 -1
  140. package/dist/index163.js +1 -1
  141. package/dist/index163.js.map +1 -1
  142. package/dist/index164.js +1 -1
  143. package/dist/index164.js.map +1 -1
  144. package/dist/index165.js +1 -1
  145. package/dist/index165.js.map +1 -1
  146. package/dist/index166.js +1 -1
  147. package/dist/index166.js.map +1 -1
  148. package/dist/index167.js +1 -1
  149. package/dist/index167.js.map +1 -1
  150. package/dist/index168.js +1 -1
  151. package/dist/index168.js.map +1 -1
  152. package/dist/index169.js +1 -1
  153. package/dist/index169.js.map +1 -1
  154. package/dist/index17.js +29 -29
  155. package/dist/index17.js.map +1 -1
  156. package/dist/index170.js +1 -1
  157. package/dist/index170.js.map +1 -1
  158. package/dist/index171.js +1 -1
  159. package/dist/index171.js.map +1 -1
  160. package/dist/index172.js +1 -1
  161. package/dist/index172.js.map +1 -1
  162. package/dist/index173.js +1 -1
  163. package/dist/index173.js.map +1 -1
  164. package/dist/index174.js +1 -1
  165. package/dist/index174.js.map +1 -1
  166. package/dist/index175.js +1 -1
  167. package/dist/index175.js.map +1 -1
  168. package/dist/index176.js +1 -1
  169. package/dist/index176.js.map +1 -1
  170. package/dist/index177.js +1 -1
  171. package/dist/index177.js.map +1 -1
  172. package/dist/index178.js +1 -1
  173. package/dist/index178.js.map +1 -1
  174. package/dist/index179.js +1 -1
  175. package/dist/index179.js.map +1 -1
  176. package/dist/index18.js +85 -63
  177. package/dist/index18.js.map +1 -1
  178. package/dist/index180.js +1 -1
  179. package/dist/index180.js.map +1 -1
  180. package/dist/index181.js +2 -2
  181. package/dist/index181.js.map +1 -1
  182. package/dist/index182.js +1 -1
  183. package/dist/index182.js.map +1 -1
  184. package/dist/index183.js +1 -1
  185. package/dist/index183.js.map +1 -1
  186. package/dist/index184.js +1 -1
  187. package/dist/index184.js.map +1 -1
  188. package/dist/index185.js +2 -2
  189. package/dist/index185.js.map +1 -1
  190. package/dist/index186.js +1 -1
  191. package/dist/index186.js.map +1 -1
  192. package/dist/index187.js +1 -1
  193. package/dist/index187.js.map +1 -1
  194. package/dist/index188.js +1 -1
  195. package/dist/index188.js.map +1 -1
  196. package/dist/index189.js +2 -2
  197. package/dist/index189.js.map +1 -1
  198. package/dist/index19.js +181 -166
  199. package/dist/index19.js.map +1 -1
  200. package/dist/index190.js +1 -1
  201. package/dist/index190.js.map +1 -1
  202. package/dist/index191.js +1 -1
  203. package/dist/index191.js.map +1 -1
  204. package/dist/index192.js +1 -1
  205. package/dist/index192.js.map +1 -1
  206. package/dist/index193.js +1 -1
  207. package/dist/index193.js.map +1 -1
  208. package/dist/index194.js +1 -1
  209. package/dist/index194.js.map +1 -1
  210. package/dist/index195.js +1 -1
  211. package/dist/index195.js.map +1 -1
  212. package/dist/index196.js +2 -2
  213. package/dist/index196.js.map +1 -1
  214. package/dist/index197.js +1 -1
  215. package/dist/index197.js.map +1 -1
  216. package/dist/index198.js +2 -2
  217. package/dist/index198.js.map +1 -1
  218. package/dist/index199.js +2 -149
  219. package/dist/index199.js.map +1 -1
  220. package/dist/index200.js +2 -9
  221. package/dist/index200.js.map +1 -1
  222. package/dist/index201.js +2 -6
  223. package/dist/index201.js.map +1 -1
  224. package/dist/index202.js +2 -5
  225. package/dist/index202.js.map +1 -1
  226. package/dist/index203.js +149 -42
  227. package/dist/index203.js.map +1 -1
  228. package/dist/index204.js +8 -20
  229. package/dist/index204.js.map +1 -1
  230. package/dist/index205.js +9 -0
  231. package/dist/index205.js.map +1 -0
  232. package/dist/index206.js +8 -0
  233. package/dist/index206.js.map +1 -0
  234. package/dist/index207.js +45 -0
  235. package/dist/index207.js.map +1 -0
  236. package/dist/index208.js +24 -0
  237. package/dist/index208.js.map +1 -0
  238. package/dist/{index211.js → index215.js} +1 -1
  239. package/dist/{index211.js.map → index215.js.map} +1 -1
  240. package/dist/{index212.js → index216.js} +13 -9
  241. package/dist/index216.js.map +1 -0
  242. package/dist/{index220.js → index224.js} +1 -1
  243. package/dist/{index220.js.map → index224.js.map} +1 -1
  244. package/dist/index23.js +3 -3
  245. package/dist/{index228.js → index232.js} +1 -1
  246. package/dist/{index228.js.map → index232.js.map} +1 -1
  247. package/dist/{index231.js → index235.js} +1 -1
  248. package/dist/{index231.js.map → index235.js.map} +1 -1
  249. package/dist/index244.js +168 -8
  250. package/dist/index244.js.map +1 -1
  251. package/dist/index245.js +3 -9
  252. package/dist/index245.js.map +1 -1
  253. package/dist/index247.js +18 -169
  254. package/dist/index247.js.map +1 -1
  255. package/dist/index248.js +10 -11
  256. package/dist/index248.js.map +1 -1
  257. package/dist/index249.js +8 -4
  258. package/dist/index249.js.map +1 -1
  259. package/dist/index25.js +175 -161
  260. package/dist/index25.js.map +1 -1
  261. package/dist/index250.js +4 -5
  262. package/dist/index250.js.map +1 -1
  263. package/dist/index251.js +168 -36
  264. package/dist/index251.js.map +1 -1
  265. package/dist/index252.js +11 -2
  266. package/dist/index252.js.map +1 -1
  267. package/dist/index253.js +5 -7
  268. package/dist/index253.js.map +1 -1
  269. package/dist/index254.js +5 -326
  270. package/dist/index254.js.map +1 -1
  271. package/dist/index255.js +36 -48
  272. package/dist/index255.js.map +1 -1
  273. package/dist/index256.js +2 -2
  274. package/dist/index257.js +7 -75
  275. package/dist/index257.js.map +1 -1
  276. package/dist/index258.js +308 -74
  277. package/dist/index258.js.map +1 -1
  278. package/dist/index259.js +45 -47
  279. package/dist/index259.js.map +1 -1
  280. package/dist/index260.js +2 -8
  281. package/dist/index260.js.map +1 -1
  282. package/dist/index261.js +75 -4
  283. package/dist/index261.js.map +1 -1
  284. package/dist/index262.js +89 -48
  285. package/dist/index262.js.map +1 -1
  286. package/dist/index263.js +52 -2
  287. package/dist/index263.js.map +1 -1
  288. package/dist/index264.js +8 -2
  289. package/dist/index264.js.map +1 -1
  290. package/dist/index265.js +8 -0
  291. package/dist/index265.js.map +1 -0
  292. package/dist/index266.js +55 -0
  293. package/dist/index266.js.map +1 -0
  294. package/dist/index267.js +5 -0
  295. package/dist/index267.js.map +1 -0
  296. package/dist/index268.js +5 -0
  297. package/dist/index268.js.map +1 -0
  298. package/dist/index28.js +5 -5
  299. package/dist/index28.js.map +1 -1
  300. package/dist/index29.js +1 -1
  301. package/dist/index3.js +59 -49
  302. package/dist/index3.js.map +1 -1
  303. package/dist/index30.js +1 -1
  304. package/dist/index33.js +1 -1
  305. package/dist/index35.js +1 -1
  306. package/dist/index36.js +2 -2
  307. package/dist/index38.js +209 -194
  308. package/dist/index38.js.map +1 -1
  309. package/dist/index39.js +3 -3
  310. package/dist/index4.js +1 -1
  311. package/dist/index40.js +1 -1
  312. package/dist/index43.js +16 -16
  313. package/dist/index43.js.map +1 -1
  314. package/dist/index45.js +60 -59
  315. package/dist/index45.js.map +1 -1
  316. package/dist/index46.js +3 -3
  317. package/dist/index49.js +1 -1
  318. package/dist/index51.js +1 -1
  319. package/dist/index52.js +2 -2
  320. package/dist/index53.js +1 -1
  321. package/dist/index55.js +2 -2
  322. package/dist/index55.js.map +1 -1
  323. package/dist/index57.js +1 -1
  324. package/dist/index6.js +238 -236
  325. package/dist/index6.js.map +1 -1
  326. package/dist/index61.js +9 -8
  327. package/dist/index61.js.map +1 -1
  328. package/dist/index63.js +1 -1
  329. package/dist/index64.js +35 -34
  330. package/dist/index64.js.map +1 -1
  331. package/dist/index65.js +1 -1
  332. package/dist/index67.js +1 -1
  333. package/dist/index68.js +80 -58
  334. package/dist/index68.js.map +1 -1
  335. package/dist/index7.js +1 -1
  336. package/dist/index70.js +1 -1
  337. package/dist/index75.js +108 -5
  338. package/dist/index75.js.map +1 -1
  339. package/dist/index76.js +18 -54
  340. package/dist/index76.js.map +1 -1
  341. package/dist/index77.js +10 -23
  342. package/dist/index77.js.map +1 -1
  343. package/dist/index78.js +5 -9
  344. package/dist/index78.js.map +1 -1
  345. package/dist/index79.js +62 -0
  346. package/dist/index79.js.map +1 -0
  347. package/dist/index80.js +24 -2
  348. package/dist/index80.js.map +1 -1
  349. package/dist/index81.js +9 -2
  350. package/dist/index81.js.map +1 -1
  351. package/dist/index83.js +1 -1
  352. package/dist/index83.js.map +1 -1
  353. package/dist/index84.js +2 -2
  354. package/dist/index84.js.map +1 -1
  355. package/dist/index85.js +1 -1
  356. package/dist/index85.js.map +1 -1
  357. package/dist/index86.js +2 -2
  358. package/dist/index86.js.map +1 -1
  359. package/dist/index87.js +1 -1
  360. package/dist/index87.js.map +1 -1
  361. package/dist/index88.js +1 -1
  362. package/dist/index88.js.map +1 -1
  363. package/dist/index89.js +1 -1
  364. package/dist/index89.js.map +1 -1
  365. package/dist/index9.js +3 -3
  366. package/dist/index90.js +1 -1
  367. package/dist/index90.js.map +1 -1
  368. package/dist/index91.js +1 -1
  369. package/dist/index91.js.map +1 -1
  370. package/dist/index92.js +1 -1
  371. package/dist/index92.js.map +1 -1
  372. package/dist/index93.js +1 -1
  373. package/dist/index93.js.map +1 -1
  374. package/dist/index94.js +1 -1
  375. package/dist/index94.js.map +1 -1
  376. package/dist/index95.js +1 -1
  377. package/dist/index95.js.map +1 -1
  378. package/dist/index96.js +1 -1
  379. package/dist/index96.js.map +1 -1
  380. package/dist/index97.js +1 -1
  381. package/dist/index97.js.map +1 -1
  382. package/dist/index98.js +1 -1
  383. package/dist/index98.js.map +1 -1
  384. package/dist/index99.js +1 -1
  385. package/dist/index99.js.map +1 -1
  386. package/package.json +1 -1
  387. package/dist/index212.js.map +0 -1
  388. package/dist/index240.js +0 -173
  389. package/dist/index240.js.map +0 -1
  390. package/dist/index241.js +0 -7
  391. package/dist/index241.js.map +0 -1
  392. package/dist/index243.js +0 -22
  393. package/dist/index243.js.map +0 -1
  394. package/dist/index246.js +0 -8
  395. package/dist/index246.js.map +0 -1
  396. package/dist/index82.js +0 -5
  397. package/dist/index82.js.map +0 -1
package/dist/index76.js CHANGED
@@ -1,57 +1,21 @@
1
- import { useState as m, useEffect as w, useCallback as b } from "react";
2
- import { useScrollActiveIntoView as x } from "./index243.js";
3
- function s({
4
- items: c,
5
- isOpen: t,
6
- onSelect: l,
7
- onClose: i,
8
- onOpen: n,
9
- loop: o = !0,
10
- disabled: h = !1,
11
- listboxRef: k,
12
- optionSelector: g = '[role="option"]'
13
- }) {
14
- const [f, r] = m(-1);
15
- w(() => {
16
- t || r(-1);
17
- }, [t]), x({
18
- containerRef: k,
19
- activeIndex: f,
20
- itemSelector: g,
21
- enabled: t
22
- });
23
- const D = b((a) => {
24
- if (h) {
25
- a.key === "Escape" && t && (a.preventDefault(), i());
26
- return;
27
- }
28
- const e = c.length;
29
- switch (a.key) {
30
- case "ArrowDown":
31
- a.preventDefault(), !t && e > 0 ? (n?.(), r(0)) : t && e > 0 && r((u) => o ? (u + 1) % e : Math.min(u + 1, e - 1));
32
- break;
33
- case "ArrowUp":
34
- a.preventDefault(), t && e > 0 && r((u) => u === -1 ? e - 1 : o ? (u - 1 + e) % e : Math.max(u - 1, 0));
35
- break;
36
- case "Enter":
37
- a.preventDefault(), t ? f >= 0 && c[f] && (l(c[f], f), r(-1)) : (n?.(), r(0));
38
- break;
39
- case "Escape":
40
- t && (a.preventDefault(), i(), r(-1));
41
- break;
42
- case "Tab":
43
- t && (i(), r(-1));
44
- break;
45
- }
46
- }, [h, c, t, f, l, i, n, o]), d = b((a, e) => `${a}-option-${e}`, []);
47
- return {
48
- highlightedIndex: f,
49
- setHighlightedIndex: r,
50
- handleKeyDown: D,
51
- getOptionId: d
52
- };
53
- }
1
+ import o, { useEffect as t, useMemo as c, createContext as u } from "react";
2
+ import { announce as e, destroyAnnouncer as a, clearAnnouncer as l } from "./index75.js";
3
+ const i = /* @__PURE__ */ u(null), f = ({
4
+ children: n
5
+ }) => {
6
+ t(() => (e(""), () => {
7
+ a();
8
+ }), []);
9
+ const r = c(() => ({
10
+ announce: e,
11
+ clear: l
12
+ }), []);
13
+ return /* @__PURE__ */ o.createElement(i.Provider, {
14
+ value: r
15
+ }, n);
16
+ };
54
17
  export {
55
- s as useComboboxNavigation
18
+ i as LiveAnnouncerContext,
19
+ f as LiveAnnouncerProvider
56
20
  };
57
21
  //# sourceMappingURL=index76.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index76.js","sources":["../src/utils/a11y/useComboboxNavigation.ts"],"sourcesContent":["import { useCallback, useState, useEffect } from 'react';\nimport type { RefObject } from 'react';\nimport { useScrollActiveIntoView } from './useScrollActiveIntoView';\n\nexport interface UseComboboxNavigationOptions<T = any> {\n /**\n * Array of items to navigate through\n */\n items: T[];\n \n /**\n * Whether the dropdown is currently open\n */\n isOpen: boolean;\n \n /**\n * Callback when an item is selected (Enter key)\n */\n onSelect: (item: T, index: number) => void;\n \n /**\n * Callback to close the dropdown\n */\n onClose: () => void;\n \n /**\n * Optional: Callback to open the dropdown\n */\n onOpen?: () => void;\n \n /**\n * Whether to wrap around at the ends of the list.\n * Default: true\n */\n loop?: boolean;\n \n /**\n * Whether keyboard navigation is disabled\n * (e.g., for custom rendered content)\n */\n disabled?: boolean;\n \n /**\n * Ref to the listbox container for scroll management\n */\n listboxRef?: RefObject<HTMLElement | null>;\n \n /**\n * CSS selector for option elements (default: '[role=\"option\"]')\n */\n optionSelector?: string;\n}\n\nexport interface UseComboboxNavigationReturn {\n /**\n * Currently highlighted index (-1 if none)\n */\n highlightedIndex: number;\n \n /**\n * Set the highlighted index manually\n */\n setHighlightedIndex: (index: number | ((prev: number) => number)) => void;\n \n /**\n * Keyboard event handler for the combobox input\n */\n handleKeyDown: (e: React.KeyboardEvent) => void;\n \n /**\n * Generate stable ID for an option\n */\n getOptionId: (listboxId: string, index: number) => string;\n \n}\n\n/**\n * Hook for managing combobox keyboard navigation with aria-activedescendant.\n * \n * Implements WAI-ARIA 1.2 Combobox pattern:\n * - Arrow Up/Down to navigate options\n * - Enter to select highlighted option\n * - Escape to close dropdown\n * - Tab to close and move focus\n * - Auto-scrolls highlighted option into view\n * \n * @example\n * ```tsx\n * const { \n * highlightedIndex, \n * handleKeyDown, \n * getOptionId \n * } = useComboboxNavigation({\n * items: suggestions,\n * isOpen: isDropdownOpen,\n * onSelect: (item, idx) => handleSelect(item),\n * onClose: () => setIsOpen(false),\n * listboxRef\n * });\n * \n * <input\n * role=\"combobox\"\n * onKeyDown={handleKeyDown}\n * aria-activedescendant={highlightedIndex >= 0 ? getOptionId(listboxId, highlightedIndex) : undefined}\n * />\n * ```\n */\nexport function useComboboxNavigation<T = any>({\n items,\n isOpen,\n onSelect,\n onClose,\n onOpen,\n loop = true,\n disabled = false,\n listboxRef,\n optionSelector = '[role=\"option\"]'\n}: UseComboboxNavigationOptions<T>): UseComboboxNavigationReturn {\n const [highlightedIndex, setHighlightedIndex] = useState<number>(-1);\n \n // Reset highlighted index when dropdown closes\n useEffect(() => {\n if (!isOpen) {\n setHighlightedIndex(-1);\n }\n }, [isOpen]);\n \n // Auto-scroll highlighted item into view\n useScrollActiveIntoView({\n containerRef: listboxRef,\n activeIndex: highlightedIndex,\n itemSelector: optionSelector,\n enabled: isOpen\n });\n \n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) {\n // For disabled navigation, still handle Escape\n if (e.key === 'Escape' && isOpen) {\n e.preventDefault();\n onClose();\n }\n return;\n }\n \n const itemCount = items.length;\n \n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!isOpen && itemCount > 0) {\n // Open dropdown and highlight first item\n onOpen?.();\n setHighlightedIndex(0);\n } else if (isOpen && itemCount > 0) {\n // Navigate down\n setHighlightedIndex((prev) => {\n if (loop) {\n return (prev + 1) % itemCount;\n }\n return Math.min(prev + 1, itemCount - 1);\n });\n }\n break;\n \n case 'ArrowUp':\n e.preventDefault();\n if (isOpen && itemCount > 0) {\n // Navigate up\n setHighlightedIndex((prev) => {\n // If nothing highlighted, go to last item\n if (prev === -1) {\n return itemCount - 1;\n }\n if (loop) {\n return (prev - 1 + itemCount) % itemCount;\n }\n return Math.max(prev - 1, 0);\n });\n }\n break;\n \n case 'Enter':\n e.preventDefault();\n if (!isOpen) {\n onOpen?.();\n setHighlightedIndex(0);\n } else if (highlightedIndex >= 0 && items[highlightedIndex]) {\n onSelect(items[highlightedIndex], highlightedIndex);\n setHighlightedIndex(-1);\n }\n break;\n\n case 'Escape':\n if (isOpen) {\n e.preventDefault();\n onClose();\n setHighlightedIndex(-1);\n }\n break;\n \n case 'Tab':\n // Close dropdown on Tab (don't preventDefault - let focus move naturally)\n if (isOpen) {\n onClose();\n setHighlightedIndex(-1);\n }\n break;\n }\n },\n [disabled, items, isOpen, highlightedIndex, onSelect, onClose, onOpen, loop]\n );\n \n const getOptionId = useCallback(\n (listboxId: string, index: number) => `${listboxId}-option-${index}`,\n []\n );\n \n return {\n highlightedIndex,\n setHighlightedIndex,\n handleKeyDown,\n getOptionId\n };\n}\n"],"names":["useState","useEffect","useCallback","useScrollActiveIntoView","useComboboxNavigation","items","isOpen","onSelect","onClose","onOpen","loop","disabled","listboxRef","optionSelector","highlightedIndex","setHighlightedIndex","containerRef","activeIndex","itemSelector","enabled","handleKeyDown","e","key","preventDefault","itemCount","length","prev","Math","min","max","getOptionId","listboxId","index"],"mappings":"AA2GO,SAAA,YAAAA,GAAA,aAAAC,GAAA,eAAAC,SAAA;AAAA,SAAA,2BAAAC,SAAA;AAAA,SAASC,EAA+B;AAAA,EAC7CC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,UAAAA,IAAW;AAAA,EACXC,YAAAA;AAAAA,EACAC,gBAAAA,IAAiB;AACc,GAAgC;AAC/D,QAAM,CAACC,GAAkBC,CAAmB,IAAIf,EAAiB,EAAE;AAGnEC,EAAAA,EAAU,MAAM;AACd,IAAKK,KACHS,EAAoB,EAAE;AAAA,EAE1B,GAAG,CAACT,CAAM,CAAC,GAGXH,EAAwB;AAAA,IACtBa,cAAcJ;AAAAA,IACdK,aAAaH;AAAAA,IACbI,cAAcL;AAAAA,IACdM,SAASb;AAAAA,EAAAA,CACV;AAED,QAAMc,IAAgBlB,EACpB,CAACmB,MAA2B;AAC1B,QAAIV,GAAU;AAEZ,MAAIU,EAAEC,QAAQ,YAAYhB,MACxBe,EAAEE,eAAAA,GACFf,EAAAA;AAEF;AAAA,IACF;AAEA,UAAMgB,IAAYnB,EAAMoB;AAExB,YAAQJ,EAAEC,KAAAA;AAAAA,MACR,KAAK;AACHD,QAAAA,EAAEE,eAAAA,GACE,CAACjB,KAAUkB,IAAY,KAEzBf,IAAAA,GACAM,EAAoB,CAAC,KACZT,KAAUkB,IAAY,KAE/BT,EAAqBW,CAAAA,MACfhB,KACMgB,IAAO,KAAKF,IAEfG,KAAKC,IAAIF,IAAO,GAAGF,IAAY,CAAC,CACxC;AAEH;AAAA,MAEF,KAAK;AACHH,QAAAA,EAAEE,eAAAA,GACEjB,KAAUkB,IAAY,KAExBT,EAAqBW,CAAAA,MAEfA,MAAS,KACJF,IAAY,IAEjBd,KACMgB,IAAO,IAAIF,KAAaA,IAE3BG,KAAKE,IAAIH,IAAO,GAAG,CAAC,CAC5B;AAEH;AAAA,MAEF,KAAK;AACHL,QAAAA,EAAEE,eAAAA,GACGjB,IAGMQ,KAAoB,KAAKT,EAAMS,CAAgB,MACxDP,EAASF,EAAMS,CAAgB,GAAGA,CAAgB,GAClDC,EAAoB,EAAE,MAJtBN,IAAAA,GACAM,EAAoB,CAAC;AAKvB;AAAA,MAEF,KAAK;AACH,QAAIT,MACFe,EAAEE,eAAAA,GACFf,EAAAA,GACAO,EAAoB,EAAE;AAExB;AAAA,MAEF,KAAK;AAEH,QAAIT,MACFE,EAAAA,GACAO,EAAoB,EAAE;AAExB;AAAA,IAAA;AAAA,EAEN,GACA,CAACJ,GAAUN,GAAOC,GAAQQ,GAAkBP,GAAUC,GAASC,GAAQC,CAAI,CAC7E,GAEMoB,IAAc5B,EAClB,CAAC6B,GAAmBC,MAAkB,GAAGD,CAAS,WAAWC,CAAK,IAClE,CAAA,CACF;AAEA,SAAO;AAAA,IACLlB,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAK,eAAAA;AAAAA,IACAU,aAAAA;AAAAA,EAAAA;AAEJ;"}
1
+ {"version":3,"file":"index76.js","sources":["../src/utils/a11y/liveAnnouncer/LiveAnnouncerProvider.tsx"],"sourcesContent":["import React, { createContext, useEffect, useMemo } from 'react';\nimport {\n announce,\n clearAnnouncer,\n destroyAnnouncer,\n type AnnounceOptions,\n type Assertiveness,\n} from './LiveAnnouncer';\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\nexport interface LiveAnnouncerContextValue {\n announce: (message: string, options?: AnnounceOptions) => void;\n clear: (assertiveness?: Assertiveness) => void;\n}\n\nexport const LiveAnnouncerContext = createContext<LiveAnnouncerContextValue | null>(null);\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\nexport interface LiveAnnouncerProviderProps {\n children: React.ReactNode;\n}\n\n/**\n * Mounts the singleton live-region container on mount and tears it down on\n * unmount. Provides `{ announce, clear }` via React context so descendants\n * can use the `useLiveAnnouncer` hook.\n *\n * Optional `announce()` works without a provider (the singleton auto-creates\n * on first call). The provider simply gives you explicit lifecycle control.\n *\n * @example\n * <LiveAnnouncerProvider>\n * <App />\n * </LiveAnnouncerProvider>\n */\nexport const LiveAnnouncerProvider: React.FC<LiveAnnouncerProviderProps> = ({ children }) => {\n // Trigger singleton creation on mount (if not already created).\n // The announce import already lazily creates, but calling it with an empty\n // string ensures the container is in the DOM before any child renders.\n useEffect(() => {\n // Force singleton init by importing the constructor runs on getInstance().\n // We don't announce anything; just ensure the container exists.\n announce('');\n return () => {\n destroyAnnouncer();\n };\n }, []);\n\n const value = useMemo<LiveAnnouncerContextValue>(\n () => ({ announce, clear: clearAnnouncer }),\n []\n );\n\n return (\n <LiveAnnouncerContext.Provider value={value}>\n {children}\n </LiveAnnouncerContext.Provider>\n );\n};\n"],"names":["React__default","useEffect","useMemo","createContext","announce","destroyAnnouncer","clearAnnouncer","LiveAnnouncerContext","LiveAnnouncerProvider","children","value","clear","React","createElement","Provider"],"mappings":"AAkBO,OAAAA,KAAA,aAAAC,GAAA,WAAAC,GAAA,iBAAAC,SAAA;AAAA,SAAA,YAAAC,GAAA,oBAAAC,GAAA,kBAAAC,SAAA;AAAA,MAAMC,sBAAuE,IAAI,GAuB3EC,IAA8DA,CAAC;AAAA,EAAEC,UAAAA;AAAS,MAAM;AAI3FR,EAAAA,EAAU,OAGRG,EAAS,EAAE,GACJ,MAAM;AACXC,IAAAA,EAAAA;AAAAA,EACF,IACC,CAAA,CAAE;AAEL,QAAMK,IAAQR,EACZ,OAAO;AAAA,IAAEE,UAAAA;AAAAA,IAAUO,OAAOL;AAAAA,EAAAA,IAC1B,CAAA,CACF;AAEA,SACEM,gBAAAA,EAAAC,cAACN,EAAqBO,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,EAAAA,GAC5BD,CAC4B;AAEnC;"}
package/dist/index77.js CHANGED
@@ -1,27 +1,14 @@
1
- import * as e from "react";
2
- function p({
3
- disabled: t = !1,
4
- onFocusIn: u,
5
- onFocusOut: n,
6
- onEscape: a,
7
- closeOnEscape: c = !0
8
- }) {
9
- const f = e.useCallback((r) => {
10
- t || u?.();
11
- }, [t, u]), s = e.useCallback((r) => {
12
- if (t) return;
13
- const o = r.relatedTarget;
14
- o && r.currentTarget.contains(o) || n?.();
15
- }, [t, n]), C = e.useCallback((r) => {
16
- t || !c || r.key !== "Escape" || (r.preventDefault(), a?.());
17
- }, [t, c, a]);
18
- return {
19
- onFocusCapture: f,
20
- onBlurCapture: s,
21
- onKeyDownCapture: C
22
- };
1
+ import { useContext as t, useMemo as c } from "react";
2
+ import { clearAnnouncer as u, announce as m } from "./index75.js";
3
+ import { LiveAnnouncerContext as a } from "./index76.js";
4
+ function l() {
5
+ const o = t(a), e = c(() => ({
6
+ announce: (n, r) => m(n, r ?? {}),
7
+ clear: (n) => u(n)
8
+ }), []);
9
+ return o ?? e;
23
10
  }
24
11
  export {
25
- p as useDismissOnFocusOut
12
+ l as useLiveAnnouncer
26
13
  };
27
14
  //# sourceMappingURL=index77.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index77.js","sources":["../src/utils/a11y/useDismissOnFocusOut.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type UseDismissOnFocusOutOptions = {\n /**\n * Disable all handlers (no-ops). Useful when a component provides alternate\n * focus/keyboard behavior (e.g., disabled-trigger tooltip wrapper).\n */\n disabled?: boolean;\n /**\n * Called when focus enters anywhere within the target.\n */\n onFocusIn?: () => void;\n /**\n * Called when focus leaves the target (i.e., focus moves to an element\n * outside the currentTarget).\n */\n onFocusOut?: () => void;\n /**\n * Called when Escape is pressed while focus is within the target.\n */\n onEscape?: () => void;\n /**\n * Whether Escape should trigger dismissal. Default: true.\n */\n closeOnEscape?: boolean;\n};\n\nexport type UseDismissOnFocusOutReturn<T extends HTMLElement = HTMLElement> = {\n onFocusCapture: (e: React.FocusEvent<T>) => void;\n onBlurCapture: (e: React.FocusEvent<T>) => void;\n onKeyDownCapture: (e: React.KeyboardEvent<T>) => void;\n};\n\n/**\n * Returns capture-phase handlers to \"show on focus within\" and \"dismiss on focus out\",\n * with optional Escape-to-dismiss.\n *\n * Intended for non-interactive surfaces like tooltips where content should remain\n * visible while focus stays within the wrapper.\n */\nexport function useDismissOnFocusOut<T extends HTMLElement = HTMLElement>({\n disabled = false,\n onFocusIn,\n onFocusOut,\n onEscape,\n closeOnEscape = true\n}: UseDismissOnFocusOutOptions): UseDismissOnFocusOutReturn<T> {\n const onFocusCapture = React.useCallback(\n (_e: React.FocusEvent<T>) => {\n if (disabled) return;\n onFocusIn?.();\n },\n [disabled, onFocusIn]\n );\n\n const onBlurCapture = React.useCallback(\n (e: React.FocusEvent<T>) => {\n if (disabled) return;\n\n const nextFocused = e.relatedTarget as Node | null;\n if (nextFocused && e.currentTarget.contains(nextFocused)) return;\n\n onFocusOut?.();\n },\n [disabled, onFocusOut]\n );\n\n const onKeyDownCapture = React.useCallback(\n (e: React.KeyboardEvent<T>) => {\n if (disabled || !closeOnEscape || e.key !== 'Escape') return;\n\n e.preventDefault();\n onEscape?.();\n },\n [disabled, closeOnEscape, onEscape]\n );\n\n return { onFocusCapture, onBlurCapture, onKeyDownCapture };\n}\n\n"],"names":["React","useDismissOnFocusOut","disabled","onFocusIn","onFocusOut","onEscape","closeOnEscape","onFocusCapture","useCallback","_e","onBlurCapture","e","nextFocused","relatedTarget","currentTarget","contains","onKeyDownCapture","key","preventDefault"],"mappings":"AAwCO,YAAAA,OAAA;AAAA,SAASC,EAA0D;AAAA,EACxEC,UAAAA,IAAW;AAAA,EACXC,WAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,eAAAA,IAAgB;AACW,GAAkC;AAC7D,QAAMC,IAAiBP,EAAMQ,YAC3B,CAACC,MAA4B;AAC3B,IAAIP,KACJC,IAAAA;AAAAA,EACF,GACA,CAACD,GAAUC,CAAS,CACtB,GAEMO,IAAgBV,EAAMQ,YAC1B,CAACG,MAA2B;AAC1B,QAAIT,EAAU;AAEd,UAAMU,IAAcD,EAAEE;AACtB,IAAID,KAAeD,EAAEG,cAAcC,SAASH,CAAW,KAEvDR,IAAAA;AAAAA,EACF,GACA,CAACF,GAAUE,CAAU,CACvB,GAEMY,IAAmBhB,EAAMQ,YAC7B,CAACG,MAA8B;AAC7B,IAAIT,KAAY,CAACI,KAAiBK,EAAEM,QAAQ,aAE5CN,EAAEO,eAAAA,GACFb,IAAAA;AAAAA,EACF,GACA,CAACH,GAAUI,GAAeD,CAAQ,CACpC;AAEA,SAAO;AAAA,IAAEE,gBAAAA;AAAAA,IAAgBG,eAAAA;AAAAA,IAAeM,kBAAAA;AAAAA,EAAAA;AAC1C;"}
1
+ {"version":3,"file":"index77.js","sources":["../src/utils/a11y/liveAnnouncer/useLiveAnnouncer.ts"],"sourcesContent":["import { useContext, useMemo } from 'react';\nimport {\n announce,\n clearAnnouncer,\n type AnnounceOptions,\n type Assertiveness,\n} from './LiveAnnouncer';\nimport { LiveAnnouncerContext, type LiveAnnouncerContextValue } from './LiveAnnouncerProvider';\n\n/**\n * React hook that returns `{ announce, clear }`.\n *\n * Uses the LiveAnnouncerProvider context if available; otherwise falls back\n * to the module-level singleton (which auto-creates on first call).\n *\n * @example\n * const { announce } = useLiveAnnouncer();\n * announce('Document saved');\n * announce('Upload failed', { assertiveness: 'assertive' });\n * announce('5 results', { batchId: 'search-count' });\n */\nexport function useLiveAnnouncer(): LiveAnnouncerContextValue {\n const fromContext = useContext(LiveAnnouncerContext);\n\n const fallback = useMemo<LiveAnnouncerContextValue>(\n () => ({\n announce: (message: string, options?: AnnounceOptions) => announce(message, options ?? {}),\n clear: (assertiveness?: Assertiveness) => clearAnnouncer(assertiveness),\n }),\n []\n );\n\n return fromContext ?? fallback;\n}\n"],"names":["useContext","useMemo","clearAnnouncer","announce","LiveAnnouncerContext","useLiveAnnouncer","fromContext","fallback","message","options","clear","assertiveness"],"mappings":"AAqBO,SAAA,cAAAA,GAAA,WAAAC,SAAA;AAAA,SAAA,kBAAAC,GAAA,YAAAC,SAAA;AAAA,SAAA,wBAAAC,SAAA;AAAA,SAASC,IAA8C;AAC5D,QAAMC,IAAcN,EAAWI,CAAoB,GAE7CG,IAAWN,EACf,OAAO;AAAA,IACLE,UAAUA,CAACK,GAAiBC,MAA8BN,EAASK,GAASC,KAAW,EAAE;AAAA,IACzFC,OAAOA,CAACC,MAAkCT,EAAeS,CAAa;AAAA,EAAA,IAExE,CAAA,CACF;AAEA,SAAOL,KAAeC;AACxB;"}
package/dist/index78.js CHANGED
@@ -1,12 +1,8 @@
1
- function f({
2
- ariaLabel: e,
3
- ariaLabelledBy: i,
4
- ariaDescribedBy: r
5
- }) {
6
- const t = {};
7
- return i ? t["aria-labelledby"] = i : e && (t["aria-label"] = e), r && (t["aria-describedby"] = r), t;
8
- }
1
+ const t = () => typeof navigator < "u" && /Android/i.test(navigator.userAgent), o = (i) => {
2
+ const r = "pointerType" in i ? i.pointerType : void 0;
3
+ return r === "" && i.isTrusted ? !0 : t() && r ? i.type === "click" && i.buttons === 1 : i.detail === 0 && !r;
4
+ };
9
5
  export {
10
- f as getA11yNameAttributes
6
+ o as isVirtualClick
11
7
  };
12
8
  //# sourceMappingURL=index78.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index78.js","sources":["../src/utils/a11y/accessibleName.ts"],"sourcesContent":["/**\n * Accessible name/description utilities following WCAG precedence rules.\n * \n * **When to use:**\n * - `ariaLabelledBy`: visible label exists (preferred - keeps SR and visual text in sync)\n * - `ariaLabel`: no visible label (e.g., icon-only buttons)\n * - `ariaDescribedBy`: additional context needed (warnings, hints, constraints)\n * \n * **Precedence:** ariaLabelledBy > ariaLabel > visible text content\n * \n * @example Icon-only button\n * ```tsx\n * <Button iconProps={{ name: 'close' }} ariaLabel=\"Close dialog\" />\n * ```\n * \n * @example Disambiguate generic labels\n * ```tsx\n * <Button label=\"Edit\" ariaLabel=\"Edit name\" />\n * <Button label=\"Edit\" ariaLabel=\"Edit email\" />\n * ```\n */\n\nexport type AccessibleNameInput = {\n /** Accessible name when no visible label exists (icon-only buttons). */\n ariaLabel?: string;\n /** ID(s) of visible element(s) that label this control. Preferred over ariaLabel. */\n ariaLabelledBy?: string;\n /** ID(s) of element(s) providing additional description (additive). */\n ariaDescribedBy?: string;\n};\n\n/**\n * Returns ARIA attributes with correct precedence.\n * Prefer ariaLabelledBy > ariaLabel. ariaDescribedBy is always additive.\n */\nexport function getA11yNameAttributes({\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy\n}: AccessibleNameInput): Record<string, string> {\n const props: Record<string, string> = {};\n\n if (ariaLabelledBy) props['aria-labelledby'] = ariaLabelledBy;\n else if (ariaLabel) props['aria-label'] = ariaLabel;\n\n if (ariaDescribedBy) props['aria-describedby'] = ariaDescribedBy;\n\n return props;\n}\n"],"names":["getA11yNameAttributes","ariaLabel","ariaLabelledBy","ariaDescribedBy","props"],"mappings":"AAmCO,SAASA,EAAsB;AAAA,EACpCC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,iBAAAA;AACmB,GAA2B;AAC9C,QAAMC,IAAgC,CAAA;AAEtC,SAAIF,IAAgBE,EAAM,iBAAiB,IAAIF,IACtCD,MAAWG,EAAM,YAAY,IAAIH,IAEtCE,MAAiBC,EAAM,kBAAkB,IAAID,IAE1CC;AACT;"}
1
+ {"version":3,"file":"index78.js","sources":["../src/utils/virtualClick.ts"],"sourcesContent":["/**\n * Input/virtual click detection helpers.\n */\n\nconst isAndroid = () =>\n typeof navigator !== 'undefined' && /Android/i.test(navigator.userAgent);\n\nexport const isVirtualClick = (event: MouseEvent | PointerEvent): boolean => {\n const pointerType = 'pointerType' in event ? event.pointerType : undefined;\n\n // JAWS/NVDA with Firefox.\n if (pointerType === '' && event.isTrusted) {\n return true;\n }\n\n // Android TalkBack's detail value varies depending on listener type.\n if (isAndroid() && pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n\n // Most browsers: virtual click has detail === 0 and no pointerType.\n return event.detail === 0 && !pointerType;\n};\n\n\n"],"names":["isAndroid","navigator","test","userAgent","isVirtualClick","event","pointerType","undefined","isTrusted","type","buttons","detail"],"mappings":"AAIA,MAAMA,IAAYA,MAChB,OAAOC,YAAc,OAAe,WAAWC,KAAKD,UAAUE,SAAS,GAE5DC,IAAiBA,CAACC,MAA8C;AAC3E,QAAMC,IAAc,iBAAiBD,IAAQA,EAAMC,cAAcC;AAGjE,SAAID,MAAgB,MAAMD,EAAMG,YACvB,KAILR,EAAAA,KAAeM,IACVD,EAAMI,SAAS,WAAWJ,EAAMK,YAAY,IAI9CL,EAAMM,WAAW,KAAK,CAACL;AAChC;"}
@@ -0,0 +1,62 @@
1
+ import { useState as g, useEffect as s, useCallback as d } from "react";
2
+ import { useScrollActiveIntoView as I } from "./index247.js";
3
+ function y({
4
+ items: u,
5
+ isOpen: t,
6
+ onSelect: n,
7
+ onClose: i,
8
+ onOpen: c,
9
+ loop: b = !0,
10
+ disabled: D = !1,
11
+ listboxRef: h,
12
+ optionSelector: v = '[role="option"]',
13
+ keepHighlightOnSelect: l = !1,
14
+ closeOnTab: k = !0
15
+ }) {
16
+ const [a, e] = g(-1);
17
+ s(() => {
18
+ t || e(-1);
19
+ }, [t]), I({
20
+ containerRef: h,
21
+ activeIndex: a,
22
+ itemSelector: v,
23
+ enabled: t
24
+ });
25
+ const w = d((r) => {
26
+ if (D) {
27
+ r.key === "Escape" && t && (r.preventDefault(), i());
28
+ return;
29
+ }
30
+ const f = u.length;
31
+ switch (r.key) {
32
+ case "ArrowDown":
33
+ r.preventDefault(), r.stopPropagation(), !t && f > 0 ? (c?.(), e(0)) : t && f > 0 && e((o) => b ? (o + 1) % f : Math.min(o + 1, f - 1));
34
+ break;
35
+ case "ArrowUp":
36
+ r.preventDefault(), r.stopPropagation(), t && f > 0 && e((o) => o === -1 ? f - 1 : b ? (o - 1 + f) % f : Math.max(o - 1, 0));
37
+ break;
38
+ case "Enter":
39
+ r.preventDefault(), t ? a >= 0 && u[a] && (n(u[a], a), l || e(-1)) : (c?.(), e(0));
40
+ break;
41
+ case " ":
42
+ r.preventDefault(), t ? a >= 0 && u[a] && (n(u[a], a), l || e(-1)) : (c?.(), e(0));
43
+ break;
44
+ case "Escape":
45
+ t && (r.preventDefault(), i(), e(-1));
46
+ break;
47
+ case "Tab":
48
+ t && k && (i(), e(-1));
49
+ break;
50
+ }
51
+ }, [D, u, t, a, n, i, c, b, l, k]), x = d((r, f) => `${r}-option-${f}`, []);
52
+ return {
53
+ highlightedIndex: a,
54
+ setHighlightedIndex: e,
55
+ handleKeyDown: w,
56
+ getOptionId: x
57
+ };
58
+ }
59
+ export {
60
+ y as useComboboxNavigation
61
+ };
62
+ //# sourceMappingURL=index79.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index79.js","sources":["../src/utils/a11y/useComboboxNavigation.ts"],"sourcesContent":["import { useCallback, useState, useEffect } from 'react';\nimport type { RefObject } from 'react';\nimport { useScrollActiveIntoView } from './useScrollActiveIntoView';\n\nexport interface UseComboboxNavigationOptions<T = any> {\n /**\n * Array of items to navigate through\n */\n items: T[];\n \n /**\n * Whether the dropdown is currently open\n */\n isOpen: boolean;\n \n /**\n * Callback when an item is selected (Enter key)\n */\n onSelect: (item: T, index: number) => void;\n \n /**\n * Callback to close the dropdown\n */\n onClose: () => void;\n \n /**\n * Optional: Callback to open the dropdown\n */\n onOpen?: () => void;\n \n /**\n * Whether to wrap around at the ends of the list.\n * Default: true\n */\n loop?: boolean;\n \n /**\n * Whether keyboard navigation is disabled\n * (e.g., for custom rendered content)\n */\n disabled?: boolean;\n\n /**\n * Whether to keep the highlighted index after selecting an item.\n * Useful for multi-select where the dropdown stays open after selection.\n * Default: false\n */\n keepHighlightOnSelect?: boolean;\n\n /**\n * Whether Tab should close the dropdown.\n * Set to false when Tab should move focus to elements within the popup (e.g. CTAs).\n * Default: true\n */\n closeOnTab?: boolean;\n\n /**\n * Ref to the listbox container for scroll management\n */\n listboxRef?: RefObject<HTMLElement | null>;\n \n /**\n * CSS selector for option elements (default: '[role=\"option\"]')\n */\n optionSelector?: string;\n}\n\nexport interface UseComboboxNavigationReturn {\n /**\n * Currently highlighted index (-1 if none)\n */\n highlightedIndex: number;\n \n /**\n * Set the highlighted index manually\n */\n setHighlightedIndex: (index: number | ((prev: number) => number)) => void;\n \n /**\n * Keyboard event handler for the combobox input\n */\n handleKeyDown: (e: React.KeyboardEvent) => void;\n \n /**\n * Generate stable ID for an option\n */\n getOptionId: (listboxId: string, index: number) => string;\n \n}\n\n/**\n * Hook for managing combobox keyboard navigation with aria-activedescendant.\n * \n * Implements WAI-ARIA 1.2 Combobox pattern:\n * - Arrow Up/Down to navigate options\n * - Enter to select highlighted option\n * - Escape to close dropdown\n * - Tab to close and move focus\n * - Auto-scrolls highlighted option into view\n * \n * @example\n * ```tsx\n * const { \n * highlightedIndex, \n * handleKeyDown, \n * getOptionId \n * } = useComboboxNavigation({\n * items: suggestions,\n * isOpen: isDropdownOpen,\n * onSelect: (item, idx) => handleSelect(item),\n * onClose: () => setIsOpen(false),\n * listboxRef\n * });\n * \n * <input\n * role=\"combobox\"\n * onKeyDown={handleKeyDown}\n * aria-activedescendant={highlightedIndex >= 0 ? getOptionId(listboxId, highlightedIndex) : undefined}\n * />\n * ```\n */\nexport function useComboboxNavigation<T = any>({\n items,\n isOpen,\n onSelect,\n onClose,\n onOpen,\n loop = true,\n disabled = false,\n listboxRef,\n optionSelector = '[role=\"option\"]',\n keepHighlightOnSelect = false,\n closeOnTab = true\n}: UseComboboxNavigationOptions<T>): UseComboboxNavigationReturn {\n const [highlightedIndex, setHighlightedIndex] = useState<number>(-1);\n \n // Reset highlighted index when dropdown closes\n useEffect(() => {\n if (!isOpen) {\n setHighlightedIndex(-1);\n }\n }, [isOpen]);\n \n // Auto-scroll highlighted item into view\n useScrollActiveIntoView({\n containerRef: listboxRef,\n activeIndex: highlightedIndex,\n itemSelector: optionSelector,\n enabled: isOpen\n });\n \n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) {\n // For disabled navigation, still handle Escape\n if (e.key === 'Escape' && isOpen) {\n e.preventDefault();\n onClose();\n }\n return;\n }\n \n const itemCount = items.length;\n \n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n if (!isOpen && itemCount > 0) {\n // Open dropdown and highlight first item\n onOpen?.();\n setHighlightedIndex(0);\n } else if (isOpen && itemCount > 0) {\n // Navigate down\n setHighlightedIndex((prev) => {\n if (loop) {\n return (prev + 1) % itemCount;\n }\n return Math.min(prev + 1, itemCount - 1);\n });\n }\n break;\n\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n if (isOpen && itemCount > 0) {\n // Navigate up\n setHighlightedIndex((prev) => {\n // If nothing highlighted, go to last item\n if (prev === -1) {\n return itemCount - 1;\n }\n if (loop) {\n return (prev - 1 + itemCount) % itemCount;\n }\n return Math.max(prev - 1, 0);\n });\n }\n break;\n \n case 'Enter':\n e.preventDefault();\n if (!isOpen) {\n onOpen?.();\n setHighlightedIndex(0);\n } else if (highlightedIndex >= 0 && items[highlightedIndex]) {\n onSelect(items[highlightedIndex], highlightedIndex);\n if (!keepHighlightOnSelect) {\n setHighlightedIndex(-1);\n }\n }\n break;\n\n case ' ':\n e.preventDefault();\n if (!isOpen) {\n onOpen?.();\n setHighlightedIndex(0);\n } else if (highlightedIndex >= 0 && items[highlightedIndex]) {\n onSelect(items[highlightedIndex], highlightedIndex);\n if (!keepHighlightOnSelect) {\n setHighlightedIndex(-1);\n }\n }\n break;\n case 'Escape':\n if (isOpen) {\n e.preventDefault();\n onClose();\n setHighlightedIndex(-1);\n }\n break;\n \n case 'Tab':\n // closeOnTab=true (default): close dropdown and let focus move to next element\n // closeOnTab=false: keep dropdown open so Tab reaches CTAs (Clear/Apply)\n if (isOpen && closeOnTab) {\n onClose();\n setHighlightedIndex(-1);\n }\n break;\n }\n },\n [disabled, items, isOpen, highlightedIndex, onSelect, onClose, onOpen, loop, keepHighlightOnSelect, closeOnTab]\n );\n \n const getOptionId = useCallback(\n (listboxId: string, index: number) => `${listboxId}-option-${index}`,\n []\n );\n \n return {\n highlightedIndex,\n setHighlightedIndex,\n handleKeyDown,\n getOptionId\n };\n}\n"],"names":["useState","useEffect","useCallback","useScrollActiveIntoView","useComboboxNavigation","items","isOpen","onSelect","onClose","onOpen","loop","disabled","listboxRef","optionSelector","keepHighlightOnSelect","closeOnTab","highlightedIndex","setHighlightedIndex","containerRef","activeIndex","itemSelector","enabled","handleKeyDown","e","key","preventDefault","itemCount","length","stopPropagation","prev","Math","min","max","getOptionId","listboxId","index"],"mappings":"AAyHO,SAAA,YAAAA,GAAA,aAAAC,GAAA,eAAAC,SAAA;AAAA,SAAA,2BAAAC,SAAA;AAAA,SAASC,EAA+B;AAAA,EAC7CC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,UAAAA,IAAW;AAAA,EACXC,YAAAA;AAAAA,EACAC,gBAAAA,IAAiB;AAAA,EACjBC,uBAAAA,IAAwB;AAAA,EACxBC,YAAAA,IAAa;AACkB,GAAgC;AAC/D,QAAM,CAACC,GAAkBC,CAAmB,IAAIjB,EAAiB,EAAE;AAGnEC,EAAAA,EAAU,MAAM;AACd,IAAKK,KACHW,EAAoB,EAAE;AAAA,EAE1B,GAAG,CAACX,CAAM,CAAC,GAGXH,EAAwB;AAAA,IACtBe,cAAcN;AAAAA,IACdO,aAAaH;AAAAA,IACbI,cAAcP;AAAAA,IACdQ,SAASf;AAAAA,EAAAA,CACV;AAED,QAAMgB,IAAgBpB,EACpB,CAACqB,MAA2B;AAC1B,QAAIZ,GAAU;AAEZ,MAAIY,EAAEC,QAAQ,YAAYlB,MACxBiB,EAAEE,eAAAA,GACFjB,EAAAA;AAEF;AAAA,IACF;AAEA,UAAMkB,IAAYrB,EAAMsB;AAExB,YAAQJ,EAAEC,KAAAA;AAAAA,MACR,KAAK;AACHD,QAAAA,EAAEE,eAAAA,GACFF,EAAEK,gBAAAA,GACE,CAACtB,KAAUoB,IAAY,KAEzBjB,IAAAA,GACAQ,EAAoB,CAAC,KACZX,KAAUoB,IAAY,KAE/BT,EAAqBY,CAAAA,MACfnB,KACMmB,IAAO,KAAKH,IAEfI,KAAKC,IAAIF,IAAO,GAAGH,IAAY,CAAC,CACxC;AAEH;AAAA,MAEF,KAAK;AACHH,QAAAA,EAAEE,eAAAA,GACFF,EAAEK,gBAAAA,GACEtB,KAAUoB,IAAY,KAExBT,EAAqBY,CAAAA,MAEfA,MAAS,KACJH,IAAY,IAEjBhB,KACMmB,IAAO,IAAIH,KAAaA,IAE3BI,KAAKE,IAAIH,IAAO,GAAG,CAAC,CAC5B;AAEH;AAAA,MAEF,KAAK;AACHN,QAAAA,EAAEE,eAAAA,GACGnB,IAGMU,KAAoB,KAAKX,EAAMW,CAAgB,MACxDT,EAASF,EAAMW,CAAgB,GAAGA,CAAgB,GAC7CF,KACHG,EAAoB,EAAE,MALxBR,IAAAA,GACAQ,EAAoB,CAAC;AAOvB;AAAA,MAEF,KAAK;AACHM,QAAAA,EAAEE,eAAAA,GACGnB,IAGMU,KAAoB,KAAKX,EAAMW,CAAgB,MACxDT,EAASF,EAAMW,CAAgB,GAAGA,CAAgB,GAC7CF,KACHG,EAAoB,EAAE,MALxBR,IAAAA,GACAQ,EAAoB,CAAC;AAOvB;AAAA,MACF,KAAK;AACH,QAAIX,MACFiB,EAAEE,eAAAA,GACFjB,EAAAA,GACAS,EAAoB,EAAE;AAExB;AAAA,MAEF,KAAK;AAGH,QAAIX,KAAUS,MACZP,EAAAA,GACAS,EAAoB,EAAE;AAExB;AAAA,IAAA;AAAA,EAEN,GACA,CAACN,GAAUN,GAAOC,GAAQU,GAAkBT,GAAUC,GAASC,GAAQC,GAAMI,GAAuBC,CAAU,CAChH,GAEMkB,IAAc/B,EAClB,CAACgC,GAAmBC,MAAkB,GAAGD,CAAS,WAAWC,CAAK,IAClE,CAAA,CACF;AAEA,SAAO;AAAA,IACLnB,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAK,eAAAA;AAAAA,IACAW,aAAAA;AAAAA,EAAAA;AAEJ;"}
package/dist/index80.js CHANGED
@@ -1,5 +1,27 @@
1
- const L = "data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='32'%20height='32'%20rx='16'%20fill='white'/%3e%3cpath%20d='M11.0179%2013.3597L12.27%2010.855L13.5222%2013.3597C13.9204%2014.1563%2014.5662%2014.8021%2015.3627%2015.2004L17.8682%2016.4531L15.3627%2017.7059C14.5662%2018.1041%2013.9204%2018.75%2013.5222%2019.5465L12.27%2022.0513L11.0179%2019.5465C10.6197%2018.75%209.97387%2018.1041%209.17738%2017.7059L6.67188%2016.4531L9.17738%2015.2004C9.97387%2014.8021%2010.6197%2014.1563%2011.0179%2013.3597Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%207.18859L19.4685%206.2832L19.9211%207.18859C20.3193%207.98511%2020.9651%208.63098%2021.7616%209.02923L22.6674%209.48215L21.7616%209.93506C20.9651%2010.3333%2020.3193%2010.9792%2019.9211%2011.7757L19.4685%2012.6811L19.0159%2011.7757C18.6177%2010.9792%2017.9719%2010.3333%2017.1754%209.93506L16.2695%209.48215L17.1754%209.02923C17.9719%208.63098%2018.6177%207.98511%2019.0159%207.18859Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%2021.3561L19.4685%2020.4507L19.9211%2021.3561C20.3193%2022.1526%2020.9651%2022.7985%2021.7616%2023.1967L22.6674%2023.6496L21.7616%2024.1025C20.9651%2024.5008%2020.3193%2025.1467%2019.9211%2025.9432L19.4685%2026.8486L19.0159%2025.9432C18.6177%2025.1467%2017.9719%2024.5008%2017.1754%2024.1025L16.2695%2023.6496L17.1754%2023.1967C17.9719%2022.7985%2018.6177%2022.1526%2019.0159%2021.3561Z'%20fill='%23415575'/%3e%3c/svg%3e";
1
+ import * as e from "react";
2
+ function p({
3
+ disabled: t = !1,
4
+ onFocusIn: u,
5
+ onFocusOut: n,
6
+ onEscape: a,
7
+ closeOnEscape: c = !0
8
+ }) {
9
+ const f = e.useCallback((r) => {
10
+ t || u?.();
11
+ }, [t, u]), s = e.useCallback((r) => {
12
+ if (t) return;
13
+ const o = r.relatedTarget;
14
+ o && r.currentTarget.contains(o) || n?.();
15
+ }, [t, n]), C = e.useCallback((r) => {
16
+ t || !c || r.key !== "Escape" || (r.preventDefault(), a?.());
17
+ }, [t, c, a]);
18
+ return {
19
+ onFocusCapture: f,
20
+ onBlurCapture: s,
21
+ onKeyDownCapture: C
22
+ };
23
+ }
2
24
  export {
3
- L as default
25
+ p as useDismissOnFocusOut
4
26
  };
5
27
  //# sourceMappingURL=index80.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index80.js","sources":["../src/assets/icons/ai-off.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='32'%20height='32'%20rx='16'%20fill='white'/%3e%3cpath%20d='M11.0179%2013.3597L12.27%2010.855L13.5222%2013.3597C13.9204%2014.1563%2014.5662%2014.8021%2015.3627%2015.2004L17.8682%2016.4531L15.3627%2017.7059C14.5662%2018.1041%2013.9204%2018.75%2013.5222%2019.5465L12.27%2022.0513L11.0179%2019.5465C10.6197%2018.75%209.97387%2018.1041%209.17738%2017.7059L6.67188%2016.4531L9.17738%2015.2004C9.97387%2014.8021%2010.6197%2014.1563%2011.0179%2013.3597Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%207.18859L19.4685%206.2832L19.9211%207.18859C20.3193%207.98511%2020.9651%208.63098%2021.7616%209.02923L22.6674%209.48215L21.7616%209.93506C20.9651%2010.3333%2020.3193%2010.9792%2019.9211%2011.7757L19.4685%2012.6811L19.0159%2011.7757C18.6177%2010.9792%2017.9719%2010.3333%2017.1754%209.93506L16.2695%209.48215L17.1754%209.02923C17.9719%208.63098%2018.6177%207.98511%2019.0159%207.18859Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%2021.3561L19.4685%2020.4507L19.9211%2021.3561C20.3193%2022.1526%2020.9651%2022.7985%2021.7616%2023.1967L22.6674%2023.6496L21.7616%2024.1025C20.9651%2024.5008%2020.3193%2025.1467%2019.9211%2025.9432L19.4685%2026.8486L19.0159%2025.9432C18.6177%2025.1467%2017.9719%2024.5008%2017.1754%2024.1025L16.2695%2023.6496L17.1754%2023.1967C17.9719%2022.7985%2018.6177%2022.1526%2019.0159%2021.3561Z'%20fill='%23415575'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_0"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index80.js","sources":["../src/utils/a11y/useDismissOnFocusOut.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type UseDismissOnFocusOutOptions = {\n /**\n * Disable all handlers (no-ops). Useful when a component provides alternate\n * focus/keyboard behavior (e.g., disabled-trigger tooltip wrapper).\n */\n disabled?: boolean;\n /**\n * Called when focus enters anywhere within the target.\n */\n onFocusIn?: () => void;\n /**\n * Called when focus leaves the target (i.e., focus moves to an element\n * outside the currentTarget).\n */\n onFocusOut?: () => void;\n /**\n * Called when Escape is pressed while focus is within the target.\n */\n onEscape?: () => void;\n /**\n * Whether Escape should trigger dismissal. Default: true.\n */\n closeOnEscape?: boolean;\n};\n\nexport type UseDismissOnFocusOutReturn<T extends HTMLElement = HTMLElement> = {\n onFocusCapture: (e: React.FocusEvent<T>) => void;\n onBlurCapture: (e: React.FocusEvent<T>) => void;\n onKeyDownCapture: (e: React.KeyboardEvent<T>) => void;\n};\n\n/**\n * Returns capture-phase handlers to \"show on focus within\" and \"dismiss on focus out\",\n * with optional Escape-to-dismiss.\n *\n * Intended for non-interactive surfaces like tooltips where content should remain\n * visible while focus stays within the wrapper.\n */\nexport function useDismissOnFocusOut<T extends HTMLElement = HTMLElement>({\n disabled = false,\n onFocusIn,\n onFocusOut,\n onEscape,\n closeOnEscape = true\n}: UseDismissOnFocusOutOptions): UseDismissOnFocusOutReturn<T> {\n const onFocusCapture = React.useCallback(\n (_e: React.FocusEvent<T>) => {\n if (disabled) return;\n onFocusIn?.();\n },\n [disabled, onFocusIn]\n );\n\n const onBlurCapture = React.useCallback(\n (e: React.FocusEvent<T>) => {\n if (disabled) return;\n\n const nextFocused = e.relatedTarget as Node | null;\n if (nextFocused && e.currentTarget.contains(nextFocused)) return;\n\n onFocusOut?.();\n },\n [disabled, onFocusOut]\n );\n\n const onKeyDownCapture = React.useCallback(\n (e: React.KeyboardEvent<T>) => {\n if (disabled || !closeOnEscape || e.key !== 'Escape') return;\n\n e.preventDefault();\n onEscape?.();\n },\n [disabled, closeOnEscape, onEscape]\n );\n\n return { onFocusCapture, onBlurCapture, onKeyDownCapture };\n}\n\n"],"names":["React","useDismissOnFocusOut","disabled","onFocusIn","onFocusOut","onEscape","closeOnEscape","onFocusCapture","useCallback","_e","onBlurCapture","e","nextFocused","relatedTarget","currentTarget","contains","onKeyDownCapture","key","preventDefault"],"mappings":"AAwCO,YAAAA,OAAA;AAAA,SAASC,EAA0D;AAAA,EACxEC,UAAAA,IAAW;AAAA,EACXC,WAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,eAAAA,IAAgB;AACW,GAAkC;AAC7D,QAAMC,IAAiBP,EAAMQ,YAC3B,CAACC,MAA4B;AAC3B,IAAIP,KACJC,IAAAA;AAAAA,EACF,GACA,CAACD,GAAUC,CAAS,CACtB,GAEMO,IAAgBV,EAAMQ,YAC1B,CAACG,MAA2B;AAC1B,QAAIT,EAAU;AAEd,UAAMU,IAAcD,EAAEE;AACtB,IAAID,KAAeD,EAAEG,cAAcC,SAASH,CAAW,KAEvDR,IAAAA;AAAAA,EACF,GACA,CAACF,GAAUE,CAAU,CACvB,GAEMY,IAAmBhB,EAAMQ,YAC7B,CAACG,MAA8B;AAC7B,IAAIT,KAAY,CAACI,KAAiBK,EAAEM,QAAQ,aAE5CN,EAAEO,eAAAA,GACFb,IAAAA;AAAAA,EACF,GACA,CAACH,GAAUI,GAAeD,CAAQ,CACpC;AAEA,SAAO;AAAA,IAAEE,gBAAAA;AAAAA,IAAgBG,eAAAA;AAAAA,IAAeM,kBAAAA;AAAAA,EAAAA;AAC1C;"}
package/dist/index81.js CHANGED
@@ -1,5 +1,12 @@
1
- const C = "data:image/svg+xml,%3csvg%20width='67'%20height='67'%20viewBox='0%200%2067%2067'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.166%204.53418C25.8215%201.28372%2033.4025%200.455651%2040.6025%202.19336C45.6308%203.40697%2050.254%205.81881%2054.0977%209.18262L56.2627%2011.0771V5.22852C56.2628%204.50782%2056.8467%203.92384%2057.5674%203.92383C58.288%203.92383%2058.872%204.50784%2058.8721%205.22852V14.8369C58.872%2015.5575%2058.288%2016.1416%2057.5674%2016.1416H47.874C47.1533%2016.1416%2046.5684%2015.5576%2046.5684%2014.8369C46.5684%2014.1161%2047.1533%2013.5322%2047.874%2013.5322H55.0752L52.4951%2011.249C48.9439%208.10762%2044.6571%205.85686%2039.9902%204.73047C33.3806%203.13527%2026.4212%203.89496%2020.3115%206.87891C14.2018%209.86288%209.32423%2014.8845%206.51855%2021.0781C3.71296%2027.2719%203.15512%2034.2508%204.94141%2040.8115C5.1304%2041.5068%204.72038%2042.2236%204.02539%2042.4131C3.32995%2042.6024%202.6123%2042.1923%202.42285%2041.4971C0.47701%2034.3503%201.08442%2026.748%204.14062%2020.001C7.19678%2013.2541%2012.5107%207.78477%2019.166%204.53418Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M62.2422%2023.8568C62.9375%2023.6675%2063.6544%2024.0777%2063.8438%2024.7728C65.7896%2031.9196%2065.1823%2039.522%2062.126%2046.2689C59.0697%2053.0158%2053.756%2058.4853%2047.1006%2061.7357C40.445%2064.9863%2032.8642%2065.8144%2025.6641%2064.0765C20.6357%2062.8629%2016.0126%2060.4512%2012.1689%2057.0873L10.0049%2055.1927V60.892C10.0048%2061.6124%209.42064%2062.1965%208.7002%2062.1967C7.97953%2062.1967%207.39465%2061.6126%207.39453%2060.892V51.433C7.39459%2050.7123%207.97949%2050.1283%208.7002%2050.1283H18.2441C18.9647%2050.1284%2019.5488%2050.7124%2019.5488%2051.433C19.5488%2052.1537%2018.9648%2052.7376%2018.2441%2052.7377H11.1914L13.7715%2055.0209C17.3228%2058.1623%2021.6095%2060.413%2026.2764%2061.5394C32.886%2063.1347%2039.8453%2062.3748%2045.9551%2059.391C52.0648%2056.407%2056.9434%2051.3855%2059.749%2045.1918C62.5546%2038.998%2063.1125%2032.0191%2061.3262%2025.4584C61.1488%2024.8064%2061.4978%2024.1351%2062.1152%2023.8978L62.2422%2023.8568Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M32.5%2020.4045C32.6936%2019.8812%2033.4332%2019.881%2033.627%2020.4045C35.7001%2026.0073%2040.1179%2030.425%2045.7207%2032.4983C46.2441%2032.6919%2046.2441%2033.4316%2045.7207%2033.6252C40.1179%2035.6985%2035.7001%2040.1162%2033.627%2045.719C33.4332%2046.2424%2032.6937%2046.2424%2032.5%2045.719C30.4267%2040.1162%2026.0091%2035.6985%2020.4062%2033.6252C19.8829%2033.4316%2019.8829%2032.6919%2020.4062%2032.4983C26.0091%2030.425%2030.4267%2026.0073%2032.5%2020.4045Z'%20stroke='black'%20stroke-width='3.48'/%3e%3c/svg%3e";
1
+ function f({
2
+ ariaLabel: e,
3
+ ariaLabelledBy: i,
4
+ ariaDescribedBy: r
5
+ }) {
6
+ const t = {};
7
+ return i ? t["aria-labelledby"] = i : e && (t["aria-label"] = e), r && (t["aria-describedby"] = r), t;
8
+ }
2
9
  export {
3
- C as default
10
+ f as getA11yNameAttributes
4
11
  };
5
12
  //# sourceMappingURL=index81.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index81.js","sources":["../src/assets/icons/ai-re-run.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='67'%20height='67'%20viewBox='0%200%2067%2067'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.166%204.53418C25.8215%201.28372%2033.4025%200.455651%2040.6025%202.19336C45.6308%203.40697%2050.254%205.81881%2054.0977%209.18262L56.2627%2011.0771V5.22852C56.2628%204.50782%2056.8467%203.92384%2057.5674%203.92383C58.288%203.92383%2058.872%204.50784%2058.8721%205.22852V14.8369C58.872%2015.5575%2058.288%2016.1416%2057.5674%2016.1416H47.874C47.1533%2016.1416%2046.5684%2015.5576%2046.5684%2014.8369C46.5684%2014.1161%2047.1533%2013.5322%2047.874%2013.5322H55.0752L52.4951%2011.249C48.9439%208.10762%2044.6571%205.85686%2039.9902%204.73047C33.3806%203.13527%2026.4212%203.89496%2020.3115%206.87891C14.2018%209.86288%209.32423%2014.8845%206.51855%2021.0781C3.71296%2027.2719%203.15512%2034.2508%204.94141%2040.8115C5.1304%2041.5068%204.72038%2042.2236%204.02539%2042.4131C3.32995%2042.6024%202.6123%2042.1923%202.42285%2041.4971C0.47701%2034.3503%201.08442%2026.748%204.14062%2020.001C7.19678%2013.2541%2012.5107%207.78477%2019.166%204.53418Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M62.2422%2023.8568C62.9375%2023.6675%2063.6544%2024.0777%2063.8438%2024.7728C65.7896%2031.9196%2065.1823%2039.522%2062.126%2046.2689C59.0697%2053.0158%2053.756%2058.4853%2047.1006%2061.7357C40.445%2064.9863%2032.8642%2065.8144%2025.6641%2064.0765C20.6357%2062.8629%2016.0126%2060.4512%2012.1689%2057.0873L10.0049%2055.1927V60.892C10.0048%2061.6124%209.42064%2062.1965%208.7002%2062.1967C7.97953%2062.1967%207.39465%2061.6126%207.39453%2060.892V51.433C7.39459%2050.7123%207.97949%2050.1283%208.7002%2050.1283H18.2441C18.9647%2050.1284%2019.5488%2050.7124%2019.5488%2051.433C19.5488%2052.1537%2018.9648%2052.7376%2018.2441%2052.7377H11.1914L13.7715%2055.0209C17.3228%2058.1623%2021.6095%2060.413%2026.2764%2061.5394C32.886%2063.1347%2039.8453%2062.3748%2045.9551%2059.391C52.0648%2056.407%2056.9434%2051.3855%2059.749%2045.1918C62.5546%2038.998%2063.1125%2032.0191%2061.3262%2025.4584C61.1488%2024.8064%2061.4978%2024.1351%2062.1152%2023.8978L62.2422%2023.8568Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M32.5%2020.4045C32.6936%2019.8812%2033.4332%2019.881%2033.627%2020.4045C35.7001%2026.0073%2040.1179%2030.425%2045.7207%2032.4983C46.2441%2032.6919%2046.2441%2033.4316%2045.7207%2033.6252C40.1179%2035.6985%2035.7001%2040.1162%2033.627%2045.719C33.4332%2046.2424%2032.6937%2046.2424%2032.5%2045.719C30.4267%2040.1162%2026.0091%2035.6985%2020.4062%2033.6252C19.8829%2033.4316%2019.8829%2032.6919%2020.4062%2032.4983C26.0091%2030.425%2030.4267%2026.0073%2032.5%2020.4045Z'%20stroke='black'%20stroke-width='3.48'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_1"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index81.js","sources":["../src/utils/a11y/accessibleName.ts"],"sourcesContent":["/**\n * Accessible name/description utilities following WCAG precedence rules.\n * \n * **When to use:**\n * - `ariaLabelledBy`: visible label exists (preferred - keeps SR and visual text in sync)\n * - `ariaLabel`: no visible label (e.g., icon-only buttons)\n * - `ariaDescribedBy`: additional context needed (warnings, hints, constraints)\n * \n * **Precedence:** ariaLabelledBy > ariaLabel > visible text content\n * \n * @example Icon-only button\n * ```tsx\n * <Button iconProps={{ name: 'close' }} ariaLabel=\"Close dialog\" />\n * ```\n * \n * @example Disambiguate generic labels\n * ```tsx\n * <Button label=\"Edit\" ariaLabel=\"Edit name\" />\n * <Button label=\"Edit\" ariaLabel=\"Edit email\" />\n * ```\n */\n\nexport type AccessibleNameInput = {\n /** Accessible name when no visible label exists (icon-only buttons). */\n ariaLabel?: string;\n /** ID(s) of visible element(s) that label this control. Preferred over ariaLabel. */\n ariaLabelledBy?: string;\n /** ID(s) of element(s) providing additional description (additive). */\n ariaDescribedBy?: string;\n};\n\n/**\n * Returns ARIA attributes with correct precedence.\n * Prefer ariaLabelledBy > ariaLabel. ariaDescribedBy is always additive.\n */\nexport function getA11yNameAttributes({\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy\n}: AccessibleNameInput): Record<string, string> {\n const props: Record<string, string> = {};\n\n if (ariaLabelledBy) props['aria-labelledby'] = ariaLabelledBy;\n else if (ariaLabel) props['aria-label'] = ariaLabel;\n\n if (ariaDescribedBy) props['aria-describedby'] = ariaDescribedBy;\n\n return props;\n}\n"],"names":["getA11yNameAttributes","ariaLabel","ariaLabelledBy","ariaDescribedBy","props"],"mappings":"AAmCO,SAASA,EAAsB;AAAA,EACpCC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,iBAAAA;AACmB,GAA2B;AAC9C,QAAMC,IAAgC,CAAA;AAEtC,SAAIF,IAAgBE,EAAM,iBAAiB,IAAIF,IACtCD,MAAWG,EAAM,YAAY,IAAIH,IAEtCE,MAAiBC,EAAM,kBAAkB,IAAID,IAE1CC;AACT;"}
package/dist/index83.js CHANGED
@@ -1,4 +1,4 @@
1
- const L = "data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.4958%207.65801L9.58298%205.83203L8.67016%207.65801C8.37987%208.23869%207.90907%208.70953%207.32841%208.99985L5.50189%209.91312L7.32841%2010.8264C7.90907%2011.1167%208.37987%2011.5876%208.67016%2012.1682L9.58298%2013.9942L10.4958%2012.1682C10.7861%2011.5876%2011.2569%2011.1167%2011.8375%2010.8264L13.6641%209.91312L11.8375%208.99986C11.2569%208.70953%2010.7861%208.23869%2010.4958%207.65801Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3cpath%20d='M4.66587%203.16003L4.33592%202.5L4.00597%203.16003C3.71568%203.7407%203.24488%204.21155%202.66423%204.50187L2.00387%204.83205L2.66422%205.16223C3.24487%205.45255%203.71568%205.9234%204.00597%206.50407L4.33592%207.1641L4.66587%206.50407C4.95615%205.9234%205.42696%205.45255%206.00761%205.16223L6.66797%204.83205L6.00761%204.50187C5.42696%204.21155%204.95615%203.7407%204.66587%203.16003Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3c/svg%3e";
1
+ const L = "data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='32'%20height='32'%20rx='16'%20fill='white'/%3e%3cpath%20d='M11.0179%2013.3597L12.27%2010.855L13.5222%2013.3597C13.9204%2014.1563%2014.5662%2014.8021%2015.3627%2015.2004L17.8682%2016.4531L15.3627%2017.7059C14.5662%2018.1041%2013.9204%2018.75%2013.5222%2019.5465L12.27%2022.0513L11.0179%2019.5465C10.6197%2018.75%209.97387%2018.1041%209.17738%2017.7059L6.67188%2016.4531L9.17738%2015.2004C9.97387%2014.8021%2010.6197%2014.1563%2011.0179%2013.3597Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%207.18859L19.4685%206.2832L19.9211%207.18859C20.3193%207.98511%2020.9651%208.63098%2021.7616%209.02923L22.6674%209.48215L21.7616%209.93506C20.9651%2010.3333%2020.3193%2010.9792%2019.9211%2011.7757L19.4685%2012.6811L19.0159%2011.7757C18.6177%2010.9792%2017.9719%2010.3333%2017.1754%209.93506L16.2695%209.48215L17.1754%209.02923C17.9719%208.63098%2018.6177%207.98511%2019.0159%207.18859Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%2021.3561L19.4685%2020.4507L19.9211%2021.3561C20.3193%2022.1526%2020.9651%2022.7985%2021.7616%2023.1967L22.6674%2023.6496L21.7616%2024.1025C20.9651%2024.5008%2020.3193%2025.1467%2019.9211%2025.9432L19.4685%2026.8486L19.0159%2025.9432C18.6177%2025.1467%2017.9719%2024.5008%2017.1754%2024.1025L16.2695%2023.6496L17.1754%2023.1967C17.9719%2022.7985%2018.6177%2022.1526%2019.0159%2021.3561Z'%20fill='%23415575'/%3e%3c/svg%3e";
2
2
  export {
3
3
  L as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index83.js","sources":["../src/assets/icons/ai-stars.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.4958%207.65801L9.58298%205.83203L8.67016%207.65801C8.37987%208.23869%207.90907%208.70953%207.32841%208.99985L5.50189%209.91312L7.32841%2010.8264C7.90907%2011.1167%208.37987%2011.5876%208.67016%2012.1682L9.58298%2013.9942L10.4958%2012.1682C10.7861%2011.5876%2011.2569%2011.1167%2011.8375%2010.8264L13.6641%209.91312L11.8375%208.99986C11.2569%208.70953%2010.7861%208.23869%2010.4958%207.65801Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3cpath%20d='M4.66587%203.16003L4.33592%202.5L4.00597%203.16003C3.71568%203.7407%203.24488%204.21155%202.66423%204.50187L2.00387%204.83205L2.66422%205.16223C3.24487%205.45255%203.71568%205.9234%204.00597%206.50407L4.33592%207.1641L4.66587%206.50407C4.95615%205.9234%205.42696%205.45255%206.00761%205.16223L6.66797%204.83205L6.00761%204.50187C5.42696%204.21155%204.95615%203.7407%204.66587%203.16003Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_3"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index83.js","sources":["../src/assets/icons/ai-off.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='32'%20height='32'%20rx='16'%20fill='white'/%3e%3cpath%20d='M11.0179%2013.3597L12.27%2010.855L13.5222%2013.3597C13.9204%2014.1563%2014.5662%2014.8021%2015.3627%2015.2004L17.8682%2016.4531L15.3627%2017.7059C14.5662%2018.1041%2013.9204%2018.75%2013.5222%2019.5465L12.27%2022.0513L11.0179%2019.5465C10.6197%2018.75%209.97387%2018.1041%209.17738%2017.7059L6.67188%2016.4531L9.17738%2015.2004C9.97387%2014.8021%2010.6197%2014.1563%2011.0179%2013.3597Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%207.18859L19.4685%206.2832L19.9211%207.18859C20.3193%207.98511%2020.9651%208.63098%2021.7616%209.02923L22.6674%209.48215L21.7616%209.93506C20.9651%2010.3333%2020.3193%2010.9792%2019.9211%2011.7757L19.4685%2012.6811L19.0159%2011.7757C18.6177%2010.9792%2017.9719%2010.3333%2017.1754%209.93506L16.2695%209.48215L17.1754%209.02923C17.9719%208.63098%2018.6177%207.98511%2019.0159%207.18859Z'%20fill='%23415575'/%3e%3cpath%20d='M19.0159%2021.3561L19.4685%2020.4507L19.9211%2021.3561C20.3193%2022.1526%2020.9651%2022.7985%2021.7616%2023.1967L22.6674%2023.6496L21.7616%2024.1025C20.9651%2024.5008%2020.3193%2025.1467%2019.9211%2025.9432L19.4685%2026.8486L19.0159%2025.9432C18.6177%2025.1467%2017.9719%2024.5008%2017.1754%2024.1025L16.2695%2023.6496L17.1754%2023.1967C17.9719%2022.7985%2018.6177%2022.1526%2019.0159%2021.3561Z'%20fill='%23415575'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_0"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index84.js CHANGED
@@ -1,5 +1,5 @@
1
- const e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='url(%23paint0_linear_11822_95435)'/%3e%3cpath%20d='M8.2639%2010.0192L9.20301%208.14062L10.1421%2010.0192C10.4408%2010.6166%2010.9251%2011.101%2011.5225%2011.3997L13.4016%2012.3392L11.5225%2013.2788C10.9251%2013.5775%2010.4408%2014.0619%2010.1421%2014.6593L9.20301%2016.5379L8.2639%2014.6593C7.96526%2014.0619%207.48089%2013.5775%206.88352%2013.2788L5.00439%2012.3392L6.88352%2011.3997C7.48089%2011.101%207.96526%2010.6166%208.2639%2010.0192Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%205.39193L14.6023%204.71289L14.9418%205.39193C15.2404%205.98932%2015.7248%206.47373%2016.3222%206.77241L17.0015%207.1121L16.3222%207.45178C15.7248%207.75047%2015.2404%208.23487%2014.9418%208.83227L14.6023%209.51131L14.2629%208.83227C13.9642%208.23487%2013.4799%207.75047%2012.8825%207.45178L12.2031%207.1121L12.8825%206.77241C13.4799%206.47373%2013.9642%205.98932%2014.2629%205.39193Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%2016.0169L14.6023%2015.3379L14.9418%2016.0169C15.2404%2016.6143%2015.7248%2017.0987%2016.3222%2017.3974L17.0015%2017.7371L16.3222%2018.0768C15.7248%2018.3755%2015.2404%2018.8599%2014.9418%2019.4573L14.6023%2020.1363L14.2629%2019.4573C13.9642%2018.8599%2013.4799%2018.3755%2012.8825%2018.0768L12.2031%2017.7371L12.8825%2017.3974C13.4799%2017.0987%2013.9642%2016.6143%2014.2629%2016.0169Z'%20fill='%239335F0'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_11822_95435'%20x1='12'%20y1='3.06538e-07'%20x2='22.2857'%20y2='24'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F2E1FF'/%3e%3cstop%20offset='1'%20stop-color='%23E3BDFE'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
1
+ const C = "data:image/svg+xml,%3csvg%20width='67'%20height='67'%20viewBox='0%200%2067%2067'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.166%204.53418C25.8215%201.28372%2033.4025%200.455651%2040.6025%202.19336C45.6308%203.40697%2050.254%205.81881%2054.0977%209.18262L56.2627%2011.0771V5.22852C56.2628%204.50782%2056.8467%203.92384%2057.5674%203.92383C58.288%203.92383%2058.872%204.50784%2058.8721%205.22852V14.8369C58.872%2015.5575%2058.288%2016.1416%2057.5674%2016.1416H47.874C47.1533%2016.1416%2046.5684%2015.5576%2046.5684%2014.8369C46.5684%2014.1161%2047.1533%2013.5322%2047.874%2013.5322H55.0752L52.4951%2011.249C48.9439%208.10762%2044.6571%205.85686%2039.9902%204.73047C33.3806%203.13527%2026.4212%203.89496%2020.3115%206.87891C14.2018%209.86288%209.32423%2014.8845%206.51855%2021.0781C3.71296%2027.2719%203.15512%2034.2508%204.94141%2040.8115C5.1304%2041.5068%204.72038%2042.2236%204.02539%2042.4131C3.32995%2042.6024%202.6123%2042.1923%202.42285%2041.4971C0.47701%2034.3503%201.08442%2026.748%204.14062%2020.001C7.19678%2013.2541%2012.5107%207.78477%2019.166%204.53418Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M62.2422%2023.8568C62.9375%2023.6675%2063.6544%2024.0777%2063.8438%2024.7728C65.7896%2031.9196%2065.1823%2039.522%2062.126%2046.2689C59.0697%2053.0158%2053.756%2058.4853%2047.1006%2061.7357C40.445%2064.9863%2032.8642%2065.8144%2025.6641%2064.0765C20.6357%2062.8629%2016.0126%2060.4512%2012.1689%2057.0873L10.0049%2055.1927V60.892C10.0048%2061.6124%209.42064%2062.1965%208.7002%2062.1967C7.97953%2062.1967%207.39465%2061.6126%207.39453%2060.892V51.433C7.39459%2050.7123%207.97949%2050.1283%208.7002%2050.1283H18.2441C18.9647%2050.1284%2019.5488%2050.7124%2019.5488%2051.433C19.5488%2052.1537%2018.9648%2052.7376%2018.2441%2052.7377H11.1914L13.7715%2055.0209C17.3228%2058.1623%2021.6095%2060.413%2026.2764%2061.5394C32.886%2063.1347%2039.8453%2062.3748%2045.9551%2059.391C52.0648%2056.407%2056.9434%2051.3855%2059.749%2045.1918C62.5546%2038.998%2063.1125%2032.0191%2061.3262%2025.4584C61.1488%2024.8064%2061.4978%2024.1351%2062.1152%2023.8978L62.2422%2023.8568Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M32.5%2020.4045C32.6936%2019.8812%2033.4332%2019.881%2033.627%2020.4045C35.7001%2026.0073%2040.1179%2030.425%2045.7207%2032.4983C46.2441%2032.6919%2046.2441%2033.4316%2045.7207%2033.6252C40.1179%2035.6985%2035.7001%2040.1162%2033.627%2045.719C33.4332%2046.2424%2032.6937%2046.2424%2032.5%2045.719C30.4267%2040.1162%2026.0091%2035.6985%2020.4062%2033.6252C19.8829%2033.4316%2019.8829%2032.6919%2020.4062%2032.4983C26.0091%2030.425%2030.4267%2026.0073%2032.5%2020.4045Z'%20stroke='black'%20stroke-width='3.48'/%3e%3c/svg%3e";
2
2
  export {
3
- e as default
3
+ C as default
4
4
  };
5
5
  //# sourceMappingURL=index84.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index84.js","sources":["../src/assets/icons/ai.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='url(%23paint0_linear_11822_95435)'/%3e%3cpath%20d='M8.2639%2010.0192L9.20301%208.14062L10.1421%2010.0192C10.4408%2010.6166%2010.9251%2011.101%2011.5225%2011.3997L13.4016%2012.3392L11.5225%2013.2788C10.9251%2013.5775%2010.4408%2014.0619%2010.1421%2014.6593L9.20301%2016.5379L8.2639%2014.6593C7.96526%2014.0619%207.48089%2013.5775%206.88352%2013.2788L5.00439%2012.3392L6.88352%2011.3997C7.48089%2011.101%207.96526%2010.6166%208.2639%2010.0192Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%205.39193L14.6023%204.71289L14.9418%205.39193C15.2404%205.98932%2015.7248%206.47373%2016.3222%206.77241L17.0015%207.1121L16.3222%207.45178C15.7248%207.75047%2015.2404%208.23487%2014.9418%208.83227L14.6023%209.51131L14.2629%208.83227C13.9642%208.23487%2013.4799%207.75047%2012.8825%207.45178L12.2031%207.1121L12.8825%206.77241C13.4799%206.47373%2013.9642%205.98932%2014.2629%205.39193Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%2016.0169L14.6023%2015.3379L14.9418%2016.0169C15.2404%2016.6143%2015.7248%2017.0987%2016.3222%2017.3974L17.0015%2017.7371L16.3222%2018.0768C15.7248%2018.3755%2015.2404%2018.8599%2014.9418%2019.4573L14.6023%2020.1363L14.2629%2019.4573C13.9642%2018.8599%2013.4799%2018.3755%2012.8825%2018.0768L12.2031%2017.7371L12.8825%2017.3974C13.4799%2017.0987%2013.9642%2016.6143%2014.2629%2016.0169Z'%20fill='%239335F0'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_11822_95435'%20x1='12'%20y1='3.06538e-07'%20x2='22.2857'%20y2='24'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F2E1FF'/%3e%3cstop%20offset='1'%20stop-color='%23E3BDFE'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\""],"names":["__vite_glob_0_4"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index84.js","sources":["../src/assets/icons/ai-re-run.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='67'%20height='67'%20viewBox='0%200%2067%2067'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.166%204.53418C25.8215%201.28372%2033.4025%200.455651%2040.6025%202.19336C45.6308%203.40697%2050.254%205.81881%2054.0977%209.18262L56.2627%2011.0771V5.22852C56.2628%204.50782%2056.8467%203.92384%2057.5674%203.92383C58.288%203.92383%2058.872%204.50784%2058.8721%205.22852V14.8369C58.872%2015.5575%2058.288%2016.1416%2057.5674%2016.1416H47.874C47.1533%2016.1416%2046.5684%2015.5576%2046.5684%2014.8369C46.5684%2014.1161%2047.1533%2013.5322%2047.874%2013.5322H55.0752L52.4951%2011.249C48.9439%208.10762%2044.6571%205.85686%2039.9902%204.73047C33.3806%203.13527%2026.4212%203.89496%2020.3115%206.87891C14.2018%209.86288%209.32423%2014.8845%206.51855%2021.0781C3.71296%2027.2719%203.15512%2034.2508%204.94141%2040.8115C5.1304%2041.5068%204.72038%2042.2236%204.02539%2042.4131C3.32995%2042.6024%202.6123%2042.1923%202.42285%2041.4971C0.47701%2034.3503%201.08442%2026.748%204.14062%2020.001C7.19678%2013.2541%2012.5107%207.78477%2019.166%204.53418Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M62.2422%2023.8568C62.9375%2023.6675%2063.6544%2024.0777%2063.8438%2024.7728C65.7896%2031.9196%2065.1823%2039.522%2062.126%2046.2689C59.0697%2053.0158%2053.756%2058.4853%2047.1006%2061.7357C40.445%2064.9863%2032.8642%2065.8144%2025.6641%2064.0765C20.6357%2062.8629%2016.0126%2060.4512%2012.1689%2057.0873L10.0049%2055.1927V60.892C10.0048%2061.6124%209.42064%2062.1965%208.7002%2062.1967C7.97953%2062.1967%207.39465%2061.6126%207.39453%2060.892V51.433C7.39459%2050.7123%207.97949%2050.1283%208.7002%2050.1283H18.2441C18.9647%2050.1284%2019.5488%2050.7124%2019.5488%2051.433C19.5488%2052.1537%2018.9648%2052.7376%2018.2441%2052.7377H11.1914L13.7715%2055.0209C17.3228%2058.1623%2021.6095%2060.413%2026.2764%2061.5394C32.886%2063.1347%2039.8453%2062.3748%2045.9551%2059.391C52.0648%2056.407%2056.9434%2051.3855%2059.749%2045.1918C62.5546%2038.998%2063.1125%2032.0191%2061.3262%2025.4584C61.1488%2024.8064%2061.4978%2024.1351%2062.1152%2023.8978L62.2422%2023.8568Z'%20stroke='black'%20stroke-width='2.61'/%3e%3cpath%20d='M32.5%2020.4045C32.6936%2019.8812%2033.4332%2019.881%2033.627%2020.4045C35.7001%2026.0073%2040.1179%2030.425%2045.7207%2032.4983C46.2441%2032.6919%2046.2441%2033.4316%2045.7207%2033.6252C40.1179%2035.6985%2035.7001%2040.1162%2033.627%2045.719C33.4332%2046.2424%2032.6937%2046.2424%2032.5%2045.719C30.4267%2040.1162%2026.0091%2035.6985%2020.4062%2033.6252C19.8829%2033.4316%2019.8829%2032.6919%2020.4062%2032.4983C26.0091%2030.425%2030.4267%2026.0073%2032.5%2020.4045Z'%20stroke='black'%20stroke-width='3.48'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_1"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index85.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5121_25308)'%3e%3cpath%20d='M6.77349%2010.3359H1.71958C1.3912%2010.3359%201.125%2010.6021%201.125%2010.9305V15.9844C1.125%2016.3128%201.3912%2016.579%201.71958%2016.579H6.77349C7.10186%2016.579%207.36806%2016.3128%207.36806%2015.9844V10.9305C7.36806%2010.6021%207.10186%2010.3359%206.77349%2010.3359Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15.9888%2010.3359H10.9349C10.6065%2010.3359%2010.3403%2010.6021%2010.3403%2010.9305V15.9844C10.3403%2016.3128%2010.6065%2016.579%2010.9349%2016.579H15.9888C16.3171%2016.579%2016.5834%2016.3128%2016.5834%2015.9844V10.9305C16.5834%2010.6021%2016.3171%2010.3359%2015.9888%2010.3359Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.3921%201.125H6.33823C6.00986%201.125%205.74365%201.3912%205.74365%201.71958V6.77349C5.74365%207.10186%206.00986%207.36806%206.33823%207.36806H11.3921C11.7205%207.36806%2011.9867%207.10186%2011.9867%206.77349V1.71958C11.9867%201.3912%2011.7205%201.125%2011.3921%201.125Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5121_25308'%3e%3crect%20width='18'%20height='18'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
1
+ const e = "data:image/svg+xml,%3csvg%20width='21'%20height='20'%20viewBox='0%200%2021%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.8'%3e%3cg%20clip-path='url(%23clip0_11623_94780)'%3e%3cpath%20d='M8.93929%2014.7575C12.1504%2014.7575%2014.7536%2012.1543%2014.7536%208.94319C14.7536%205.73205%2012.1504%203.12891%208.93929%203.12891C5.72814%203.12891%203.125%205.73205%203.125%208.94319C3.125%2012.1543%205.72814%2014.7575%208.93929%2014.7575Z'%20stroke='%23D8E8F6'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M16.8642%2016.872L13.0469%2013.0547'%20stroke='%23D8E8F6'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12.4688%201.47559C13.0214%202.58108%2013.918%203.47752%2015.0234%204.03027L15.9619%204.5L15.0234%204.96973C13.918%205.52248%2013.0214%206.41892%2012.4688%207.52441L12%208.46191L11.5313%207.52441C10.9786%206.41892%2010.082%205.52248%208.97656%204.96973L8.03711%204.5L8.97656%204.03027C10.082%203.47752%2010.9786%202.58108%2011.5313%201.47559L12%200.538086L12.4688%201.47559Z'%20fill='white'%20stroke='%233E8BD1'%20stroke-width='1.375'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11623_94780'%3e%3crect%20width='16'%20height='18'%20fill='white'%20transform='translate(2)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index85.js","sources":["../src/assets/icons/all-space.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5121_25308)'%3e%3cpath%20d='M6.77349%2010.3359H1.71958C1.3912%2010.3359%201.125%2010.6021%201.125%2010.9305V15.9844C1.125%2016.3128%201.3912%2016.579%201.71958%2016.579H6.77349C7.10186%2016.579%207.36806%2016.3128%207.36806%2015.9844V10.9305C7.36806%2010.6021%207.10186%2010.3359%206.77349%2010.3359Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15.9888%2010.3359H10.9349C10.6065%2010.3359%2010.3403%2010.6021%2010.3403%2010.9305V15.9844C10.3403%2016.3128%2010.6065%2016.579%2010.9349%2016.579H15.9888C16.3171%2016.579%2016.5834%2016.3128%2016.5834%2015.9844V10.9305C16.5834%2010.6021%2016.3171%2010.3359%2015.9888%2010.3359Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.3921%201.125H6.33823C6.00986%201.125%205.74365%201.3912%205.74365%201.71958V6.77349C5.74365%207.10186%206.00986%207.36806%206.33823%207.36806H11.3921C11.7205%207.36806%2011.9867%207.10186%2011.9867%206.77349V1.71958C11.9867%201.3912%2011.7205%201.125%2011.3921%201.125Z'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5121_25308'%3e%3crect%20width='18'%20height='18'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\""],"names":["__vite_glob_0_5"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index85.js","sources":["../src/assets/icons/ai-search.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='21'%20height='20'%20viewBox='0%200%2021%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.8'%3e%3cg%20clip-path='url(%23clip0_11623_94780)'%3e%3cpath%20d='M8.93929%2014.7575C12.1504%2014.7575%2014.7536%2012.1543%2014.7536%208.94319C14.7536%205.73205%2012.1504%203.12891%208.93929%203.12891C5.72814%203.12891%203.125%205.73205%203.125%208.94319C3.125%2012.1543%205.72814%2014.7575%208.93929%2014.7575Z'%20stroke='%23D8E8F6'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M16.8642%2016.872L13.0469%2013.0547'%20stroke='%23D8E8F6'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12.4688%201.47559C13.0214%202.58108%2013.918%203.47752%2015.0234%204.03027L15.9619%204.5L15.0234%204.96973C13.918%205.52248%2013.0214%206.41892%2012.4688%207.52441L12%208.46191L11.5313%207.52441C10.9786%206.41892%2010.082%205.52248%208.97656%204.96973L8.03711%204.5L8.97656%204.03027C10.082%203.47752%2010.9786%202.58108%2011.5313%201.47559L12%200.538086L12.4688%201.47559Z'%20fill='white'%20stroke='%233E8BD1'%20stroke-width='1.375'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11623_94780'%3e%3crect%20width='16'%20height='18'%20fill='white'%20transform='translate(2)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\""],"names":["__vite_glob_0_2"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index86.js CHANGED
@@ -1,5 +1,5 @@
1
- const e = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20transform='rotate(45)'%3e%3cpath%20fillRule='evenodd'%20clipRule='evenodd'%20d='M4.10624%2012.3651C4.22961%2012.6989%204.54783%2012.9205%204.90372%2012.9205C5.27396%2012.9205%205.60164%2012.6809%205.7139%2012.3281L7.24454%207.51754C7.28945%207.37641%207.39461%207.26245%207.53169%207.20637L12.3767%205.22431C12.6992%205.09241%2012.9098%204.77864%2012.9098%204.43029C12.9098%204.05897%2012.6709%203.72979%2012.3179%203.61467L1.3937%200.0524441C1.01297%20-0.0717039%200.59479%200.0284601%200.311625%200.311623C0.0179321%200.605312%20-0.0779839%201.04307%200.0659951%201.43266L4.10624%2012.3651Z'%20fill='%23E04E05'%20/%3e%3c/svg%3e";
1
+ const L = "data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.4958%207.65801L9.58298%205.83203L8.67016%207.65801C8.37987%208.23869%207.90907%208.70953%207.32841%208.99985L5.50189%209.91312L7.32841%2010.8264C7.90907%2011.1167%208.37987%2011.5876%208.67016%2012.1682L9.58298%2013.9942L10.4958%2012.1682C10.7861%2011.5876%2011.2569%2011.1167%2011.8375%2010.8264L13.6641%209.91312L11.8375%208.99986C11.2569%208.70953%2010.7861%208.23869%2010.4958%207.65801Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3cpath%20d='M4.66587%203.16003L4.33592%202.5L4.00597%203.16003C3.71568%203.7407%203.24488%204.21155%202.66423%204.50187L2.00387%204.83205L2.66422%205.16223C3.24487%205.45255%203.71568%205.9234%204.00597%206.50407L4.33592%207.1641L4.66587%206.50407C4.95615%205.9234%205.42696%205.45255%206.00761%205.16223L6.66797%204.83205L6.00761%204.50187C5.42696%204.21155%204.95615%203.7407%204.66587%203.16003Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3c/svg%3e";
2
2
  export {
3
- e as default
3
+ L as default
4
4
  };
5
5
  //# sourceMappingURL=index86.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index86.js","sources":["../src/assets/icons/arrow-head.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20transform='rotate(45)'%3e%3cpath%20fillRule='evenodd'%20clipRule='evenodd'%20d='M4.10624%2012.3651C4.22961%2012.6989%204.54783%2012.9205%204.90372%2012.9205C5.27396%2012.9205%205.60164%2012.6809%205.7139%2012.3281L7.24454%207.51754C7.28945%207.37641%207.39461%207.26245%207.53169%207.20637L12.3767%205.22431C12.6992%205.09241%2012.9098%204.77864%2012.9098%204.43029C12.9098%204.05897%2012.6709%203.72979%2012.3179%203.61467L1.3937%200.0524441C1.01297%20-0.0717039%200.59479%200.0284601%200.311625%200.311623C0.0179321%200.605312%20-0.0779839%201.04307%200.0659951%201.43266L4.10624%2012.3651Z'%20fill='%23E04E05'%20/%3e%3c/svg%3e\""],"names":["__vite_glob_0_6"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index86.js","sources":["../src/assets/icons/ai-stars.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.4958%207.65801L9.58298%205.83203L8.67016%207.65801C8.37987%208.23869%207.90907%208.70953%207.32841%208.99985L5.50189%209.91312L7.32841%2010.8264C7.90907%2011.1167%208.37987%2011.5876%208.67016%2012.1682L9.58298%2013.9942L10.4958%2012.1682C10.7861%2011.5876%2011.2569%2011.1167%2011.8375%2010.8264L13.6641%209.91312L11.8375%208.99986C11.2569%208.70953%2010.7861%208.23869%2010.4958%207.65801Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3cpath%20d='M4.66587%203.16003L4.33592%202.5L4.00597%203.16003C3.71568%203.7407%203.24488%204.21155%202.66423%204.50187L2.00387%204.83205L2.66422%205.16223C3.24487%205.45255%203.71568%205.9234%204.00597%206.50407L4.33592%207.1641L4.66587%206.50407C4.95615%205.9234%205.42696%205.45255%206.00761%205.16223L6.66797%204.83205L6.00761%204.50187C5.42696%204.21155%204.95615%203.7407%204.66587%203.16003Z'%20fill='%23415575'%20stroke='%23415575'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_3"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index87.js CHANGED
@@ -1,4 +1,4 @@
1
- const e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='8'%20height='11'%20viewBox='0%200%208%2011'%20fill='none'%3e%3cpath%20d='M5.2%207.9359L5.2%203.32051C5.2%202.75407%204.66274%202.29487%204%202.29487C3.33726%202.29487%202.8%202.75407%202.8%203.32051L2.8%208.70513C2.8%209.69641%203.7402%2010.5%204.9%2010.5C6.0598%2010.5%207%209.69641%207%208.70513L7%203.0641C7%201.64799%205.65685%200.5%204%200.5C2.34315%200.5%201%201.64799%201%203.0641L1%207.9359'%20stroke='%23415575'%20stroke-width='0.8'%20stroke-linecap='round'/%3e%3c/svg%3e";
1
+ const e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='url(%23paint0_linear_11822_95435)'/%3e%3cpath%20d='M8.2639%2010.0192L9.20301%208.14062L10.1421%2010.0192C10.4408%2010.6166%2010.9251%2011.101%2011.5225%2011.3997L13.4016%2012.3392L11.5225%2013.2788C10.9251%2013.5775%2010.4408%2014.0619%2010.1421%2014.6593L9.20301%2016.5379L8.2639%2014.6593C7.96526%2014.0619%207.48089%2013.5775%206.88352%2013.2788L5.00439%2012.3392L6.88352%2011.3997C7.48089%2011.101%207.96526%2010.6166%208.2639%2010.0192Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%205.39193L14.6023%204.71289L14.9418%205.39193C15.2404%205.98932%2015.7248%206.47373%2016.3222%206.77241L17.0015%207.1121L16.3222%207.45178C15.7248%207.75047%2015.2404%208.23487%2014.9418%208.83227L14.6023%209.51131L14.2629%208.83227C13.9642%208.23487%2013.4799%207.75047%2012.8825%207.45178L12.2031%207.1121L12.8825%206.77241C13.4799%206.47373%2013.9642%205.98932%2014.2629%205.39193Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%2016.0169L14.6023%2015.3379L14.9418%2016.0169C15.2404%2016.6143%2015.7248%2017.0987%2016.3222%2017.3974L17.0015%2017.7371L16.3222%2018.0768C15.7248%2018.3755%2015.2404%2018.8599%2014.9418%2019.4573L14.6023%2020.1363L14.2629%2019.4573C13.9642%2018.8599%2013.4799%2018.3755%2012.8825%2018.0768L12.2031%2017.7371L12.8825%2017.3974C13.4799%2017.0987%2013.9642%2016.6143%2014.2629%2016.0169Z'%20fill='%239335F0'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_11822_95435'%20x1='12'%20y1='3.06538e-07'%20x2='22.2857'%20y2='24'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F2E1FF'/%3e%3cstop%20offset='1'%20stop-color='%23E3BDFE'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index87.js","sources":["../src/assets/icons/attachment.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='8'%20height='11'%20viewBox='0%200%208%2011'%20fill='none'%3e%3cpath%20d='M5.2%207.9359L5.2%203.32051C5.2%202.75407%204.66274%202.29487%204%202.29487C3.33726%202.29487%202.8%202.75407%202.8%203.32051L2.8%208.70513C2.8%209.69641%203.7402%2010.5%204.9%2010.5C6.0598%2010.5%207%209.69641%207%208.70513L7%203.0641C7%201.64799%205.65685%200.5%204%200.5C2.34315%200.5%201%201.64799%201%203.0641L1%207.9359'%20stroke='%23415575'%20stroke-width='0.8'%20stroke-linecap='round'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_7"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"index87.js","sources":["../src/assets/icons/ai.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3crect%20width='24'%20height='24'%20rx='12'%20fill='url(%23paint0_linear_11822_95435)'/%3e%3cpath%20d='M8.2639%2010.0192L9.20301%208.14062L10.1421%2010.0192C10.4408%2010.6166%2010.9251%2011.101%2011.5225%2011.3997L13.4016%2012.3392L11.5225%2013.2788C10.9251%2013.5775%2010.4408%2014.0619%2010.1421%2014.6593L9.20301%2016.5379L8.2639%2014.6593C7.96526%2014.0619%207.48089%2013.5775%206.88352%2013.2788L5.00439%2012.3392L6.88352%2011.3997C7.48089%2011.101%207.96526%2010.6166%208.2639%2010.0192Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%205.39193L14.6023%204.71289L14.9418%205.39193C15.2404%205.98932%2015.7248%206.47373%2016.3222%206.77241L17.0015%207.1121L16.3222%207.45178C15.7248%207.75047%2015.2404%208.23487%2014.9418%208.83227L14.6023%209.51131L14.2629%208.83227C13.9642%208.23487%2013.4799%207.75047%2012.8825%207.45178L12.2031%207.1121L12.8825%206.77241C13.4799%206.47373%2013.9642%205.98932%2014.2629%205.39193Z'%20fill='%239335F0'/%3e%3cpath%20d='M14.2629%2016.0169L14.6023%2015.3379L14.9418%2016.0169C15.2404%2016.6143%2015.7248%2017.0987%2016.3222%2017.3974L17.0015%2017.7371L16.3222%2018.0768C15.7248%2018.3755%2015.2404%2018.8599%2014.9418%2019.4573L14.6023%2020.1363L14.2629%2019.4573C13.9642%2018.8599%2013.4799%2018.3755%2012.8825%2018.0768L12.2031%2017.7371L12.8825%2017.3974C13.4799%2017.0987%2013.9642%2016.6143%2014.2629%2016.0169Z'%20fill='%239335F0'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_11822_95435'%20x1='12'%20y1='3.06538e-07'%20x2='22.2857'%20y2='24'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F2E1FF'/%3e%3cstop%20offset='1'%20stop-color='%23E3BDFE'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\""],"names":["__vite_glob_0_4"],"mappings":"AAAA,MAAAA,IAAe;"}