@alexgorbatchev/shadcn 0.0.12 → 0.0.16

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 (864) hide show
  1. package/README.md +5 -1
  2. package/THIRD_PARTY_NOTICES.md +53 -1
  3. package/assistant-ui-catalog.json +2861 -0
  4. package/dist/assistant-ui/geo-map.css +75 -0
  5. package/dist/assistant-ui/markdown.css +47 -0
  6. package/dist/assistant-ui.css +146 -0
  7. package/dist/chunk-06c2d8rd.js +35 -0
  8. package/dist/chunk-0nmj2qb8.js +107 -0
  9. package/dist/chunk-0qkdp68h.js +38 -0
  10. package/dist/chunk-0vgs0ebx.js +39 -0
  11. package/dist/chunk-0xrvhezs.js +465 -0
  12. package/dist/chunk-0y0kqaqj.js +103 -0
  13. package/dist/chunk-0yqwq0ev.js +88 -0
  14. package/dist/chunk-19441s27.js +125 -0
  15. package/dist/chunk-1akz4hf3.js +16 -0
  16. package/dist/chunk-1apg76a7.js +537 -0
  17. package/dist/chunk-1hbge1cb.js +17 -0
  18. package/dist/chunk-1jeg5z55.js +111 -0
  19. package/dist/chunk-1s7af44v.js +78 -0
  20. package/dist/chunk-1wz92wgg.js +8 -0
  21. package/dist/chunk-1x2ch0xc.js +42 -0
  22. package/dist/chunk-22678d2t.js +546 -0
  23. package/dist/chunk-23ey5ek0.js +117 -0
  24. package/dist/chunk-24d68cjp.js +23 -0
  25. package/dist/chunk-299wvwy8.js +336 -0
  26. package/dist/chunk-2b9agdrf.js +82 -0
  27. package/dist/chunk-2ewx9qdn.js +45 -0
  28. package/dist/chunk-2g0zzx6f.js +102 -0
  29. package/dist/chunk-2gten6a1.js +19 -0
  30. package/dist/chunk-2m0zpzbm.js +90 -0
  31. package/dist/chunk-2tn2pg48.js +15 -0
  32. package/dist/chunk-2y5f271v.js +196 -0
  33. package/dist/chunk-2ye8evra.js +94 -0
  34. package/dist/chunk-34ndz1gf.js +35 -0
  35. package/dist/chunk-3552jz55.js +128 -0
  36. package/dist/chunk-3bzbwhda.js +104 -0
  37. package/dist/chunk-3c7tvhtx.js +39 -0
  38. package/dist/chunk-3esarnmt.js +248 -0
  39. package/dist/chunk-3g8p9apn.js +24 -0
  40. package/dist/chunk-3hvpcsb4.js +184 -0
  41. package/dist/chunk-3kp7kvdb.js +100 -0
  42. package/dist/chunk-3ptcdy6g.js +99 -0
  43. package/dist/chunk-3t4dphfj.js +98 -0
  44. package/dist/chunk-3xw5sdfk.js +65 -0
  45. package/dist/chunk-41vczcvf.js +195 -0
  46. package/dist/chunk-41wmtqkq.js +142 -0
  47. package/dist/chunk-41wykzq3.js +104 -0
  48. package/dist/chunk-47xfhw4f.js +114 -0
  49. package/dist/chunk-48b1ya7g.js +21 -0
  50. package/dist/chunk-490byd18.js +38 -0
  51. package/dist/chunk-493ghkkr.js +36 -0
  52. package/dist/chunk-4bjqbky7.js +19 -0
  53. package/dist/chunk-4c2sqyrp.js +14 -0
  54. package/dist/chunk-4gby2v61.js +133 -0
  55. package/dist/chunk-4k2jzddw.js +64 -0
  56. package/dist/chunk-4mmxn1c3.js +20 -0
  57. package/dist/chunk-4pae2b1z.js +16 -0
  58. package/dist/chunk-53cmv2aj.js +64 -0
  59. package/dist/chunk-53q730zs.js +53 -0
  60. package/dist/chunk-548kkcx4.js +28 -0
  61. package/dist/chunk-550z7s64.js +33 -0
  62. package/dist/chunk-55bcw5ff.js +74 -0
  63. package/dist/chunk-58resytq.js +112 -0
  64. package/dist/chunk-59p19t57.js +18 -0
  65. package/dist/chunk-5fg2ns3n.js +16 -0
  66. package/dist/chunk-5h6m9dsm.js +86 -0
  67. package/dist/chunk-5h7vkgvz.js +85 -0
  68. package/dist/chunk-5j39rehg.js +63 -0
  69. package/dist/chunk-5ntb7p4q.js +1005 -0
  70. package/dist/chunk-5r99spxq.js +64 -0
  71. package/dist/chunk-5s6r4g8w.js +16 -0
  72. package/dist/chunk-5wemmqv5.js +117 -0
  73. package/dist/chunk-63gvcckp.js +84 -0
  74. package/dist/chunk-644cnngf.js +54 -0
  75. package/dist/chunk-64564z9p.js +8 -0
  76. package/dist/chunk-6hbx647r.js +35 -0
  77. package/dist/chunk-6jpz5geq.js +150 -0
  78. package/dist/chunk-6krk6rjd.js +99 -0
  79. package/dist/chunk-6synj4j9.js +36 -0
  80. package/dist/chunk-6xr41wyr.js +33 -0
  81. package/dist/chunk-71efbr5n.js +24 -0
  82. package/dist/{chunk-tnktkgvp.js → chunk-73rkr9ct.js} +5 -2
  83. package/dist/chunk-74aknkhq.js +75 -0
  84. package/dist/chunk-7b3n0ftm.js +80 -0
  85. package/dist/chunk-7g1dx0bn.js +32 -0
  86. package/dist/chunk-7g39g3h8.js +104 -0
  87. package/dist/chunk-7ppfbxdh.js +101 -0
  88. package/dist/chunk-82e7fbmq.js +278 -0
  89. package/dist/chunk-86211e5a.js +19 -0
  90. package/dist/chunk-8799zv5c.js +25 -0
  91. package/dist/chunk-8g1npthk.js +92 -0
  92. package/dist/chunk-8k1y6w5k.js +141 -0
  93. package/dist/chunk-8r57zwqg.js +16 -0
  94. package/dist/chunk-8ye0k6z7.js +22 -0
  95. package/dist/chunk-97kagey4.js +105 -0
  96. package/dist/chunk-9de1htr5.js +69 -0
  97. package/dist/chunk-9dw4dyzq.js +89 -0
  98. package/dist/chunk-9msk1t9e.js +99 -0
  99. package/dist/chunk-9vm8fks0.js +397 -0
  100. package/dist/chunk-9zyam2cn.js +127 -0
  101. package/dist/chunk-a3r74mbf.js +65 -0
  102. package/dist/chunk-a6e11wj6.js +85 -0
  103. package/dist/chunk-aehkndxh.js +100 -0
  104. package/dist/chunk-aexby8h3.js +92 -0
  105. package/dist/chunk-ag6xpy6q.js +189 -0
  106. package/dist/chunk-avrh238b.js +117 -0
  107. package/dist/chunk-b06rfrfz.js +128 -0
  108. package/dist/chunk-b12s32e3.js +61 -0
  109. package/dist/chunk-b2jkgq4n.js +22 -0
  110. package/dist/chunk-b3b2tvkg.js +41 -0
  111. package/dist/chunk-bhejvd5q.js +76 -0
  112. package/dist/chunk-bnaejcfx.js +43 -0
  113. package/dist/chunk-bt5ksk3z.js +76 -0
  114. package/dist/chunk-c2vcrwjp.js +70 -0
  115. package/dist/chunk-cn1ns1xj.js +98 -0
  116. package/dist/chunk-czg9p52v.js +74 -0
  117. package/dist/chunk-d70rcwk7.js +16 -0
  118. package/dist/chunk-dd53t01w.js +14 -0
  119. package/dist/chunk-dg14mg3y.js +56 -0
  120. package/dist/chunk-djrb64cg.js +141 -0
  121. package/dist/chunk-dnja1pz5.js +18 -0
  122. package/dist/chunk-dnvb9r71.js +96 -0
  123. package/dist/chunk-ds65prb9.js +229 -0
  124. package/dist/chunk-dtkw8m6d.js +18 -0
  125. package/dist/chunk-e50068hn.js +51 -0
  126. package/dist/chunk-e59sfvpe.js +78 -0
  127. package/dist/{chunk-rjjwytbx.js → chunk-e6hk39ev.js} +3 -1
  128. package/dist/chunk-e6tx49rb.js +55 -0
  129. package/dist/chunk-ed49y20r.js +109 -0
  130. package/dist/chunk-eehfrrdz.js +37 -0
  131. package/dist/chunk-ef04mmf4.js +284 -0
  132. package/dist/chunk-emasqc8x.js +19 -0
  133. package/dist/chunk-ep057ccn.js +19 -0
  134. package/dist/chunk-eqmptn43.js +96 -0
  135. package/dist/chunk-erpzgt57.js +87 -0
  136. package/dist/chunk-ets9h67e.js +26 -0
  137. package/dist/chunk-f1mdtq5p.js +11 -0
  138. package/dist/chunk-f25bby84.js +96 -0
  139. package/dist/chunk-f307aaa6.js +299 -0
  140. package/dist/chunk-f3f76m3p.js +14 -0
  141. package/dist/chunk-f63f8w58.js +44 -0
  142. package/dist/chunk-f8zc8ceg.js +5 -0
  143. package/dist/chunk-ff8bpz3p.js +86 -0
  144. package/dist/chunk-fgfaarep.js +37 -0
  145. package/dist/chunk-fgmcbtyt.js +23 -0
  146. package/dist/chunk-fh3nme7f.js +45 -0
  147. package/dist/chunk-fq8taatb.js +85 -0
  148. package/dist/chunk-fqekyjkh.js +65 -0
  149. package/dist/chunk-fvg93469.js +42 -0
  150. package/dist/chunk-fy1jbp97.js +47 -0
  151. package/dist/chunk-gc0s6z4e.js +83 -0
  152. package/dist/chunk-gdtrt9dz.js +83 -0
  153. package/dist/chunk-ge705y2w.js +26 -0
  154. package/dist/chunk-gfm2arhj.js +165 -0
  155. package/dist/chunk-gg39sggp.js +59 -0
  156. package/dist/chunk-gknaq8ep.js +86 -0
  157. package/dist/chunk-gt8m0zeq.js +112 -0
  158. package/dist/chunk-gyg2s982.js +143 -0
  159. package/dist/chunk-h0g7qkya.js +265 -0
  160. package/dist/chunk-h51gnkz8.js +99 -0
  161. package/dist/chunk-h561m2ae.js +75 -0
  162. package/dist/chunk-h6kcqtzf.js +121 -0
  163. package/dist/chunk-h77yk9sn.js +148 -0
  164. package/dist/chunk-h8awhm19.js +52 -0
  165. package/dist/chunk-ha24sd50.js +78 -0
  166. package/dist/chunk-hhvp5352.js +19 -0
  167. package/dist/chunk-hpmvzsnv.js +258 -0
  168. package/dist/chunk-hxctrrkh.js +68 -0
  169. package/dist/chunk-hz9azhzx.js +16 -0
  170. package/dist/chunk-j5wk4ffj.js +251 -0
  171. package/dist/chunk-j89xg1ak.js +14 -0
  172. package/dist/chunk-j9d304dz.js +203 -0
  173. package/dist/chunk-jacxpetf.js +45 -0
  174. package/dist/chunk-jcxxjkqx.js +17 -0
  175. package/dist/chunk-jhw9q2eq.js +57 -0
  176. package/dist/chunk-jq6tc65r.js +86 -0
  177. package/dist/chunk-jwajmmfb.js +14 -0
  178. package/dist/chunk-jxwfkmdh.js +35 -0
  179. package/dist/chunk-jy57625a.js +19 -0
  180. package/dist/chunk-jy6nfnbx.js +94 -0
  181. package/dist/chunk-k01gpm23.js +22 -0
  182. package/dist/chunk-k3hjzpvz.js +67 -0
  183. package/dist/chunk-k6hfm259.js +37 -0
  184. package/dist/chunk-k99h6evz.js +11 -0
  185. package/dist/chunk-kbcprevc.js +17 -0
  186. package/dist/chunk-khgrv6k6.js +56 -0
  187. package/dist/chunk-khkdgmvm.js +95 -0
  188. package/dist/chunk-kjx7n6a7.js +20 -0
  189. package/dist/chunk-kp3jgjng.js +20 -0
  190. package/dist/chunk-kz9np152.js +43 -0
  191. package/dist/chunk-m0e0an33.js +78 -0
  192. package/dist/chunk-m1a9e1py.js +27 -0
  193. package/dist/chunk-m1hr3w94.js +35 -0
  194. package/dist/chunk-m54kq3he.js +59 -0
  195. package/dist/chunk-m99hfsps.js +63 -0
  196. package/dist/chunk-mammcx1w.js +33 -0
  197. package/dist/chunk-mfx3kkk3.js +38 -0
  198. package/dist/chunk-mjpc4qf7.js +322 -0
  199. package/dist/chunk-msave608.js +139 -0
  200. package/dist/chunk-mx21wpq0.js +204 -0
  201. package/dist/chunk-mznfmtt8.js +78 -0
  202. package/dist/chunk-n94jf71r.js +101 -0
  203. package/dist/chunk-njzam0hx.js +101 -0
  204. package/dist/chunk-nkx7ncf1.js +92 -0
  205. package/dist/chunk-nz2e73h2.js +132 -0
  206. package/dist/chunk-nzas8r5v.js +22 -0
  207. package/dist/chunk-p9aqek06.js +68 -0
  208. package/dist/chunk-pa07b92f.js +20 -0
  209. package/dist/chunk-pb8tsrdf.js +26 -0
  210. package/dist/chunk-pe1vvkp7.js +33 -0
  211. package/dist/chunk-pkegpb49.js +364 -0
  212. package/dist/chunk-q2ewq67a.js +171 -0
  213. package/dist/chunk-q40gqpwh.js +41 -0
  214. package/dist/chunk-q4264v6h.js +123 -0
  215. package/dist/chunk-q7zc22qp.js +77 -0
  216. package/dist/chunk-q9qm7skj.js +132 -0
  217. package/dist/chunk-qk167mcx.js +87 -0
  218. package/dist/chunk-qxt0fx4f.js +93 -0
  219. package/dist/chunk-r07v9c4f.js +65 -0
  220. package/dist/chunk-r6p7982y.js +64 -0
  221. package/dist/chunk-r7fy89jq.js +33 -0
  222. package/dist/chunk-r9mng3ws.js +27 -0
  223. package/dist/chunk-rc9kpszb.js +144 -0
  224. package/dist/chunk-rrd9fsz6.js +68 -0
  225. package/dist/chunk-ryvvtyjq.js +117 -0
  226. package/dist/chunk-s29j7505.js +147 -0
  227. package/dist/chunk-s3wqwhxc.js +15 -0
  228. package/dist/chunk-sbrpnv8s.js +117 -0
  229. package/dist/chunk-serw27sv.js +146 -0
  230. package/dist/chunk-smdxxnb8.js +19 -0
  231. package/dist/chunk-smzhep9f.js +245 -0
  232. package/dist/chunk-tetvt0c3.js +161 -0
  233. package/dist/chunk-tsekdy3w.js +449 -0
  234. package/dist/chunk-ttdeyjvj.js +88 -0
  235. package/dist/{chunk-8a7dn9ps.js → chunk-ttyqqw3y.js} +1 -1
  236. package/dist/chunk-tx19w12r.js +36 -0
  237. package/dist/chunk-tzred534.js +16 -0
  238. package/dist/chunk-v00z8h0n.js +52 -0
  239. package/dist/chunk-v0pj5b4g.js +11 -0
  240. package/dist/chunk-v8ks0cfq.js +32 -0
  241. package/dist/chunk-v9r6zprz.js +91 -0
  242. package/dist/chunk-vfhztmet.js +114 -0
  243. package/dist/chunk-vnxy5dtp.js +16 -0
  244. package/dist/chunk-vs1n47pw.js +60 -0
  245. package/dist/chunk-vx7c2xhq.js +33 -0
  246. package/dist/chunk-vxera95d.js +19 -0
  247. package/dist/chunk-vxvaaptq.js +36 -0
  248. package/dist/chunk-vygzdvrk.js +16 -0
  249. package/dist/chunk-vyve5wf3.js +24 -0
  250. package/dist/chunk-wbj4frbk.js +26 -0
  251. package/dist/chunk-wf5cnpdg.js +33 -0
  252. package/dist/chunk-wgxs6b5t.js +44 -0
  253. package/dist/chunk-wjx6zf94.js +41 -0
  254. package/dist/chunk-wkg0rssg.js +37 -0
  255. package/dist/chunk-wndqbss9.js +34 -0
  256. package/dist/chunk-wnyxdfzd.js +41 -0
  257. package/dist/chunk-wwfj7ga3.js +221 -0
  258. package/dist/chunk-wy701sqv.js +19 -0
  259. package/dist/chunk-x1z72h7w.js +92 -0
  260. package/dist/chunk-x7z9jzyf.js +84 -0
  261. package/dist/chunk-xhtsnwnb.js +29 -0
  262. package/dist/chunk-xjxhnvcc.js +36 -0
  263. package/dist/chunk-xkvyk2qf.js +27 -0
  264. package/dist/chunk-xqn8mef3.js +117 -0
  265. package/dist/chunk-xvgp05yg.js +23 -0
  266. package/dist/chunk-xvs5y4v7.js +706 -0
  267. package/dist/chunk-xxk0akfn.js +12 -0
  268. package/dist/chunk-y4gbweym.js +84 -0
  269. package/dist/chunk-yabr2qx9.js +66 -0
  270. package/dist/chunk-ybypybsb.js +43 -0
  271. package/dist/chunk-ydfsxbrn.js +48 -0
  272. package/dist/chunk-ydfx8r6d.js +15 -0
  273. package/dist/chunk-yn3e9w1j.js +74 -0
  274. package/dist/chunk-yncp9nsv.js +106 -0
  275. package/dist/chunk-ynh7v8n7.js +146 -0
  276. package/dist/chunk-ynkpdpn0.js +60 -0
  277. package/dist/chunk-yp12vs0s.js +862 -0
  278. package/dist/chunk-yqs310vg.js +49 -0
  279. package/dist/chunk-zbm0xcq3.js +86 -0
  280. package/dist/chunk-zc60zhz7.js +16 -0
  281. package/dist/chunk-zcwynyr0.js +54 -0
  282. package/dist/chunk-zgpdhtkw.js +35 -0
  283. package/dist/chunk-zhnwybhq.js +143 -0
  284. package/dist/chunk-zj30cfgx.js +20 -0
  285. package/dist/chunk-zjbk25js.js +88 -0
  286. package/dist/chunk-zp1emfpq.js +83 -0
  287. package/dist/chunk-zpcxr2r4.js +98 -0
  288. package/dist/chunk-zve48bc0.js +88 -0
  289. package/dist/components/AlertDialog.d.ts +1 -1
  290. package/dist/components/Attachment.d.ts +1 -1
  291. package/dist/components/Badge.d.ts +1 -1
  292. package/dist/components/Bubble.d.ts +1 -1
  293. package/dist/components/Button.d.ts +5 -4
  294. package/dist/components/ContextMenu.d.ts +1 -1
  295. package/dist/components/Dialog.d.ts +2 -2
  296. package/dist/components/Drawer.d.ts +1 -1
  297. package/dist/components/DropdownMenu.d.ts +1 -1
  298. package/dist/components/Field.d.ts +1 -1
  299. package/dist/components/InputGroup.d.ts +2 -2
  300. package/dist/components/Item.d.ts +2 -2
  301. package/dist/components/Marker.d.ts +1 -1
  302. package/dist/components/PageMessage.d.ts +9 -0
  303. package/dist/components/PortalProvider.d.ts +7 -0
  304. package/dist/components/Progress.d.ts +5 -2
  305. package/dist/components/Sidebar.d.ts +2 -2
  306. package/dist/components/ThemeProvider.d.ts +3 -2
  307. package/dist/components/Toast.d.ts +1 -1
  308. package/dist/components/Toggle.d.ts +1 -1
  309. package/dist/components/assistant-ui/conversationMap/types.d.ts +20 -0
  310. package/dist/components/assistant-ui/elements/ActivityGraph.d.ts +11 -0
  311. package/dist/components/assistant-ui/elements/ActivityGraph.js +8 -0
  312. package/dist/components/assistant-ui/elements/AgentCard.d.ts +19 -0
  313. package/dist/components/assistant-ui/elements/AgentCard.js +8 -0
  314. package/dist/components/assistant-ui/elements/AgentHandoff.d.ts +11 -0
  315. package/dist/components/assistant-ui/elements/AgentHandoff.js +7 -0
  316. package/dist/components/assistant-ui/elements/AgentPlan.d.ts +14 -0
  317. package/dist/components/assistant-ui/elements/AgentPlan.js +8 -0
  318. package/dist/components/assistant-ui/elements/AgentStatus.d.ts +11 -0
  319. package/dist/components/assistant-ui/elements/AgentStatus.js +7 -0
  320. package/dist/components/assistant-ui/elements/ApprovalCard.d.ts +21 -0
  321. package/dist/components/assistant-ui/elements/ApprovalCard.js +9 -0
  322. package/dist/components/assistant-ui/elements/ArtifactCard.d.ts +10 -0
  323. package/dist/components/assistant-ui/elements/ArtifactCard.js +9 -0
  324. package/dist/components/assistant-ui/elements/AudioPlayer.d.ts +9 -0
  325. package/dist/components/assistant-ui/elements/AudioPlayer.js +9 -0
  326. package/dist/components/assistant-ui/elements/BackgroundInbox.d.ts +15 -0
  327. package/dist/components/assistant-ui/elements/BackgroundInbox.js +9 -0
  328. package/dist/components/assistant-ui/elements/CanvasSplit.d.ts +29 -0
  329. package/dist/components/assistant-ui/elements/CanvasSplit.js +20 -0
  330. package/dist/components/assistant-ui/elements/Chart.d.ts +14 -0
  331. package/dist/components/assistant-ui/elements/Chart.js +11 -0
  332. package/dist/components/assistant-ui/elements/ChatPanel.d.ts +20 -0
  333. package/dist/components/assistant-ui/elements/ChatPanel.js +21 -0
  334. package/dist/components/assistant-ui/elements/CheckpointHistory.d.ts +15 -0
  335. package/dist/components/assistant-ui/elements/CheckpointHistory.js +8 -0
  336. package/dist/components/assistant-ui/elements/Citation.d.ts +16 -0
  337. package/dist/components/assistant-ui/elements/Citation.js +11 -0
  338. package/dist/components/assistant-ui/elements/ClaudeLogo.d.ts +6 -0
  339. package/dist/components/assistant-ui/elements/ClaudeLogo.js +6 -0
  340. package/dist/components/assistant-ui/elements/CodeDiff.d.ts +16 -0
  341. package/dist/components/assistant-ui/elements/CodeDiff.js +8 -0
  342. package/dist/components/assistant-ui/elements/CodeRunner.d.ts +13 -0
  343. package/dist/components/assistant-ui/elements/CodeRunner.js +8 -0
  344. package/dist/components/assistant-ui/elements/CommandPalette.d.ts +17 -0
  345. package/dist/components/assistant-ui/elements/CommandPalette.js +16 -0
  346. package/dist/components/assistant-ui/elements/ComparisonCard.d.ts +16 -0
  347. package/dist/components/assistant-ui/elements/ComparisonCard.js +7 -0
  348. package/dist/components/assistant-ui/elements/Composer.d.ts +5 -0
  349. package/dist/components/assistant-ui/elements/Composer.js +7 -0
  350. package/dist/components/assistant-ui/elements/ComposerActions.d.ts +5 -0
  351. package/dist/components/assistant-ui/elements/ComposerActions.js +7 -0
  352. package/dist/components/assistant-ui/elements/ComposerAttachButton.d.ts +5 -0
  353. package/dist/components/assistant-ui/elements/ComposerAttachButton.js +8 -0
  354. package/dist/components/assistant-ui/elements/ComposerAttachmentChip.d.ts +9 -0
  355. package/dist/components/assistant-ui/elements/ComposerAttachmentChip.js +9 -0
  356. package/dist/components/assistant-ui/elements/ComposerAttachments.d.ts +5 -0
  357. package/dist/components/assistant-ui/elements/ComposerAttachments.js +11 -0
  358. package/dist/components/assistant-ui/elements/ComposerBar.d.ts +7 -0
  359. package/dist/components/assistant-ui/elements/ComposerBar.js +11 -0
  360. package/dist/components/assistant-ui/elements/ComposerCommandItem.d.ts +9 -0
  361. package/dist/components/assistant-ui/elements/ComposerCommandItem.js +10 -0
  362. package/dist/components/assistant-ui/elements/ComposerContext.d.ts +7 -0
  363. package/dist/components/assistant-ui/elements/ComposerContext.js +13 -0
  364. package/dist/components/assistant-ui/elements/ComposerInput.d.ts +7 -0
  365. package/dist/components/assistant-ui/elements/ComposerInput.js +11 -0
  366. package/dist/components/assistant-ui/elements/ComposerMenu.d.ts +7 -0
  367. package/dist/components/assistant-ui/elements/ComposerMenu.js +7 -0
  368. package/dist/components/assistant-ui/elements/ComposerMenuItem.d.ts +8 -0
  369. package/dist/components/assistant-ui/elements/ComposerMenuItem.js +9 -0
  370. package/dist/components/assistant-ui/elements/ComposerModelItem.d.ts +9 -0
  371. package/dist/components/assistant-ui/elements/ComposerModelItem.js +10 -0
  372. package/dist/components/assistant-ui/elements/ComposerModelTrigger.d.ts +8 -0
  373. package/dist/components/assistant-ui/elements/ComposerModelTrigger.js +8 -0
  374. package/dist/components/assistant-ui/elements/ComposerPersonItem.d.ts +9 -0
  375. package/dist/components/assistant-ui/elements/ComposerPersonItem.js +10 -0
  376. package/dist/components/assistant-ui/elements/ComposerSend.d.ts +8 -0
  377. package/dist/components/assistant-ui/elements/ComposerSend.js +8 -0
  378. package/dist/components/assistant-ui/elements/ComposerToolbar.d.ts +5 -0
  379. package/dist/components/assistant-ui/elements/ComposerToolbar.js +11 -0
  380. package/dist/components/assistant-ui/elements/ComposerVoice.d.ts +9 -0
  381. package/dist/components/assistant-ui/elements/ComposerVoice.js +8 -0
  382. package/dist/components/assistant-ui/elements/ComposerVoiceButton.d.ts +7 -0
  383. package/dist/components/assistant-ui/elements/ComposerVoiceButton.js +8 -0
  384. package/dist/components/assistant-ui/elements/ComputerUse.d.ts +17 -0
  385. package/dist/components/assistant-ui/elements/ComputerUse.js +7 -0
  386. package/dist/components/assistant-ui/elements/ConfidenceMarker.d.ts +16 -0
  387. package/dist/components/assistant-ui/elements/ConfidenceMarker.js +7 -0
  388. package/dist/components/assistant-ui/elements/ConnectionState.d.ts +10 -0
  389. package/dist/components/assistant-ui/elements/ConnectionState.js +8 -0
  390. package/dist/components/assistant-ui/elements/ContextBreakdown.d.ts +15 -0
  391. package/dist/components/assistant-ui/elements/ContextBreakdown.js +8 -0
  392. package/dist/components/assistant-ui/elements/ContextDisplay.d.ts +15 -0
  393. package/dist/components/assistant-ui/elements/ContextDisplay.js +20 -0
  394. package/dist/components/assistant-ui/elements/ContextDisplayBar.d.ts +3 -0
  395. package/dist/components/assistant-ui/elements/ContextDisplayBar.js +17 -0
  396. package/dist/components/assistant-ui/elements/ContextDisplayContent.d.ts +6 -0
  397. package/dist/components/assistant-ui/elements/ContextDisplayContent.js +13 -0
  398. package/dist/components/assistant-ui/elements/ContextDisplayRing.d.ts +3 -0
  399. package/dist/components/assistant-ui/elements/ContextDisplayRing.js +17 -0
  400. package/dist/components/assistant-ui/elements/ContextDisplayRoot.d.ts +15 -0
  401. package/dist/components/assistant-ui/elements/ContextDisplayRoot.js +11 -0
  402. package/dist/components/assistant-ui/elements/ContextDisplayText.d.ts +3 -0
  403. package/dist/components/assistant-ui/elements/ContextDisplayText.js +17 -0
  404. package/dist/components/assistant-ui/elements/ContextDisplayTrigger.d.ts +4 -0
  405. package/dist/components/assistant-ui/elements/ContextDisplayTrigger.js +10 -0
  406. package/dist/components/assistant-ui/elements/ContextDisplayValue.d.ts +6 -0
  407. package/dist/components/assistant-ui/elements/ContextDisplayValue.js +9 -0
  408. package/dist/components/assistant-ui/elements/ConversationMap.d.ts +16 -0
  409. package/dist/components/assistant-ui/elements/ConversationMap.js +10 -0
  410. package/dist/components/assistant-ui/elements/ConversationSearch.d.ts +18 -0
  411. package/dist/components/assistant-ui/elements/ConversationSearch.js +11 -0
  412. package/dist/components/assistant-ui/elements/CostMeter.d.ts +16 -0
  413. package/dist/components/assistant-ui/elements/CostMeter.js +8 -0
  414. package/dist/components/assistant-ui/elements/DataTable.d.ts +4 -0
  415. package/dist/components/assistant-ui/elements/DataTable.js +12 -0
  416. package/dist/components/assistant-ui/elements/DataTableValueCell.d.ts +10 -0
  417. package/dist/components/assistant-ui/elements/DaySeparator.d.ts +14 -0
  418. package/dist/components/assistant-ui/elements/DaySeparator.js +7 -0
  419. package/dist/components/assistant-ui/elements/Diagram.d.ts +13 -0
  420. package/dist/components/assistant-ui/elements/Diagram.js +8 -0
  421. package/dist/components/assistant-ui/elements/DiffViewer.d.ts +18 -0
  422. package/dist/components/assistant-ui/elements/DiffViewer.js +19 -0
  423. package/dist/components/assistant-ui/elements/DiffViewerContent.d.ts +3 -0
  424. package/dist/components/assistant-ui/elements/DiffViewerContent.js +7 -0
  425. package/dist/components/assistant-ui/elements/DiffViewerFile.d.ts +3 -0
  426. package/dist/components/assistant-ui/elements/DiffViewerFile.js +7 -0
  427. package/dist/components/assistant-ui/elements/DiffViewerFileBadge.d.ts +6 -0
  428. package/dist/components/assistant-ui/elements/DiffViewerFileBadge.js +8 -0
  429. package/dist/components/assistant-ui/elements/DiffViewerFileContent.d.ts +14 -0
  430. package/dist/components/assistant-ui/elements/DiffViewerHeader.d.ts +14 -0
  431. package/dist/components/assistant-ui/elements/DiffViewerHeader.js +12 -0
  432. package/dist/components/assistant-ui/elements/DiffViewerLine.d.ts +9 -0
  433. package/dist/components/assistant-ui/elements/DiffViewerLine.js +8 -0
  434. package/dist/components/assistant-ui/elements/DiffViewerSplitLine.d.ts +9 -0
  435. package/dist/components/assistant-ui/elements/DiffViewerSplitLine.js +8 -0
  436. package/dist/components/assistant-ui/elements/DiffViewerStats.d.ts +6 -0
  437. package/dist/components/assistant-ui/elements/DiffViewerStats.js +8 -0
  438. package/dist/components/assistant-ui/elements/DiffViewerText.d.ts +6 -0
  439. package/dist/components/assistant-ui/elements/DirectiveText.d.ts +25 -0
  440. package/dist/components/assistant-ui/elements/DirectiveText.js +8 -0
  441. package/dist/components/assistant-ui/elements/DocumentReference.d.ts +15 -0
  442. package/dist/components/assistant-ui/elements/DocumentReference.js +8 -0
  443. package/dist/components/assistant-ui/elements/DotMatrix.d.ts +9 -0
  444. package/dist/components/assistant-ui/elements/DotMatrix.js +8 -0
  445. package/dist/components/assistant-ui/elements/DraftRestore.d.ts +10 -0
  446. package/dist/components/assistant-ui/elements/DraftRestore.js +8 -0
  447. package/dist/components/assistant-ui/elements/EditMessage.d.ts +12 -0
  448. package/dist/components/assistant-ui/elements/EditMessage.js +14 -0
  449. package/dist/components/assistant-ui/elements/ElicitationForm.d.ts +21 -0
  450. package/dist/components/assistant-ui/elements/ElicitationForm.js +16 -0
  451. package/dist/components/assistant-ui/elements/EmptyState.d.ts +5 -0
  452. package/dist/components/assistant-ui/elements/EmptyState.js +8 -0
  453. package/dist/components/assistant-ui/elements/EmptyStateComposer.d.ts +10 -0
  454. package/dist/components/assistant-ui/elements/EmptyStateComposer.js +11 -0
  455. package/dist/components/assistant-ui/elements/EmptyStateGreeting.d.ts +4 -0
  456. package/dist/components/assistant-ui/elements/EmptyStateGreeting.js +7 -0
  457. package/dist/components/assistant-ui/elements/EmptyStateSuggestion.d.ts +7 -0
  458. package/dist/components/assistant-ui/elements/EmptyStateSuggestion.js +8 -0
  459. package/dist/components/assistant-ui/elements/EmptyStateSuggestions.d.ts +4 -0
  460. package/dist/components/assistant-ui/elements/EmptyStateSuggestions.js +7 -0
  461. package/dist/components/assistant-ui/elements/ErrorState.d.ts +9 -0
  462. package/dist/components/assistant-ui/elements/ErrorState.js +9 -0
  463. package/dist/components/assistant-ui/elements/EveAskQuestion.d.ts +4 -0
  464. package/dist/components/assistant-ui/elements/EveAskQuestion.js +11 -0
  465. package/dist/components/assistant-ui/elements/FeedbackDialog.d.ts +12 -0
  466. package/dist/components/assistant-ui/elements/FeedbackDialog.js +14 -0
  467. package/dist/components/assistant-ui/elements/File.d.ts +36 -0
  468. package/dist/components/assistant-ui/elements/File.js +23 -0
  469. package/dist/components/assistant-ui/elements/FileTree.d.ts +17 -0
  470. package/dist/components/assistant-ui/elements/FileTree.js +8 -0
  471. package/dist/components/assistant-ui/elements/FlowGraph.d.ts +21 -0
  472. package/dist/components/assistant-ui/elements/FlowGraph.js +8 -0
  473. package/dist/components/assistant-ui/elements/Frac.d.ts +7 -0
  474. package/dist/components/assistant-ui/elements/Frac.js +6 -0
  475. package/dist/components/assistant-ui/elements/GeminiLogo.d.ts +3 -0
  476. package/dist/components/assistant-ui/elements/GeminiLogo.js +6 -0
  477. package/dist/components/assistant-ui/elements/GenerationLoader.d.ts +9 -0
  478. package/dist/components/assistant-ui/elements/GenerationLoader.js +8 -0
  479. package/dist/components/assistant-ui/elements/GenerativeUi.d.ts +9 -0
  480. package/dist/components/assistant-ui/elements/GenerativeUi.js +17 -0
  481. package/dist/components/assistant-ui/elements/GeoMap.d.ts +26 -0
  482. package/dist/components/assistant-ui/elements/GeoMap.js +8 -0
  483. package/dist/components/assistant-ui/elements/GitHubIcon.d.ts +6 -0
  484. package/dist/components/assistant-ui/elements/GitHubIcon.js +6 -0
  485. package/dist/components/assistant-ui/elements/GuardrailNotice.d.ts +11 -0
  486. package/dist/components/assistant-ui/elements/GuardrailNotice.js +9 -0
  487. package/dist/components/assistant-ui/elements/HeatGraph.d.ts +11 -0
  488. package/dist/components/assistant-ui/elements/HeatGraph.js +7 -0
  489. package/dist/components/assistant-ui/elements/Image.d.ts +45 -0
  490. package/dist/components/assistant-ui/elements/Image.js +29 -0
  491. package/dist/components/assistant-ui/elements/ImageGallery.d.ts +20 -0
  492. package/dist/components/assistant-ui/elements/ImageGallery.js +11 -0
  493. package/dist/components/assistant-ui/elements/ImageGeneration.d.ts +10 -0
  494. package/dist/components/assistant-ui/elements/ImageGeneration.js +9 -0
  495. package/dist/components/assistant-ui/elements/InlineCitation.d.ts +4 -0
  496. package/dist/components/assistant-ui/elements/InlineCitation.js +7 -0
  497. package/dist/components/assistant-ui/elements/JobProgress.d.ts +24 -0
  498. package/dist/components/assistant-ui/elements/JobProgress.js +9 -0
  499. package/dist/components/assistant-ui/elements/LauncherBubble.d.ts +13 -0
  500. package/dist/components/assistant-ui/elements/LauncherBubble.js +9 -0
  501. package/dist/components/assistant-ui/elements/LinkPreview.d.ts +13 -0
  502. package/dist/components/assistant-ui/elements/LinkPreview.js +7 -0
  503. package/dist/components/assistant-ui/elements/MapAnswer.d.ts +17 -0
  504. package/dist/components/assistant-ui/elements/MapAnswer.js +8 -0
  505. package/dist/components/assistant-ui/elements/MarkdownText.d.ts +12 -0
  506. package/dist/components/assistant-ui/elements/MarkdownText.js +18 -0
  507. package/dist/components/assistant-ui/elements/MathBlock.d.ts +13 -0
  508. package/dist/components/assistant-ui/elements/MathBlock.js +7 -0
  509. package/dist/components/assistant-ui/elements/McpServerPanel.d.ts +17 -0
  510. package/dist/components/assistant-ui/elements/McpServerPanel.js +11 -0
  511. package/dist/components/assistant-ui/elements/MemoryChips.d.ts +14 -0
  512. package/dist/components/assistant-ui/elements/MemoryChips.js +8 -0
  513. package/dist/components/assistant-ui/elements/MermaidDiagram.d.ts +6 -0
  514. package/dist/components/assistant-ui/elements/MermaidDiagram.js +13 -0
  515. package/dist/components/assistant-ui/elements/MermaidSvg.d.ts +7 -0
  516. package/dist/components/assistant-ui/elements/MermaidZoom.d.ts +7 -0
  517. package/dist/components/assistant-ui/elements/MermaidZoom.js +11 -0
  518. package/dist/components/assistant-ui/elements/MessageActions.d.ts +12 -0
  519. package/dist/components/assistant-ui/elements/MessageActions.js +9 -0
  520. package/dist/components/assistant-ui/elements/MessageAttachments.d.ts +16 -0
  521. package/dist/components/assistant-ui/elements/MessageAttachments.js +8 -0
  522. package/dist/components/assistant-ui/elements/MessageBranches.d.ts +8 -0
  523. package/dist/components/assistant-ui/elements/MessageBranches.js +8 -0
  524. package/dist/components/assistant-ui/elements/MessagePair.d.ts +12 -0
  525. package/dist/components/assistant-ui/elements/MessagePair.js +8 -0
  526. package/dist/components/assistant-ui/elements/MessageQueue.d.ts +13 -0
  527. package/dist/components/assistant-ui/elements/MessageQueue.js +8 -0
  528. package/dist/components/assistant-ui/elements/MessageTiming.d.ts +10 -0
  529. package/dist/components/assistant-ui/elements/MessageTiming.js +7 -0
  530. package/dist/components/assistant-ui/elements/MobileComposer.d.ts +15 -0
  531. package/dist/components/assistant-ui/elements/MobileComposer.js +11 -0
  532. package/dist/components/assistant-ui/elements/ModelPicker.d.ts +16 -0
  533. package/dist/components/assistant-ui/elements/ModelPicker.js +13 -0
  534. package/dist/components/assistant-ui/elements/ModelSelector.d.ts +9 -0
  535. package/dist/components/assistant-ui/elements/ModelSelector.js +28 -0
  536. package/dist/components/assistant-ui/elements/ModelSelectorContent.d.ts +6 -0
  537. package/dist/components/assistant-ui/elements/ModelSelectorContent.js +24 -0
  538. package/dist/components/assistant-ui/elements/ModelSelectorEffort.d.ts +5 -0
  539. package/dist/components/assistant-ui/elements/ModelSelectorEffort.js +8 -0
  540. package/dist/components/assistant-ui/elements/ModelSelectorEmpty.d.ts +3 -0
  541. package/dist/components/assistant-ui/elements/ModelSelectorEmpty.js +15 -0
  542. package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.d.ts +2 -0
  543. package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.js +15 -0
  544. package/dist/components/assistant-ui/elements/ModelSelectorGroup.d.ts +3 -0
  545. package/dist/components/assistant-ui/elements/ModelSelectorGroup.js +15 -0
  546. package/dist/components/assistant-ui/elements/ModelSelectorItem.d.ts +7 -0
  547. package/dist/components/assistant-ui/elements/ModelSelectorItem.js +17 -0
  548. package/dist/components/assistant-ui/elements/ModelSelectorList.d.ts +3 -0
  549. package/dist/components/assistant-ui/elements/ModelSelectorList.js +19 -0
  550. package/dist/components/assistant-ui/elements/ModelSelectorRoot.d.ts +16 -0
  551. package/dist/components/assistant-ui/elements/ModelSelectorRoot.js +11 -0
  552. package/dist/components/assistant-ui/elements/ModelSelectorSearch.d.ts +3 -0
  553. package/dist/components/assistant-ui/elements/ModelSelectorSearch.js +15 -0
  554. package/dist/components/assistant-ui/elements/ModelSelectorSeparator.d.ts +3 -0
  555. package/dist/components/assistant-ui/elements/ModelSelectorSeparator.js +15 -0
  556. package/dist/components/assistant-ui/elements/ModelSelectorTrigger.d.ts +6 -0
  557. package/dist/components/assistant-ui/elements/ModelSelectorTrigger.js +13 -0
  558. package/dist/components/assistant-ui/elements/ModelSelectorValue.d.ts +6 -0
  559. package/dist/components/assistant-ui/elements/ModelSelectorValue.js +8 -0
  560. package/dist/components/assistant-ui/elements/NumberRoll.d.ts +13 -0
  561. package/dist/components/assistant-ui/elements/NumberRoll.js +8 -0
  562. package/dist/components/assistant-ui/elements/NumberRollDigit.d.ts +8 -0
  563. package/dist/components/assistant-ui/elements/NumberRollPart.d.ts +9 -0
  564. package/dist/components/assistant-ui/elements/NumberTicker.d.ts +8 -0
  565. package/dist/components/assistant-ui/elements/NumberTicker.js +7 -0
  566. package/dist/components/assistant-ui/elements/Onboarding.d.ts +15 -0
  567. package/dist/components/assistant-ui/elements/Onboarding.js +8 -0
  568. package/dist/components/assistant-ui/elements/OpenAILogo.d.ts +3 -0
  569. package/dist/components/assistant-ui/elements/OpenAILogo.js +6 -0
  570. package/dist/components/assistant-ui/elements/OptionList.d.ts +15 -0
  571. package/dist/components/assistant-ui/elements/OptionList.js +11 -0
  572. package/dist/components/assistant-ui/elements/OptionText.d.ts +8 -0
  573. package/dist/components/assistant-ui/elements/OptionText.js +7 -0
  574. package/dist/components/assistant-ui/elements/PermissionGrant.d.ts +12 -0
  575. package/dist/components/assistant-ui/elements/PermissionGrant.js +9 -0
  576. package/dist/components/assistant-ui/elements/PromptLibrary.d.ts +18 -0
  577. package/dist/components/assistant-ui/elements/PromptLibrary.js +11 -0
  578. package/dist/components/assistant-ui/elements/QuestionFlow.d.ts +11 -0
  579. package/dist/components/assistant-ui/elements/QuestionFlow.js +12 -0
  580. package/dist/components/assistant-ui/elements/QuotaBanner.d.ts +12 -0
  581. package/dist/components/assistant-ui/elements/QuotaBanner.js +9 -0
  582. package/dist/components/assistant-ui/elements/QuoteReply.d.ts +18 -0
  583. package/dist/components/assistant-ui/elements/QuoteReply.js +8 -0
  584. package/dist/components/assistant-ui/elements/ReadAloud.d.ts +14 -0
  585. package/dist/components/assistant-ui/elements/ReadAloud.js +9 -0
  586. package/dist/components/assistant-ui/elements/ReasoningContent.d.ts +4 -0
  587. package/dist/components/assistant-ui/elements/ReasoningContent.js +10 -0
  588. package/dist/components/assistant-ui/elements/ReasoningEffort.d.ts +15 -0
  589. package/dist/components/assistant-ui/elements/ReasoningEffort.js +9 -0
  590. package/dist/components/assistant-ui/elements/ReasoningFade.d.ts +7 -0
  591. package/dist/components/assistant-ui/elements/ReasoningFade.js +7 -0
  592. package/dist/components/assistant-ui/elements/ReasoningPanel.d.ts +15 -0
  593. package/dist/components/assistant-ui/elements/ReasoningPanel.js +11 -0
  594. package/dist/components/assistant-ui/elements/ReasoningRoot.d.ts +25 -0
  595. package/dist/components/assistant-ui/elements/ReasoningRoot.js +10 -0
  596. package/dist/components/assistant-ui/elements/ReasoningText.d.ts +5 -0
  597. package/dist/components/assistant-ui/elements/ReasoningText.js +8 -0
  598. package/dist/components/assistant-ui/elements/ReasoningTrigger.d.ts +9 -0
  599. package/dist/components/assistant-ui/elements/ReasoningTrigger.js +8 -0
  600. package/dist/components/assistant-ui/elements/RecommendationCard.d.ts +15 -0
  601. package/dist/components/assistant-ui/elements/RecommendationCard.js +9 -0
  602. package/dist/components/assistant-ui/elements/RegenerateMenu.d.ts +16 -0
  603. package/dist/components/assistant-ui/elements/RegenerateMenu.js +12 -0
  604. package/dist/components/assistant-ui/elements/ResearchReport.d.ts +17 -0
  605. package/dist/components/assistant-ui/elements/ResearchReport.js +7 -0
  606. package/dist/components/assistant-ui/elements/RetrievalChunks.d.ts +17 -0
  607. package/dist/components/assistant-ui/elements/RetrievalChunks.js +9 -0
  608. package/dist/components/assistant-ui/elements/ReviewableDiff.d.ts +19 -0
  609. package/dist/components/assistant-ui/elements/ReviewableDiff.js +8 -0
  610. package/dist/components/assistant-ui/elements/RunActivity.d.ts +23 -0
  611. package/dist/components/assistant-ui/elements/RunActivity.js +8 -0
  612. package/dist/components/assistant-ui/elements/ScheduleCard.d.ts +17 -0
  613. package/dist/components/assistant-ui/elements/ScheduleCard.js +8 -0
  614. package/dist/components/assistant-ui/elements/ScoreBreakdown.d.ts +17 -0
  615. package/dist/components/assistant-ui/elements/ScoreBreakdown.js +9 -0
  616. package/dist/components/assistant-ui/elements/ScrollAnchor.d.ts +13 -0
  617. package/dist/components/assistant-ui/elements/ScrollAnchor.js +7 -0
  618. package/dist/components/assistant-ui/elements/SettingsPanel.d.ts +21 -0
  619. package/dist/components/assistant-ui/elements/SettingsPanel.js +11 -0
  620. package/dist/components/assistant-ui/elements/ShareMeter.d.ts +10 -0
  621. package/dist/components/assistant-ui/elements/ShareMeter.js +6 -0
  622. package/dist/components/assistant-ui/elements/SharedConversation.d.ts +13 -0
  623. package/dist/components/assistant-ui/elements/SharedConversation.js +8 -0
  624. package/dist/components/assistant-ui/elements/ShikiHighlighter.d.ts +24 -0
  625. package/dist/components/assistant-ui/elements/ShikiHighlighter.js +7 -0
  626. package/dist/components/assistant-ui/elements/ShimmerLabel.d.ts +6 -0
  627. package/dist/components/assistant-ui/elements/ShimmerLabel.js +7 -0
  628. package/dist/components/assistant-ui/elements/SourceGlyph.d.ts +6 -0
  629. package/dist/components/assistant-ui/elements/SourceGlyph.js +6 -0
  630. package/dist/components/assistant-ui/elements/Sources.d.ts +18 -0
  631. package/dist/components/assistant-ui/elements/Sources.js +9 -0
  632. package/dist/components/assistant-ui/elements/SpeakerIdentity.d.ts +15 -0
  633. package/dist/components/assistant-ui/elements/SpeakerIdentity.js +7 -0
  634. package/dist/components/assistant-ui/elements/SpecSheet.d.ts +15 -0
  635. package/dist/components/assistant-ui/elements/SpecSheet.js +7 -0
  636. package/dist/components/assistant-ui/elements/StoppedRun.d.ts +10 -0
  637. package/dist/components/assistant-ui/elements/StoppedRun.js +8 -0
  638. package/dist/components/assistant-ui/elements/StreamingText.d.ts +13 -0
  639. package/dist/components/assistant-ui/elements/StreamingText.js +7 -0
  640. package/dist/components/assistant-ui/elements/Sub.d.ts +2 -0
  641. package/dist/components/assistant-ui/elements/Sub.js +6 -0
  642. package/dist/components/assistant-ui/elements/SubagentList.d.ts +15 -0
  643. package/dist/components/assistant-ui/elements/SubagentList.js +8 -0
  644. package/dist/components/assistant-ui/elements/Suggestions.d.ts +10 -0
  645. package/dist/components/assistant-ui/elements/Suggestions.js +8 -0
  646. package/dist/components/assistant-ui/elements/Sup.d.ts +2 -0
  647. package/dist/components/assistant-ui/elements/Sup.js +6 -0
  648. package/dist/components/assistant-ui/elements/SwapLabel.d.ts +7 -0
  649. package/dist/components/assistant-ui/elements/SwapLabel.js +8 -0
  650. package/dist/components/assistant-ui/elements/SyntaxHighlighter.d.ts +3 -0
  651. package/dist/components/assistant-ui/elements/SyntaxHighlighter.js +6 -0
  652. package/dist/components/assistant-ui/elements/TaskCard.d.ts +16 -0
  653. package/dist/components/assistant-ui/elements/TaskCard.js +9 -0
  654. package/dist/components/assistant-ui/elements/TaskStateIcon.d.ts +7 -0
  655. package/dist/components/assistant-ui/elements/TaskStateIcon.js +7 -0
  656. package/dist/components/assistant-ui/elements/TerminalAnsiFragment.d.ts +7 -0
  657. package/dist/components/assistant-ui/elements/TerminalBlock.d.ts +17 -0
  658. package/dist/components/assistant-ui/elements/TerminalBlock.js +9 -0
  659. package/dist/components/assistant-ui/elements/ThinkingIndicator.d.ts +8 -0
  660. package/dist/components/assistant-ui/elements/ThinkingIndicator.js +8 -0
  661. package/dist/components/assistant-ui/elements/ThreadList.d.ts +17 -0
  662. package/dist/components/assistant-ui/elements/ThreadList.js +8 -0
  663. package/dist/components/assistant-ui/elements/ThreadSearch.d.ts +25 -0
  664. package/dist/components/assistant-ui/elements/ThreadSearch.js +11 -0
  665. package/dist/components/assistant-ui/elements/Timeline.d.ts +16 -0
  666. package/dist/components/assistant-ui/elements/Timeline.js +7 -0
  667. package/dist/components/assistant-ui/elements/TodoList.d.ts +19 -0
  668. package/dist/components/assistant-ui/elements/TodoList.js +8 -0
  669. package/dist/components/assistant-ui/elements/ToolCall.d.ts +12 -0
  670. package/dist/components/assistant-ui/elements/ToolCall.js +11 -0
  671. package/dist/components/assistant-ui/elements/ToolError.d.ts +14 -0
  672. package/dist/components/assistant-ui/elements/ToolError.js +8 -0
  673. package/dist/components/assistant-ui/elements/ToolGroup.d.ts +18 -0
  674. package/dist/components/assistant-ui/elements/ToolGroup.js +8 -0
  675. package/dist/components/assistant-ui/elements/ToolTimeline.d.ts +24 -0
  676. package/dist/components/assistant-ui/elements/ToolTimeline.js +11 -0
  677. package/dist/components/assistant-ui/elements/TooltipIconButton.d.ts +9 -0
  678. package/dist/components/assistant-ui/elements/TooltipIconButton.js +12 -0
  679. package/dist/components/assistant-ui/elements/TraceWaterfall.d.ts +18 -0
  680. package/dist/components/assistant-ui/elements/TraceWaterfall.js +7 -0
  681. package/dist/components/assistant-ui/elements/TypingIndicator.d.ts +7 -0
  682. package/dist/components/assistant-ui/elements/TypingIndicator.js +7 -0
  683. package/dist/components/assistant-ui/elements/VideoPlayer.d.ts +9 -0
  684. package/dist/components/assistant-ui/elements/VideoPlayer.js +8 -0
  685. package/dist/components/assistant-ui/elements/VoiceConversation.d.ts +16 -0
  686. package/dist/components/assistant-ui/elements/VoiceConversation.js +8 -0
  687. package/dist/components/assistant-ui/elements/VoiceOrb.d.ts +8 -0
  688. package/dist/components/assistant-ui/elements/VoiceOrb.js +9 -0
  689. package/dist/components/assistant-ui/elements/WebPreview.d.ts +17 -0
  690. package/dist/components/assistant-ui/elements/WebPreview.js +9 -0
  691. package/dist/components/assistant-ui/elements/WebSearch.d.ts +15 -0
  692. package/dist/components/assistant-ui/elements/WebSearch.js +8 -0
  693. package/dist/components/assistant-ui/elements/composer/types.d.ts +27 -0
  694. package/dist/components/assistant-ui/elements/constants.d.ts +14 -0
  695. package/dist/components/assistant-ui/elements/types.d.ts +24 -0
  696. package/dist/components/assistant-ui/eveAskQuestionToolkit.d.ts +8 -0
  697. package/dist/components/assistant-ui/eveAskQuestionToolkit.js +12 -0
  698. package/dist/components/assistant-ui/hooks/useAttachmentSrc.d.ts +1 -0
  699. package/dist/components/assistant-ui/hooks/useContextDisplay.d.ts +2 -0
  700. package/dist/components/assistant-ui/hooks/useControllableState.d.ts +8 -0
  701. package/dist/components/assistant-ui/hooks/useConversationMapViewport.d.ts +10 -0
  702. package/dist/components/assistant-ui/hooks/useConversationProjection.d.ts +3 -0
  703. package/dist/components/assistant-ui/hooks/useCopyToClipboard.d.ts +9 -0
  704. package/dist/components/assistant-ui/hooks/useCustomServersSection.d.ts +11 -0
  705. package/dist/components/assistant-ui/hooks/useFitInComposer.d.ts +9 -0
  706. package/dist/components/assistant-ui/hooks/useIsomorphicLayoutEffect.d.ts +2 -0
  707. package/dist/components/assistant-ui/hooks/useMediaDuration.d.ts +7 -0
  708. package/dist/components/assistant-ui/hooks/useModalSize.d.ts +13 -0
  709. package/dist/components/assistant-ui/hooks/useModelSelectorContext.d.ts +2 -0
  710. package/dist/components/assistant-ui/hooks/useModelSelectorEfforts.d.ts +8 -0
  711. package/dist/components/assistant-ui/hooks/usePrefersReducedMotion.d.ts +1 -0
  712. package/dist/components/assistant-ui/hooks/useReceiptFocus.d.ts +8 -0
  713. package/dist/components/assistant-ui/hooks/useResolvedPortalContainer.d.ts +6 -0
  714. package/dist/components/assistant-ui/hooks/useServerActionFocus.d.ts +7 -0
  715. package/dist/components/assistant-ui/hooks/useServerAnnouncement.d.ts +1 -0
  716. package/dist/components/assistant-ui/hooks/useStartOfToday.d.ts +1 -0
  717. package/dist/components/assistant-ui/hooks/useTaskElapsed.d.ts +2 -0
  718. package/dist/components/assistant-ui/hooks/useTaskSummary.d.ts +2 -0
  719. package/dist/components/assistant-ui/hooks/useThreadListGroups.d.ts +2 -0
  720. package/dist/components/assistant-ui/hooks/useVoiceTranscript.d.ts +2 -0
  721. package/dist/components/assistant-ui/index.d.ts +363 -0
  722. package/dist/components/assistant-ui/index.js +865 -0
  723. package/dist/components/assistant-ui/native/AgentStatus.d.ts +6 -0
  724. package/dist/components/assistant-ui/native/AgentStatus.js +10 -0
  725. package/dist/components/assistant-ui/native/AssistantModal.d.ts +2 -0
  726. package/dist/components/assistant-ui/native/AssistantModal.js +41 -0
  727. package/dist/components/assistant-ui/native/AssistantSidebar.d.ts +3 -0
  728. package/dist/components/assistant-ui/native/AssistantSidebar.js +40 -0
  729. package/dist/components/assistant-ui/native/AttachmentPreview.d.ts +4 -0
  730. package/dist/components/assistant-ui/native/AttachmentPreview.js +19 -0
  731. package/dist/components/assistant-ui/native/ComposerQuotePreview.d.ts +19 -0
  732. package/dist/components/assistant-ui/native/ComposerQuotePreview.js +14 -0
  733. package/dist/components/assistant-ui/native/ComposerTriggerPopover.d.ts +47 -0
  734. package/dist/components/assistant-ui/native/ComposerTriggerPopover.js +7 -0
  735. package/dist/components/assistant-ui/native/ContextDisplay.d.ts +15 -0
  736. package/dist/components/assistant-ui/native/ContextDisplay.js +22 -0
  737. package/dist/components/assistant-ui/native/ContextDisplayBar.d.ts +3 -0
  738. package/dist/components/assistant-ui/native/ContextDisplayBar.js +19 -0
  739. package/dist/components/assistant-ui/native/ContextDisplayRing.d.ts +3 -0
  740. package/dist/components/assistant-ui/native/ContextDisplayRing.js +19 -0
  741. package/dist/components/assistant-ui/native/ContextDisplayRoot.d.ts +8 -0
  742. package/dist/components/assistant-ui/native/ContextDisplayRoot.js +13 -0
  743. package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.d.ts +3 -0
  744. package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.js +12 -0
  745. package/dist/components/assistant-ui/native/ContextDisplayText.d.ts +3 -0
  746. package/dist/components/assistant-ui/native/ContextDisplayText.js +19 -0
  747. package/dist/components/assistant-ui/native/ConversationMapAui.d.ts +7 -0
  748. package/dist/components/assistant-ui/native/ConversationMapAui.js +12 -0
  749. package/dist/components/assistant-ui/native/DirectiveText.d.ts +3 -0
  750. package/dist/components/assistant-ui/native/DirectiveText.js +9 -0
  751. package/dist/components/assistant-ui/native/FollowupSuggestionsRow.d.ts +2 -0
  752. package/dist/components/assistant-ui/native/FollowupSuggestionsRow.js +6 -0
  753. package/dist/components/assistant-ui/native/McpConfigDialog.d.ts +27 -0
  754. package/dist/components/assistant-ui/native/McpConfigDialog.js +15 -0
  755. package/dist/components/assistant-ui/native/MermaidDiagram.d.ts +28 -0
  756. package/dist/components/assistant-ui/native/MermaidDiagram.js +14 -0
  757. package/dist/components/assistant-ui/native/MessageTiming.d.ts +25 -0
  758. package/dist/components/assistant-ui/native/MessageTiming.js +10 -0
  759. package/dist/components/assistant-ui/native/ModelSelector.d.ts +30 -0
  760. package/dist/components/assistant-ui/native/ModelSelector.js +30 -0
  761. package/dist/components/assistant-ui/native/QuoteBlock.d.ts +16 -0
  762. package/dist/components/assistant-ui/native/QuoteBlock.js +12 -0
  763. package/dist/components/assistant-ui/native/Reasoning.d.ts +30 -0
  764. package/dist/components/assistant-ui/native/Reasoning.js +27 -0
  765. package/dist/components/assistant-ui/native/SelectionToolbar.d.ts +19 -0
  766. package/dist/components/assistant-ui/native/SelectionToolbar.js +10 -0
  767. package/dist/components/assistant-ui/native/Sources.d.ts +46 -0
  768. package/dist/components/assistant-ui/native/Sources.js +16 -0
  769. package/dist/components/assistant-ui/native/SyntaxHighlighter.d.ts +28 -0
  770. package/dist/components/assistant-ui/native/SyntaxHighlighter.js +8 -0
  771. package/dist/components/assistant-ui/native/TaskCard.d.ts +11 -0
  772. package/dist/components/assistant-ui/native/TaskCard.js +21 -0
  773. package/dist/components/assistant-ui/native/TaskGroup.d.ts +8 -0
  774. package/dist/components/assistant-ui/native/TaskGroup.js +22 -0
  775. package/dist/components/assistant-ui/native/TaskTray.d.ts +3 -0
  776. package/dist/components/assistant-ui/native/TaskTray.js +14 -0
  777. package/dist/components/assistant-ui/native/Thread.d.ts +34 -0
  778. package/dist/components/assistant-ui/native/Thread.js +38 -0
  779. package/dist/components/assistant-ui/native/ThreadList.d.ts +24 -0
  780. package/dist/components/assistant-ui/native/ThreadList.js +23 -0
  781. package/dist/components/assistant-ui/native/ThreadListSidebar.d.ts +3 -0
  782. package/dist/components/assistant-ui/native/ThreadListSidebar.js +19 -0
  783. package/dist/components/assistant-ui/native/ToolFallbackRoot.d.ts +71 -0
  784. package/dist/components/assistant-ui/native/ToolFallbackRoot.js +28 -0
  785. package/dist/components/assistant-ui/native/ToolGroup.d.ts +38 -0
  786. package/dist/components/assistant-ui/native/ToolGroup.js +14 -0
  787. package/dist/components/assistant-ui/native/VoiceConnectButton.d.ts +2 -0
  788. package/dist/components/assistant-ui/native/VoiceConnectButton.js +8 -0
  789. package/dist/components/assistant-ui/native/VoiceControl.d.ts +2 -0
  790. package/dist/components/assistant-ui/native/VoiceControl.js +17 -0
  791. package/dist/components/assistant-ui/native/VoiceConversation.d.ts +3 -0
  792. package/dist/components/assistant-ui/native/VoiceConversation.js +9 -0
  793. package/dist/components/assistant-ui/native/VoiceDisconnectButton.d.ts +2 -0
  794. package/dist/components/assistant-ui/native/VoiceDisconnectButton.js +13 -0
  795. package/dist/components/assistant-ui/native/VoiceMuteButton.d.ts +2 -0
  796. package/dist/components/assistant-ui/native/VoiceMuteButton.js +13 -0
  797. package/dist/components/assistant-ui/native/VoiceOrb.d.ts +7 -0
  798. package/dist/components/assistant-ui/native/VoiceOrb.js +10 -0
  799. package/dist/components/assistant-ui/native/VoiceStatusDot.d.ts +2 -0
  800. package/dist/components/assistant-ui/native/VoiceStatusDot.js +7 -0
  801. package/dist/components/assistant-ui/native/constants.d.ts +3 -0
  802. package/dist/components/assistant-ui/native/index.d.ts +92 -0
  803. package/dist/components/assistant-ui/native/index.js +312 -0
  804. package/dist/components/assistant-ui/threadList/types.d.ts +11 -0
  805. package/dist/components/assistant-ui/utils/askQuestion.d.ts +14 -0
  806. package/dist/components/assistant-ui/utils/contextDisplayContext.d.ts +8 -0
  807. package/dist/components/assistant-ui/utils/contextUsage.d.ts +16 -0
  808. package/dist/components/assistant-ui/utils/dataTable/constants.d.ts +2 -0
  809. package/dist/components/assistant-ui/utils/dataTable/types.d.ts +66 -0
  810. package/dist/components/assistant-ui/utils/dataTableUtils.d.ts +20 -0
  811. package/dist/components/assistant-ui/utils/deriveVoiceOrbState.d.ts +3 -0
  812. package/dist/components/assistant-ui/utils/diffViewer/computeDiff.d.ts +2 -0
  813. package/dist/components/assistant-ui/utils/diffViewer/constants.d.ts +10 -0
  814. package/dist/components/assistant-ui/utils/diffViewer/formatUnifiedDiff.d.ts +2 -0
  815. package/dist/components/assistant-ui/utils/diffViewer/pairLinesForSplit.d.ts +2 -0
  816. package/dist/components/assistant-ui/utils/diffViewer/parsePatch.d.ts +2 -0
  817. package/dist/components/assistant-ui/utils/diffViewer/types.d.ts +33 -0
  818. package/dist/components/assistant-ui/utils/fileUtils.d.ts +10 -0
  819. package/dist/components/assistant-ui/utils/formatJobElapsed.d.ts +6 -0
  820. package/dist/components/assistant-ui/utils/formatMediaDuration.d.ts +1 -0
  821. package/dist/components/assistant-ui/utils/geoMap.d.ts +4 -0
  822. package/dist/components/assistant-ui/utils/getDotMatrixPattern.d.ts +151 -0
  823. package/dist/components/assistant-ui/utils/getNumberRollParts.d.ts +6 -0
  824. package/dist/components/assistant-ui/utils/groupThreads.d.ts +2 -0
  825. package/dist/components/assistant-ui/utils/href.d.ts +15 -0
  826. package/dist/components/assistant-ui/utils/imageUtils.d.ts +4 -0
  827. package/dist/components/assistant-ui/utils/isTaskPart.d.ts +6 -0
  828. package/dist/components/assistant-ui/utils/mcpConfigState.d.ts +6 -0
  829. package/dist/components/assistant-ui/utils/modelSelection.d.ts +34 -0
  830. package/dist/components/assistant-ui/utils/numberRollTypes.d.ts +17 -0
  831. package/dist/components/assistant-ui/utils/parseTerminalLine.d.ts +17 -0
  832. package/dist/components/assistant-ui/utils/prepareMermaidSvg.d.ts +1 -0
  833. package/dist/components/assistant-ui/utils/projectConversation.d.ts +3 -0
  834. package/dist/components/assistant-ui/utils/range.d.ts +32 -0
  835. package/dist/components/assistant-ui/utils/readTerminalBackground.d.ts +2 -0
  836. package/dist/components/assistant-ui/utils/readableTerminalForeground.d.ts +2 -0
  837. package/dist/components/assistant-ui/utils/reasoningPreviewContext.d.ts +1 -0
  838. package/dist/components/assistant-ui/utils/stripTerminalControls.d.ts +2 -0
  839. package/dist/components/assistant-ui/utils/taskSummary/types.d.ts +8 -0
  840. package/dist/components/assistant-ui/utils/taskSummaryUtils.d.ts +6 -0
  841. package/dist/components/assistant-ui/utils/taskUtils.d.ts +11 -0
  842. package/dist/components/assistant-ui/utils/tokens.d.ts +8 -0
  843. package/dist/components/calendar/index.js +2 -2
  844. package/dist/components/carousel/index.js +1 -1
  845. package/dist/components/chart/index.js +19 -281
  846. package/dist/components/command/index.js +27 -139
  847. package/dist/components/message-scroller/index.js +1 -1
  848. package/dist/components/persian-calendar/index.js +2 -2
  849. package/dist/components/questionnaire/index.js +1 -1
  850. package/dist/components/resizable/SplitView.d.ts +3 -1
  851. package/dist/components/resizable/index.js +25 -67
  852. package/dist/components/sonner/index.js +2 -2
  853. package/dist/generative-ui.css +1578 -0
  854. package/dist/hooks/usePortalContainer.d.ts +2 -0
  855. package/dist/index.d.ts +5 -0
  856. package/dist/index.js +1892 -3461
  857. package/dist/options/types.d.ts +5 -0
  858. package/dist/portal/PortalContext.d.ts +1 -0
  859. package/dist/portal/types.d.ts +3 -0
  860. package/package.json +1042 -13
  861. package/dist/chunk-5wvvqege.js +0 -259
  862. package/patches/@shadcn%2Freact@0.3.1.patch +0 -35
  863. package/patches/input-otp@1.5.0.patch +0 -20
  864. package/patches/sonner@2.0.8.patch +0 -87
@@ -1,259 +0,0 @@
1
- import {
2
- cn2
3
- } from "./chunk-cp2m7y7v.js";
4
- import {
5
- useDensity
6
- } from "./chunk-rjjwytbx.js";
7
- import {
8
- Button2
9
- } from "./chunk-tnktkgvp.js";
10
-
11
- // src/components/Input.tsx
12
- import { Input as InputPrimitive } from "@base-ui/react/input";
13
- import { jsx } from "react/jsx-runtime";
14
- function Input2({ density, className, type, ...props }) {
15
- return /* @__PURE__ */ jsx(InputPrimitive, {
16
- type,
17
- "data-density": density,
18
- "data-slot": "input",
19
- className: (state) => cn2("h-control w-full min-w-0 rounded-sm border border-input bg-secondary px-control-x py-1 text-base transition-colors outline-none file:inline-flex file:h-control-xs file:border-0 file:bg-secondary file:text-sm file:font-medium file:text-foreground placeholder:text-faint-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive", typeof className === "function" ? className(state) : className),
20
- ...props
21
- });
22
- }
23
-
24
- // src/components/Dialog.tsx
25
- import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
26
- import { useDirection } from "@base-ui/react/direction-provider";
27
- import { XIcon } from "lucide-react";
28
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
29
- function Dialog2({ ...props }) {
30
- return /* @__PURE__ */ jsx2(DialogPrimitive.Root, {
31
- "data-slot": "dialog",
32
- ...props
33
- });
34
- }
35
- function DialogTrigger2({ ...props }) {
36
- return /* @__PURE__ */ jsx2(DialogPrimitive.Trigger, {
37
- "data-slot": "dialog-trigger",
38
- ...props
39
- });
40
- }
41
- function DialogPortal2({ ...props }) {
42
- return /* @__PURE__ */ jsx2(DialogPrimitive.Portal, {
43
- "data-slot": "dialog-portal",
44
- ...props
45
- });
46
- }
47
- function DialogClose2({ ...props }) {
48
- return /* @__PURE__ */ jsx2(DialogPrimitive.Close, {
49
- "data-slot": "dialog-close",
50
- ...props
51
- });
52
- }
53
- function DialogOverlay2({ density, className, ...props }) {
54
- const resolvedDensity = useDensity(density);
55
- return /* @__PURE__ */ jsx2(DialogPrimitive.Backdrop, {
56
- "data-density": resolvedDensity,
57
- "data-slot": "dialog-overlay",
58
- className: (state) => cn2("fixed inset-0 isolate bg-backdrop duration-120 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none", typeof className === "function" ? className(state) : className),
59
- ...props
60
- });
61
- }
62
- function DialogContent2({
63
- density,
64
- className,
65
- children,
66
- showCloseButton = true,
67
- size = "default",
68
- ...props
69
- }) {
70
- const resolvedDensity = useDensity(density);
71
- const direction = useDirection();
72
- return /* @__PURE__ */ jsxs(DialogPortal2, {
73
- children: [
74
- /* @__PURE__ */ jsx2(DialogOverlay2, {}),
75
- /* @__PURE__ */ jsxs(DialogPrimitive.Popup, {
76
- dir: direction,
77
- "data-density": resolvedDensity,
78
- "data-slot": "dialog-content",
79
- className: (state) => cn2("fixed top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-panel rounded-md bg-popover p-panel text-sm text-popover-foreground border border-frame-edge shadow-frame duration-120 outline-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none", size === "wide" ? "sm:max-w-xl" : size === "narrow" ? "sm:max-w-48" : "sm:max-w-sm", typeof className === "function" ? className(state) : className),
80
- ...props,
81
- children: [
82
- children,
83
- showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, {
84
- "data-slot": "dialog-close",
85
- render: /* @__PURE__ */ jsx2(Button2, {
86
- variant: "ghost",
87
- className: "absolute top-2 end-2",
88
- size: "icon-sm"
89
- }),
90
- children: [
91
- /* @__PURE__ */ jsx2(XIcon, {}),
92
- /* @__PURE__ */ jsx2("span", {
93
- className: "sr-only",
94
- children: "Close"
95
- })
96
- ]
97
- })
98
- ]
99
- })
100
- ]
101
- });
102
- }
103
- function DialogHeader2({ density, className, ...props }) {
104
- return /* @__PURE__ */ jsx2("div", {
105
- "data-density": density,
106
- "data-slot": "dialog-header",
107
- className: cn2("flex flex-col gap-2", className),
108
- ...props
109
- });
110
- }
111
- function DialogFooter2({
112
- density,
113
- className,
114
- showCloseButton = false,
115
- children,
116
- ...props
117
- }) {
118
- return /* @__PURE__ */ jsxs("div", {
119
- "data-density": density,
120
- "data-slot": "dialog-footer",
121
- className: cn2("-mx-panel -mb-panel flex flex-col-reverse gap-2 rounded-b-md border-t bg-muted/50 p-panel sm:flex-row sm:justify-end", className),
122
- ...props,
123
- children: [
124
- children,
125
- showCloseButton && /* @__PURE__ */ jsx2(DialogPrimitive.Close, {
126
- render: /* @__PURE__ */ jsx2(Button2, {
127
- variant: "outline"
128
- }),
129
- children: "Close"
130
- })
131
- ]
132
- });
133
- }
134
- function DialogTitle2({ density, className, ...props }) {
135
- return /* @__PURE__ */ jsx2(DialogPrimitive.Title, {
136
- "data-density": density,
137
- "data-slot": "dialog-title",
138
- className: (state) => cn2("text-base leading-none font-medium", typeof className === "function" ? className(state) : className),
139
- ...props
140
- });
141
- }
142
- function DialogDescription2({ density, className, ...props }) {
143
- return /* @__PURE__ */ jsx2(DialogPrimitive.Description, {
144
- "data-density": density,
145
- "data-slot": "dialog-description",
146
- className: (state) => cn2("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", typeof className === "function" ? className(state) : className),
147
- ...props
148
- });
149
- }
150
-
151
- // src/components/Textarea.tsx
152
- import { jsx as jsx3 } from "react/jsx-runtime";
153
- function Textarea2({ density, className, ...props }) {
154
- return /* @__PURE__ */ jsx3("textarea", {
155
- "data-density": density,
156
- "data-slot": "textarea",
157
- className: cn2("flex field-sizing-content min-h-16 w-full rounded-sm border border-input bg-secondary px-control-x py-2 text-base transition-colors outline-none placeholder:text-faint-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive", className),
158
- ...props
159
- });
160
- }
161
-
162
- // src/components/InputGroup.tsx
163
- import { cva } from "class-variance-authority";
164
- import { mergeProps } from "@base-ui/react/merge-props";
165
- import { jsx as jsx4 } from "react/jsx-runtime";
166
- function InputGroup2({ density, className, ...props }) {
167
- return /* @__PURE__ */ jsx4("div", {
168
- "data-density": density,
169
- "data-slot": "input-group",
170
- role: "group",
171
- className: cn2("group/input-group relative flex h-control w-full min-w-0 items-center rounded-sm border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-muted has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5", className),
172
- ...props
173
- });
174
- }
175
- var inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none [&>kbd]:rounded-sm [&>svg:not([class*='size-'])]:size-4", {
176
- variants: {
177
- align: {
178
- "inline-start": "order-first ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem]",
179
- "inline-end": "order-last pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem]",
180
- "block-start": "order-first w-full justify-start px-control-x pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
181
- "block-end": "order-last w-full justify-start px-control-x pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
182
- }
183
- },
184
- defaultVariants: {
185
- align: "inline-start"
186
- }
187
- });
188
- function InputGroupAddon2({ density, className, align = "inline-start", ...props }) {
189
- return /* @__PURE__ */ jsx4("div", {
190
- role: "group",
191
- "data-density": density,
192
- "data-slot": "input-group-addon",
193
- "data-align": align,
194
- className: cn2(inputGroupAddonVariants({ align }), className),
195
- ...mergeProps({
196
- onClick(event) {
197
- if (event.defaultPrevented || !(event.target instanceof Node) || !event.currentTarget.contains(event.target) || event.target instanceof Element && event.target.closest("button, a[href], input, textarea, select")) {
198
- return;
199
- }
200
- event.currentTarget.parentElement?.querySelector("input[data-slot=input-group-control], textarea[data-slot=input-group-control]")?.focus();
201
- }
202
- }, props)
203
- });
204
- }
205
- var inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-none", {
206
- variants: {
207
- size: {
208
- xs: "h-control-xs gap-1 rounded-sm px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
209
- sm: "h-control-sm",
210
- "icon-xs": "size-control-xs rounded-sm p-0 has-[>svg]:p-0",
211
- "icon-sm": "size-control-sm p-0 has-[>svg]:p-0"
212
- }
213
- },
214
- defaultVariants: {
215
- size: "xs"
216
- }
217
- });
218
- function InputGroupButton2({
219
- density,
220
- className,
221
- type = "button",
222
- variant = "ghost",
223
- size = "xs",
224
- ...props
225
- }) {
226
- return /* @__PURE__ */ jsx4(Button2, {
227
- density,
228
- type,
229
- "data-size": size,
230
- variant,
231
- className: (state) => cn2(inputGroupButtonVariants({ size }), typeof className === "function" ? className(state) : className),
232
- ...props
233
- });
234
- }
235
- function InputGroupText2({ density, className, ...props }) {
236
- return /* @__PURE__ */ jsx4("span", {
237
- "data-density": density,
238
- className: cn2("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
239
- ...props
240
- });
241
- }
242
- function InputGroupInput2({ density, className, ...props }) {
243
- return /* @__PURE__ */ jsx4(Input2, {
244
- density,
245
- "data-slot": "input-group-control",
246
- className: (state) => cn2("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0", typeof className === "function" ? className(state) : className),
247
- ...props
248
- });
249
- }
250
- function InputGroupTextarea2({ density, className, ...props }) {
251
- return /* @__PURE__ */ jsx4(Textarea2, {
252
- density,
253
- "data-slot": "input-group-control",
254
- className: cn2("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0", className),
255
- ...props
256
- });
257
- }
258
-
259
- export { Input2, Dialog2, DialogTrigger2, DialogPortal2, DialogClose2, DialogOverlay2, DialogContent2, DialogHeader2, DialogFooter2, DialogTitle2, DialogDescription2, Textarea2, InputGroup2, InputGroupAddon2, InputGroupButton2, InputGroupText2, InputGroupInput2, InputGroupTextarea2 };
@@ -1,35 +0,0 @@
1
- diff --git a/node_modules/@shadcn/react/.bun-tag-4d6ed6b90ab5ee83 b/.bun-tag-4d6ed6b90ab5ee83
2
- new file mode 100644
3
- index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
4
- diff --git a/node_modules/@shadcn/react/.bun-tag-8345adf9169f1ef7 b/.bun-tag-8345adf9169f1ef7
5
- new file mode 100644
6
- index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
7
- diff --git a/node_modules/@shadcn/react/.bun-tag-87cb917473cec6a b/.bun-tag-87cb917473cec6a
8
- new file mode 100644
9
- index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
10
- diff --git a/node_modules/@shadcn/react/.bun-tag-a9a0e11f24a07e83 b/.bun-tag-a9a0e11f24a07e83
11
- new file mode 100644
12
- index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
13
- diff --git a/node_modules/@shadcn/react/.bun-tag-ea8a96194e675a1b b/.bun-tag-ea8a96194e675a1b
14
- new file mode 100644
15
- index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
16
- diff --git a/dist/message-scroller/index.js b/dist/message-scroller/index.js
17
- index ba994f34a6286cc533f388f61de59b5948a290b9..25938fcec2e9f6b52985ed8b754d3517e45fbbd8 100644
18
- --- a/dist/message-scroller/index.js
19
- +++ b/dist/message-scroller/index.js
20
- @@ -1,2 +1,2 @@
21
- "use client";
22
- -import {c,a,b}from'../chunk-HBS6WEDP.js';import*as f from'react';import {jsx,jsxs}from'react/jsx-runtime';var _e=8,Be=64,Fe=0,J=.5,je=180,Ge=new Set(["ArrowDown","ArrowUp","End","Home","PageDown","PageUp"," "]),ge={start:false,end:false},vt=[],Q={currentAnchorId:null,visibleMessageIds:vt};function Ne({content:e,scrollEdgeThreshold:t,spacer:r,viewport:n}){if(!n||!e)return ge;let l=Re({content:e,spacer:r,viewport:n});return {start:n.scrollTop>t,end:l-n.scrollTop-n.clientHeight>t}}function Ue({content:e,scrollMargin:t,scrollPreviousItemPeek:r,spacer:n,viewport:l,visibleMessageIds:c}){if(!e||!l)return Q;let S=l.getBoundingClientRect(),o=S.top+t+r,b=typeof IntersectionObserver>"u",v=[],m=null;for(let L of ee(e,n)){let R=L.dataset.messageId;if(!R)continue;let E=L.dataset.scrollAnchor==="true",h=E||b?L.getBoundingClientRect():null;(b&&h?h.bottom>o&&h.top<S.bottom:c.has(R))&&v.push(R),E&&h&&h.top<=o+J&&(m=R);}return v.length===0&&m===null?Q:{currentAnchorId:m,visibleMessageIds:v}}function ee(e,t){return Array.from(e.children).filter(r=>r instanceof HTMLElement&&r!==t)}function Ye(e,t){for(let r=t;r<e.length;r++){let n=e[r];if(n?.dataset.scrollAnchor==="true")return n}return null}function ze(e,t){for(let r of e)if(r.dataset.scrollAnchor==="true"&&!t.has(r))return r;return null}function qe(e,t){let r=0;for(let n=t;n<e.length;n++)if(e[n]?.dataset.scrollAnchor==="true"&&(r+=1,r>1))return true;return false}function Ke(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r?.dataset.scrollAnchor==="true")return r}return null}function We({content:e,spacer:t,viewport:r}){let n=r.getBoundingClientRect();for(let l of ee(e,t)){if(!l.dataset.messageId)continue;let c=l.getBoundingClientRect();if(c.bottom>n.top&&c.top<n.bottom)return l}return null}function $e({align:e,element:t,scrollMargin:r,spacer:n,viewport:l}){let c=me(t,l),S=t.getBoundingClientRect().height,o=ht(n);if(e==="center"){let b=Math.max(0,l.clientHeight-o.start-o.end);return c-o.start-(b-S)/2-r}if(e==="end")return c-l.clientHeight+S+o.end+r;if(e==="nearest"){let b=c+S,v=l.scrollTop+o.start,m=l.scrollTop+l.clientHeight-o.end;return c>=v&&b<=m?l.scrollTop:c<v?c-o.start-r:b-l.clientHeight+o.end+r}return c-o.start-r}function me(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect();return r.top-n.top+t.scrollTop}function te(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}function Je({content:e,scrollTop:t,spacer:r,viewport:n}){let l=Re({content:e,spacer:r,viewport:n});return t+n.clientHeight-l}function Re({content:e,spacer:t,viewport:r}){let n=ee(e,t),l=Xe(e),c=r.getBoundingClientRect(),S=r.scrollTop,o=l.start+l.end;for(let b of n){let v=b.getBoundingClientRect();o=Math.max(o,v.bottom-c.top+S+l.end);}return o}function Qe(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function Xe(e){let t=window.getComputedStyle(e);return {end:pe(t.paddingBlockEnd||t.paddingBottom),start:pe(t.paddingBlockStart||t.paddingTop)}}function ht(e){let t=e?.parentElement;return t?Xe(t):{end:0,start:0}}function Ze(e){if(!e)return 0;let t=window.getComputedStyle(e),r=t.rowGap==="normal"?t.gap:t.rowGap;return pe(r)}function pe(e){if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function et(e,t){let r=e,n=new Set;return {getSnapshot:()=>r,hasListeners:()=>n.size>0,setSnapshot:l=>{t(r,l)||(r=l,n.forEach(c=>c()));},subscribe:(l,c,S)=>{let o=n.size===0;return n.add(l),o&&c?.(),()=>{n.delete(l),n.size===0&&S?.();}}}}function de(e,t){return et(e,t)}function tt(){return et(Q,Lt)}function rt(e,t){return e.start===t.start&&e.end===t.end}function Lt(e,t){return e.currentAnchorId!==t.currentAnchorId||e.visibleMessageIds.length!==t.visibleMessageIds.length?false:e.visibleMessageIds.every((r,n)=>r===t.visibleMessageIds[n])}function nt({autoScroll:e,defaultScrollPosition:t,scrollEdgeThreshold:r,scrollMargin:n,scrollPreviousItemPeek:l}){let c=f.useRef(e),S=f.useRef(false),o=f.useRef(null),b=f.useRef(false),v=f.useRef(r),m=f.useRef(0),L=f.useRef(null),R=f.useRef(0),E=f.useRef(e?"following-bottom":"free-scrolling"),h=f.useRef(new Map),I=f.useRef(null),u=f.useRef(null),k=f.useRef(null),j=f.useRef(l),_=f.useRef(true),Y=f.useRef(null),x=f.useRef(n),V=f.useRef(null),P=f.useRef(0),G=f.useRef(0),A=f.useRef(null),le=f.useRef(null),z=f.useRef(null),B=f.useRef(null),i=f.useRef(null),d=f.useRef(null),T=f.useRef(null),w=f.useRef(null),C=f.useRef(null),y=f.useRef(new Set),F=f.useRef(new WeakSet);return z.current===null&&(z.current=de(t==="end"||t==="last-anchor",(q,X)=>q===X)),B.current===null&&(B.current=de(ge,rt)),C.current===null&&(C.current=tt()),c.current=e,v.current=r,x.current=n,j.current=l,{autoScrollRef:c,autoscrollingRef:S,autoscrollingTimeoutRef:i,streamingTurnRef:k,contentRef:o,defaultScrollPositionAppliedRef:b,firstItemRef:L,itemCountRef:m,lastScrollTopRef:R,messageElementsRef:h,modeRef:E,pendingScrollFrameRef:V,pendingScrollToMessageRef:I,prependRestoreRef:u,preserveScrollOnPrependRef:_,pendingDefaultScrollStore:z.current,rootRef:Y,scrollEdgeThresholdRef:v,scrollMarginRef:x,scrollPreviousItemPeekRef:j,spacerGapRef:P,spacerHeightRef:G,spacerRef:A,stateFrameRef:le,stateStore:B.current,viewportRef:d,visibilityFrameRef:T,visibilityObserverRef:w,visibilityStore:C.current,visibleMessageIdsRef:y,handledScrollAnchorsRef:F}}function Me(e){e.pendingDefaultScrollStore.setSnapshot(false);}function re(e){e.defaultScrollPositionAppliedRef.current=true,Me(e);}function lt({refs:e,commitScrollState:t,scheduleStateCommit:r,scheduleVisibilitySync:n}){let{streamingTurnRef:l,autoScrollRef:c,autoscrollingRef:S,autoscrollingTimeoutRef:o,contentRef:b,itemCountRef:v,messageElementsRef:m,modeRef:L,pendingScrollToMessageRef:R,prependRestoreRef:E,scrollMarginRef:h,scrollPreviousItemPeekRef:I,spacerGapRef:u,spacerHeightRef:k,spacerRef:j,viewportRef:_}=e,Y=f.useCallback(i=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null),S.current!==i&&(S.current=i,t()),i&&(o.current=window.setTimeout(()=>{o.current=null,S.current=false,t();},je));},[t]),x=f.useCallback(i=>{let d=j.current;if(!d)return;let T=Math.max(0,Math.ceil(i));k.current!==T&&(k.current=T,d.hidden=T===0,d.style.height=`${T}px`,d.style.marginTop=T>0?`${-u.current}px`:"");},[]),V=f.useCallback((i,{behavior:d="auto",autoscrolling:T=false}={})=>{let w=_.current;if(!w)return;let C=Math.max(0,i);if(Math.abs(w.scrollTop-C)<=J){w.scrollTop=C,t();return}T&&Y(true),w.scrollTo({top:C,behavior:d}),r();},[t,r,Y]),P=f.useCallback(({behavior:i="auto"}={})=>_.current?(x(0),l.current=null,L.current="free-scrolling",V(0,{behavior:i}),n(),true):false,[n,V,x]),G=f.useCallback(({behavior:i="auto"}={})=>{let d=_.current;return d?(x(0),l.current=null,L.current=c.current?"following-bottom":"free-scrolling",V(Qe(d),{autoscrolling:true,behavior:i}),n(),true):false},[n,V,x]),A=f.useCallback((i,{align:d="start",behavior:T="auto",scrollMargin:w=h.current}={},{keepPreviousPeek:C=false}={})=>{let y=b.current,F=_.current;if(!y||!F||!y.contains(i))return false;let q=$e({align:d,element:i,scrollMargin:C?w+I.current:w,spacer:j.current,viewport:F}),X=Je({content:y,scrollTop:q,spacer:j.current,viewport:F});return x(X),E.current={element:i,viewportTop:te(i,F)},L.current=C?"anchored-to-message":"settling-jump",l.current=C?i:null,V(q,{behavior:T}),n(),true},[n,V,x]),le=f.useCallback(()=>{let i=l.current;return !i||!i.isConnected||L.current!=="anchored-to-message"?false:A(i,{align:"start"},{keepPreviousPeek:true})},[A]),z=f.useCallback((i,d)=>{let T=m.current.get(i);return T?(re(e),A(T,d)?(R.current=null,true):(R.current={messageId:i,options:d},true)):v.current===0?(R.current={messageId:i,options:d},re(e),true):false},[A]);return {flushPendingScrollToMessage:f.useCallback(()=>{let i=R.current;if(!i)return false;let d=m.current.get(i.messageId);return !d||!A(d,i.options)?false:(R.current=null,re(e),true)},[A]),reanchorToAnchoredMessage:le,scrollToElement:A,scrollToEnd:G,scrollToMessage:z,scrollToStart:P}}function ot(e,t){return f.useCallback(r=>{e.current=r,r&&t();},[e,t])}function st({autoScroll:e=false,defaultScrollPosition:t="end",scrollEdgeThreshold:r=_e,scrollPreviousItemPeek:n=Be,scrollMargin:l=Fe}){let c=nt({autoScroll:e,defaultScrollPosition:t,scrollEdgeThreshold:r,scrollMargin:l,scrollPreviousItemPeek:n}),{streamingTurnRef:S,autoScrollRef:o,autoscrollingRef:b,autoscrollingTimeoutRef:v,contentRef:m,defaultScrollPositionAppliedRef:L,firstItemRef:R,itemCountRef:E,lastScrollTopRef:h,messageElementsRef:I,modeRef:u,pendingScrollFrameRef:k,pendingScrollToMessageRef:j,prependRestoreRef:_,preserveScrollOnPrependRef:Y,pendingDefaultScrollStore:x,rootRef:V,scrollEdgeThresholdRef:P,scrollMarginRef:G,scrollPreviousItemPeekRef:A,spacerGapRef:le,spacerHeightRef:z,spacerRef:B,stateFrameRef:i,stateStore:d,viewportRef:T,visibilityFrameRef:w,visibilityObserverRef:C,visibilityStore:y,visibleMessageIdsRef:F,handledScrollAnchorsRef:q}=c,X=f.useRef(t);X.current!==t&&(X.current=t,L.current=false);let ce=f.useCallback(s=>{let a=V.current,M=T.current,H=[s.start&&"start",s.end&&"end"].filter(Boolean).join(" "),fe=b.current;for(let W of [a,M])W&&(H?W.setAttribute("data-scrollable",H):W.removeAttribute("data-scrollable"),W.toggleAttribute("data-autoscrolling",fe));},[]),be=f.useCallback(s=>{let a=T.current?.scrollTop??0,M=a<h.current-J;h.current=a,o.current&&!s.end&&u.current!=="settling-jump"&&u.current!=="anchored-to-message"?u.current="following-bottom":u.current==="following-bottom"&&s.end&&M&&!b.current&&(u.current="free-scrolling");},[]),N=f.useCallback(()=>{let s=Ne({content:m.current,scrollEdgeThreshold:P.current,spacer:B.current,viewport:T.current});be(s);let a=u.current==="following-bottom"?{...s,end:false}:s;ce(a),d.setSnapshot(a);},[be,d,ce]),oe=f.useCallback(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,N();}));},[N]),O=f.useCallback(()=>{y.hasListeners()&&w.current===null&&(w.current=window.requestAnimationFrame(()=>{w.current=null,y.hasListeners()&&y.setSnapshot(Ue({content:m.current,scrollMargin:G.current,scrollPreviousItemPeek:A.current,spacer:B.current,viewport:T.current,visibleMessageIds:F.current}));}));},[y]),{flushPendingScrollToMessage:ae,reanchorToAnchoredMessage:Te,scrollToElement:se,scrollToEnd:D,scrollToMessage:Ee,scrollToStart:ie}=lt({refs:c,commitScrollState:N,scheduleStateCommit:oe,scheduleVisibilitySync:O}),ve=f.useCallback(()=>{let s=_.current,a=T.current;if(!s||!a||!s.element.isConnected)return false;let H=te(s.element,a)-s.viewportTop;return Math.abs(H)<=J?false:(a.scrollTop+=H,s.viewportTop=te(s.element,a),oe(),O(),true)},[oe,O]),Z=f.useCallback(()=>{let s=m.current,a=T.current;if(!s||!a){_.current=null;return}let M=We({content:s,spacer:B.current,viewport:a});_.current=M?{element:M,viewportTop:te(M,a)}:null;},[]),he=f.useCallback(()=>{k.current===null&&(k.current=window.requestAnimationFrame(()=>{k.current=null,ae()&&Z();}));},[Z,ae]),ue=f.useCallback(()=>{if(!t||L.current||E.current===0)return false;let s=false;if(t==="last-anchor"){let a=m.current,M=T.current,H=a&&M?Ke(ee(a,B.current)):null;if(!a||!M||!H)s=D({behavior:"auto"});else {let fe=me(H,M);s=Re({content:a,spacer:B.current,viewport:M})-fe<=M.clientHeight?D({behavior:"auto"}):se(H,{align:"start"},{keepPreviousPeek:true});}}else s=t==="end"?D({behavior:"auto"}):ie({behavior:"auto"});return s?(re(c),true):false},[t,se,D,ie]),Le=f.useCallback(()=>{let s=m.current;if(!s)return;let a=ee(s,B.current),M=E.current,H=R.current;E.current=a.length,R.current=a[0]??null,(()=>{if(ae())return;if(M===0){if(ue()||a.length>0&&o.current&&D({behavior:"auto"}))return;N(),O();return}let W=H?a.indexOf(H):-1;if(Y.current&&W>0){ve();return}if(a.length>M){let $=Ye(a,M);if($){if(o.current&&u.current==="following-bottom"&&qe(a,M)){D({behavior:"auto"});return}se($,{align:"start"},{keepPreviousPeek:true}),q.current.add($);return}}if(a.length===M){let $=ze(a,q.current);if($){se($,{align:"start"},{keepPreviousPeek:true}),q.current.add($);return}}u.current==="following-bottom"&&o.current?D({behavior:"auto"}):(N(),O());})(),Z();},[ue,Z,N,ae,ve,O,se,D]),Ce=f.useCallback(()=>{if(u.current==="following-bottom"&&o.current){D({behavior:"auto"});return}let s=z.current;if(Te()){o.current&&s>0&&z.current===0&&D({behavior:"auto"});return}oe(),O();},[Te,oe,O,D]),Pe=f.useCallback(()=>{let s=T.current;if(!(!s||!y.hasListeners())){if(typeof IntersectionObserver>"u"){O();return}C.current||(C.current=new IntersectionObserver(a=>{for(let M of a){let H=M.target.dataset.messageId;H&&(M.isIntersecting?F.current.add(H):F.current.delete(H));}O();},{root:s,rootMargin:`${-(G.current+A.current)}px 0px 0px 0px`,threshold:[0,.01,.5,1]})),I.current.forEach(a=>{C.current?.observe(a);}),O();}},[O,y]),we=f.useCallback(()=>{w.current!==null&&(window.cancelAnimationFrame(w.current),w.current=null),C.current?.disconnect(),C.current=null,F.current.clear(),y.setSnapshot(Q);},[y]),bt=f.useCallback((s,a,M)=>{if(a){I.current.set(s,a),C.current?.observe(a),O(),j.current?.messageId===s&&he();return}M&&I.current.get(s)===M&&(I.current.delete(s),F.current.delete(s),C.current?.unobserve(M),O());},[he,O]),Oe=f.useCallback(()=>{(u.current==="following-bottom"||u.current==="anchored-to-message"||u.current==="settling-jump")&&(S.current=null,u.current="free-scrolling");},[]),ye=f.useCallback(()=>ce(d.getSnapshot()),[d,ce]),He=ot(V,ye),Ie=ot(T,ye),Ae=f.useCallback(s=>{m.current=s;},[]),De=f.useCallback(s=>{B.current=s,le.current=Ze(s?.parentElement??null);},[]),xe=f.useCallback(()=>{N(),O(),Z();},[Z,N,O]),Tt=f.useMemo(()=>({handleContentChange:Le,handleResize:Ce,observeVisibility:Pe,pendingDefaultScrollStore:x,preserveScrollOnPrependRef:Y,scrollToEnd:D,scrollToMessage:Ee,scrollToStart:ie,setContentElement:Ae,setRootElement:He,setSpacerElement:De,setViewportElement:Ie,stateStore:d,syncAfterScroll:xe,unobserveVisibility:we,userScrollIntent:Oe,viewportRef:T,visibilityStore:y}),[Le,Ce,Pe,x,D,Ee,ie,Ae,He,De,Ie,d,xe,we,Oe,y]);return f.useLayoutEffect(()=>{ue()||E.current===0&&Me(c);},[ue]),f.useEffect(()=>()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),w.current!==null&&(window.cancelAnimationFrame(w.current),w.current=null),v.current!==null&&(window.clearTimeout(v.current),v.current=null),k.current!==null&&(window.cancelAnimationFrame(k.current),k.current=null),C.current?.disconnect(),C.current=null;},[]),f.useLayoutEffect(()=>{if(e&&u.current==="following-bottom"&&E.current>0){D({behavior:"auto"});return}N();},[e,N,D]),{context:Tt,registerMessage:bt}}function at(e){let t=f.useRef(e);return t.current=e,t}var it=f.createContext(null),ut=f.createContext(null);function K(){let e=f.useContext(it);if(!e)throw new Error("useMessageScroller must be used within a MessageScroller.");return e}function Ct(){let e=f.useContext(ut);if(!e)throw new Error("MessageScrollerItem must be used within a MessageScroller.");return e}function Pt(){let{scrollToEnd:e,scrollToMessage:t,scrollToStart:r}=K();return f.useMemo(()=>({scrollToEnd:e,scrollToMessage:t,scrollToStart:r}),[e,t,r])}function wt(){let{stateStore:e}=K();return f.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot)}function Ot(){let{observeVisibility:e,unobserveVisibility:t,visibilityStore:r}=K(),n=f.useCallback(l=>r.subscribe(l,e,t),[e,t,r]);return f.useSyncExternalStore(n,r.getSnapshot,r.getSnapshot)}function ft({autoScroll:e=false,children:t,defaultScrollPosition:r="end",scrollEdgeThreshold:n,scrollPreviousItemPeek:l,scrollMargin:c}){let{context:S,registerMessage:o}=st({autoScroll:e,defaultScrollPosition:r,scrollEdgeThreshold:n,scrollPreviousItemPeek:l,scrollMargin:c});return jsx(it.Provider,{value:S,children:jsx(ut.Provider,{value:o,children:t})})}function St(){let{pendingDefaultScrollStore:e}=K();return f.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot)}function gt({children:e,...t}){let{setRootElement:r}=K(),n=St();return jsx("div",{ref:r,...t,...n?{"data-pending-scroll":""}:null,children:e})}function Rt({"aria-label":e,children:t,onKeyDown:r,onScroll:n,onTouchMove:l,onWheel:c$1,preserveScrollOnPrepend:S=true,ref:o,role:b,tabIndex:v,...m}){let{handleResize:L,preserveScrollOnPrependRef:R,setViewportElement:E,syncAfterScroll:h,userScrollIntent:I,viewportRef:u}=K(),k=St();R.current=S;let j=f.useCallback(P=>{E(P),c(o)?.(P);},[o,E]);function _(P){h(),n?.(P);}function Y(P){I(),c$1?.(P);}function x(P){I(),l?.(P);}function V(P){Ge.has(P.key)&&I(),r?.(P);}return f.useEffect(()=>{let P=u.current;if(!P||typeof ResizeObserver>"u")return;let G=0,A=new ResizeObserver(()=>{window.cancelAnimationFrame(G),G=window.requestAnimationFrame(L);});return A.observe(P),()=>{window.cancelAnimationFrame(G),A.disconnect();}},[L,u]),jsx("div",{ref:j,role:b??"region","aria-label":e??"Messages",tabIndex:v??0,onKeyDown:V,onScroll:_,onTouchMove:x,onWheel:Y,...m,...k?{"data-pending-scroll":""}:null,children:t})}function pt({"aria-relevant":e,children:t,ref:r,role:n,spacerClassName:l,...c$1}){let{handleContentChange:S,handleResize:o,setContentElement:b,setSpacerElement:v}=K(),m=f.useRef(null),L=f.useCallback(R=>{m.current=R,b(R),c(r)?.(R);},[r,b]);return f.useLayoutEffect(()=>{let R=m.current;if(!R||(S(),typeof MutationObserver>"u"))return;let E=new MutationObserver(()=>{S();});return E.observe(R,{childList:true}),()=>E.disconnect()},[S]),f.useEffect(()=>{let R=m.current;if(!R||typeof ResizeObserver>"u")return;let E=0,h=new ResizeObserver(()=>{window.cancelAnimationFrame(E),E=window.requestAnimationFrame(o);});return h.observe(R),()=>{window.cancelAnimationFrame(E),h.disconnect();}},[o]),jsxs("div",{ref:L,role:n??"log","aria-relevant":e??"additions",...c$1,children:[t,jsx("div",{ref:v,"aria-hidden":"true","data-message-scroller-spacer":"",hidden:true,className:l})]})}function mt({messageId:e,ref:t,scrollAnchor:r=false,...n}){let l=Ct(),c$1=f.useRef(null),S=f.useCallback(o=>{let b=c$1.current;c$1.current=o,e&&l(e,o,b),c(t)?.(o);},[e,t,l]);return jsx("div",{ref:S,"data-message-id":e,"data-scroll-anchor":r?"true":"false",...n})}function dt({behavior:e="smooth",children:t,direction:r="end",onClick:n,render:l,tabIndex:c,type:S="button",...o}){let{scrollToEnd:b$1,scrollToStart:v,stateStore:m}=K(),L=at(n),R=f.useCallback(u=>m.subscribe(u),[m]),E=f.useCallback(()=>{let u=m.getSnapshot();return r==="start"?u.start:u.end},[r,m]),h=f.useSyncExternalStore(R,E,E),I=f.useCallback(u=>{h&&(L.current?.(u),u.defaultPrevented||(u.currentTarget.blur(),r==="start"?v({behavior:e}):b$1({behavior:e})));},[e,r,h,L,b$1,v]);return a({defaultTagName:"button",props:b({type:S,inert:!h,tabIndex:h?c:-1,children:t??jsxs("span",{children:["Scroll to ",r]}),onClick:I},o),render:l,state:{active:h,direction:r},stateAttributesMapping:{active:u=>({"data-active":u?"true":"false"})}})}var er={Provider:ft,Root:gt,Viewport:Rt,Content:pt,Item:mt,Button:dt};export{er as MessageScroller,Pt as useMessageScroller,wt as useMessageScrollerScrollable,Ot as useMessageScrollerVisibility};
23
-
24
- +import {c,a,b}from'../chunk-HBS6WEDP.js';import*as f from'react';import {jsx,jsxs}from'react/jsx-runtime';var _e=8,Be=64,Fe=0,J=.5,je=180,Ge=new Set(["ArrowDown","ArrowUp","End","Home","PageDown","PageUp"," "]),ge={start:false,end:false},vt=[],Q={currentAnchorId:null,visibleMessageIds:vt};function Ne({content:e,scrollEdgeThreshold:t,spacer:r,viewport:n}){if(!n||!e)return ge;let l=Re({content:e,spacer:r,viewport:n});return {start:n.scrollTop>t,end:l-n.scrollTop-n.clientHeight>t}}function Ue({content:e,scrollMargin:t,scrollPreviousItemPeek:r,spacer:n,viewport:l,visibleMessageIds:c}){if(!e||!l)return Q;let S=l.getBoundingClientRect(),o=S.top+t+r,b=typeof IntersectionObserver>"u",v=[],m=null;for(let L of ee(e,n)){let R=L.dataset.messageId;if(!R)continue;let E=L.dataset.scrollAnchor==="true",h=E||b?L.getBoundingClientRect():null;(b&&h?h.bottom>o&&h.top<S.bottom:c.has(R))&&v.push(R),E&&h&&h.top<=o+J&&(m=R);}return v.length===0&&m===null?Q:{currentAnchorId:m,visibleMessageIds:v}}function ee(e,t){return Array.from(e.children).filter(r=>r instanceof HTMLElement&&r!==t)}function Ye(e,t){for(let r=t;r<e.length;r++){let n=e[r];if(n?.dataset.scrollAnchor==="true")return n}return null}function ze(e,t){for(let r of e)if(r.dataset.scrollAnchor==="true"&&!t.has(r))return r;return null}function qe(e,t){let r=0;for(let n=t;n<e.length;n++)if(e[n]?.dataset.scrollAnchor==="true"&&(r+=1,r>1))return true;return false}function Ke(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r?.dataset.scrollAnchor==="true")return r}return null}function We({content:e,spacer:t,viewport:r}){let n=r.getBoundingClientRect();for(let l of ee(e,t)){if(!l.dataset.messageId)continue;let c=l.getBoundingClientRect();if(c.bottom>n.top&&c.top<n.bottom)return l}return null}function $e({align:e,element:t,scrollMargin:r,spacer:n,viewport:l}){let c=me(t,l),S=t.getBoundingClientRect().height,o=ht(n);if(e==="center"){let b=Math.max(0,l.clientHeight-o.start-o.end);return c-o.start-(b-S)/2-r}if(e==="end")return c-l.clientHeight+S+o.end+r;if(e==="nearest"){let b=c+S,v=l.scrollTop+o.start,m=l.scrollTop+l.clientHeight-o.end;return c>=v&&b<=m?l.scrollTop:c<v?c-o.start-r:b-l.clientHeight+o.end+r}return c-o.start-r}function layoutBlockTop(e){let t=e.offsetTop;for(let r=e.offsetParent;r;r=r.offsetParent)t+=r.offsetTop+r.clientTop;return t}function me(e,t){let r=layoutBlockTop(e)-layoutBlockTop(t);for(let n=e.parentElement;n&&n!==t;n=n.parentElement)r-=n.scrollTop;return r}function te(e,t){return me(e,t)-t.scrollTop}function Je({content:e,scrollTop:t,spacer:r,viewport:n}){let l=Re({content:e,spacer:r,viewport:n});return t+n.clientHeight-l}function Re({content:e,spacer:t,viewport:r}){let n=ee(e,t),l=Xe(e),c=r.getBoundingClientRect(),S=r.scrollTop,o=l.start+l.end;for(let b of n){let v=b.getBoundingClientRect();o=Math.max(o,v.bottom-c.top+S+l.end);}return o}function Qe(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function Xe(e){let t=window.getComputedStyle(e);return {end:pe(t.paddingBlockEnd||t.paddingBottom),start:pe(t.paddingBlockStart||t.paddingTop)}}function ht(e){let t=e?.parentElement;return t?Xe(t):{end:0,start:0}}function Ze(e){if(!e)return 0;let t=window.getComputedStyle(e),r=t.rowGap==="normal"?t.gap:t.rowGap;return pe(r)}function pe(e){if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function et(e,t){let r=e,n=new Set;return {getSnapshot:()=>r,hasListeners:()=>n.size>0,setSnapshot:l=>{t(r,l)||(r=l,n.forEach(c=>c()));},subscribe:(l,c,S)=>{let o=n.size===0;return n.add(l),o&&c?.(),()=>{n.delete(l),n.size===0&&S?.();}}}}function de(e,t){return et(e,t)}function tt(){return et(Q,Lt)}function rt(e,t){return e.start===t.start&&e.end===t.end}function Lt(e,t){return e.currentAnchorId!==t.currentAnchorId||e.visibleMessageIds.length!==t.visibleMessageIds.length?false:e.visibleMessageIds.every((r,n)=>r===t.visibleMessageIds[n])}function nt({autoScroll:e,defaultScrollPosition:t,scrollEdgeThreshold:r,scrollMargin:n,scrollPreviousItemPeek:l}){let c=f.useRef(e),S=f.useRef(false),o=f.useRef(null),b=f.useRef(false),v=f.useRef(r),m=f.useRef(0),L=f.useRef(null),R=f.useRef(0),E=f.useRef(e?"following-bottom":"free-scrolling"),h=f.useRef(new Map),I=f.useRef(null),u=f.useRef(null),k=f.useRef(null),j=f.useRef(l),_=f.useRef(true),Y=f.useRef(null),x=f.useRef(n),V=f.useRef(null),P=f.useRef(0),G=f.useRef(0),A=f.useRef(null),le=f.useRef(null),z=f.useRef(null),B=f.useRef(null),i=f.useRef(null),d=f.useRef(null),T=f.useRef(null),w=f.useRef(null),C=f.useRef(null),y=f.useRef(new Set),F=f.useRef(new WeakSet);return z.current===null&&(z.current=de(t==="end"||t==="last-anchor",(q,X)=>q===X)),B.current===null&&(B.current=de(ge,rt)),C.current===null&&(C.current=tt()),c.current=e,v.current=r,x.current=n,j.current=l,{autoScrollRef:c,autoscrollingRef:S,autoscrollingTimeoutRef:i,streamingTurnRef:k,contentRef:o,defaultScrollPositionAppliedRef:b,firstItemRef:L,itemCountRef:m,lastScrollTopRef:R,messageElementsRef:h,modeRef:E,pendingScrollFrameRef:V,pendingScrollToMessageRef:I,prependRestoreRef:u,preserveScrollOnPrependRef:_,pendingDefaultScrollStore:z.current,rootRef:Y,scrollEdgeThresholdRef:v,scrollMarginRef:x,scrollPreviousItemPeekRef:j,spacerGapRef:P,spacerHeightRef:G,spacerRef:A,stateFrameRef:le,stateStore:B.current,viewportRef:d,visibilityFrameRef:T,visibilityObserverRef:w,visibilityStore:C.current,visibleMessageIdsRef:y,handledScrollAnchorsRef:F}}function Me(e){e.pendingDefaultScrollStore.setSnapshot(false);}function re(e){e.defaultScrollPositionAppliedRef.current=true,Me(e);}function lt({refs:e,commitScrollState:t,scheduleStateCommit:r,scheduleVisibilitySync:n}){let{streamingTurnRef:l,autoScrollRef:c,autoscrollingRef:S,autoscrollingTimeoutRef:o,contentRef:b,itemCountRef:v,messageElementsRef:m,modeRef:L,pendingScrollToMessageRef:R,prependRestoreRef:E,scrollMarginRef:h,scrollPreviousItemPeekRef:I,spacerGapRef:u,spacerHeightRef:k,spacerRef:j,viewportRef:_}=e,Y=f.useCallback(i=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null),S.current!==i&&(S.current=i,t()),i&&(o.current=window.setTimeout(()=>{o.current=null,S.current=false,t();},je));},[t]),x=f.useCallback(i=>{let d=j.current;if(!d)return;let T=Math.max(0,Math.ceil(i));k.current!==T&&(k.current=T,d.hidden=T===0,d.style.height=`${T}px`,d.style.marginTop=T>0?`${-u.current}px`:"");},[]),V=f.useCallback((i,{behavior:d="auto",autoscrolling:T=false}={})=>{let w=_.current;if(!w)return;let C=Math.max(0,i);if(Math.abs(w.scrollTop-C)<=J){w.scrollTop=C,t();return}T&&Y(true),w.scrollTo({top:C,behavior:d}),r();},[t,r,Y]),P=f.useCallback(({behavior:i="auto"}={})=>_.current?(x(0),l.current=null,L.current="free-scrolling",V(0,{behavior:i}),n(),true):false,[n,V,x]),G=f.useCallback(({behavior:i="auto"}={})=>{let d=_.current;return d?(x(0),l.current=null,L.current=c.current?"following-bottom":"free-scrolling",V(Qe(d),{autoscrolling:true,behavior:i}),n(),true):false},[n,V,x]),A=f.useCallback((i,{align:d="start",behavior:T="auto",scrollMargin:w=h.current}={},{keepPreviousPeek:C=false}={})=>{let y=b.current,F=_.current;if(!y||!F||!y.contains(i))return false;let q=$e({align:d,element:i,scrollMargin:C?w+I.current:w,spacer:j.current,viewport:F}),X=Je({content:y,scrollTop:q,spacer:j.current,viewport:F});return x(X),E.current={element:i,viewportTop:te(i,F)},L.current=C?"anchored-to-message":"settling-jump",l.current=C?i:null,V(q,{behavior:T}),n(),true},[n,V,x]),le=f.useCallback(()=>{let i=l.current;return !i||!i.isConnected||L.current!=="anchored-to-message"?false:A(i,{align:"start"},{keepPreviousPeek:true})},[A]),z=f.useCallback((i,d)=>{let T=m.current.get(i);return T?(re(e),A(T,d)?(R.current=null,true):(R.current={messageId:i,options:d},true)):v.current===0?(R.current={messageId:i,options:d},re(e),true):false},[A]);return {flushPendingScrollToMessage:f.useCallback(()=>{let i=R.current;if(!i)return false;let d=m.current.get(i.messageId);return !d||!A(d,i.options)?false:(R.current=null,re(e),true)},[A]),reanchorToAnchoredMessage:le,scrollToElement:A,scrollToEnd:G,scrollToMessage:z,scrollToStart:P}}function ot(e,t){return f.useCallback(r=>{e.current=r,r&&t();},[e,t])}function st({autoScroll:e=false,defaultScrollPosition:t="end",scrollEdgeThreshold:r=_e,scrollPreviousItemPeek:n=Be,scrollMargin:l=Fe}){let c=nt({autoScroll:e,defaultScrollPosition:t,scrollEdgeThreshold:r,scrollMargin:l,scrollPreviousItemPeek:n}),{streamingTurnRef:S,autoScrollRef:o,autoscrollingRef:b,autoscrollingTimeoutRef:v,contentRef:m,defaultScrollPositionAppliedRef:L,firstItemRef:R,itemCountRef:E,lastScrollTopRef:h,messageElementsRef:I,modeRef:u,pendingScrollFrameRef:k,pendingScrollToMessageRef:j,prependRestoreRef:_,preserveScrollOnPrependRef:Y,pendingDefaultScrollStore:x,rootRef:V,scrollEdgeThresholdRef:P,scrollMarginRef:G,scrollPreviousItemPeekRef:A,spacerGapRef:le,spacerHeightRef:z,spacerRef:B,stateFrameRef:i,stateStore:d,viewportRef:T,visibilityFrameRef:w,visibilityObserverRef:C,visibilityStore:y,visibleMessageIdsRef:F,handledScrollAnchorsRef:q}=c,X=f.useRef(t);X.current!==t&&(X.current=t,L.current=false);let ce=f.useCallback(s=>{let a=V.current,M=T.current,H=[s.start&&"start",s.end&&"end"].filter(Boolean).join(" "),fe=b.current;for(let W of [a,M])W&&(H?W.setAttribute("data-scrollable",H):W.removeAttribute("data-scrollable"),W.toggleAttribute("data-autoscrolling",fe));},[]),be=f.useCallback(s=>{let a=T.current?.scrollTop??0,M=a<h.current-J;h.current=a,o.current&&!s.end&&u.current!=="settling-jump"&&u.current!=="anchored-to-message"?u.current="following-bottom":u.current==="following-bottom"&&s.end&&M&&!b.current&&(u.current="free-scrolling");},[]),N=f.useCallback(()=>{let s=Ne({content:m.current,scrollEdgeThreshold:P.current,spacer:B.current,viewport:T.current});be(s);let a=u.current==="following-bottom"?{...s,end:false}:s;ce(a),d.setSnapshot(a);},[be,d,ce]),oe=f.useCallback(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,N();}));},[N]),O=f.useCallback(()=>{y.hasListeners()&&w.current===null&&(w.current=window.requestAnimationFrame(()=>{w.current=null,y.hasListeners()&&y.setSnapshot(Ue({content:m.current,scrollMargin:G.current,scrollPreviousItemPeek:A.current,spacer:B.current,viewport:T.current,visibleMessageIds:F.current}));}));},[y]),{flushPendingScrollToMessage:ae,reanchorToAnchoredMessage:Te,scrollToElement:se,scrollToEnd:D,scrollToMessage:Ee,scrollToStart:ie}=lt({refs:c,commitScrollState:N,scheduleStateCommit:oe,scheduleVisibilitySync:O}),ve=f.useCallback(()=>{let s=_.current,a=T.current;if(!s||!a||!s.element.isConnected)return false;let H=te(s.element,a)-s.viewportTop;return Math.abs(H)<=J?false:(a.scrollTop+=H,s.viewportTop=te(s.element,a),oe(),O(),true)},[oe,O]),Z=f.useCallback(()=>{let s=m.current,a=T.current;if(!s||!a){_.current=null;return}let M=We({content:s,spacer:B.current,viewport:a});_.current=M?{element:M,viewportTop:te(M,a)}:null;},[]),he=f.useCallback(()=>{k.current===null&&(k.current=window.requestAnimationFrame(()=>{k.current=null,ae()&&Z();}));},[Z,ae]),ue=f.useCallback(()=>{if(!t||L.current||E.current===0)return false;let s=false;if(t==="last-anchor"){let a=m.current,M=T.current,H=a&&M?Ke(ee(a,B.current)):null;if(!a||!M||!H)s=D({behavior:"auto"});else {let fe=me(H,M);s=Re({content:a,spacer:B.current,viewport:M})-fe<=M.clientHeight?D({behavior:"auto"}):se(H,{align:"start"},{keepPreviousPeek:true});}}else s=t==="end"?D({behavior:"auto"}):ie({behavior:"auto"});return s?(re(c),true):false},[t,se,D,ie]),Le=f.useCallback(()=>{let s=m.current;if(!s)return;let a=ee(s,B.current),M=E.current,H=R.current;E.current=a.length,R.current=a[0]??null,(()=>{if(ae())return;if(M===0){if(ue()||a.length>0&&o.current&&D({behavior:"auto"}))return;N(),O();return}let W=H?a.indexOf(H):-1;if(Y.current&&W>0){ve();return}if(a.length>M){let $=Ye(a,M);if($){if(o.current&&u.current==="following-bottom"&&qe(a,M)){D({behavior:"auto"});return}se($,{align:"start"},{keepPreviousPeek:true}),q.current.add($);return}}if(a.length===M){let $=ze(a,q.current);if($){se($,{align:"start"},{keepPreviousPeek:true}),q.current.add($);return}}u.current==="following-bottom"&&o.current?D({behavior:"auto"}):(N(),O());})(),Z();},[ue,Z,N,ae,ve,O,se,D]),Ce=f.useCallback(()=>{if(u.current==="following-bottom"&&o.current){D({behavior:"auto"});return}let s=z.current;if(Te()){o.current&&s>0&&z.current===0&&D({behavior:"auto"});return}oe(),O();},[Te,oe,O,D]),Pe=f.useCallback(()=>{let s=T.current;if(!(!s||!y.hasListeners())){if(typeof IntersectionObserver>"u"){O();return}C.current||(C.current=new IntersectionObserver(a=>{for(let M of a){let H=M.target.dataset.messageId;H&&(M.isIntersecting?F.current.add(H):F.current.delete(H));}O();},{root:s,rootMargin:`${-(G.current+A.current)}px 0px 0px 0px`,threshold:[0,.01,.5,1]})),I.current.forEach(a=>{C.current?.observe(a);}),O();}},[O,y]),we=f.useCallback(()=>{w.current!==null&&(window.cancelAnimationFrame(w.current),w.current=null),C.current?.disconnect(),C.current=null,F.current.clear(),y.setSnapshot(Q);},[y]),bt=f.useCallback((s,a,M)=>{if(a){I.current.set(s,a),C.current?.observe(a),O(),j.current?.messageId===s&&he();return}M&&I.current.get(s)===M&&(I.current.delete(s),F.current.delete(s),C.current?.unobserve(M),O());},[he,O]),Oe=f.useCallback(()=>{(u.current==="following-bottom"||u.current==="anchored-to-message"||u.current==="settling-jump")&&(S.current=null,u.current="free-scrolling");},[]),ye=f.useCallback(()=>ce(d.getSnapshot()),[d,ce]),He=ot(V,ye),Ie=ot(T,ye),Ae=f.useCallback(s=>{m.current=s;},[]),De=f.useCallback(s=>{B.current=s,le.current=Ze(s?.parentElement??null);},[]),xe=f.useCallback(()=>{N(),O(),Z();},[Z,N,O]),Tt=f.useMemo(()=>({handleContentChange:Le,handleResize:Ce,observeVisibility:Pe,pendingDefaultScrollStore:x,preserveScrollOnPrependRef:Y,scrollToEnd:D,scrollToMessage:Ee,scrollToStart:ie,setContentElement:Ae,setRootElement:He,setSpacerElement:De,setViewportElement:Ie,stateStore:d,syncAfterScroll:xe,unobserveVisibility:we,userScrollIntent:Oe,viewportRef:T,visibilityStore:y}),[Le,Ce,Pe,x,D,Ee,ie,Ae,He,De,Ie,d,xe,we,Oe,y]);return f.useLayoutEffect(()=>{ue()||E.current===0&&Me(c);},[ue]),f.useEffect(()=>()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),w.current!==null&&(window.cancelAnimationFrame(w.current),w.current=null),v.current!==null&&(window.clearTimeout(v.current),v.current=null),k.current!==null&&(window.cancelAnimationFrame(k.current),k.current=null),C.current?.disconnect(),C.current=null;},[]),f.useLayoutEffect(()=>{if(e&&u.current==="following-bottom"&&E.current>0){D({behavior:"auto"});return}N();},[e,N,D]),{context:Tt,registerMessage:bt}}function at(e){let t=f.useRef(e);return t.current=e,t}var it=f.createContext(null),ut=f.createContext(null);function K(){let e=f.useContext(it);if(!e)throw new Error("useMessageScroller must be used within a MessageScroller.");return e}function Ct(){let e=f.useContext(ut);if(!e)throw new Error("MessageScrollerItem must be used within a MessageScroller.");return e}function Pt(){let{scrollToEnd:e,scrollToMessage:t,scrollToStart:r}=K();return f.useMemo(()=>({scrollToEnd:e,scrollToMessage:t,scrollToStart:r}),[e,t,r])}function wt(){let{stateStore:e}=K();return f.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot)}function Ot(){let{observeVisibility:e,unobserveVisibility:t,visibilityStore:r}=K(),n=f.useCallback(l=>r.subscribe(l,e,t),[e,t,r]);return f.useSyncExternalStore(n,r.getSnapshot,r.getSnapshot)}function ft({autoScroll:e=false,children:t,defaultScrollPosition:r="end",scrollEdgeThreshold:n,scrollPreviousItemPeek:l,scrollMargin:c}){let{context:S,registerMessage:o}=st({autoScroll:e,defaultScrollPosition:r,scrollEdgeThreshold:n,scrollPreviousItemPeek:l,scrollMargin:c});return jsx(it.Provider,{value:S,children:jsx(ut.Provider,{value:o,children:t})})}function St(){let{pendingDefaultScrollStore:e}=K();return f.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot)}function gt({children:e,ref:o,...t}){let{setRootElement:r}=K(),n=St(),l=f.useMemo(()=>c(r,o),[r,o]);return jsx("div",{ref:l,...t,...n?{"data-pending-scroll":""}:null,children:e})}function Rt({"aria-label":e,children:t,onKeyDown:r,onPointerDown:d,onScroll:n,onTouchMove:l,onWheel:c$1,preserveScrollOnPrepend:S=true,ref:o,role:b,tabIndex:v,...m}){let{handleResize:L,preserveScrollOnPrependRef:R,setViewportElement:E,syncAfterScroll:h,userScrollIntent:I,viewportRef:u}=K(),k=St();R.current=S;let j=f.useCallback(P=>{E(P),c(o)?.(P);},[o,E]);function _(P){h(),n?.(P);}function Y(P){I(),c$1?.(P);}function x(P){I(),l?.(P);}function V(P){Ge.has(P.key)&&I(),r?.(P);}function W(P){I(),d?.(P);}return f.useEffect(()=>{let P=u.current;if(!P||typeof ResizeObserver>"u")return;let G=0,A=new ResizeObserver(()=>{window.cancelAnimationFrame(G),G=window.requestAnimationFrame(L);});return A.observe(P),()=>{window.cancelAnimationFrame(G),A.disconnect();}},[L,u]),jsx("div",{ref:j,role:b??"region","aria-label":e??"Messages",tabIndex:v??0,onKeyDown:V,onPointerDown:W,onScroll:_,onTouchMove:x,onWheel:Y,...m,...k?{"data-pending-scroll":""}:null,children:t})}function pt({"aria-relevant":e,children:t,ref:r,role:n,spacerClassName:l,...c$1}){let{handleContentChange:S,handleResize:o,setContentElement:b,setSpacerElement:v}=K(),m=f.useRef(null),L=f.useCallback(R=>{m.current=R,b(R),c(r)?.(R);},[r,b]);return f.useLayoutEffect(()=>{let R=m.current;if(!R||(S(),typeof MutationObserver>"u"))return;let E=new MutationObserver(()=>{S();});return E.observe(R,{childList:true}),()=>E.disconnect()},[S]),f.useEffect(()=>{let R=m.current;if(!R||typeof ResizeObserver>"u")return;let E=0,h=new ResizeObserver(()=>{window.cancelAnimationFrame(E),E=window.requestAnimationFrame(o);});return h.observe(R),()=>{window.cancelAnimationFrame(E),h.disconnect();}},[o]),jsxs("div",{ref:L,role:n??"log","aria-relevant":e??"additions",...c$1,children:[t,jsx("div",{ref:v,"aria-hidden":"true","data-message-scroller-spacer":"",hidden:true,className:l})]})}function mt({messageId:e,ref:t,scrollAnchor:r=false,...n}){let l=Ct(),c$1=f.useRef(null),S=f.useCallback(o=>{let b=c$1.current;c$1.current=o,e&&l(e,o,b),c(t)?.(o);},[e,t,l]);return jsx("div",{ref:S,"data-message-id":e,"data-scroll-anchor":r?"true":"false",...n})}function dt({behavior:e="smooth",children:t,direction:r="end",onClick:n,render:l,tabIndex:c,type:S="button",...o}){let{scrollToEnd:b$1,scrollToStart:v,stateStore:m}=K(),L=at(n),R=f.useCallback(u=>m.subscribe(u),[m]),E=f.useCallback(()=>{let u=m.getSnapshot();return r==="start"?u.start:u.end},[r,m]),h=f.useSyncExternalStore(R,E,E),I=f.useCallback(u=>{h&&(L.current?.(u),u.defaultPrevented||(u.currentTarget.blur(),r==="start"?v({behavior:e}):b$1({behavior:e})));},[e,r,h,L,b$1,v]);return a({defaultTagName:"button",props:b({type:S,inert:!h,tabIndex:h?c:-1,children:t??jsxs("span",{children:["Scroll to ",r]}),onClick:I},o),render:l,state:{active:h,direction:r},stateAttributesMapping:{active:u=>({"data-active":u?"true":"false"})}})}var er={Provider:ft,Root:gt,Viewport:Rt,Content:pt,Item:mt,Button:dt};export{er as MessageScroller,Pt as useMessageScroller,wt as useMessageScrollerScrollable,Ot as useMessageScrollerVisibility};
25
-
26
- diff --git a/dist/questionnaire/index.js b/dist/questionnaire/index.js
27
- index db71caaab7e5909b83eb50d79a30eb29a032f1b4..b1f945e976802c6148bcbfa86b8eea449fceb3ef 100644
28
- --- a/dist/questionnaire/index.js
29
- +++ b/dist/questionnaire/index.js
30
- @@ -1,2 +1,2 @@
31
- "use client";
32
- -import {a,b,c}from'../chunk-HBS6WEDP.js';import*as p from'react';import {jsx}from'react/jsx-runtime';var Pe=p.createContext(null),ve=p.createContext(null),Ee=p.createContext(null);function ne(e){let t=p.useContext(ve);if(!t)throw new Error(`${e} must be used within a Questionnaire.Root component.`);return t}function be(e){let t=p.useContext(Pe);if(!t)throw new Error(`${e} must be used within a Questionnaire.Choice component.`);return t}function Z(e){let t=p.useContext(Ee);if(!t)throw new Error(`${e} must be used within a Questionnaire.Item component.`);return t}function ce(e){return Array.isArray(e)?e.some(t=>String(t).trim().length>0):e!=null&&String(e).trim().length>0}function me(e){return e==="letters"?Array.from({length:26},(t,i)=>String.fromCharCode(65+i)):e==="numbers"?Array.from({length:9},(t,i)=>String(i+1)):[]}function He(e,t){let i=t==="letters"?e.toUpperCase():e;return me(t).includes(i)?i:null}function Ie(e,t){return [e,t?"Enter":null].filter(Boolean).join(" ")||void 0}function pe(e){return e.type==="choice"?e.element.checked:e.element.hasAttribute("name")&&ce(e.element.value)}function $e(e){return e?.type==="input"&&["email","password","search","tel","text","url"].includes(e.element.type)&&!ce(e.element.value)}function he(e){return e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?true:e instanceof HTMLInputElement?!["button","checkbox","radio","reset","submit"].includes(e.type):e instanceof HTMLElement&&e.isContentEditable}function le(e){return e instanceof HTMLInputElement&&e.type==="radio"}function Ke(e,t){if(e.element===t.element)return 0;let i=e.element.compareDocumentPosition(t.element);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}function Ue(e,t){if(e.element===t.element)return 0;let i=e.element.compareDocumentPosition(t.element);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}function qe({checked:e,defaultChecked:t=false,disabled:i=false,onChange:a,value:s}){let{disabled:o,hasInputAnswer:u,invalid:f,multiple:g,name:d,registerAnswerControl:c,registerAnswerSelection:S,required:B,resetVersion:Q,selectedAnswerIds:x,setAnswerDefault:U,setAnswerSelectionFromInteraction:P,shortcutByAnswerId:A,shortcutByChoiceValue:G,status:v,syncControlledAnswerSelection:C}=Z("Questionnaire.Choice"),E=p.useId(),[O,V]=p.useState(null),L=p.useRef(t),N=e!==void 0,D=o||i,M=x.includes(E),y=N?v==="skipped"?false:e:M,R=g?"checkbox":"radio",w=G?.get(s)??A.get(E)??null;p.useLayoutEffect(()=>S(E,L.current),[E,S]),p.useLayoutEffect(()=>U(E,t),[E,t,U]),p.useLayoutEffect(()=>{if(O)return c({disabled:D,element:O,id:E,ownDisabled:i,type:"choice",value:s})},[E,i,D,O,c,s]),p.useLayoutEffect(()=>{N&&C(E,e);},[E,N,e,Q,C]),p.useLayoutEffect(()=>{O&&(O.defaultChecked=N?e:t,Q>0&&(O.checked=y));},[y,N,e,t,O,Q]);function X(T){if(a?.(T),!T.defaultPrevented){if(!N){P(E,T.target.checked);return}v==="skipped"&&e===T.target.checked&&P(E,e);}}let ie={checked:y,disabled:D,invalid:f,shortcut:w,type:R};return {inputProps:{ref:V,"aria-invalid":f||void 0,"aria-keyshortcuts":Ie(w,!D&&y),checked:y,disabled:D,id:E,name:v==="skipped"?void 0:d,onChange:X,required:B&&!g&&!u,type:R,value:s},state:ie}}function _e({defaultValue:e,disabled:t=false,onChange:i,ref:a,type:s="text",value:o}){let{disabled:u,invalid:f,name:g,registerAnswerControl:d,registerAnswerSelection:c$1,resetVersion:S,selectedAnswerIds:B,setAnswerDefault:Q,setAnswerSelectionFromInteraction:x,syncControlledAnswerSelection:U}=Z("Questionnaire.Input"),P=p.useId(),A=p.useRef(null),G=p.useRef(ce(e)),v=o!==void 0,C=ce(e),E=ce(o),[O,V]=p.useState(C),L=u||t,N=v?E:O,D=B.includes(P);p.useLayoutEffect(()=>c$1(P,G.current),[P,c$1]),p.useLayoutEffect(()=>Q(P,C),[C,P,Q]),p.useLayoutEffect(()=>{let w=A.current;if(w)return d({disabled:L,element:w,id:P,type:"input"})},[L,P,d]),p.useLayoutEffect(()=>{if(v){U(P,E);return}S>0&&V(C);},[v,E,o,C,P,S,U]),p.useLayoutEffect(()=>{let w=A.current;!w||!v||(w.defaultValue=String(o));},[v,o]);function M(w){if(i?.(w),w.defaultPrevented)return;let X=w.target.value.trim().length>0;v||(V(X),x(P,X));}let y={disabled:L,filled:N,invalid:f},R=p.useCallback(w=>{A.current=w,c(a)?.(w);},[a]);return {inputProps:{"aria-invalid":f||void 0,"aria-keyshortcuts":Ie(null,!L&&N&&D),defaultValue:v?void 0:e,disabled:L,form:D?void 0:"",id:P,name:D?g:void 0,onChange:M,ref:R,type:s,value:v?o:void 0},state:y}}function We(e){return e===void 0?null:{enabledItems:e.filter(t=>!t.disabled),itemByName:new Map(e.map(t=>[t.name,t])),items:e}}function we(e,t){if(!e)return t??null;let i=t?e.itemByName.get(t):void 0;return i&&!i.disabled?i.name:e.enabledItems[0]?.name??null}function Ge(e,t){let i=new Map;if(!e||!t)return i;let a=me(t),s=0;for(let o of e.choices??[]){if(o.disabled)continue;let u=a[s];if(!u)break;i.set(o.value,u),s+=1;}return i}function je(e,t){let i=[],a=new Set;for(let s of e.items){a.has(s.name)&&i.push(`Item name "${s.name}" is defined more than once.`),a.add(s.name);let o=new Set;for(let u of s.choices??[])o.has(u.value)&&i.push(`Choice value "${u.value}" is defined more than once in item "${s.name}".`),o.add(u.value);}if(t){let s=e.itemByName.get(t);(!s||s.disabled)&&i.push(`defaultItem "${t}" does not identify an enabled item. The first enabled item will be used instead.`);}return i}function ze(e,t,i){let a=[],s=new Map(t.map(o=>[o.name,o]));for(let o of e.items){let u=s.get(o.name);if(!u){o.disabled||a.push(`Item "${o.name}" is defined but has no rendered Questionnaire.Item.`);continue}u.disabled!==!!o.disabled&&a.push(`Item "${o.name}" has different disabled values in Root.items and Questionnaire.Item.`),u.required!==!!o.required&&a.push(`Item "${o.name}" has different required values in Root.items and Questionnaire.Item.`);let f=o.choices??[],g=new Map(f.map(c=>[c.value,c])),d=new Map(u.choices.map(c=>[c.value,c]));for(let c of f){let S=d.get(c.value);if(!S){a.push(`Choice "${c.value}" is defined for item "${o.name}" but has no rendered Questionnaire.Choice.`);continue}S.disabled!==!!c.disabled&&a.push(`Choice "${c.value}" in item "${o.name}" has different disabled values in Root.items and Questionnaire.Choice.`);}if(i){for(let Q of u.choices)g.has(Q.value)||a.push(`Rendered choice "${Q.value}" in item "${o.name}" is missing from Root.items and will not receive a shortcut.`);let c=f.filter(Q=>!Q.disabled).map(Q=>Q.value),S=u.choices.filter(Q=>!Q.disabled).map(Q=>Q.value);c.length>0&&c.length===S.length&&c.every(Q=>S.includes(Q))&&c.some((Q,x)=>Q!==S[x])&&a.push(`Choice order for item "${o.name}" differs between Root.items and the rendered Questionnaire.Choice elements.`);}}for(let o of t)!o.disabled&&!e.itemByName.has(o.name)&&a.push(`Rendered item "${o.name}" is missing from Root.items and is excluded from the questionnaire collection.`);return a}function Je({"aria-describedby":e,"aria-keyshortcuts":t,disabled:i=false,invalid:a=false,multiple:s=false,name:o,onStatusChange:u,ref:f,required:g=false}){let{activeItemName:d,domVersion:c$1,first:S,itemDefinitionByName:B,last:Q,nativeValidation:x,registerItem:U,shortcuts:P}=ne("Questionnaire.Item"),[A,G]=p.useState(null),[v,C]=p.useState([]),[E,O]=p.useState(false),[V,L]=p.useState([]),[N,D]=p.useState(false),[M,y]=p.useState(0),[R,w]=p.useState([]),[X,ie]=p.useState([]),T=p.useRef([]),q=p.useRef(s),de=p.useRef(s);q.current=s;let _=!i&&d===o,j=p.useMemo(()=>[...v].sort(Ue),[v,c$1]),h=p.useMemo(()=>j.filter(r=>!r.disabled),[j]),ge=h.some(r=>V.includes(r.id)),F=N?"skipped":ge?"answered":"unanswered",re=F==="skipped"&&!g,se=i||re||!a&&F==="answered",ee=!i&&!re&&(a||E&&!se),Re=h.some(r=>r.type==="input"),Qe=p.useRef(F),Ce=B?.get(o),J=p.useMemo(()=>B?Ge(Ce,P):null,[Ce,B,P]),ae=p.useMemo(()=>{if(J)return new Map;let r=me(P),m=h.filter(l=>l.type==="choice");return new Map(m.slice(0,r.length).map((l,$)=>[l.id,r[$]]))},[h,J,P]),ye=p.useCallback(r=>(C(m=>[...m.filter(l=>l.element!==r.element&&l.id!==r.id),r]),()=>{C(m=>m.filter(l=>l!==r));}),[]);p.useLayoutEffect(()=>{Qe.current!==F&&(Qe.current=F,u?.(F));},[u,F]);let n=p.useCallback((r,m)=>{L(l=>m?s?l.includes(r)?l:[...l,r]:[r]:l.filter($=>$!==r));},[s]),b=p.useCallback((r,m)=>{D(false),n(r,m);},[n]),k=p.useCallback((r,m)=>{m&&D(false),n(r,m);},[n]),Y=p.useCallback((r,m)=>(m&&(T.current=[...T.current.filter(l=>l!==r),r],L(l=>q.current?l.includes(r)?l:[...l,r]:l.length?l:[r])),()=>{T.current=T.current.filter(l=>l!==r),L(l=>l.filter($=>$!==r));}),[]),xe=p.useCallback((r,m)=>{if(m){T.current=T.current.includes(r)?T.current:[...T.current,r];return}T.current=T.current.filter(l=>l!==r);},[]),Me=p.useCallback(r=>(w(m=>m.includes(r)?m:[...m,r]),()=>{w(m=>m.filter(l=>l!==r));}),[]),Ae=p.useCallback(r=>(ie(m=>m.includes(r)?m:[...m,r]),()=>{ie(m=>m.filter(l=>l!==r));}),[]),Ne=p.useCallback(()=>{if(O(true),!se)return false;if(!x)return true;let r=h.find(m=>pe(m)&&m.element.willValidate&&!m.element.validity.valid);return r?(r.element.focus(),r.element.reportValidity(),false):true},[h,x,se]),Te=p.useCallback(()=>{A?.focus();},[A]),Le=p.useCallback(()=>{let r=A?.querySelector("input[data-filled][name]:not(:disabled)"),m=A?.querySelector("input:not([type=hidden]):not(:disabled), textarea:not(:disabled)");(r??m??A)?.focus();},[A]),De=p.useCallback(()=>{O(false),D(false),L(s?[...T.current]:T.current.slice(0,1)),y(r=>r+1);},[s]),Be=p.useCallback(()=>{g||(L([]),D(true));},[g]);p.useLayoutEffect(()=>{let r=de.current;de.current=s,!(!r||s)&&L(m=>{let l=h.find($=>m.includes($.id));return l?[l.id]:[]});},[h,s]);let Fe=p.useCallback(r=>h.find(m=>m.element===r)??null,[h]),Ve=p.useCallback(r=>{if(J){let l=Array.from(J.entries()).find(([,$])=>$===r)?.[0];return h.find($=>$.type==="choice"&&$.value===l)??null}let m=Array.from(ae.entries()).find(([,l])=>l===r)?.[0];return h.find(l=>l.id===m)??null},[h,ae,J]),Oe=p.useCallback((r,m)=>{let l=h.findIndex(Qt=>Qt.element===r),$=l<0?null:h[l]??null;if(!h.length||he(r)&&!$e($)||l<0&&r!==A)return false;let oe=l<0?h.find(pe)??(m==="next"?h[0]:h[h.length-1]):h[(l+(m==="next"?1:-1)+h.length)%h.length];return !oe||oe.element===r||l>=0&&le(r)&&le(oe.element)?false:(oe.element.focus(),oe.type==="choice"&&le(oe.element)&&oe.element.click(),true)},[h,A]);p.useLayoutEffect(()=>{if(A)return U({choices:j.flatMap(r=>r.type==="choice"?[{disabled:r.ownDisabled,value:r.value}]:[]),disabled:i,element:A,focus:Te,focusInvalid:Le,getAnswerByElement:Fe,getAnswerByShortcut:Ve,moveAnswerFocus:Oe,name:o,required:g,reset:De,skip:Be,status:F,validate:Ne})},[j,i,A,Te,Le,Fe,Ve,Oe,o,U,g,De,Be,F,Ne]);let pt=p.useMemo(()=>({active:_,disabled:i,hasInputAnswer:Re,invalid:ee,multiple:s,name:o,registerAnswerControl:ye,registerAnswerSelection:Y,registerDescription:Me,registerError:Ae,required:g,resetVersion:M,selectedAnswerIds:V,setAnswerDefault:xe,setAnswerSelectionFromInteraction:b,shortcutByAnswerId:ae,shortcutByChoiceValue:J,shortcuts:P,status:F,syncControlledAnswerSelection:k}),[_,i,Re,ee,s,o,ye,Y,Me,Ae,g,M,V,xe,b,ae,J,P,F,k]),ht=p.useCallback(r=>{G(r),c(f)?.(r);},[f]),gt=[...R,...ee?X:[],e].filter(Boolean).join(" ")||void 0,Rt=[t,_?"Meta+Enter Control+Enter":void 0,_&&h.length?"ArrowUp ArrowDown":void 0,_&&!S?"ArrowLeft":void 0,_&&!Q&&F!=="unanswered"?"ArrowRight":void 0].filter(Boolean).join(" ")||void 0;return {context:pt,itemProps:{"aria-describedby":gt,"aria-invalid":ee||void 0,"aria-keyshortcuts":Rt,disabled:i,hidden:!_,inert:!_,ref:ht,tabIndex:-1},state:{active:_,disabled:i,invalid:ee,multiple:s,required:g,status:F}}}function Xe({defaultItem:e,item:t,items:i,noValidate:a,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g}){let d=p.useMemo(()=>We(i),[i]),[c$1,S]=p.useState([]),[B,Q]=p.useState(()=>we(d,e)),[x,U]=p.useState(null),[P,A]=p.useState(0),G=p.useRef(null),v=t!==void 0,C=v?t:B,E=p.useRef(C),O=a===false,V=g??null,L=p.useRef(new Set);p.useLayoutEffect(()=>{if(process.env.NODE_ENV==="production")return;if(!d||!x){L.current.clear();return}let n=false;return queueMicrotask(()=>{if(n)return;let b=[...je(d,e),...ze(d,c$1,V)],k=new Set(b);k.forEach(Y=>{L.current.has(Y)||console.warn(`[Questionnaire] ${Y}`);}),L.current=k;}),()=>{n=true;}},[d,e,c$1,x,V]),p.useLayoutEffect(()=>{if(!x||typeof MutationObserver>"u")return;let n=new MutationObserver(()=>{A(b=>b+1);});return n.observe(x,{childList:true,subtree:true}),()=>n.disconnect()},[x]);let N=p.useMemo(()=>c$1.filter(n=>!n.disabled).sort(Ke),[P,c$1]),D=p.useMemo(()=>new Map(N.map(n=>[n.name,n])),[N]),M=d?.enabledItems??N,y=M.findIndex(n=>n.name===C),R=y<0||!C?null:D.get(C)??null,w=C?d?.itemByName.get(C):void 0,X=y<0?null:w?!!w.required:R?.required??false,ie=y<0?null:R?.status??(C?"unanswered":null),T=p.useMemo(()=>d?d.enabledItems.flatMap(n=>{let b=D.get(n.name);return b?[b]:[]}):N,[d,D,N]),q=M.length,de=y<0?0:y+1,_=q>0&&y===0,j=q>0&&y===q-1,h=p.useCallback((n,b="item")=>{n!==C&&(G.current={name:n,target:b},v||Q(n),s?.(n));},[C,v,s]);p.useLayoutEffect(()=>{if(q===0)return;if(y<0){if(!v&&C===null){Q(M[0].name);return}h(M[0].name);return}let n=G.current,b=E.current!==C;if(E.current=C,!n||n.name!==C){v&&b&&(G.current=null,R?.focus());return}n.target==="invalid"?R?.focusInvalid():R?.focus(),G.current=null;},[R,C,v,y,M,h,q]);let ge=p.useCallback(n=>(S(b=>[...b.filter(k=>k.element!==n.element&&k.name!==n.name),n]),()=>{S(b=>b.filter(k=>k!==n));}),[]),F=p.useCallback(()=>{y<=0||h(M[y-1].name);},[y,M,h]),re=p.useCallback(()=>{if(!(!R||y>=q-1)){if(!R.validate()){R.focusInvalid();return}h(M[y+1].name);}},[R,y,M,h,q]),se=p.useCallback(()=>{if(R){if(!R.validate()){R.focusInvalid();return}if(j){x?.requestSubmit();return}h(M[y+1].name);}},[R,y,j,M,x,h]),ee=p.useCallback(()=>{if(!(!R||R.required)){if(R.skip(),!j){h(M[y+1].name);return}queueMicrotask(()=>{x?.requestSubmit();});}},[R,y,j,M,x,h]);function Re(n){if(o?.(n),n.defaultPrevented)return;for(let k of c$1)k.reset();let b=d?we(d,e):N.find(k=>k.name===e)?.name??N[0]?.name;b&&h(b);}function Qe(n){let b=T.find(k=>!k.validate());if(b){n.preventDefault(),h(b.name,"invalid"),b.name===C&&(b.focusInvalid(),G.current=null);return}u?.(n);}function Ce(n){if(n.defaultPrevented||n.nativeEvent.isComposing||n.keyCode===229||!R||!(n.target instanceof Element))return;if(n.key==="Enter"&&(n.metaKey||n.ctrlKey)&&!n.altKey&&!n.shiftKey){n.preventDefault(),n.repeat||se();return}if(n.metaKey||n.ctrlKey||n.altKey)return;if((n.key==="ArrowUp"||n.key==="ArrowDown")&&R.moveAnswerFocus(n.target,n.key==="ArrowDown"?"next":"previous")){n.preventDefault();return}if((n.key==="ArrowLeft"||n.key==="ArrowRight")&&!he(n.target)&&!le(n.target)){if(n.preventDefault(),n.repeat)return;n.key==="ArrowLeft"?F():R.status!=="unanswered"&&re();return}if(n.key==="Enter"){let Y=R.getAnswerByElement(n.target);if(!Y)return;n.preventDefault(),!n.repeat&&pe(Y)&&se();return}if(!V||he(n.target))return;let b=He(n.key,V),k=b?R.getAnswerByShortcut(b):null;k&&(n.preventDefault(),!n.repeat&&(k.element.focus(),k.type==="choice"&&k.element.click()));}let J={current:de,first:_,last:j,total:q},ae=p.useMemo(()=>({...J,activeItem:R,activeItemName:C,activeItemRequired:X,activeItemStatus:ie,domVersion:P,goNext:re,goPrevious:F,itemDefinitionByName:d?.itemByName??null,nativeValidation:O,registerItem:ge,shortcuts:V,skipCurrent:ee}),[R,C,X,ie,d,de,P,_,re,F,j,O,ge,V,ee,q]),ye=p.useCallback(n=>{U(n),c(f)?.(n);},[f]);return {context:ae,rootProps:{"data-shortcuts":V??void 0,onKeyDown:Ce,onReset:Re,onSubmit:Qe,ref:ye},state:J}}function Ye({defaultItem:e,item:t,items:i,noValidate:a$1=true,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g,...d}){let{context:c,rootProps:S,state:B}=Xe({defaultItem:e,item:t,items:i,noValidate:a$1,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g}),Q=a({defaultTagName:"form",props:b({...S,noValidate:a$1},d),state:B});return jsx(ve.Provider,{value:c,children:Q})}function Ze({children:e,render:t,...i}){let{current:a$1,first:s,last:o,total:u}=ne("Questionnaire.Progress"),f=u?`Question ${a$1} of ${u}`:void 0;return a({defaultTagName:"div",props:b({"aria-label":"Questionnaire progress","aria-live":"polite","aria-valuemax":u||void 0,"aria-valuemin":u?1:void 0,"aria-valuenow":u?a$1:void 0,"aria-valuetext":f,children:e??f,role:"progressbar"},i),render:t,state:{current:a$1,first:s,last:o,total:u}})}function et({"aria-describedby":e,"aria-keyshortcuts":t,children:i,disabled:a$1=false,invalid:s=false,multiple:o=false,name:u,onStatusChange:f,ref:g,required:d=false,...c}){let{context:S,itemProps:B,state:Q}=Je({"aria-describedby":e,"aria-keyshortcuts":t,disabled:a$1,invalid:s,multiple:o,name:u,onStatusChange:f,ref:g,required:d}),x=a({defaultTagName:"fieldset",props:b({...B,children:i},c),state:Q,stateAttributesMapping:{active:U=>({"data-active":U?"":void 0})}});return jsx(Ee.Provider,{value:S,children:x})}function tt({render:e,...t}){return Z("Questionnaire.Title"),a({defaultTagName:"legend",props:t,render:e})}function nt({id:e,render:t,...i}){let{registerDescription:a$1}=Z("Questionnaire.Description"),s=p.useId(),o=e??s;return p.useLayoutEffect(()=>a$1(o),[o,a$1]),a({defaultTagName:"p",props:b({id:o},i),render:t})}function it({render:e,...t}){let{shortcuts:i}=Z("Questionnaire.Choices");return a({defaultTagName:"div",props:t,render:e,state:{shortcuts:i}})}function ot({checked:e,children:t,defaultChecked:i=false,disabled:a$1=false,onChange:s,render:o,value:u,...f}){let{inputProps:g,state:d}=qe({checked:e,defaultChecked:i,disabled:a$1,onChange:s,value:u}),c=a({defaultTagName:"label",props:b({children:t},f),render:o,state:d,stateAttributesMapping:{checked:S=>({"data-checked":S?"":void 0,"data-unchecked":S?void 0:""})}});return jsx(Pe.Provider,{value:{inputProps:g,state:d},children:c})}function rt({render:e,...t}){let{inputProps:i,state:a$1}=be("Questionnaire.ChoiceInput");return a({defaultTagName:"input",props:b(i,t),render:e,state:a$1,stateAttributesMapping:{checked:s=>({"data-checked":s?"":void 0,"data-unchecked":s?void 0:""})}})}function st({render:e,...t}){return be("Questionnaire.ChoiceLabel"),a({defaultTagName:"span",props:t,render:e})}function at({children:e,render:t,...i}){let{state:a$1}=be("Questionnaire.ChoiceShortcut"),s={shortcut:a$1.shortcut};return a({defaultTagName:"span",props:b({"aria-hidden":true,children:e??a$1.shortcut,hidden:a$1.shortcut===null},i),render:t,state:s})}function ut({defaultValue:e,disabled:t=false,onChange:i,ref:a$1,render:s,type:o="text",value:u,...f}){let{inputProps:g,state:d}=_e({defaultValue:e,disabled:t,onChange:i,ref:a$1,type:o,value:u});return a({defaultTagName:"input",props:b(g,f),render:s,state:d,stateAttributesMapping:{filled:c=>({"data-empty":c?void 0:"","data-filled":c?"":void 0})}})}function ct({children:e,id:t,render:i,...a$1}){let{invalid:s,registerError:o,required:u}=Z("Questionnaire.Error"),f=p.useId(),g=t??f;return p.useLayoutEffect(()=>o(g),[g,o]),a({defaultTagName:"p",props:b({children:e??(u?"Choose an answer to continue.":"Choose an answer or skip this question."),hidden:!s,id:g,role:s?"alert":void 0},a$1),render:i,state:{invalid:s}})}function lt({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Previous"),g=f.total>1&&!f.first;function d(c){i?.(c),c.defaultPrevented||f.goPrevious();}return Se({children:e??"Previous",disabled:t,onClick:d,props:u,render:a,status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function ft({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Skip"),g=f.activeItemRequired===false;function d(c){i?.(c),c.defaultPrevented||f.skipCurrent();}return Se({children:e??"Skip",disabled:t,onClick:d,props:u,render:a,status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function dt({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Next"),g=f.total>1&&!f.last;function d(c){i?.(c),c.defaultPrevented||f.goNext();}return Se({children:e??"Next",disabled:t,onClick:d,props:u,render:a,shortcut:"Enter",status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function mt({children:e,disabled:t=false,render:i,tabIndex:a,type:s="submit",...o}){let u=ne("Questionnaire.Submit"),f=u.total>0&&u.last;return Se({children:e??"Submit",disabled:t,props:o,render:i,shortcut:"Enter",status:u.activeItemStatus,tabIndex:a,type:s,visible:f})}function Se({children:e,disabled:t,onClick:i,props:a$1,render:s,shortcut:o,status:u,tabIndex:f,type:g,visible:d}){let c=d&&!t?o??null:null,S={disabled:t,shortcut:c,status:u,visible:d};return a({defaultTagName:"button",props:b({"aria-hidden":!d||void 0,"aria-keyshortcuts":c??void 0,children:e,disabled:t,hidden:!d,inert:!d,onClick:i,tabIndex:d?f:-1,type:g},a$1),render:s,state:S,stateAttributesMapping:{visible:B=>({"data-hidden":B?void 0:"","data-visible":B?"":void 0})}})}var zt={Root:Ye,Progress:Ze,Item:et,Title:tt,Description:nt,Choices:it,Choice:ot,ChoiceInput:rt,ChoiceLabel:st,ChoiceShortcut:at,Input:ut,Error:ct,Previous:lt,Skip:ft,Next:dt,Submit:mt};export{zt as Questionnaire};
33
-
34
- +import {a,b,c}from'../chunk-HBS6WEDP.js';import*as p from'react';import {jsx}from'react/jsx-runtime';var Pe=p.createContext(null),ve=p.createContext(null),Ee=p.createContext(null);function ne(e){let t=p.useContext(ve);if(!t)throw new Error(`${e} must be used within a Questionnaire.Root component.`);return t}function be(e){let t=p.useContext(Pe);if(!t)throw new Error(`${e} must be used within a Questionnaire.Choice component.`);return t}function Z(e){let t=p.useContext(Ee);if(!t)throw new Error(`${e} must be used within a Questionnaire.Item component.`);return t}function ce(e){return Array.isArray(e)?e.some(t=>String(t).trim().length>0):e!=null&&String(e).trim().length>0}function me(e){return e==="letters"?Array.from({length:26},(t,i)=>String.fromCharCode(65+i)):e==="numbers"?Array.from({length:9},(t,i)=>String(i+1)):[]}function He(e,t){let i=t==="letters"?e.toUpperCase():e;return me(t).includes(i)?i:null}function Ie(e,t){return [e,t?"Enter":null].filter(Boolean).join(" ")||void 0}function pe(e){return e.type==="choice"?e.element.checked:e.element.hasAttribute("name")&&ce(e.element.value)}function $e(e){return e?.type==="input"&&["email","password","search","tel","text","url"].includes(e.element.type)&&!ce(e.element.value)}function he(e){return e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?true:e instanceof HTMLInputElement?!["button","checkbox","radio","reset","submit"].includes(e.type):e instanceof HTMLElement&&e.isContentEditable}function le(e){return e instanceof HTMLInputElement&&e.type==="radio"}function Ke(e,t){if(e.element===t.element)return 0;let i=e.element.compareDocumentPosition(t.element);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}function Ue(e,t){if(e.element===t.element)return 0;let i=e.element.compareDocumentPosition(t.element);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}function qe({checked:e,defaultChecked:t=false,disabled:i=false,onChange:a,value:s}){let{disabled:o,hasInputAnswer:u,invalid:f,multiple:g,name:d,registerAnswerControl:c,registerAnswerSelection:S,required:B,resetVersion:Q,selectedAnswerIds:x,setAnswerDefault:U,setAnswerSelectionFromInteraction:P,shortcutByAnswerId:A,shortcutByChoiceValue:G,status:v,syncControlledAnswerSelection:C}=Z("Questionnaire.Choice"),E=p.useId(),[O,V]=p.useState(null),L=p.useRef(t),N=e!==void 0,D=o||i,M=x.includes(E),y=N?v==="skipped"?false:e:M,R=g?"checkbox":"radio",w=G?.get(s)??A.get(E)??null;p.useLayoutEffect(()=>S(E,L.current),[E,S]),p.useLayoutEffect(()=>U(E,t),[E,t,U]),p.useLayoutEffect(()=>{if(O)return c({disabled:D,element:O,id:E,ownDisabled:i,type:"choice",value:s})},[E,i,D,O,c,s]),p.useLayoutEffect(()=>{N&&C(E,e);},[E,N,e,Q,C]),p.useLayoutEffect(()=>{O&&(O.defaultChecked=N?e:t,Q>0&&(O.checked=y));},[y,N,e,t,O,Q]);function X(T){if(a?.(T),!T.defaultPrevented){if(!N){P(E,T.target.checked);return}v==="skipped"&&e===T.target.checked&&P(E,e);}}let ie={checked:y,disabled:D,invalid:f,shortcut:w,type:R};return {inputProps:{ref:V,"aria-invalid":f||void 0,"aria-keyshortcuts":Ie(w,!D&&y),checked:y,disabled:D,id:E,name:v==="skipped"?void 0:d,onChange:X,required:B&&!g&&!u,type:R,value:s},state:ie}}function _e({defaultValue:e,disabled:t=false,onChange:i,ref:a,type:s="text",value:o}){let{disabled:u,invalid:f,name:g,registerAnswerControl:d,registerAnswerSelection:c$1,resetVersion:S,selectedAnswerIds:B,setAnswerDefault:Q,setAnswerSelectionFromInteraction:x,syncControlledAnswerSelection:U}=Z("Questionnaire.Input"),P=p.useId(),A=p.useRef(null),G=p.useRef(ce(e)),v=o!==void 0,C=ce(e),E=ce(o),[O,V]=p.useState(C),L=u||t,N=v?E:O,D=B.includes(P);p.useLayoutEffect(()=>c$1(P,G.current),[P,c$1]),p.useLayoutEffect(()=>Q(P,C),[C,P,Q]),p.useLayoutEffect(()=>{let w=A.current;if(w)return d({disabled:L,element:w,id:P,type:"input"})},[L,P,d]),p.useLayoutEffect(()=>{if(v){U(P,E);return}S>0&&(V(C),A.current&&(A.current.value=A.current.defaultValue));},[v,E,o,C,P,S,U]),p.useLayoutEffect(()=>{let w=A.current;!w||!v||(w.defaultValue=String(o));},[v,o]);function M(w){if(i?.(w),w.defaultPrevented)return;let X=w.target.value.trim().length>0;v||(V(X),x(P,X));}let y={disabled:L,filled:N,invalid:f},R=p.useCallback(w=>{A.current=w,c(a)?.(w);},[a]);return {inputProps:{"aria-invalid":f||void 0,"aria-keyshortcuts":Ie(null,!L&&N&&D),defaultValue:v?void 0:e,disabled:L,form:D?void 0:"",id:P,name:D?g:void 0,onChange:M,ref:R,type:s,value:v?o:void 0},state:y}}function We(e){return e===void 0?null:{enabledItems:e.filter(t=>!t.disabled),itemByName:new Map(e.map(t=>[t.name,t])),items:e}}function we(e,t){if(!e)return t??null;let i=t?e.itemByName.get(t):void 0;return i&&!i.disabled?i.name:e.enabledItems[0]?.name??null}function Ge(e,t){let i=new Map;if(!e||!t)return i;let a=me(t),s=0;for(let o of e.choices??[]){if(o.disabled)continue;let u=a[s];if(!u)break;i.set(o.value,u),s+=1;}return i}function je(e,t){let i=[],a=new Set;for(let s of e.items){a.has(s.name)&&i.push(`Item name "${s.name}" is defined more than once.`),a.add(s.name);let o=new Set;for(let u of s.choices??[])o.has(u.value)&&i.push(`Choice value "${u.value}" is defined more than once in item "${s.name}".`),o.add(u.value);}if(t){let s=e.itemByName.get(t);(!s||s.disabled)&&i.push(`defaultItem "${t}" does not identify an enabled item. The first enabled item will be used instead.`);}return i}function ze(e,t,i){let a=[],s=new Map(t.map(o=>[o.name,o]));for(let o of e.items){let u=s.get(o.name);if(!u){o.disabled||a.push(`Item "${o.name}" is defined but has no rendered Questionnaire.Item.`);continue}u.disabled!==!!o.disabled&&a.push(`Item "${o.name}" has different disabled values in Root.items and Questionnaire.Item.`),u.required!==!!o.required&&a.push(`Item "${o.name}" has different required values in Root.items and Questionnaire.Item.`);let f=o.choices??[],g=new Map(f.map(c=>[c.value,c])),d=new Map(u.choices.map(c=>[c.value,c]));for(let c of f){let S=d.get(c.value);if(!S){a.push(`Choice "${c.value}" is defined for item "${o.name}" but has no rendered Questionnaire.Choice.`);continue}S.disabled!==!!c.disabled&&a.push(`Choice "${c.value}" in item "${o.name}" has different disabled values in Root.items and Questionnaire.Choice.`);}if(i){for(let Q of u.choices)g.has(Q.value)||a.push(`Rendered choice "${Q.value}" in item "${o.name}" is missing from Root.items and will not receive a shortcut.`);let c=f.filter(Q=>!Q.disabled).map(Q=>Q.value),S=u.choices.filter(Q=>!Q.disabled).map(Q=>Q.value);c.length>0&&c.length===S.length&&c.every(Q=>S.includes(Q))&&c.some((Q,x)=>Q!==S[x])&&a.push(`Choice order for item "${o.name}" differs between Root.items and the rendered Questionnaire.Choice elements.`);}}for(let o of t)!o.disabled&&!e.itemByName.has(o.name)&&a.push(`Rendered item "${o.name}" is missing from Root.items and is excluded from the questionnaire collection.`);return a}function Je({"aria-describedby":e,"aria-keyshortcuts":t,disabled:i=false,invalid:a=false,multiple:s=false,name:o,onStatusChange:u,ref:f,required:g=false}){let{activeItemName:d,domVersion:c$1,first:S,itemDefinitionByName:B,last:Q,nativeValidation:x,registerItem:U,shortcuts:P}=ne("Questionnaire.Item"),[A,G]=p.useState(null),[v,C]=p.useState([]),[E,O]=p.useState(false),[V,L]=p.useState([]),[N,D]=p.useState(false),[M,y]=p.useState(0),[R,w]=p.useState([]),[X,ie]=p.useState([]),T=p.useRef([]),q=p.useRef(s),de=p.useRef(s);q.current=s;let _=!i&&d===o,j=p.useMemo(()=>[...v].sort(Ue),[v,c$1]),h=p.useMemo(()=>j.filter(r=>!r.disabled),[j]),ge=h.some(r=>V.includes(r.id)),F=N?"skipped":ge?"answered":"unanswered",re=F==="skipped"&&!g,se=i||re||!a&&F==="answered",ee=!i&&!re&&(a||E&&!se),Re=h.some(r=>r.type==="input"),Qe=p.useRef(F),Ce=B?.get(o),J=p.useMemo(()=>B?Ge(Ce,P):null,[Ce,B,P]),ae=p.useMemo(()=>{if(J)return new Map;let r=me(P),m=h.filter(l=>l.type==="choice");return new Map(m.slice(0,r.length).map((l,$)=>[l.id,r[$]]))},[h,J,P]),ye=p.useCallback(r=>(C(m=>[...m.filter(l=>l.element!==r.element&&l.id!==r.id),r]),()=>{C(m=>m.filter(l=>l!==r));}),[]);p.useLayoutEffect(()=>{Qe.current!==F&&(Qe.current=F,u?.(F));},[u,F]);let n=p.useCallback((r,m)=>{L(l=>m?s?l.includes(r)?l:[...l,r]:[r]:l.filter($=>$!==r));},[s]),b=p.useCallback((r,m)=>{D(false),n(r,m);},[n]),k=p.useCallback((r,m)=>{m&&D(false),n(r,m);},[n]),Y=p.useCallback((r,m)=>(m&&(T.current=[...T.current.filter(l=>l!==r),r],L(l=>q.current?l.includes(r)?l:[...l,r]:l.length?l:[r])),()=>{T.current=T.current.filter(l=>l!==r),L(l=>l.filter($=>$!==r));}),[]),xe=p.useCallback((r,m)=>{if(m){T.current=T.current.includes(r)?T.current:[...T.current,r];return}T.current=T.current.filter(l=>l!==r);},[]),Me=p.useCallback(r=>(w(m=>m.includes(r)?m:[...m,r]),()=>{w(m=>m.filter(l=>l!==r));}),[]),Ae=p.useCallback(r=>(ie(m=>m.includes(r)?m:[...m,r]),()=>{ie(m=>m.filter(l=>l!==r));}),[]),Ne=p.useCallback(()=>{if(O(true),!se)return false;if(!x)return true;let r=h.find(m=>pe(m)&&m.element.willValidate&&!m.element.validity.valid);return r?(r.element.focus(),r.element.reportValidity(),false):true},[h,x,se]),Te=p.useCallback(()=>{A?.focus();},[A]),Le=p.useCallback(()=>{let r=A?.querySelector("input[data-filled][name]:not(:disabled)"),m=A?.querySelector("input:not([type=hidden]):not(:disabled), textarea:not(:disabled)");(r??m??A)?.focus();},[A]),De=p.useCallback(()=>{O(false),D(false),L(s?[...T.current]:T.current.slice(0,1)),y(r=>r+1);},[s]),Be=p.useCallback(()=>{g||(L([]),D(true));},[g]);p.useLayoutEffect(()=>{let r=de.current;de.current=s,!(!r||s)&&L(m=>{let l=h.find($=>m.includes($.id));return l?[l.id]:[]});},[h,s]);let Fe=p.useCallback(r=>h.find(m=>m.element===r)??null,[h]),Ve=p.useCallback(r=>{if(J){let l=Array.from(J.entries()).find(([,$])=>$===r)?.[0];return h.find($=>$.type==="choice"&&$.value===l)??null}let m=Array.from(ae.entries()).find(([,l])=>l===r)?.[0];return h.find(l=>l.id===m)??null},[h,ae,J]),Oe=p.useCallback((r,m)=>{let l=h.findIndex(Qt=>Qt.element===r),$=l<0?null:h[l]??null;if(!h.length||he(r)&&!$e($)||l<0&&r!==A)return false;let oe=l<0?h.find(pe)??(m==="next"?h[0]:h[h.length-1]):h[(l+(m==="next"?1:-1)+h.length)%h.length];return !oe||oe.element===r||l>=0&&le(r)&&le(oe.element)?false:(oe.element.focus(),oe.type==="choice"&&le(oe.element)&&oe.element.click(),true)},[h,A]);p.useLayoutEffect(()=>{if(A)return U({choices:j.flatMap(r=>r.type==="choice"?[{disabled:r.ownDisabled,value:r.value}]:[]),disabled:i,element:A,focus:Te,focusInvalid:Le,getAnswerByElement:Fe,getAnswerByShortcut:Ve,moveAnswerFocus:Oe,name:o,required:g,reset:De,skip:Be,status:F,validate:Ne})},[j,i,A,Te,Le,Fe,Ve,Oe,o,U,g,De,Be,F,Ne]);let pt=p.useMemo(()=>({active:_,disabled:i,hasInputAnswer:Re,invalid:ee,multiple:s,name:o,registerAnswerControl:ye,registerAnswerSelection:Y,registerDescription:Me,registerError:Ae,required:g,resetVersion:M,selectedAnswerIds:V,setAnswerDefault:xe,setAnswerSelectionFromInteraction:b,shortcutByAnswerId:ae,shortcutByChoiceValue:J,shortcuts:P,status:F,syncControlledAnswerSelection:k}),[_,i,Re,ee,s,o,ye,Y,Me,Ae,g,M,V,xe,b,ae,J,P,F,k]),ht=p.useCallback(r=>{G(r),c(f)?.(r);},[f]),gt=[...R,...ee?X:[],e].filter(Boolean).join(" ")||void 0,Rt=[t,_?"Meta+Enter Control+Enter":void 0,_&&h.length?"ArrowUp ArrowDown":void 0,_&&!S?"ArrowLeft":void 0,_&&!Q&&F!=="unanswered"?"ArrowRight":void 0].filter(Boolean).join(" ")||void 0;return {context:pt,itemProps:{"aria-describedby":gt,"aria-invalid":ee||void 0,"aria-keyshortcuts":Rt,disabled:i,hidden:!_,inert:!_,ref:ht,tabIndex:-1},state:{active:_,disabled:i,invalid:ee,multiple:s,required:g,status:F}}}function Xe({defaultItem:e,item:t,items:i,noValidate:a,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g}){let d=p.useMemo(()=>We(i),[i]),[c$1,S]=p.useState([]),[B,Q]=p.useState(()=>we(d,e)),[x,U]=p.useState(null),[P,A]=p.useState(0),G=p.useRef(null),v=t!==void 0,C=v?t:B,E=p.useRef(C),O=a===false,V=g??null,L=p.useRef(new Set);p.useLayoutEffect(()=>{if(process.env.NODE_ENV==="production")return;if(!d||!x){L.current.clear();return}let n=false;return queueMicrotask(()=>{if(n)return;let b=[...je(d,e),...ze(d,c$1,V)],k=new Set(b);k.forEach(Y=>{L.current.has(Y)||console.warn(`[Questionnaire] ${Y}`);}),L.current=k;}),()=>{n=true;}},[d,e,c$1,x,V]),p.useLayoutEffect(()=>{if(!x||typeof MutationObserver>"u")return;let n=new MutationObserver(()=>{A(b=>b+1);});return n.observe(x,{childList:true,subtree:true}),()=>n.disconnect()},[x]);let N=p.useMemo(()=>c$1.filter(n=>!n.disabled).sort(Ke),[P,c$1]),D=p.useMemo(()=>new Map(N.map(n=>[n.name,n])),[N]),M=d?.enabledItems??N,y=M.findIndex(n=>n.name===C),R=y<0||!C?null:D.get(C)??null,w=C?d?.itemByName.get(C):void 0,X=y<0?null:w?!!w.required:R?.required??false,ie=y<0?null:R?.status??(C?"unanswered":null),T=p.useMemo(()=>d?d.enabledItems.flatMap(n=>{let b=D.get(n.name);return b?[b]:[]}):N,[d,D,N]),q=M.length,de=y<0?0:y+1,_=q>0&&y===0,j=q>0&&y===q-1,h=p.useCallback((n,b="item")=>{n!==C&&(G.current={name:n,target:b},v||Q(n),s?.(n));},[C,v,s]);p.useLayoutEffect(()=>{if(q===0)return;if(y<0){if(!v&&C===null){Q(M[0].name);return}h(M[0].name);return}let n=G.current,b=E.current!==C;if(E.current=C,!n||n.name!==C){v&&b&&(G.current=null,R?.focus());return}n.target==="invalid"?R?.focusInvalid():R?.focus(),G.current=null;},[R,C,v,y,M,h,q]);let ge=p.useCallback(n=>(S(b=>[...b.filter(k=>k.element!==n.element&&k.name!==n.name),n]),()=>{S(b=>b.filter(k=>k!==n));}),[]),F=p.useCallback(()=>{y<=0||h(M[y-1].name);},[y,M,h]),re=p.useCallback(()=>{if(!(!R||y>=q-1)){if(!R.validate()){R.focusInvalid();return}h(M[y+1].name);}},[R,y,M,h,q]),se=p.useCallback(()=>{if(R){if(!R.validate()){R.focusInvalid();return}if(j){x?.requestSubmit();return}h(M[y+1].name);}},[R,y,j,M,x,h]),ee=p.useCallback(()=>{if(!(!R||R.required)){if(R.skip(),!j){h(M[y+1].name);return}queueMicrotask(()=>{x?.requestSubmit();});}},[R,y,j,M,x,h]);function Re(n){if(o?.(n),n.defaultPrevented)return;for(let k of c$1)k.reset();let b=d?we(d,e):N.find(k=>k.name===e)?.name??N[0]?.name;b&&h(b);}function Qe(n){let b=T.find(k=>!k.validate());if(b){n.preventDefault(),h(b.name,"invalid"),b.name===C&&(b.focusInvalid(),G.current=null);return}u?.(n);}function Ce(n){if(n.defaultPrevented||n.nativeEvent.isComposing||n.keyCode===229||!R||!(n.target instanceof Element))return;if(n.key==="Enter"&&(n.metaKey||n.ctrlKey)&&!n.altKey&&!n.shiftKey){n.preventDefault(),n.repeat||se();return}if(n.metaKey||n.ctrlKey||n.altKey)return;if((n.key==="ArrowUp"||n.key==="ArrowDown")&&R.moveAnswerFocus(n.target,n.key==="ArrowDown"?"next":"previous")){n.preventDefault();return}if((n.key==="ArrowLeft"||n.key==="ArrowRight")&&!he(n.target)&&!le(n.target)){if(n.preventDefault(),n.repeat)return;n.key==="ArrowLeft"?F():R.status!=="unanswered"&&re();return}if(n.key==="Enter"){let Y=R.getAnswerByElement(n.target);if(!Y)return;n.preventDefault(),!n.repeat&&pe(Y)&&se();return}if(!V||he(n.target))return;let b=He(n.key,V),k=b?R.getAnswerByShortcut(b):null;k&&(n.preventDefault(),!n.repeat&&(k.element.focus(),k.type==="choice"&&k.element.click()));}let J={current:de,first:_,last:j,total:q},ae=p.useMemo(()=>({...J,activeItem:R,activeItemName:C,activeItemRequired:X,activeItemStatus:ie,domVersion:P,goNext:re,goPrevious:F,itemDefinitionByName:d?.itemByName??null,nativeValidation:O,registerItem:ge,shortcuts:V,skipCurrent:ee}),[R,C,X,ie,d,de,P,_,re,F,j,O,ge,V,ee,q]),ye=p.useCallback(n=>{U(n),c(f)?.(n);},[f]);return {context:ae,rootProps:{"data-shortcuts":V??void 0,onKeyDown:Ce,onReset:Re,onSubmit:Qe,ref:ye},state:J}}function Ye({defaultItem:e,item:t,items:i,noValidate:a$1=true,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g,...d}){let{context:c,rootProps:S,state:B}=Xe({defaultItem:e,item:t,items:i,noValidate:a$1,onItemChange:s,onReset:o,onSubmit:u,ref:f,shortcuts:g}),Q=a({defaultTagName:"form",props:b({...S,noValidate:a$1},d),state:B});return jsx(ve.Provider,{value:c,children:Q})}function Ze({children:e,render:t,...i}){let{current:a$1,first:s,last:o,total:u}=ne("Questionnaire.Progress"),f=u?`Question ${a$1} of ${u}`:void 0;return a({defaultTagName:"div",props:b({"aria-label":"Questionnaire progress","aria-live":"polite","aria-valuemax":u||void 0,"aria-valuemin":u?1:void 0,"aria-valuenow":u?a$1:void 0,"aria-valuetext":f,children:e??f,role:"progressbar"},i),render:t,state:{current:a$1,first:s,last:o,total:u}})}function et({"aria-describedby":e,"aria-keyshortcuts":t,children:i,disabled:a$1=false,invalid:s=false,multiple:o=false,name:u,onStatusChange:f,ref:g,required:d=false,...c}){let{context:S,itemProps:B,state:Q}=Je({"aria-describedby":e,"aria-keyshortcuts":t,disabled:a$1,invalid:s,multiple:o,name:u,onStatusChange:f,ref:g,required:d}),x=a({defaultTagName:"fieldset",props:b({...B,children:i},c),state:Q,stateAttributesMapping:{active:U=>({"data-active":U?"":void 0})}});return jsx(Ee.Provider,{value:S,children:x})}function tt({render:e,...t}){return Z("Questionnaire.Title"),a({defaultTagName:"legend",props:t,render:e})}function nt({id:e,render:t,...i}){let{registerDescription:a$1}=Z("Questionnaire.Description"),s=p.useId(),o=e??s;return p.useLayoutEffect(()=>a$1(o),[o,a$1]),a({defaultTagName:"p",props:b({id:o},i),render:t})}function it({render:e,...t}){let{shortcuts:i}=Z("Questionnaire.Choices");return a({defaultTagName:"div",props:t,render:e,state:{shortcuts:i}})}function ot({checked:e,children:t,defaultChecked:i=false,disabled:a$1=false,onChange:s,render:o,value:u,...f}){let{inputProps:g,state:d}=qe({checked:e,defaultChecked:i,disabled:a$1,onChange:s,value:u}),c=a({defaultTagName:"label",props:b({children:t},f),render:o,state:d,stateAttributesMapping:{checked:S=>({"data-checked":S?"":void 0,"data-unchecked":S?void 0:""})}});return jsx(Pe.Provider,{value:{inputProps:g,state:d},children:c})}function rt({render:e,...t}){let{inputProps:i,state:a$1}=be("Questionnaire.ChoiceInput");return a({defaultTagName:"input",props:b(i,t),render:e,state:a$1,stateAttributesMapping:{checked:s=>({"data-checked":s?"":void 0,"data-unchecked":s?void 0:""})}})}function st({render:e,...t}){return be("Questionnaire.ChoiceLabel"),a({defaultTagName:"span",props:t,render:e})}function at({children:e,render:t,...i}){let{state:a$1}=be("Questionnaire.ChoiceShortcut"),s={shortcut:a$1.shortcut};return a({defaultTagName:"span",props:b({"aria-hidden":true,children:e??a$1.shortcut,hidden:a$1.shortcut===null},i),render:t,state:s})}function ut({defaultValue:e,disabled:t=false,onChange:i,ref:a$1,render:s,type:o="text",value:u,...f}){let{inputProps:g,state:d}=_e({defaultValue:e,disabled:t,onChange:i,ref:a$1,type:o,value:u});return a({defaultTagName:"input",props:b(g,f),render:s,state:d,stateAttributesMapping:{filled:c=>({"data-empty":c?void 0:"","data-filled":c?"":void 0})}})}function ct({children:e,id:t,render:i,...a$1}){let{invalid:s,registerError:o,required:u}=Z("Questionnaire.Error"),f=p.useId(),g=t??f;return p.useLayoutEffect(()=>o(g),[g,o]),a({defaultTagName:"p",props:b({children:e??(u?"Choose an answer to continue.":"Choose an answer or skip this question."),hidden:!s,id:g,role:s?"alert":void 0},a$1),render:i,state:{invalid:s}})}function lt({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Previous"),g=f.total>1&&!f.first;function d(c){i?.(c),c.defaultPrevented||f.goPrevious();}return Se({children:e??"Previous",disabled:t,onClick:d,props:u,render:a,status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function ft({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Skip"),g=f.activeItemRequired===false;function d(c){i?.(c),c.defaultPrevented||f.skipCurrent();}return Se({children:e??"Skip",disabled:t,onClick:d,props:u,render:a,status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function dt({children:e,disabled:t=false,onClick:i,render:a,tabIndex:s,type:o="button",...u}){let f=ne("Questionnaire.Next"),g=f.total>1&&!f.last;function d(c){i?.(c),c.defaultPrevented||f.goNext();}return Se({children:e??"Next",disabled:t,onClick:d,props:u,render:a,shortcut:"Enter",status:f.activeItemStatus,tabIndex:s,type:o,visible:g})}function mt({children:e,disabled:t=false,render:i,tabIndex:a,type:s="submit",...o}){let u=ne("Questionnaire.Submit"),f=u.total>0&&u.last;return Se({children:e??"Submit",disabled:t,props:o,render:i,shortcut:"Enter",status:u.activeItemStatus,tabIndex:a,type:s,visible:f})}function Se({children:e,disabled:t,onClick:i,props:a$1,render:s,shortcut:o,status:u,tabIndex:f,type:g,visible:d}){let c=d&&!t?o??null:null,S={disabled:t,shortcut:c,status:u,visible:d};return a({defaultTagName:"button",props:b({"aria-hidden":!d||void 0,"aria-keyshortcuts":c??void 0,children:e,disabled:t,hidden:!d,inert:!d,onClick:i,tabIndex:d?f:-1,type:g},a$1),render:s,state:S,stateAttributesMapping:{visible:B=>({"data-hidden":B?void 0:"","data-visible":B?"":void 0})}})}var zt={Root:Ye,Progress:Ze,Item:et,Title:tt,Description:nt,Choices:it,Choice:ot,ChoiceInput:rt,ChoiceLabel:st,ChoiceShortcut:at,Input:ut,Error:ct,Previous:lt,Skip:ft,Next:dt,Submit:mt};export{zt as Questionnaire};
35
-
@@ -1,20 +0,0 @@
1
- diff --git a/dist/index.js b/dist/index.js
2
- index f3e7d22145ffd15c28b0cd51d5a691810f54cbe1..e0a816f0a985b9460d9f4a26ac4588b2072f84a6 100644
3
- --- a/dist/index.js
4
- +++ b/dist/index.js
5
- @@ -1,4 +1,4 @@
6
- -var jt=Object.create;var F=Object.defineProperty,Nt=Object.defineProperties,$t=Object.getOwnPropertyDescriptor,Ft=Object.getOwnPropertyDescriptors,Vt=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,Xt=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var bt=(e,n,t)=>n in e?F(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,wt=(e,n)=>{for(var t in n||(n={}))ot.call(n,t)&&bt(e,t,n[t]);if(Z)for(var t of Z(n))Pt.call(n,t)&&bt(e,t,n[t]);return e},_t=(e,n)=>Nt(e,Ft(n));var Tt=(e,n)=>{var t={};for(var l in e)ot.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(e!=null&&Z)for(var l of Z(e))n.indexOf(l)<0&&Pt.call(e,l)&&(t[l]=e[l]);return t};var Yt=(e,n)=>{for(var t in n)F(e,t,{get:n[t],enumerable:!0})},Ct=(e,n,t,l)=>{if(n&&typeof n=="object"||typeof n=="function")for(let m of Vt(n))!ot.call(e,m)&&m!==t&&F(e,m,{get:()=>n[m],enumerable:!(l=$t(n,m))||l.enumerable});return e};var rt=(e,n,t)=>(t=e!=null?jt(Xt(e)):{},Ct(n||!e||!e.__esModule?F(t,"default",{value:e,enumerable:!0}):t,e)),zt=e=>Ct(F({},"__esModule",{value:!0}),e);var ee={};Yt(ee,{OTPInput:()=>Bt,OTPInputContext:()=>Ht,REGEXP_ONLY_CHARS:()=>Qt,REGEXP_ONLY_DIGITS:()=>Jt,REGEXP_ONLY_DIGITS_AND_CHARS:()=>te});module.exports=zt(ee);var o=rt(require("react"));function Mt(e){let n=setTimeout(e,0),t=setTimeout(e,10),l=setTimeout(e,50);return[n,t,l]}var q=rt(require("react"));function It(e){let n=q.useRef();return q.useEffect(()=>{n.current=e}),n.current}var S=rt(require("react")),Ut=18,at=40,Zt=`${at}px`;function yt(e){let n=e.getBoundingClientRect().right,t=e;for(;t;){if(getComputedStyle(t).overflowX!=="visible")return t.getBoundingClientRect().left+t.clientLeft+t.clientWidth-n;t=t.parentElement}return document.documentElement.clientWidth-n}var qt=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function Dt({containerRef:e,inputRef:n,pushPasswordManagerStrategy:t,isFocused:l}){let[m,T]=S.useState(!1),[x,M]=S.useState(!1),[X,I]=S.useState(!1),K=S.useMemo(()=>t==="none"?!1:(t==="increase-width"||t==="experimental-no-flickering")&&m&&x,[m,x,t]),y=S.useCallback(()=>{let p=e.current,b=n.current;if(!p||!b||X||t==="none")return;let v=p,i=v.getBoundingClientRect().left+v.offsetWidth,G=v.getBoundingClientRect().top+v.offsetHeight/2,ct=i-Ut,Y=G;document.querySelectorAll(qt).length===0&&document.elementFromPoint(ct,Y)===p||(M(yt(p)>=at),T(!0),I(!0))},[e,n,X,t]);return S.useEffect(()=>{let p=e.current;if(!p||t==="none")return;function b(){M(yt(p)>=at)}b();let v=setInterval(b,1e3);return()=>{clearInterval(v)}},[e,t]),S.useEffect(()=>{let p=l||document.activeElement===n.current;if(t==="none"||!p)return;let b=setTimeout(y,0),v=setTimeout(y,2e3),i=setTimeout(y,5e3),G=setTimeout(()=>{I(!0)},6e3);return()=>{clearTimeout(b),clearTimeout(v),clearTimeout(i),clearTimeout(G)}},[n,l,t,y]),{hasPWMBadge:m,willPushPWMBadge:K,PWM_BADGE_SPACE_WIDTH:Zt}}var Ht=o.createContext({}),Bt=o.forwardRef((ct,G)=>{var Y=ct,{value:e,onChange:n,maxLength:t,textAlign:l="left",pattern:m,placeholder:T,inputMode:x="numeric",onComplete:M,pushPasswordManagerStrategy:X="increase-width",pasteTransformer:I,containerClassName:K,noScriptCSSFallback:y=Kt,nonce:p,render:b,children:v}=Y,i=Tt(Y,["value","onChange","maxLength","textAlign","pattern","placeholder","inputMode","onComplete","pushPasswordManagerStrategy","pasteTransformer","containerClassName","noScriptCSSFallback","nonce","render","children"]);var U,Rt,vt,gt,Et;let[it,st]=o.useState(typeof i.defaultValue=="string"?i.defaultValue:""),u=e!=null?e:it,D=It(u),O=o.useCallback(a=>{n==null||n(a),st(a)},[n]),R=o.useMemo(()=>m?typeof m=="string"?new RegExp(m):m:null,[m]),d=o.useRef(null),J=o.useRef(null),Q=o.useRef({value:u,onChange:O,isIOS:typeof window!="undefined"&&((Rt=(U=window==null?void 0:window.CSS)==null?void 0:U.supports)==null?void 0:Rt.call(U,"-webkit-touch-callout","none"))}),z=o.useRef({prev:[(vt=d.current)==null?void 0:vt.selectionStart,(gt=d.current)==null?void 0:gt.selectionEnd,(Et=d.current)==null?void 0:Et.selectionDirection]});o.useImperativeHandle(G,()=>d.current,[]),o.useEffect(()=>{let a=d.current,r=J.current;if(!a||!r)return;Q.current.value!==a.value&&Q.current.onChange(a.value),z.current.prev=[a.selectionStart,a.selectionEnd,a.selectionDirection];function c(){if(document.activeElement!==a){j(null),N(null);return}let s=a.selectionStart,w=a.selectionEnd,$=a.selectionDirection,g=a.maxLength,B=a.value,_=z.current.prev,E=-1,h=-1,C;if(B.length!==0&&s!==null&&w!==null){let Gt=s===w,Ot=s===B.length&&B.length<g;if(Gt&&!Ot){let W=s;if(W===0)E=0,h=1,C="forward";else if(W===g)E=W-1,h=W,C="backward";else if(g>1&&B.length>1){let nt=0;if(_[0]!==null&&_[1]!==null){C=W<_[1]?"backward":"forward";let Lt=_[0]===_[1]&&_[0]<g;C==="backward"&&!Lt&&(nt=-1)}E=nt+W,h=nt+W+1}}E!==-1&&h!==-1&&E!==h&&a.setSelectionRange(E,h,C)}let ht=E!==-1?E:s,St=h!==-1?h:w,xt=C!=null?C:$;j(ht),N(St),z.current.prev=[ht,St,xt]}if(document.addEventListener("selectionchange",c,{capture:!0}),c(),document.activeElement===a&&tt(!0),!document.getElementById("input-otp-style")){let s=document.createElement("style");if(s.id="input-otp-style",p&&s.setAttribute("nonce",p),document.head.appendChild(s),s.sheet){let w="background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";V(s.sheet,"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"),V(s.sheet,`[data-input-otp]:autofill { ${w} }`),V(s.sheet,`[data-input-otp]:-webkit-autofill { ${w} }`),V(s.sheet,"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"),V(s.sheet,"[data-input-otp] + * { pointer-events: all !important; }")}}let P=()=>{r&&r.style.setProperty("--root-height",`${a.clientHeight}px`)};P();let f=typeof ResizeObserver=="undefined"?null:new ResizeObserver(P);return f==null||f.observe(a),()=>{document.removeEventListener("selectionchange",c,{capture:!0}),f==null||f.disconnect()}},[]);let[lt,ut]=o.useState(!1),[L,tt]=o.useState(!1),[H,j]=o.useState(null),[A,N]=o.useState(null);o.useEffect(()=>{let a=Mt(()=>{var f,s,w,$;(f=d.current)==null||f.dispatchEvent(new Event("input"));let r=(s=d.current)==null?void 0:s.selectionStart,c=(w=d.current)==null?void 0:w.selectionEnd,P=($=d.current)==null?void 0:$.selectionDirection;r!==null&&c!==null&&(j(r),N(c),z.current.prev=[r,c,P])});return()=>{a.forEach(r=>clearTimeout(r))}},[u,L]),o.useEffect(()=>{D!==void 0&&u!==D&&D.length<t&&u.length===t&&(M==null||M(u))},[t,M,D,u]);let k=Dt({containerRef:J,inputRef:d,pushPasswordManagerStrategy:X,isFocused:L}),dt=o.useCallback(a=>{let r=a.currentTarget.value.slice(0,t);if(r.length>0&&R&&!R.test(r)){a.preventDefault();return}typeof D=="string"&&r.length<D.length&&document.dispatchEvent(new Event("selectionchange")),O(r)},[t,O,D,R]),ft=o.useCallback(()=>{var a;if(d.current){let r=Math.min(d.current.value.length,t-1),c=d.current.value.length;(a=d.current)==null||a.setSelectionRange(r,c),j(r),N(c)}tt(!0)},[t]),mt=o.useCallback(a=>{var E,h;let r=d.current;if(!I&&(!Q.current.isIOS||!a.clipboardData||!r))return;let c=a.clipboardData.getData("text/plain"),P=I?I(c):c;a.preventDefault();let f=(E=d.current)==null?void 0:E.selectionStart,s=(h=d.current)==null?void 0:h.selectionEnd,g=(f!==s?u.slice(0,f)+P+u.slice(s):u.slice(0,f)+P+u.slice(f)).slice(0,t);if(g.length>0&&R&&!R.test(g))return;r.value=g,O(g);let B=Math.min(g.length,t-1),_=g.length;r.setSelectionRange(B,_),j(B),N(_)},[t,O,I,R,u]),Wt=o.useMemo(()=>({position:"relative",cursor:i.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"}),[i.disabled]),pt=o.useMemo(()=>({position:"absolute",inset:0,width:k.willPushPWMBadge?`calc(100% + ${k.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:k.willPushPWMBadge?`inset(0 ${k.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:l,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height, 16px)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"}),[k.PWM_BADGE_SPACE_WIDTH,k.willPushPWMBadge,l]),At=o.useMemo(()=>{var a;return o.createElement("input",_t(wt({autoComplete:i.autoComplete||"one-time-code"},i),{"data-input-otp":!0,"data-input-otp-placeholder-shown":u.length===0||void 0,"data-input-otp-mss":H,"data-input-otp-mse":A,inputMode:x,pattern:R==null?void 0:R.source,"aria-placeholder":T,style:pt,maxLength:t,value:u,ref:d,spellCheck:(a=i.spellCheck)!=null?a:!1,onPaste:r=>{var c;mt(r),(c=i.onPaste)==null||c.call(i,r)},onChange:dt,onMouseOver:r=>{var c;ut(!0),(c=i.onMouseOver)==null||c.call(i,r)},onMouseLeave:r=>{var c;ut(!1),(c=i.onMouseLeave)==null||c.call(i,r)},onFocus:r=>{var c;ft(),(c=i.onFocus)==null||c.call(i,r)},onBlur:r=>{var c;tt(!1),(c=i.onBlur)==null||c.call(i,r)}}))},[dt,ft,mt,x,pt,t,A,H,T,i,R==null?void 0:R.source,u]),et=o.useMemo(()=>({slots:Array.from({length:t}).map((a,r)=>{var s;let c=L&&H!==null&&A!==null&&(H===A&&r===H||r>=H&&r<A),P=u[r]!==void 0?u[r]:null,f=u[0]!==void 0?null:(s=T==null?void 0:T[r])!=null?s:null;return{char:P,placeholderChar:f,isActive:c,hasFakeCaret:c&&P===null}}),isFocused:L,isHovering:!i.disabled&&lt}),[L,lt,t,A,H,T,i.disabled,u]),kt=o.useMemo(()=>b?b(et):o.createElement(Ht.Provider,{value:et},v),[v,et,b]);return o.createElement(o.Fragment,null,y!==null&&o.createElement("noscript",null,o.createElement("style",null,y)),o.createElement("div",{ref:J,"data-input-otp-container":!0,translate:"no",style:Wt,className:K},kt,o.createElement("div",{style:{position:"absolute",inset:0,pointerEvents:"none"}},At)))});Bt.displayName="Input";function V(e,n){try{e.insertRule(n)}catch(t){console.warn("input-otp could not insert CSS rule:",n)}}var Kt=`
7
- +var jt=Object.create;var F=Object.defineProperty,Nt=Object.defineProperties,$t=Object.getOwnPropertyDescriptor,Ft=Object.getOwnPropertyDescriptors,Vt=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,Xt=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var bt=(e,n,t)=>n in e?F(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,wt=(e,n)=>{for(var t in n||(n={}))ot.call(n,t)&&bt(e,t,n[t]);if(Z)for(var t of Z(n))Pt.call(n,t)&&bt(e,t,n[t]);return e},_t=(e,n)=>Nt(e,Ft(n));var Tt=(e,n)=>{var t={};for(var l in e)ot.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(e!=null&&Z)for(var l of Z(e))n.indexOf(l)<0&&Pt.call(e,l)&&(t[l]=e[l]);return t};var Yt=(e,n)=>{for(var t in n)F(e,t,{get:n[t],enumerable:!0})},Ct=(e,n,t,l)=>{if(n&&typeof n=="object"||typeof n=="function")for(let m of Vt(n))!ot.call(e,m)&&m!==t&&F(e,m,{get:()=>n[m],enumerable:!(l=$t(n,m))||l.enumerable});return e};var rt=(e,n,t)=>(t=e!=null?jt(Xt(e)):{},Ct(n||!e||!e.__esModule?F(t,"default",{defaultValue:initialDefaultValue,value:e,enumerable:!0}):t,e)),zt=e=>Ct(F({},"__esModule",{value:!0}),e);var ee={};Yt(ee,{OTPInput:()=>Bt,OTPInputContext:()=>Ht,REGEXP_ONLY_CHARS:()=>Qt,REGEXP_ONLY_DIGITS:()=>Jt,REGEXP_ONLY_DIGITS_AND_CHARS:()=>te});module.exports=zt(ee);var o=rt(require("react"));function Mt(e){let n=setTimeout(e,0),t=setTimeout(e,10),l=setTimeout(e,50);return[n,t,l]}var q=rt(require("react"));function It(e){let n=q.useRef();return q.useEffect(()=>{n.current=e}),n.current}var S=rt(require("react")),Ut=18,at=40,Zt=`${at}px`;function yt(e){let n=e.getBoundingClientRect().right,t=e;for(;t;){if(getComputedStyle(t).overflowX!=="visible")return t.getBoundingClientRect().left+t.clientLeft+t.clientWidth-n;t=t.parentElement}return document.documentElement.clientWidth-n}var qt=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function Dt({containerRef:e,inputRef:n,pushPasswordManagerStrategy:t,isFocused:l}){let[m,T]=S.useState(!1),[x,M]=S.useState(!1),[X,I]=S.useState(!1),K=S.useMemo(()=>t==="none"?!1:(t==="increase-width"||t==="experimental-no-flickering")&&m&&x,[m,x,t]),y=S.useCallback(()=>{let p=e.current,b=n.current;if(!p||!b||X||t==="none")return;let v=p,i=v.getBoundingClientRect().left+v.offsetWidth,G=v.getBoundingClientRect().top+v.offsetHeight/2,ct=i-Ut,Y=G;document.querySelectorAll(qt).length===0&&document.elementFromPoint(ct,Y)===p||(M(yt(p)>=at),T(!0),I(!0))},[e,n,X,t]);return S.useEffect(()=>{let p=e.current;if(!p||t==="none")return;function b(){M(yt(p)>=at)}b();let v=setInterval(b,1e3);return()=>{clearInterval(v)}},[e,t]),S.useEffect(()=>{let p=l||document.activeElement===n.current;if(t==="none"||!p)return;let b=setTimeout(y,0),v=setTimeout(y,2e3),i=setTimeout(y,5e3),G=setTimeout(()=>{I(!0)},6e3);return()=>{clearTimeout(b),clearTimeout(v),clearTimeout(i),clearTimeout(G)}},[n,l,t,y]),{hasPWMBadge:m,willPushPWMBadge:K,PWM_BADGE_SPACE_WIDTH:Zt}}var Ht=o.createContext({}),Bt=o.forwardRef((ct,G)=>{var Y=ct,{value:e,onChange:n,maxLength:t,textAlign:l="left",pattern:m,placeholder:T,inputMode:x="numeric",onComplete:M,pushPasswordManagerStrategy:X="increase-width",pasteTransformer:I,containerClassName:K,noScriptCSSFallback:y=Kt,nonce:p,render:b,children:v}=Y,i=Tt(Y,["defaultValue","value","onChange","maxLength","textAlign","pattern","placeholder","inputMode","onComplete","pushPasswordManagerStrategy","pasteTransformer","containerClassName","noScriptCSSFallback","nonce","render","children"]);var U,Rt,vt,gt,Et;let[it,st]=o.useState(typeof initialDefaultValue=="string"?initialDefaultValue:""),u=e!=null?e:it,D=It(u),O=o.useCallback(a=>{n==null||n(a),st(a)},[n]),R=o.useMemo(()=>m?typeof m=="string"?new RegExp(m):m:null,[m]),d=o.useRef(null),J=o.useRef(null),Q=o.useRef({value:u,onChange:O,isIOS:typeof window!="undefined"&&((Rt=(U=window==null?void 0:window.CSS)==null?void 0:U.supports)==null?void 0:Rt.call(U,"-webkit-touch-callout","none"))}),z=o.useRef({prev:[(vt=d.current)==null?void 0:vt.selectionStart,(gt=d.current)==null?void 0:gt.selectionEnd,(Et=d.current)==null?void 0:Et.selectionDirection]});o.useImperativeHandle(G,()=>d.current,[]),o.useEffect(()=>{let a=d.current,r=J.current;if(!a||!r)return;Q.current.value!==a.value&&Q.current.onChange(a.value),z.current.prev=[a.selectionStart,a.selectionEnd,a.selectionDirection];function c(){if(document.activeElement!==a){j(null),N(null);return}let s=a.selectionStart,w=a.selectionEnd,$=a.selectionDirection,g=a.maxLength,B=a.value,_=z.current.prev,E=-1,h=-1,C;if(B.length!==0&&s!==null&&w!==null){let Gt=s===w,Ot=s===B.length&&B.length<g;if(Gt&&!Ot){let W=s;if(W===0)E=0,h=1,C="forward";else if(W===g)E=W-1,h=W,C="backward";else if(g>1&&B.length>1){let nt=0;if(_[0]!==null&&_[1]!==null){C=W<_[1]?"backward":"forward";let Lt=_[0]===_[1]&&_[0]<g;C==="backward"&&!Lt&&(nt=-1)}E=nt+W,h=nt+W+1}}E!==-1&&h!==-1&&E!==h&&a.setSelectionRange(E,h,C)}let ht=E!==-1?E:s,St=h!==-1?h:w,xt=C!=null?C:$;j(ht),N(St),z.current.prev=[ht,St,xt]}if(document.addEventListener("selectionchange",c,{capture:!0}),c(),document.activeElement===a&&tt(!0),!document.getElementById("input-otp-style")){let s=document.createElement("style");if(s.id="input-otp-style",p&&s.setAttribute("nonce",p),document.head.appendChild(s),s.sheet){let w="background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";V(s.sheet,"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"),V(s.sheet,`[data-input-otp]:autofill { ${w} }`),V(s.sheet,`[data-input-otp]:-webkit-autofill { ${w} }`),V(s.sheet,"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"),V(s.sheet,"[data-input-otp] + * { pointer-events: all !important; }")}}let P=()=>{r&&r.style.setProperty("--root-height",`${a.clientHeight}px`)};P();let f=typeof ResizeObserver=="undefined"?null:new ResizeObserver(P);return f==null||f.observe(a),()=>{document.removeEventListener("selectionchange",c,{capture:!0}),f==null||f.disconnect()}},[]);let[lt,ut]=o.useState(!1),[L,tt]=o.useState(!1),[H,j]=o.useState(null),[A,N]=o.useState(null);o.useEffect(()=>{let a=Mt(()=>{var f,s,w,$;(f=d.current)==null||f.dispatchEvent(new Event("input"));let r=(s=d.current)==null?void 0:s.selectionStart,c=(w=d.current)==null?void 0:w.selectionEnd,P=($=d.current)==null?void 0:$.selectionDirection;r!==null&&c!==null&&(j(r),N(c),z.current.prev=[r,c,P])});return()=>{a.forEach(r=>clearTimeout(r))}},[u,L]),o.useEffect(()=>{D!==void 0&&u!==D&&D.length<t&&u.length===t&&(M==null||M(u))},[t,M,D,u]);let k=Dt({containerRef:J,inputRef:d,pushPasswordManagerStrategy:X,isFocused:L}),dt=o.useCallback(a=>{let r=a.currentTarget.value.slice(0,t);if(r.length>0&&R&&!R.test(r)){a.preventDefault();return}typeof D=="string"&&r.length<D.length&&document.dispatchEvent(new Event("selectionchange")),O(r)},[t,O,D,R]),ft=o.useCallback(()=>{var a;if(d.current){let r=Math.min(d.current.value.length,t-1),c=d.current.value.length;(a=d.current)==null||a.setSelectionRange(r,c),j(r),N(c)}tt(!0)},[t]),mt=o.useCallback(a=>{var E,h;let r=d.current;if(!I&&(!Q.current.isIOS||!a.clipboardData||!r))return;let c=a.clipboardData.getData("text/plain"),P=I?I(c):c;a.preventDefault();let f=(E=d.current)==null?void 0:E.selectionStart,s=(h=d.current)==null?void 0:h.selectionEnd,g=(f!==s?u.slice(0,f)+P+u.slice(s):u.slice(0,f)+P+u.slice(f)).slice(0,t);if(g.length>0&&R&&!R.test(g))return;r.value=g,O(g);let B=Math.min(g.length,t-1),_=g.length;r.setSelectionRange(B,_),j(B),N(_)},[t,O,I,R,u]),Wt=o.useMemo(()=>({position:"relative",cursor:i.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"}),[i.disabled]),pt=o.useMemo(()=>({position:"absolute",inset:0,width:k.willPushPWMBadge?`calc(100% + ${k.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:k.willPushPWMBadge?`inset(0 ${k.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:l,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height, 16px)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"}),[k.PWM_BADGE_SPACE_WIDTH,k.willPushPWMBadge,l]),At=o.useMemo(()=>{var a;return o.createElement("input",_t(wt({autoComplete:i.autoComplete||"one-time-code"},i),{"data-input-otp":!0,"data-input-otp-placeholder-shown":u.length===0||void 0,"data-input-otp-mss":H,"data-input-otp-mse":A,inputMode:x,pattern:R==null?void 0:R.source,"aria-placeholder":T,style:pt,maxLength:t,value:u,ref:d,spellCheck:(a=i.spellCheck)!=null?a:!1,onPaste:r=>{var c;mt(r),(c=i.onPaste)==null||c.call(i,r)},onChange:dt,onMouseOver:r=>{var c;ut(!0),(c=i.onMouseOver)==null||c.call(i,r)},onMouseLeave:r=>{var c;ut(!1),(c=i.onMouseLeave)==null||c.call(i,r)},onFocus:r=>{var c;ft(),(c=i.onFocus)==null||c.call(i,r)},onBlur:r=>{var c;tt(!1),(c=i.onBlur)==null||c.call(i,r)}}))},[dt,ft,mt,x,pt,t,A,H,T,i,R==null?void 0:R.source,u]),et=o.useMemo(()=>({slots:Array.from({length:t}).map((a,r)=>{var s;let c=L&&H!==null&&A!==null&&(H===A&&r===H||r>=H&&r<A),P=u[r]!==void 0?u[r]:null,f=u[0]!==void 0?null:(s=T==null?void 0:T[r])!=null?s:null;return{char:P,placeholderChar:f,isActive:c,hasFakeCaret:c&&P===null}}),isFocused:L,isHovering:!i.disabled&&lt}),[L,lt,t,A,H,T,i.disabled,u]),kt=o.useMemo(()=>b?b(et):o.createElement(Ht.Provider,{value:et},v),[v,et,b]);return o.createElement(o.Fragment,null,y!==null&&o.createElement("noscript",null,o.createElement("style",null,y)),o.createElement("div",{ref:J,"data-input-otp-container":!0,translate:"no",style:Wt,className:K},kt,o.createElement("div",{style:{position:"absolute",inset:0,pointerEvents:"none"}},At)))});Bt.displayName="Input";function V(e,n){try{e.insertRule(n)}catch(t){console.warn("input-otp could not insert CSS rule:",n)}}var Kt=`
8
- [data-input-otp] {
9
- --nojs-bg: white !important;
10
- --nojs-fg: black !important;
11
- diff --git a/dist/index.mjs b/dist/index.mjs
12
- index d076c596e35078ee96997098de153d724bba3ae1..d50cb955f2e8843acb780c7e615a020df4f6347c 100644
13
- --- a/dist/index.mjs
14
- +++ b/dist/index.mjs
15
- @@ -1,4 +1,4 @@
16
- -var kt=Object.defineProperty,xt=Object.defineProperties;var Gt=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var ht=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable;var Et=(o,r,t)=>r in o?kt(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t,bt=(o,r)=>{for(var t in r||(r={}))ht.call(r,t)&&Et(o,t,r[t]);if(U)for(var t of U(r))St.call(r,t)&&Et(o,t,r[t]);return o},Pt=(o,r)=>xt(o,Gt(r));var wt=(o,r)=>{var t={};for(var u in o)ht.call(o,u)&&r.indexOf(u)<0&&(t[u]=o[u]);if(o!=null&&U)for(var u of U(o))r.indexOf(u)<0&&St.call(o,u)&&(t[u]=o[u]);return t};import*as e from"react";function _t(o){let r=setTimeout(o,0),t=setTimeout(o,10),u=setTimeout(o,50);return[r,t,u]}import*as Z from"react";function Tt(o){let r=Z.useRef();return Z.useEffect(()=>{r.current=o}),r.current}import*as h from"react";var Ot=18,nt=40,Lt=`${nt}px`;function Ct(o){let r=o.getBoundingClientRect().right,t=o;for(;t;){if(getComputedStyle(t).overflowX!=="visible")return t.getBoundingClientRect().left+t.clientLeft+t.clientWidth-r;t=t.parentElement}return document.documentElement.clientWidth-r}var jt=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function Mt({containerRef:o,inputRef:r,pushPasswordManagerStrategy:t,isFocused:u}){let[w,T]=h.useState(!1),[x,M]=h.useState(!1),[V,I]=h.useState(!1),q=h.useMemo(()=>t==="none"?!1:(t==="increase-width"||t==="experimental-no-flickering")&&w&&x,[w,x,t]),y=h.useCallback(()=>{let m=o.current,S=r.current;if(!m||!S||V||t==="none")return;let R=m,i=R.getBoundingClientRect().left+R.offsetWidth,G=R.getBoundingClientRect().top+R.offsetHeight/2,ot=i-Ot,X=G;document.querySelectorAll(jt).length===0&&document.elementFromPoint(ot,X)===m||(M(Ct(m)>=nt),T(!0),I(!0))},[o,r,V,t]);return h.useEffect(()=>{let m=o.current;if(!m||t==="none")return;function S(){M(Ct(m)>=nt)}S();let R=setInterval(S,1e3);return()=>{clearInterval(R)}},[o,t]),h.useEffect(()=>{let m=u||document.activeElement===r.current;if(t==="none"||!m)return;let S=setTimeout(y,0),R=setTimeout(y,2e3),i=setTimeout(y,5e3),G=setTimeout(()=>{I(!0)},6e3);return()=>{clearTimeout(S),clearTimeout(R),clearTimeout(i),clearTimeout(G)}},[r,u,t,y]),{hasPWMBadge:w,willPushPWMBadge:q,PWM_BADGE_SPACE_WIDTH:Lt}}var Nt=e.createContext({}),$t=e.forwardRef((ot,G)=>{var X=ot,{value:o,onChange:r,maxLength:t,textAlign:u="left",pattern:w,placeholder:T,inputMode:x="numeric",onComplete:M,pushPasswordManagerStrategy:V="increase-width",pasteTransformer:I,containerClassName:q,noScriptCSSFallback:y=Ft,nonce:m,render:S,children:R}=X,i=wt(X,["value","onChange","maxLength","textAlign","pattern","placeholder","inputMode","onComplete","pushPasswordManagerStrategy","pasteTransformer","containerClassName","noScriptCSSFallback","nonce","render","children"]);var z,ft,mt,pt,Rt;let[rt,at]=e.useState(typeof i.defaultValue=="string"?i.defaultValue:""),l=o!=null?o:rt,D=Tt(l),O=e.useCallback(a=>{r==null||r(a),at(a)},[r]),p=e.useMemo(()=>w?typeof w=="string"?new RegExp(w):w:null,[w]),d=e.useRef(null),K=e.useRef(null),J=e.useRef({value:l,onChange:O,isIOS:typeof window!="undefined"&&((ft=(z=window==null?void 0:window.CSS)==null?void 0:z.supports)==null?void 0:ft.call(z,"-webkit-touch-callout","none"))}),Y=e.useRef({prev:[(mt=d.current)==null?void 0:mt.selectionStart,(pt=d.current)==null?void 0:pt.selectionEnd,(Rt=d.current)==null?void 0:Rt.selectionDirection]});e.useImperativeHandle(G,()=>d.current,[]),e.useEffect(()=>{let a=d.current,n=K.current;if(!a||!n)return;J.current.value!==a.value&&J.current.onChange(a.value),Y.current.prev=[a.selectionStart,a.selectionEnd,a.selectionDirection];function c(){if(document.activeElement!==a){j(null),N(null);return}let s=a.selectionStart,P=a.selectionEnd,$=a.selectionDirection,v=a.maxLength,B=a.value,_=Y.current.prev,g=-1,E=-1,C;if(B.length!==0&&s!==null&&P!==null){let Bt=s===P,Wt=s===B.length&&B.length<v;if(Bt&&!Wt){let W=s;if(W===0)g=0,E=1,C="forward";else if(W===v)g=W-1,E=W,C="backward";else if(v>1&&B.length>1){let et=0;if(_[0]!==null&&_[1]!==null){C=W<_[1]?"backward":"forward";let At=_[0]===_[1]&&_[0]<v;C==="backward"&&!At&&(et=-1)}g=et+W,E=et+W+1}}g!==-1&&E!==-1&&g!==E&&a.setSelectionRange(g,E,C)}let vt=g!==-1?g:s,gt=E!==-1?E:P,Ht=C!=null?C:$;j(vt),N(gt),Y.current.prev=[vt,gt,Ht]}if(document.addEventListener("selectionchange",c,{capture:!0}),c(),document.activeElement===a&&Q(!0),!document.getElementById("input-otp-style")){let s=document.createElement("style");if(s.id="input-otp-style",m&&s.setAttribute("nonce",m),document.head.appendChild(s),s.sheet){let P="background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";F(s.sheet,"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"),F(s.sheet,`[data-input-otp]:autofill { ${P} }`),F(s.sheet,`[data-input-otp]:-webkit-autofill { ${P} }`),F(s.sheet,"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"),F(s.sheet,"[data-input-otp] + * { pointer-events: all !important; }")}}let b=()=>{n&&n.style.setProperty("--root-height",`${a.clientHeight}px`)};b();let f=typeof ResizeObserver=="undefined"?null:new ResizeObserver(b);return f==null||f.observe(a),()=>{document.removeEventListener("selectionchange",c,{capture:!0}),f==null||f.disconnect()}},[]);let[ct,it]=e.useState(!1),[L,Q]=e.useState(!1),[H,j]=e.useState(null),[A,N]=e.useState(null);e.useEffect(()=>{let a=_t(()=>{var f,s,P,$;(f=d.current)==null||f.dispatchEvent(new Event("input"));let n=(s=d.current)==null?void 0:s.selectionStart,c=(P=d.current)==null?void 0:P.selectionEnd,b=($=d.current)==null?void 0:$.selectionDirection;n!==null&&c!==null&&(j(n),N(c),Y.current.prev=[n,c,b])});return()=>{a.forEach(n=>clearTimeout(n))}},[l,L]),e.useEffect(()=>{D!==void 0&&l!==D&&D.length<t&&l.length===t&&(M==null||M(l))},[t,M,D,l]);let k=Mt({containerRef:K,inputRef:d,pushPasswordManagerStrategy:V,isFocused:L}),st=e.useCallback(a=>{let n=a.currentTarget.value.slice(0,t);if(n.length>0&&p&&!p.test(n)){a.preventDefault();return}typeof D=="string"&&n.length<D.length&&document.dispatchEvent(new Event("selectionchange")),O(n)},[t,O,D,p]),lt=e.useCallback(()=>{var a;if(d.current){let n=Math.min(d.current.value.length,t-1),c=d.current.value.length;(a=d.current)==null||a.setSelectionRange(n,c),j(n),N(c)}Q(!0)},[t]),ut=e.useCallback(a=>{var g,E;let n=d.current;if(!I&&(!J.current.isIOS||!a.clipboardData||!n))return;let c=a.clipboardData.getData("text/plain"),b=I?I(c):c;a.preventDefault();let f=(g=d.current)==null?void 0:g.selectionStart,s=(E=d.current)==null?void 0:E.selectionEnd,v=(f!==s?l.slice(0,f)+b+l.slice(s):l.slice(0,f)+b+l.slice(f)).slice(0,t);if(v.length>0&&p&&!p.test(v))return;n.value=v,O(v);let B=Math.min(v.length,t-1),_=v.length;n.setSelectionRange(B,_),j(B),N(_)},[t,O,I,p,l]),It=e.useMemo(()=>({position:"relative",cursor:i.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"}),[i.disabled]),dt=e.useMemo(()=>({position:"absolute",inset:0,width:k.willPushPWMBadge?`calc(100% + ${k.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:k.willPushPWMBadge?`inset(0 ${k.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:u,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height, 16px)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"}),[k.PWM_BADGE_SPACE_WIDTH,k.willPushPWMBadge,u]),yt=e.useMemo(()=>{var a;return e.createElement("input",Pt(bt({autoComplete:i.autoComplete||"one-time-code"},i),{"data-input-otp":!0,"data-input-otp-placeholder-shown":l.length===0||void 0,"data-input-otp-mss":H,"data-input-otp-mse":A,inputMode:x,pattern:p==null?void 0:p.source,"aria-placeholder":T,style:dt,maxLength:t,value:l,ref:d,spellCheck:(a=i.spellCheck)!=null?a:!1,onPaste:n=>{var c;ut(n),(c=i.onPaste)==null||c.call(i,n)},onChange:st,onMouseOver:n=>{var c;it(!0),(c=i.onMouseOver)==null||c.call(i,n)},onMouseLeave:n=>{var c;it(!1),(c=i.onMouseLeave)==null||c.call(i,n)},onFocus:n=>{var c;lt(),(c=i.onFocus)==null||c.call(i,n)},onBlur:n=>{var c;Q(!1),(c=i.onBlur)==null||c.call(i,n)}}))},[st,lt,ut,x,dt,t,A,H,T,i,p==null?void 0:p.source,l]),tt=e.useMemo(()=>({slots:Array.from({length:t}).map((a,n)=>{var s;let c=L&&H!==null&&A!==null&&(H===A&&n===H||n>=H&&n<A),b=l[n]!==void 0?l[n]:null,f=l[0]!==void 0?null:(s=T==null?void 0:T[n])!=null?s:null;return{char:b,placeholderChar:f,isActive:c,hasFakeCaret:c&&b===null}}),isFocused:L,isHovering:!i.disabled&&ct}),[L,ct,t,A,H,T,i.disabled,l]),Dt=e.useMemo(()=>S?S(tt):e.createElement(Nt.Provider,{value:tt},R),[R,tt,S]);return e.createElement(e.Fragment,null,y!==null&&e.createElement("noscript",null,e.createElement("style",null,y)),e.createElement("div",{ref:K,"data-input-otp-container":!0,translate:"no",style:It,className:q},Dt,e.createElement("div",{style:{position:"absolute",inset:0,pointerEvents:"none"}},yt)))});$t.displayName="Input";function F(o,r){try{o.insertRule(r)}catch(t){console.warn("input-otp could not insert CSS rule:",r)}}var Ft=`
17
- +var kt=Object.defineProperty,xt=Object.defineProperties;var Gt=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var ht=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable;var Et=(o,r,t)=>r in o?kt(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t,bt=(o,r)=>{for(var t in r||(r={}))ht.call(r,t)&&Et(o,t,r[t]);if(U)for(var t of U(r))St.call(r,t)&&Et(o,t,r[t]);return o},Pt=(o,r)=>xt(o,Gt(r));var wt=(o,r)=>{var t={};for(var u in o)ht.call(o,u)&&r.indexOf(u)<0&&(t[u]=o[u]);if(o!=null&&U)for(var u of U(o))r.indexOf(u)<0&&St.call(o,u)&&(t[u]=o[u]);return t};import*as e from"react";function _t(o){let r=setTimeout(o,0),t=setTimeout(o,10),u=setTimeout(o,50);return[r,t,u]}import*as Z from"react";function Tt(o){let r=Z.useRef();return Z.useEffect(()=>{r.current=o}),r.current}import*as h from"react";var Ot=18,nt=40,Lt=`${nt}px`;function Ct(o){let r=o.getBoundingClientRect().right,t=o;for(;t;){if(getComputedStyle(t).overflowX!=="visible")return t.getBoundingClientRect().left+t.clientLeft+t.clientWidth-r;t=t.parentElement}return document.documentElement.clientWidth-r}var jt=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function Mt({containerRef:o,inputRef:r,pushPasswordManagerStrategy:t,isFocused:u}){let[w,T]=h.useState(!1),[x,M]=h.useState(!1),[V,I]=h.useState(!1),q=h.useMemo(()=>t==="none"?!1:(t==="increase-width"||t==="experimental-no-flickering")&&w&&x,[w,x,t]),y=h.useCallback(()=>{let m=o.current,S=r.current;if(!m||!S||V||t==="none")return;let R=m,i=R.getBoundingClientRect().left+R.offsetWidth,G=R.getBoundingClientRect().top+R.offsetHeight/2,ot=i-Ot,X=G;document.querySelectorAll(jt).length===0&&document.elementFromPoint(ot,X)===m||(M(Ct(m)>=nt),T(!0),I(!0))},[o,r,V,t]);return h.useEffect(()=>{let m=o.current;if(!m||t==="none")return;function S(){M(Ct(m)>=nt)}S();let R=setInterval(S,1e3);return()=>{clearInterval(R)}},[o,t]),h.useEffect(()=>{let m=u||document.activeElement===r.current;if(t==="none"||!m)return;let S=setTimeout(y,0),R=setTimeout(y,2e3),i=setTimeout(y,5e3),G=setTimeout(()=>{I(!0)},6e3);return()=>{clearTimeout(S),clearTimeout(R),clearTimeout(i),clearTimeout(G)}},[r,u,t,y]),{hasPWMBadge:w,willPushPWMBadge:q,PWM_BADGE_SPACE_WIDTH:Lt}}var Nt=e.createContext({}),$t=e.forwardRef((ot,G)=>{var X=ot,{defaultValue:initialDefaultValue,value:o,onChange:r,maxLength:t,textAlign:u="left",pattern:w,placeholder:T,inputMode:x="numeric",onComplete:M,pushPasswordManagerStrategy:V="increase-width",pasteTransformer:I,containerClassName:q,noScriptCSSFallback:y=Ft,nonce:m,render:S,children:R}=X,i=wt(X,["defaultValue","value","onChange","maxLength","textAlign","pattern","placeholder","inputMode","onComplete","pushPasswordManagerStrategy","pasteTransformer","containerClassName","noScriptCSSFallback","nonce","render","children"]);var z,ft,mt,pt,Rt;let[rt,at]=e.useState(typeof initialDefaultValue=="string"?initialDefaultValue:""),l=o!=null?o:rt,D=Tt(l),O=e.useCallback(a=>{r==null||r(a),at(a)},[r]),p=e.useMemo(()=>w?typeof w=="string"?new RegExp(w):w:null,[w]),d=e.useRef(null),K=e.useRef(null),J=e.useRef({value:l,onChange:O,isIOS:typeof window!="undefined"&&((ft=(z=window==null?void 0:window.CSS)==null?void 0:z.supports)==null?void 0:ft.call(z,"-webkit-touch-callout","none"))}),Y=e.useRef({prev:[(mt=d.current)==null?void 0:mt.selectionStart,(pt=d.current)==null?void 0:pt.selectionEnd,(Rt=d.current)==null?void 0:Rt.selectionDirection]});e.useImperativeHandle(G,()=>d.current,[]),e.useEffect(()=>{let a=d.current,n=K.current;if(!a||!n)return;J.current.value!==a.value&&J.current.onChange(a.value),Y.current.prev=[a.selectionStart,a.selectionEnd,a.selectionDirection];function c(){if(document.activeElement!==a){j(null),N(null);return}let s=a.selectionStart,P=a.selectionEnd,$=a.selectionDirection,v=a.maxLength,B=a.value,_=Y.current.prev,g=-1,E=-1,C;if(B.length!==0&&s!==null&&P!==null){let Bt=s===P,Wt=s===B.length&&B.length<v;if(Bt&&!Wt){let W=s;if(W===0)g=0,E=1,C="forward";else if(W===v)g=W-1,E=W,C="backward";else if(v>1&&B.length>1){let et=0;if(_[0]!==null&&_[1]!==null){C=W<_[1]?"backward":"forward";let At=_[0]===_[1]&&_[0]<v;C==="backward"&&!At&&(et=-1)}g=et+W,E=et+W+1}}g!==-1&&E!==-1&&g!==E&&a.setSelectionRange(g,E,C)}let vt=g!==-1?g:s,gt=E!==-1?E:P,Ht=C!=null?C:$;j(vt),N(gt),Y.current.prev=[vt,gt,Ht]}if(document.addEventListener("selectionchange",c,{capture:!0}),c(),document.activeElement===a&&Q(!0),!document.getElementById("input-otp-style")){let s=document.createElement("style");if(s.id="input-otp-style",m&&s.setAttribute("nonce",m),document.head.appendChild(s),s.sheet){let P="background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;";F(s.sheet,"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }"),F(s.sheet,`[data-input-otp]:autofill { ${P} }`),F(s.sheet,`[data-input-otp]:-webkit-autofill { ${P} }`),F(s.sheet,"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }"),F(s.sheet,"[data-input-otp] + * { pointer-events: all !important; }")}}let b=()=>{n&&n.style.setProperty("--root-height",`${a.clientHeight}px`)};b();let f=typeof ResizeObserver=="undefined"?null:new ResizeObserver(b);return f==null||f.observe(a),()=>{document.removeEventListener("selectionchange",c,{capture:!0}),f==null||f.disconnect()}},[]);let[ct,it]=e.useState(!1),[L,Q]=e.useState(!1),[H,j]=e.useState(null),[A,N]=e.useState(null);e.useEffect(()=>{let a=_t(()=>{var f,s,P,$;(f=d.current)==null||f.dispatchEvent(new Event("input"));let n=(s=d.current)==null?void 0:s.selectionStart,c=(P=d.current)==null?void 0:P.selectionEnd,b=($=d.current)==null?void 0:$.selectionDirection;n!==null&&c!==null&&(j(n),N(c),Y.current.prev=[n,c,b])});return()=>{a.forEach(n=>clearTimeout(n))}},[l,L]),e.useEffect(()=>{D!==void 0&&l!==D&&D.length<t&&l.length===t&&(M==null||M(l))},[t,M,D,l]);let k=Mt({containerRef:K,inputRef:d,pushPasswordManagerStrategy:V,isFocused:L}),st=e.useCallback(a=>{let n=a.currentTarget.value.slice(0,t);if(n.length>0&&p&&!p.test(n)){a.preventDefault();return}typeof D=="string"&&n.length<D.length&&document.dispatchEvent(new Event("selectionchange")),O(n)},[t,O,D,p]),lt=e.useCallback(()=>{var a;if(d.current){let n=Math.min(d.current.value.length,t-1),c=d.current.value.length;(a=d.current)==null||a.setSelectionRange(n,c),j(n),N(c)}Q(!0)},[t]),ut=e.useCallback(a=>{var g,E;let n=d.current;if(!I&&(!J.current.isIOS||!a.clipboardData||!n))return;let c=a.clipboardData.getData("text/plain"),b=I?I(c):c;a.preventDefault();let f=(g=d.current)==null?void 0:g.selectionStart,s=(E=d.current)==null?void 0:E.selectionEnd,v=(f!==s?l.slice(0,f)+b+l.slice(s):l.slice(0,f)+b+l.slice(f)).slice(0,t);if(v.length>0&&p&&!p.test(v))return;n.value=v,O(v);let B=Math.min(v.length,t-1),_=v.length;n.setSelectionRange(B,_),j(B),N(_)},[t,O,I,p,l]),It=e.useMemo(()=>({position:"relative",cursor:i.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"}),[i.disabled]),dt=e.useMemo(()=>({position:"absolute",inset:0,width:k.willPushPWMBadge?`calc(100% + ${k.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:k.willPushPWMBadge?`inset(0 ${k.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:u,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height, 16px)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"}),[k.PWM_BADGE_SPACE_WIDTH,k.willPushPWMBadge,u]),yt=e.useMemo(()=>{var a;return e.createElement("input",Pt(bt({autoComplete:i.autoComplete||"one-time-code"},i),{"data-input-otp":!0,"data-input-otp-placeholder-shown":l.length===0||void 0,"data-input-otp-mss":H,"data-input-otp-mse":A,inputMode:x,pattern:p==null?void 0:p.source,"aria-placeholder":T,style:dt,maxLength:t,value:l,ref:d,spellCheck:(a=i.spellCheck)!=null?a:!1,onPaste:n=>{var c;ut(n),(c=i.onPaste)==null||c.call(i,n)},onChange:st,onMouseOver:n=>{var c;it(!0),(c=i.onMouseOver)==null||c.call(i,n)},onMouseLeave:n=>{var c;it(!1),(c=i.onMouseLeave)==null||c.call(i,n)},onFocus:n=>{var c;lt(),(c=i.onFocus)==null||c.call(i,n)},onBlur:n=>{var c;Q(!1),(c=i.onBlur)==null||c.call(i,n)}}))},[st,lt,ut,x,dt,t,A,H,T,i,p==null?void 0:p.source,l]),tt=e.useMemo(()=>({slots:Array.from({length:t}).map((a,n)=>{var s;let c=L&&H!==null&&A!==null&&(H===A&&n===H||n>=H&&n<A),b=l[n]!==void 0?l[n]:null,f=l[0]!==void 0?null:(s=T==null?void 0:T[n])!=null?s:null;return{char:b,placeholderChar:f,isActive:c,hasFakeCaret:c&&b===null}}),isFocused:L,isHovering:!i.disabled&&ct}),[L,ct,t,A,H,T,i.disabled,l]),Dt=e.useMemo(()=>S?S(tt):e.createElement(Nt.Provider,{value:tt},R),[R,tt,S]);return e.createElement(e.Fragment,null,y!==null&&e.createElement("noscript",null,e.createElement("style",null,y)),e.createElement("div",{ref:K,"data-input-otp-container":!0,translate:"no",style:It,className:q},Dt,e.createElement("div",{style:{position:"absolute",inset:0,pointerEvents:"none"}},yt)))});$t.displayName="Input";function F(o,r){try{o.insertRule(r)}catch(t){console.warn("input-otp could not insert CSS rule:",r)}}var Ft=`
18
- [data-input-otp] {
19
- --nojs-bg: white !important;
20
- --nojs-fg: black !important;