admin-ui-starter-kit 0.6.4 → 0.6.6

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 (1176) hide show
  1. package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -4
  2. package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
  3. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +2 -2
  4. package/dist/_shared/accordion-BRj4TDQx.js +135 -0
  5. package/dist/_shared/accordion-BRj4TDQx.js.map +1 -0
  6. package/dist/_shared/accordion-DvlDjk29.cjs +2 -0
  7. package/dist/_shared/accordion-DvlDjk29.cjs.map +1 -0
  8. package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
  9. package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
  10. package/dist/_shared/action-menu-Crn22LKo.js +96 -0
  11. package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
  12. package/dist/_shared/ai-artifact-BHgd3agA.js +1099 -0
  13. package/dist/_shared/ai-artifact-BHgd3agA.js.map +1 -0
  14. package/dist/_shared/ai-artifact-BRM5cvGv.cjs +3 -0
  15. package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +1 -0
  16. package/dist/_shared/alert-CMVVt2Br.js +81 -0
  17. package/dist/_shared/alert-CMVVt2Br.js.map +1 -0
  18. package/dist/_shared/alert-Dmhtbmpg.cjs +2 -0
  19. package/dist/_shared/alert-Dmhtbmpg.cjs.map +1 -0
  20. package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
  21. package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
  22. package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
  23. package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
  24. package/dist/_shared/auth-DZW6NkJx.cjs +2 -0
  25. package/dist/_shared/auth-DZW6NkJx.cjs.map +1 -0
  26. package/dist/_shared/auth-Dh790NI_.js +643 -0
  27. package/dist/_shared/auth-Dh790NI_.js.map +1 -0
  28. package/dist/_shared/badge-B8xGFpfM.cjs +2 -0
  29. package/dist/_shared/badge-B8xGFpfM.cjs.map +1 -0
  30. package/dist/_shared/badge-BYNwSWh5.js +110 -0
  31. package/dist/_shared/badge-BYNwSWh5.js.map +1 -0
  32. package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
  33. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
  34. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
  35. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
  36. package/dist/_shared/button-BMiPFJIb.cjs +2 -0
  37. package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
  38. package/dist/_shared/button-vv59_uS_.js +189 -0
  39. package/dist/_shared/button-vv59_uS_.js.map +1 -0
  40. package/dist/_shared/buttons-CvqIMv3I.js +137 -0
  41. package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
  42. package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
  43. package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
  44. package/dist/_shared/card-radio-group-Bhe8gAbH.js +150 -0
  45. package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +1 -0
  46. package/dist/_shared/card-radio-group-CdG1zr8M.cjs +2 -0
  47. package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +1 -0
  48. package/dist/_shared/cards-Cu6p1Brd.cjs +2 -0
  49. package/dist/_shared/cards-Cu6p1Brd.cjs.map +1 -0
  50. package/dist/_shared/cards-cQ9lL6zy.js +354 -0
  51. package/dist/_shared/cards-cQ9lL6zy.js.map +1 -0
  52. package/dist/_shared/combobox-BGYjyXeN.cjs +2 -0
  53. package/dist/_shared/combobox-BGYjyXeN.cjs.map +1 -0
  54. package/dist/_shared/combobox-DTwomOBt.js +954 -0
  55. package/dist/_shared/combobox-DTwomOBt.js.map +1 -0
  56. package/dist/_shared/comments-C97vL5km.js +952 -0
  57. package/dist/_shared/comments-C97vL5km.js.map +1 -0
  58. package/dist/_shared/comments-DBe6dP-d.cjs +2 -0
  59. package/dist/_shared/comments-DBe6dP-d.cjs.map +1 -0
  60. package/dist/_shared/containers-CB7zaAvN.cjs +2 -0
  61. package/dist/_shared/containers-CB7zaAvN.cjs.map +1 -0
  62. package/dist/_shared/containers-CLBmhGfs.js +48 -0
  63. package/dist/_shared/containers-CLBmhGfs.js.map +1 -0
  64. package/dist/_shared/copyable-BgFdERqs.js +38 -0
  65. package/dist/_shared/copyable-BgFdERqs.js.map +1 -0
  66. package/dist/_shared/copyable-Ce8rmE-V.cjs +2 -0
  67. package/dist/_shared/copyable-Ce8rmE-V.cjs.map +1 -0
  68. package/dist/_shared/data-display-DUWxoDKq.js +1873 -0
  69. package/dist/_shared/data-display-DUWxoDKq.js.map +1 -0
  70. package/dist/_shared/data-display-o-rbMuIA.cjs +2 -0
  71. package/dist/_shared/data-display-o-rbMuIA.cjs.map +1 -0
  72. package/dist/_shared/date-picker-Cxx9jllA.js +1361 -0
  73. package/dist/_shared/date-picker-Cxx9jllA.js.map +1 -0
  74. package/dist/_shared/date-picker-DE5A8yqN.cjs +2 -0
  75. package/dist/_shared/date-picker-DE5A8yqN.cjs.map +1 -0
  76. package/dist/_shared/date-pickers-Dex1Mfye.cjs +2 -0
  77. package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +1 -0
  78. package/dist/_shared/date-pickers-m0dpDcqH.js +329 -0
  79. package/dist/_shared/date-pickers-m0dpDcqH.js.map +1 -0
  80. package/dist/_shared/display-Bro3Kufg.js +986 -0
  81. package/dist/_shared/display-Bro3Kufg.js.map +1 -0
  82. package/dist/_shared/display-CRQjSjgB.cjs +2 -0
  83. package/dist/_shared/display-CRQjSjgB.cjs.map +1 -0
  84. package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
  85. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
  86. package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
  87. package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
  88. package/dist/_shared/forms-D-SNQmtB.cjs +2 -0
  89. package/dist/_shared/forms-D-SNQmtB.cjs.map +1 -0
  90. package/dist/_shared/forms-p7cfzJwf.js +3533 -0
  91. package/dist/_shared/forms-p7cfzJwf.js.map +1 -0
  92. package/dist/_shared/header-8C71wVRp.js +447 -0
  93. package/dist/_shared/header-8C71wVRp.js.map +1 -0
  94. package/dist/_shared/header-CYgFCnjZ.cjs +2 -0
  95. package/dist/_shared/header-CYgFCnjZ.cjs.map +1 -0
  96. package/dist/_shared/hooks-Ci1LFWRG.js +95 -0
  97. package/dist/_shared/hooks-Ci1LFWRG.js.map +1 -0
  98. package/dist/_shared/hooks-Cjl7LJpn.cjs +2 -0
  99. package/dist/_shared/hooks-Cjl7LJpn.cjs.map +1 -0
  100. package/dist/_shared/input-BgcP6x4C.js +182 -0
  101. package/dist/_shared/input-BgcP6x4C.js.map +1 -0
  102. package/dist/_shared/input-DV3g7Fm5.cjs +2 -0
  103. package/dist/_shared/input-DV3g7Fm5.cjs.map +1 -0
  104. package/dist/_shared/item-D7GTzvhf.js +226 -0
  105. package/dist/_shared/item-D7GTzvhf.js.map +1 -0
  106. package/dist/_shared/item-DTrnHpfm.cjs +2 -0
  107. package/dist/_shared/item-DTrnHpfm.cjs.map +1 -0
  108. package/dist/_shared/layout-BExg7Vlx.js +261 -0
  109. package/dist/_shared/layout-BExg7Vlx.js.map +1 -0
  110. package/dist/_shared/layout-CKRD_goE.cjs +2 -0
  111. package/dist/_shared/layout-CKRD_goE.cjs.map +1 -0
  112. package/dist/_shared/layout.types-CXFAjJCj.cjs +2 -0
  113. package/dist/_shared/layout.types-CXFAjJCj.cjs.map +1 -0
  114. package/dist/_shared/layout.types-ip8BYRa7.js +28 -0
  115. package/dist/_shared/layout.types-ip8BYRa7.js.map +1 -0
  116. package/dist/_shared/mentions-BtGhYisA.js +506 -0
  117. package/dist/_shared/mentions-BtGhYisA.js.map +1 -0
  118. package/dist/_shared/mentions-CnVOuQJU.cjs +2 -0
  119. package/dist/_shared/mentions-CnVOuQJU.cjs.map +1 -0
  120. package/dist/_shared/money-display-BvVpRUs5.cjs +2 -0
  121. package/dist/_shared/money-display-BvVpRUs5.cjs.map +1 -0
  122. package/dist/_shared/money-display-D6Qtvyyv.js +198 -0
  123. package/dist/_shared/money-display-D6Qtvyyv.js.map +1 -0
  124. package/dist/_shared/navigation-C4dO1I82.cjs +2 -0
  125. package/dist/_shared/navigation-C4dO1I82.cjs.map +1 -0
  126. package/dist/_shared/navigation-Ct-LFlpY.js +436 -0
  127. package/dist/_shared/navigation-Ct-LFlpY.js.map +1 -0
  128. package/dist/_shared/overlays-ChyqXn0n.js +735 -0
  129. package/dist/_shared/overlays-ChyqXn0n.js.map +1 -0
  130. package/dist/_shared/overlays-Dn2bt3CL.cjs +2 -0
  131. package/dist/_shared/overlays-Dn2bt3CL.cjs.map +1 -0
  132. package/dist/_shared/popover-menu-17Dxn25O.js +93 -0
  133. package/dist/_shared/popover-menu-17Dxn25O.js.map +1 -0
  134. package/dist/_shared/popover-menu-DXVN0bvj.cjs +2 -0
  135. package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +1 -0
  136. package/dist/_shared/rich-text-editor-BRpcNkj1.js +620 -0
  137. package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +1 -0
  138. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +2 -0
  139. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +1 -0
  140. package/dist/_shared/settings-CW9yzfQM.js +143 -0
  141. package/dist/_shared/settings-CW9yzfQM.js.map +1 -0
  142. package/dist/_shared/settings-cCPrw7si.cjs +2 -0
  143. package/dist/_shared/settings-cCPrw7si.cjs.map +1 -0
  144. package/dist/_shared/sidebar-Cq6J_I4l.cjs +2 -0
  145. package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +1 -0
  146. package/dist/_shared/sidebar-DtF_ihE3.js +548 -0
  147. package/dist/_shared/sidebar-DtF_ihE3.js.map +1 -0
  148. package/dist/_shared/spinner-DY2de3Wt.cjs +2 -0
  149. package/dist/_shared/spinner-DY2de3Wt.cjs.map +1 -0
  150. package/dist/_shared/spinner-ZmIq_zsx.js +67 -0
  151. package/dist/_shared/spinner-ZmIq_zsx.js.map +1 -0
  152. package/dist/_shared/table-BBWc-wIw.js +1377 -0
  153. package/dist/_shared/table-BBWc-wIw.js.map +1 -0
  154. package/dist/_shared/table-DMDkdLzV.cjs +2 -0
  155. package/dist/_shared/table-DMDkdLzV.cjs.map +1 -0
  156. package/dist/_shared/textarea-C1TeJ7Vt.cjs +2 -0
  157. package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +1 -0
  158. package/dist/_shared/textarea-CGRkgH5z.js +118 -0
  159. package/dist/_shared/textarea-CGRkgH5z.js.map +1 -0
  160. package/dist/_shared/typography-CzFVA1w1.js +201 -0
  161. package/dist/_shared/typography-CzFVA1w1.js.map +1 -0
  162. package/dist/_shared/typography-GtkgK9QX.cjs +2 -0
  163. package/dist/_shared/typography-GtkgK9QX.cjs.map +1 -0
  164. package/dist/_shared/workspace-BF5BtDhD.cjs +2 -0
  165. package/dist/_shared/workspace-BF5BtDhD.cjs.map +1 -0
  166. package/dist/_shared/workspace-IvsczduM.js +357 -0
  167. package/dist/_shared/workspace-IvsczduM.js.map +1 -0
  168. package/dist/components/base/accordion/index.cjs +1 -1
  169. package/dist/components/base/accordion/index.js +1 -1
  170. package/dist/components/base/badge/badge.d.ts.map +1 -1
  171. package/dist/components/base/badge/index.cjs +1 -1
  172. package/dist/components/base/badge/index.js +1 -1
  173. package/dist/components/base/buttons/index.cjs +1 -1
  174. package/dist/components/base/buttons/index.js +2 -2
  175. package/dist/components/base/cards/index.cjs +1 -1
  176. package/dist/components/base/cards/index.js +1 -1
  177. package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
  178. package/dist/components/base/cards/smart-card.types.d.ts +3 -3
  179. package/dist/components/base/carousel/index.cjs +1 -1
  180. package/dist/components/base/carousel/index.js +1 -1
  181. package/dist/components/base/combobox/index.cjs +1 -1
  182. package/dist/components/base/combobox/index.js +1 -1
  183. package/dist/components/base/copyable/index.cjs +1 -1
  184. package/dist/components/base/copyable/index.js +1 -1
  185. package/dist/components/base/currency/index.cjs +1 -1
  186. package/dist/components/base/currency/index.js +1 -1
  187. package/dist/components/base/date-pickers/index.cjs +1 -1
  188. package/dist/components/base/date-pickers/index.js +2 -2
  189. package/dist/components/base/display/chart.cjs +1 -1
  190. package/dist/components/base/display/chart.js +1 -1
  191. package/dist/components/base/display/index.cjs +1 -1
  192. package/dist/components/base/display/index.js +3 -3
  193. package/dist/components/base/event-calendar/index.cjs +1 -1
  194. package/dist/components/base/event-calendar/index.js +3 -3
  195. package/dist/components/base/forms/index.cjs +1 -1
  196. package/dist/components/base/forms/index.js +5 -5
  197. package/dist/components/base/item/index.cjs +1 -1
  198. package/dist/components/base/item/index.js +1 -1
  199. package/dist/components/base/map/index.cjs +1 -1
  200. package/dist/components/base/map/index.js +2 -2
  201. package/dist/components/base/navigation/index.cjs +1 -1
  202. package/dist/components/base/navigation/index.js +3 -3
  203. package/dist/components/base/popover-menu/index.cjs +1 -1
  204. package/dist/components/base/popover-menu/index.js +1 -1
  205. package/dist/components/base/spinner/index.cjs +1 -1
  206. package/dist/components/base/spinner/index.js +1 -1
  207. package/dist/components/base/table/data-table.d.ts.map +1 -1
  208. package/dist/components/base/table/index.cjs +1 -1
  209. package/dist/components/base/table/index.js +1 -1
  210. package/dist/components/composed/admin/index.cjs +1 -1
  211. package/dist/components/composed/admin/index.js +11 -11
  212. package/dist/components/composed/ai/index.cjs +1 -1
  213. package/dist/components/composed/ai/index.js +8 -8
  214. package/dist/components/composed/analytics/index.cjs +1 -1
  215. package/dist/components/composed/analytics/index.js +3 -3
  216. package/dist/components/composed/cards/index.cjs +1 -1
  217. package/dist/components/composed/cards/index.js +7 -7
  218. package/dist/components/composed/commerce/index.cjs +1 -1
  219. package/dist/components/composed/commerce/index.js +8 -8
  220. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  221. package/dist/components/composed/dark-surfaces/index.js +4 -4
  222. package/dist/components/composed/data-display/index.cjs +1 -1
  223. package/dist/components/composed/data-display/index.js +1 -1
  224. package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
  225. package/dist/components/composed/navigation/index.cjs +1 -1
  226. package/dist/components/composed/navigation/index.js +5 -5
  227. package/dist/components/composed/onboarding/index.cjs +1 -1
  228. package/dist/components/composed/onboarding/index.js +3 -3
  229. package/dist/components/composed/timelines/index.cjs +1 -1
  230. package/dist/components/composed/timelines/index.js +3 -3
  231. package/dist/components/features/activities/index.cjs +1 -1
  232. package/dist/components/features/activities/index.js +4 -4
  233. package/dist/components/features/ai-chat/index.cjs +1 -1
  234. package/dist/components/features/ai-chat/index.js +5 -5
  235. package/dist/components/features/card/index.cjs +1 -1
  236. package/dist/components/features/card/index.js +4 -4
  237. package/dist/components/features/comments/index.cjs +1 -1
  238. package/dist/components/features/comments/index.js +2 -2
  239. package/dist/components/features/data-view/index.cjs +1 -1
  240. package/dist/components/features/data-view/index.js +2 -2
  241. package/dist/components/features/event-log/index.cjs +1 -1
  242. package/dist/components/features/event-log/index.js +4 -4
  243. package/dist/components/features/filters/index.cjs +1 -1
  244. package/dist/components/features/filters/index.js +6 -6
  245. package/dist/components/features/global-search/index.cjs +1 -1
  246. package/dist/components/features/global-search/index.js +4 -4
  247. package/dist/components/features/kanban/index.cjs +1 -1
  248. package/dist/components/features/kanban/index.js +3 -3
  249. package/dist/components/features/media-library/index.cjs +1 -1
  250. package/dist/components/features/media-library/index.js +8 -8
  251. package/dist/components/features/mentions/index.cjs +1 -1
  252. package/dist/components/features/mentions/index.js +1 -1
  253. package/dist/components/features/overlays/index.cjs +1 -1
  254. package/dist/components/features/overlays/index.js +1 -1
  255. package/dist/components/features/products/index.cjs +1 -1
  256. package/dist/components/features/products/index.js +11 -11
  257. package/dist/components/features/resource/index.cjs +1 -1
  258. package/dist/components/features/resource/index.js +4 -4
  259. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  260. package/dist/components/features/rich-text-editor/index.js +1 -1
  261. package/dist/components/features/schema-form/index.cjs +1 -1
  262. package/dist/components/features/schema-form/index.js +8 -8
  263. package/dist/components/features/suggestions/index.cjs +1 -1
  264. package/dist/components/features/suggestions/index.js +1 -1
  265. package/dist/components/features/sync/index.cjs +1 -1
  266. package/dist/components/features/sync/index.js +2 -2
  267. package/dist/components/layout/app-shell/index.cjs +1 -1
  268. package/dist/components/layout/app-shell/index.js +1 -1
  269. package/dist/components/layout/auth/index.cjs +1 -1
  270. package/dist/components/layout/auth/index.js +1 -1
  271. package/dist/components/layout/containers/containers.types.d.ts +2 -2
  272. package/dist/components/layout/containers/containers.types.d.ts.map +1 -1
  273. package/dist/components/layout/containers/content-container.d.ts.map +1 -1
  274. package/dist/components/layout/containers/index.cjs +1 -1
  275. package/dist/components/layout/containers/index.js +1 -2
  276. package/dist/components/layout/header/index.cjs +1 -1
  277. package/dist/components/layout/header/index.js +1 -1
  278. package/dist/components/layout/hooks/index.cjs +1 -1
  279. package/dist/components/layout/hooks/index.js +1 -1
  280. package/dist/components/layout/index.cjs +1 -1
  281. package/dist/components/layout/index.js +11 -12
  282. package/dist/components/layout/layout.types.d.ts.map +1 -1
  283. package/dist/components/layout/page/index.cjs +1 -1
  284. package/dist/components/layout/page/index.js +2 -2
  285. package/dist/components/layout/settings/index.cjs +1 -1
  286. package/dist/components/layout/settings/index.js +1 -1
  287. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +1 -1
  288. package/dist/components/layout/sidebar/index.cjs +1 -1
  289. package/dist/components/layout/sidebar/index.js +2 -2
  290. package/dist/components/layout/workspace/index.cjs +1 -1
  291. package/dist/components/layout/workspace/index.js +1 -1
  292. package/dist/components/typography/index.cjs +1 -1
  293. package/dist/components/typography/index.js +1 -1
  294. package/dist/services/actions/index.cjs +1 -1
  295. package/dist/services/actions/index.js +1 -1
  296. package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +6 -0
  297. package/dist/showcase/assets/CompositeItem-D9zznn01.js +1 -0
  298. package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +1 -0
  299. package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +1 -0
  300. package/dist/showcase/assets/LabelableContext-_EE-HBND.js +1 -0
  301. package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +1 -0
  302. package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +1 -0
  303. package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +1 -0
  304. package/dist/showcase/assets/Separator-CHVXO6nj.js +1 -0
  305. package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +1 -0
  306. package/dist/showcase/assets/accordion-CA84bxb2.js +171 -0
  307. package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +1 -0
  308. package/dist/showcase/assets/action-menu-D0q5z-Kq.js +1 -0
  309. package/dist/showcase/assets/actions-DnqxABJU.js +310 -0
  310. package/dist/showcase/assets/activities-BC9hoMy9.js +500 -0
  311. package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +1 -0
  312. package/dist/showcase/assets/admin-CMnMsugJ.js +140 -0
  313. package/dist/showcase/assets/ai-B6_sE9Zg.js +207 -0
  314. package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +2 -0
  315. package/dist/showcase/assets/ai-chat-lcXeqJrA.js +568 -0
  316. package/dist/showcase/assets/ai-elements-B32o_UjE.js +387 -0
  317. package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +1 -0
  318. package/dist/showcase/assets/alert-B1p1Grce.js +62 -0
  319. package/dist/showcase/assets/alert-BBiffYsY.js +93 -0
  320. package/dist/showcase/assets/alert-vH0nJ8J9.js +1 -0
  321. package/dist/showcase/assets/api-key-list-BrSc6V1y.js +1 -0
  322. package/dist/showcase/assets/api-key-list-CoKe_PaL.js +73 -0
  323. package/dist/showcase/assets/app-sidebar-R93lRPB4.js +1 -0
  324. package/dist/showcase/assets/arrow-down-xxVIADbv.js +1 -0
  325. package/dist/showcase/assets/arrow-left-DxnlnN8R.js +1 -0
  326. package/dist/showcase/assets/arrow-right-S5k93UPM.js +1 -0
  327. package/dist/showcase/assets/arrow-up-OlEVG7a-.js +1 -0
  328. package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +1 -0
  329. package/dist/showcase/assets/avatar-BbiXvZq7.js +67 -0
  330. package/dist/showcase/assets/avatar-Bwpw-hQo.js +57 -0
  331. package/dist/showcase/assets/avatar-D0DKQ1lK.js +1 -0
  332. package/dist/showcase/assets/avatar-WyjSBov9.js +1 -0
  333. package/dist/showcase/assets/badge-BzLZQO3L.js +31 -0
  334. package/dist/showcase/assets/badge-check-TFWm1m3F.js +1 -0
  335. package/dist/showcase/assets/bell-CmuQlO_k.js +1 -0
  336. package/dist/showcase/assets/bot-Bu518AJB.js +1 -0
  337. package/dist/showcase/assets/box-D-wrSdOJ.js +1 -0
  338. package/dist/showcase/assets/braces-CgCdmdAl.js +1 -0
  339. package/dist/showcase/assets/brain-DkHdwgHO.js +1 -0
  340. package/dist/showcase/assets/brand-CpovnVoG.js +36 -0
  341. package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +1 -0
  342. package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +52 -0
  343. package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +1 -0
  344. package/dist/showcase/assets/briefcase-CQBh2kok.js +1 -0
  345. package/dist/showcase/assets/building-2-D07Ej6iR.js +1 -0
  346. package/dist/showcase/assets/button-CCZ4KEGQ.js +44 -0
  347. package/dist/showcase/assets/button-group-BTjeHOvz.js +1 -0
  348. package/dist/showcase/assets/buttons-D45Wwiwn.js +272 -0
  349. package/dist/showcase/assets/calendar-BsEWULmZ.js +16 -0
  350. package/dist/showcase/assets/calendar-CkPefzIO.js +1 -0
  351. package/dist/showcase/assets/calendar-DZlT3qTq.js +1 -0
  352. package/dist/showcase/assets/calendar-days-C9awTMru.js +1 -0
  353. package/dist/showcase/assets/camera-CQhMw-RD.js +1 -0
  354. package/dist/showcase/assets/card-CKrz_UHt.js +1 -0
  355. package/dist/showcase/assets/card-DZgZgjXO.js +188 -0
  356. package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +1 -0
  357. package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +1 -0
  358. package/dist/showcase/assets/cards-Cd24XZ9l.js +353 -0
  359. package/dist/showcase/assets/carousel-Doon04yO.js +449 -0
  360. package/dist/showcase/assets/cell-renderers-CTay3duH.js +1 -0
  361. package/dist/showcase/assets/chart-CkvbdpWw.js +358 -0
  362. package/dist/showcase/assets/chart-column-Dz57kUMl.js +1 -0
  363. package/dist/showcase/assets/checkbox-L-L4-wvA.js +1 -0
  364. package/dist/showcase/assets/checkbox-sP254E7e.js +1 -0
  365. package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +1 -0
  366. package/dist/showcase/assets/chevron-left-CMRIGOJt.js +1 -0
  367. package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +1 -0
  368. package/dist/showcase/assets/chevrons-up-down-C519RKki.js +1 -0
  369. package/dist/showcase/assets/circle-B_tOHWTY.js +1 -0
  370. package/dist/showcase/assets/circle-alert-B56AFULT.js +1 -0
  371. package/dist/showcase/assets/circle-check-B4XZj4Ty.js +1 -0
  372. package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +1 -0
  373. package/dist/showcase/assets/circle-dot-DPdJZkc6.js +1 -0
  374. package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +1 -0
  375. package/dist/showcase/assets/circle-x-B4FwM-sI.js +1 -0
  376. package/dist/showcase/assets/clock-3-DZhjBuw8.js +1 -0
  377. package/dist/showcase/assets/clock-B9Fna2Q3.js +1 -0
  378. package/dist/showcase/assets/code-xml-B6Xb_vIg.js +1 -0
  379. package/dist/showcase/assets/collapsible-Bf7Oo37i.js +27 -0
  380. package/dist/showcase/assets/collapsible-BfLeooy8.js +1 -0
  381. package/dist/showcase/assets/combobox-4NYfJznY.js +685 -0
  382. package/dist/showcase/assets/command-7jRRucHf.js +1 -0
  383. package/dist/showcase/assets/command-D56CjgNc.js +1 -0
  384. package/dist/showcase/assets/comment-composer-BWeXIZfK.js +1 -0
  385. package/dist/showcase/assets/comment-item-ChkiK-ut.js +1 -0
  386. package/dist/showcase/assets/comments-YnEop7v3.js +357 -0
  387. package/dist/showcase/assets/commerce-7XxWJChs.js +267 -0
  388. package/dist/showcase/assets/composite-CHcyYCsk.js +1 -0
  389. package/dist/showcase/assets/contact-card-BXw-VuBm.js +65 -0
  390. package/dist/showcase/assets/content-container-C4uopCBg.js +1 -0
  391. package/dist/showcase/assets/copyable-CjVYEJ0P.js +1 -0
  392. package/dist/showcase/assets/copyable-Cz2jW7yL.js +96 -0
  393. package/dist/showcase/assets/course-card-CvK3dw9W.js +77 -0
  394. package/dist/showcase/assets/cpu-Vk5WgcC1.js +1 -0
  395. package/dist/showcase/assets/credit-card-CaigqZGk.js +1 -0
  396. package/dist/showcase/assets/css-variables-hLaBmeMt.js +1190 -0
  397. package/dist/showcase/assets/currency-yO1giHp1.js +149 -0
  398. package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +90 -0
  399. package/dist/showcase/assets/data-view-CjjXn5VT.js +124 -0
  400. package/dist/showcase/assets/data-view-DF0n8uva.js +4 -0
  401. package/dist/showcase/assets/database-ChUBDe8E.js +1 -0
  402. package/dist/showcase/assets/date-block-DUg1Oyn4.js +1 -0
  403. package/dist/showcase/assets/date-picker-CoQPZa34.js +1 -0
  404. package/dist/showcase/assets/date-pickers-B-IUbyXw.js +73 -0
  405. package/dist/showcase/assets/dense-info-zVQSWqOU.js +106 -0
  406. package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +264 -0
  407. package/dist/showcase/assets/dialog-BtilpgxJ.js +1 -0
  408. package/dist/showcase/assets/dialog-kf9WwmTC.js +1 -0
  409. package/dist/showcase/assets/display-utilities-BBzG5EPX.js +267 -0
  410. package/dist/showcase/assets/dist-9gFIhkw-.js +45 -0
  411. package/dist/showcase/assets/dist-CGpz_7Mu.js +1 -0
  412. package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +1 -0
  413. package/dist/showcase/assets/download-Bt_z-poH.js +1 -0
  414. package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +1 -0
  415. package/dist/showcase/assets/dropzone-D5BGVTnl.js +1 -0
  416. package/dist/showcase/assets/earth-sP5mIgG3.js +1 -0
  417. package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +1 -0
  418. package/dist/showcase/assets/ellipsis-yqIF49C8.js +1 -0
  419. package/dist/showcase/assets/empty-DIrJgtrh.js +1 -0
  420. package/dist/showcase/assets/empty-item-GgnZk2yf.js +49 -0
  421. package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +190 -0
  422. package/dist/showcase/assets/empty-state-n_Fspzt-.js +1 -0
  423. package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +357 -0
  424. package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +1 -0
  425. package/dist/showcase/assets/esm-CyFPn936.js +2 -0
  426. package/dist/showcase/assets/event-calendar-Czo7yBDx.js +138 -0
  427. package/dist/showcase/assets/event-log-DJ3B3nMV.js +330 -0
  428. package/dist/showcase/assets/example-eGsLGIcp.js +1 -0
  429. package/dist/showcase/assets/external-link-DPOQEVWH.js +1 -0
  430. package/dist/showcase/assets/eye-CN92NVL0.js +1 -0
  431. package/dist/showcase/assets/feature-announcement-BXkSW17e.js +34 -0
  432. package/dist/showcase/assets/file-CFHePlKG.js +1 -0
  433. package/dist/showcase/assets/file-text--WYCYQMw.js +1 -0
  434. package/dist/showcase/assets/filter-layout-B35gGmcO.js +1 -0
  435. package/dist/showcase/assets/filters-GDW_oiT3.js +139 -0
  436. package/dist/showcase/assets/flag-XsT9XFPr.js +1 -0
  437. package/dist/showcase/assets/folder-open-RtsQ8vxf.js +1 -0
  438. package/dist/showcase/assets/form-field-Bijd1Gex.js +1 -0
  439. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
  440. package/dist/showcase/assets/format-Ckw4OM66.js +1 -0
  441. package/dist/showcase/assets/forms-00bU7LN8.js +915 -0
  442. package/dist/showcase/assets/funnel-qu25WlXD.js +1 -0
  443. package/dist/showcase/assets/generic-Bf82Wiol.js +1 -0
  444. package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +1 -0
  445. package/dist/showcase/assets/gift-D4GQoqzV.js +1 -0
  446. package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +85 -0
  447. package/dist/showcase/assets/git-branch-B2QG2zRg.js +1 -0
  448. package/dist/showcase/assets/global-search-CRAB9TSF.js +1 -0
  449. package/dist/showcase/assets/global-search-DY0cKfhY.js +215 -0
  450. package/dist/showcase/assets/globe-BxZW28rG.js +1 -0
  451. package/dist/showcase/assets/gradient-card-CQGnXG8r.js +58 -0
  452. package/dist/showcase/assets/hash-CsRtIoKK.js +1 -0
  453. package/dist/showcase/assets/header-DzYOgZLP.js +1 -0
  454. package/dist/showcase/assets/header-notifications-D_CJPbvs.js +1 -0
  455. package/dist/showcase/assets/heart-B2YsYprq.js +1 -0
  456. package/dist/showcase/assets/hooks-BhUMA4Tb.js +220 -0
  457. package/dist/showcase/assets/house-HeRFNhI0.js +1 -0
  458. package/dist/showcase/assets/icon-badge-CpDkc-S0.js +37 -0
  459. package/dist/showcase/assets/icon-badge-eNEGgpAV.js +1 -0
  460. package/dist/showcase/assets/image-T88JyDag.js +1 -0
  461. package/dist/showcase/assets/inbox-DLrLLnTR.js +1 -0
  462. package/dist/showcase/assets/index-DDZl6kOS.js +10 -0
  463. package/dist/showcase/assets/index-nOkXemgw.css +2 -0
  464. package/dist/showcase/assets/inertValue-BajuuRy4.js +1 -0
  465. package/dist/showcase/assets/info-CNYfw2Yz.js +1 -0
  466. package/dist/showcase/assets/inline-stat-BN6yhDR5.js +15 -0
  467. package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +1 -0
  468. package/dist/showcase/assets/input-C-9K6F0N.js +1 -0
  469. package/dist/showcase/assets/input-DaZzfkZV.js +1 -0
  470. package/dist/showcase/assets/input-group-DE-Xdhv4.js +1 -0
  471. package/dist/showcase/assets/input-group-DIQZnytn.js +47 -0
  472. package/dist/showcase/assets/inputs-Cl_JgSR4.js +155 -0
  473. package/dist/showcase/assets/installation-DdhD4Dkq.js +134 -0
  474. package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +36 -0
  475. package/dist/showcase/assets/invoice-items-1EuA62mF.js +36 -0
  476. package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +14 -0
  477. package/dist/showcase/assets/invoice-table--mDTs1Iz.js +30 -0
  478. package/dist/showcase/assets/isSameDay-BNB1yam4.js +1 -0
  479. package/dist/showcase/assets/isToday-BugOpGJC.js +1 -0
  480. package/dist/showcase/assets/italic-Ck4UD2ZT.js +1 -0
  481. package/dist/showcase/assets/item-BcesxqFS.js +139 -0
  482. package/dist/showcase/assets/item-BgPlwUMv.js +1 -0
  483. package/dist/showcase/assets/item-CB9k_rmo.js +1 -0
  484. package/dist/showcase/assets/kanban-cPuSVqWY.js +188 -0
  485. package/dist/showcase/assets/key-round-BmYjd5dk.js +1 -0
  486. package/dist/showcase/assets/label-BTIBJBqN.js +1 -0
  487. package/dist/showcase/assets/languages-he6FNXRs.js +1 -0
  488. package/dist/showcase/assets/layers-B_48DtOz.js +1 -0
  489. package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +608 -0
  490. package/dist/showcase/assets/layout-auth-2Zv5lr52.js +790 -0
  491. package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +101 -0
  492. package/dist/showcase/assets/layout-header-TJ-WVmG3.js +203 -0
  493. package/dist/showcase/assets/layout-page-CIVQCKXK.js +314 -0
  494. package/dist/showcase/assets/layout-primitives-i_O81fzT.js +34 -0
  495. package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +224 -0
  496. package/dist/showcase/assets/layout-users-CWSaFBLj.js +117 -0
  497. package/dist/showcase/assets/layout-workspace-w3oe32GE.js +191 -0
  498. package/dist/showcase/assets/lib-CoS0xjP8.js +1 -0
  499. package/dist/showcase/assets/list-checks-DecRPpK3.js +1 -0
  500. package/dist/showcase/assets/lock-D9f8uXol.js +1 -0
  501. package/dist/showcase/assets/lock-keyhole-C20eixH6.js +1 -0
  502. package/dist/showcase/assets/mail-CVgP8Qlo.js +1 -0
  503. package/dist/showcase/assets/mail-check-mplTKcSH.js +1 -0
  504. package/dist/showcase/assets/map-B6OGeOup.js +124 -0
  505. package/dist/showcase/assets/map-pin-BZXSwrzT.js +1 -0
  506. package/dist/showcase/assets/media-library-DSlVIM1Q.js +699 -0
  507. package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +1 -0
  508. package/dist/showcase/assets/mentions-Cb3g4hDN.js +138 -0
  509. package/dist/showcase/assets/menus-CE0Hlj8N.js +171 -0
  510. package/dist/showcase/assets/message-square-HliU8vbW.js +1 -0
  511. package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +286 -0
  512. package/dist/showcase/assets/metadata-list-DY92-pw2.js +1 -0
  513. package/dist/showcase/assets/metric-DxMTjIvU.js +1 -0
  514. package/dist/showcase/assets/metric-bar-cW9nWCRl.js +1 -0
  515. package/dist/showcase/assets/metric-grid-CvfO52X1.js +1 -0
  516. package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +1 -0
  517. package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +44 -0
  518. package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +50 -0
  519. package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +76 -0
  520. package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +27 -0
  521. package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +17 -0
  522. package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +31 -0
  523. package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +42 -0
  524. package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +192 -0
  525. package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +54 -0
  526. package/dist/showcase/assets/minus-BW62vCxf.js +1 -0
  527. package/dist/showcase/assets/money-display-CAdGk5Lr.js +1 -0
  528. package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +1 -0
  529. package/dist/showcase/assets/navigation-C4uSLvbZ.js +90 -0
  530. package/dist/showcase/assets/navigation-SjsZrtIc.js +231 -0
  531. package/dist/showcase/assets/navigation-extras-CMVNVskk.js +43 -0
  532. package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +119 -0
  533. package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +1 -0
  534. package/dist/showcase/assets/overlays-0Y8MAz39.js +159 -0
  535. package/dist/showcase/assets/overlays-ClOnjahL.js +408 -0
  536. package/dist/showcase/assets/overview-B5ztGmTp.js +184 -0
  537. package/dist/showcase/assets/package-check-MeSw6bS4.js +1 -0
  538. package/dist/showcase/assets/package-vYJ0q0QM.js +1 -0
  539. package/dist/showcase/assets/page-4lMKtBQ7.js +1 -0
  540. package/dist/showcase/assets/page-action-button-C5-TGSzy.js +1 -0
  541. package/dist/showcase/assets/page-header-C_-KYryO.js +1 -0
  542. package/dist/showcase/assets/pagination-D3L3Iwus.js +1 -0
  543. package/dist/showcase/assets/pagination-dZXPxwHx.js +42 -0
  544. package/dist/showcase/assets/paperclip-BZhdPOw8.js +1 -0
  545. package/dist/showcase/assets/password-input-CDSMtGxt.js +1 -0
  546. package/dist/showcase/assets/pencil-DiYr3CZ9.js +1 -0
  547. package/dist/showcase/assets/phone-Dm5qzlG8.js +1 -0
  548. package/dist/showcase/assets/plus-pfGaA3St.js +1 -0
  549. package/dist/showcase/assets/popover-CjVWDO7C.js +1 -0
  550. package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +1 -0
  551. package/dist/showcase/assets/popover-pZ4Jbp0s.js +1 -0
  552. package/dist/showcase/assets/products-C62MKtAR.js +423 -0
  553. package/dist/showcase/assets/progress-Btw-ZUaU.js +18 -0
  554. package/dist/showcase/assets/progress-DpB5LL6R.js +1 -0
  555. package/dist/showcase/assets/props-table-Bjc9IHmp.js +1 -0
  556. package/dist/showcase/assets/quote-DcxVd1fj.js +1 -0
  557. package/dist/showcase/assets/receipt-BHns-S5Q.js +1 -0
  558. package/dist/showcase/assets/receipt-text-L0aYasyt.js +1 -0
  559. package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +189 -0
  560. package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +1 -0
  561. package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +1 -0
  562. package/dist/showcase/assets/resource-CIn_zKZ4.js +139 -0
  563. package/dist/showcase/assets/resource-DxktLgEK.js +1 -0
  564. package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +43 -0
  565. package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +124 -0
  566. package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +143 -0
  567. package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +1 -0
  568. package/dist/showcase/assets/route-BeXaXTk8.js +1 -0
  569. package/dist/showcase/assets/save-EE7Tc5OT.js +1 -0
  570. package/dist/showcase/assets/schema-form-RK9Zpz1E.js +327 -0
  571. package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +32 -0
  572. package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +1 -0
  573. package/dist/showcase/assets/section-Cv8i4DIx.js +1 -0
  574. package/dist/showcase/assets/select-Cuy3YKW9.js +1 -0
  575. package/dist/showcase/assets/select-qFy1jm91.js +1 -0
  576. package/dist/showcase/assets/send-CXv0ST9u.js +1 -0
  577. package/dist/showcase/assets/separator-CecGyBaV.js +1 -0
  578. package/dist/showcase/assets/separator-CqtFQXrk.js +28 -0
  579. package/dist/showcase/assets/settings-2-CCeMwMOj.js +1 -0
  580. package/dist/showcase/assets/settings-CXjN6wTC.js +1 -0
  581. package/dist/showcase/assets/sheet-Csyrmkqp.js +1 -0
  582. package/dist/showcase/assets/shield-DR0ZfAFA.js +1 -0
  583. package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +1 -0
  584. package/dist/showcase/assets/shield-check-ClL4B_Cd.js +1 -0
  585. package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +1 -0
  586. package/dist/showcase/assets/showcase-CQKt5VGi.js +132 -0
  587. package/dist/showcase/assets/sidebar-CXy94md1.js +1 -0
  588. package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +1 -0
  589. package/dist/showcase/assets/skeleton-B8wC5P66.js +29 -0
  590. package/dist/showcase/assets/skeleton-DBlCLlBC.js +1 -0
  591. package/dist/showcase/assets/slider-BcjkNx6W.js +1 -0
  592. package/dist/showcase/assets/smart-card-Cg6rtWH9.js +1 -0
  593. package/dist/showcase/assets/sonner-ZGBQ13wS.js +22 -0
  594. package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +5 -0
  595. package/dist/showcase/assets/sparkles-q1-9JZqa.js +1 -0
  596. package/dist/showcase/assets/spinner-CKg8QLHu.js +1 -0
  597. package/dist/showcase/assets/spinner-D1Ao9j9T.js +49 -0
  598. package/dist/showcase/assets/spinner-oahLIkgb.js +30 -0
  599. package/dist/showcase/assets/square-pen-DZ3bQJia.js +1 -0
  600. package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +1 -0
  601. package/dist/showcase/assets/star-suetD-KI.js +1 -0
  602. package/dist/showcase/assets/startOfDay-OjIsUeiv.js +1 -0
  603. package/dist/showcase/assets/styles-1mYOoC2k.js +1 -0
  604. package/dist/showcase/assets/suggestions-DLYaI-In.js +126 -0
  605. package/dist/showcase/assets/switch-CTTrJNwo.js +1 -0
  606. package/dist/showcase/assets/switch-ChJWWmxN.js +1 -0
  607. package/dist/showcase/assets/sync-DsHYydvo.js +124 -0
  608. package/dist/showcase/assets/table-Ck2ptin2.js +686 -0
  609. package/dist/showcase/assets/table-DyJ9oADQ.js +1 -0
  610. package/dist/showcase/assets/table-actions-COU4zHfh.js +1 -0
  611. package/dist/showcase/assets/tabs-Bl_RHGIw.js +1 -0
  612. package/dist/showcase/assets/tabs-DS-4VSkb.js +19 -0
  613. package/dist/showcase/assets/tags-input-BlYzb5fF.js +1 -0
  614. package/dist/showcase/assets/text-button-OPdNs3fb.js +1 -0
  615. package/dist/showcase/assets/text-link-D27gqGeg.js +1 -0
  616. package/dist/showcase/assets/textarea-DpC7J5F-.js +1 -0
  617. package/dist/showcase/assets/textarea-JtXUjxvc.js +1 -0
  618. package/dist/showcase/assets/timelines-DQM-B4Xo.js +200 -0
  619. package/dist/showcase/assets/toggle-group-CMneKREH.js +1 -0
  620. package/dist/showcase/assets/toggles-CAXXgjO_.js +71 -0
  621. package/dist/showcase/assets/toggles-group-CHRqrpoM.js +32 -0
  622. package/dist/showcase/assets/tooltip-CwGZAioX.js +31 -0
  623. package/dist/showcase/assets/trash-2-BpMb9Zbb.js +1 -0
  624. package/dist/showcase/assets/trending-up-B1BzitCg.js +1 -0
  625. package/dist/showcase/assets/truck-CDSE5-HZ.js +1 -0
  626. package/dist/showcase/assets/typography-BoNJ1hRZ.js +223 -0
  627. package/dist/showcase/assets/ui-badge-Djh6NiB2.js +28 -0
  628. package/dist/showcase/assets/ui-card-QC_rl_H2.js +30 -0
  629. package/dist/showcase/assets/ui-table-qAGsc3qN.js +42 -0
  630. package/dist/showcase/assets/upload-tray-DKCJgW5u.js +138 -0
  631. package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +1 -0
  632. package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +1 -0
  633. package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +1 -0
  634. package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +1 -0
  635. package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +1 -0
  636. package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +1 -0
  637. package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +1 -0
  638. package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +1 -0
  639. package/dist/showcase/assets/useRender-BPoNv-Lm.js +1 -0
  640. package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +1 -0
  641. package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +1 -0
  642. package/dist/showcase/assets/user-BGchdtV_.js +1 -0
  643. package/dist/showcase/assets/user-plus-BifI_xVA.js +1 -0
  644. package/dist/showcase/assets/users-Cl5yYqdg.js +1 -0
  645. package/dist/showcase/assets/vendor-profile-BNW4FYna.js +37 -0
  646. package/dist/showcase/assets/video-BtQPixYN.js +1 -0
  647. package/dist/showcase/assets/wrench-CRalc5fG.js +1 -0
  648. package/dist/showcase/assets/x-D6hUY89S.js +1 -0
  649. package/dist/showcase/assets/zap-v_qbqeI5.js +1 -0
  650. package/dist/showcase/index.html +2 -2
  651. package/dist/style.css +1 -1
  652. package/package.json +1 -1
  653. package/src/css/themes/shadcn.default.css +6 -6
  654. package/src/css/tokens/foundation.css +6 -6
  655. package/dist/_shared/accordion-B9EjlZLY.js +0 -135
  656. package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
  657. package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
  658. package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
  659. package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
  660. package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
  661. package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
  662. package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
  663. package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
  664. package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
  665. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
  666. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
  667. package/dist/_shared/alert-V0V36Sny.cjs +0 -2
  668. package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
  669. package/dist/_shared/alert-m-4s0Hqq.js +0 -81
  670. package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
  671. package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
  672. package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
  673. package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
  674. package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
  675. package/dist/_shared/auth-DdezEtKK.cjs +0 -2
  676. package/dist/_shared/auth-DdezEtKK.cjs.map +0 -1
  677. package/dist/_shared/auth-e7yab9pK.js +0 -643
  678. package/dist/_shared/auth-e7yab9pK.js.map +0 -1
  679. package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
  680. package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
  681. package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
  682. package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
  683. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
  684. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
  685. package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
  686. package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
  687. package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
  688. package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
  689. package/dist/_shared/button-DHksjMvc.js +0 -189
  690. package/dist/_shared/button-DHksjMvc.js.map +0 -1
  691. package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
  692. package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
  693. package/dist/_shared/buttons-DcynMPnE.js +0 -137
  694. package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
  695. package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
  696. package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
  697. package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
  698. package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
  699. package/dist/_shared/cards-CbbHly7W.cjs +0 -2
  700. package/dist/_shared/cards-CbbHly7W.cjs.map +0 -1
  701. package/dist/_shared/cards-RZxRLx3f.js +0 -355
  702. package/dist/_shared/cards-RZxRLx3f.js.map +0 -1
  703. package/dist/_shared/combobox-BIe72dV3.js +0 -954
  704. package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
  705. package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
  706. package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
  707. package/dist/_shared/comments-BJqgvSFY.js +0 -952
  708. package/dist/_shared/comments-BJqgvSFY.js.map +0 -1
  709. package/dist/_shared/comments-BjPciQfo.cjs +0 -2
  710. package/dist/_shared/comments-BjPciQfo.cjs.map +0 -1
  711. package/dist/_shared/containers-D7oZE4XI.cjs +0 -2
  712. package/dist/_shared/containers-D7oZE4XI.cjs.map +0 -1
  713. package/dist/_shared/containers-anBivbL9.js +0 -19
  714. package/dist/_shared/containers-anBivbL9.js.map +0 -1
  715. package/dist/_shared/content-container-CVUJCLhn.cjs +0 -2
  716. package/dist/_shared/content-container-CVUJCLhn.cjs.map +0 -1
  717. package/dist/_shared/content-container-Dv8XsAw4.js +0 -33
  718. package/dist/_shared/content-container-Dv8XsAw4.js.map +0 -1
  719. package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
  720. package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
  721. package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
  722. package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
  723. package/dist/_shared/data-display-C21skrV4.cjs +0 -2
  724. package/dist/_shared/data-display-C21skrV4.cjs.map +0 -1
  725. package/dist/_shared/data-display-C5-1dZua.js +0 -1873
  726. package/dist/_shared/data-display-C5-1dZua.js.map +0 -1
  727. package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
  728. package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
  729. package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
  730. package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
  731. package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
  732. package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
  733. package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
  734. package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
  735. package/dist/_shared/display-B0wLVN8t.js +0 -986
  736. package/dist/_shared/display-B0wLVN8t.js.map +0 -1
  737. package/dist/_shared/display-Bin2vVex.cjs +0 -2
  738. package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
  739. package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
  740. package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
  741. package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
  742. package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
  743. package/dist/_shared/forms-BoquZE2Y.js +0 -3533
  744. package/dist/_shared/forms-BoquZE2Y.js.map +0 -1
  745. package/dist/_shared/forms-CzrEYejY.cjs +0 -2
  746. package/dist/_shared/forms-CzrEYejY.cjs.map +0 -1
  747. package/dist/_shared/header-CxhEtk9M.cjs +0 -2
  748. package/dist/_shared/header-CxhEtk9M.cjs.map +0 -1
  749. package/dist/_shared/header-h3f14vQx.js +0 -447
  750. package/dist/_shared/header-h3f14vQx.js.map +0 -1
  751. package/dist/_shared/hooks-CS55-w3h.js +0 -95
  752. package/dist/_shared/hooks-CS55-w3h.js.map +0 -1
  753. package/dist/_shared/hooks-sfHAyDgD.cjs +0 -2
  754. package/dist/_shared/hooks-sfHAyDgD.cjs.map +0 -1
  755. package/dist/_shared/input-CB6hxh-5.cjs +0 -2
  756. package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
  757. package/dist/_shared/input-CfnHBT--.js +0 -182
  758. package/dist/_shared/input-CfnHBT--.js.map +0 -1
  759. package/dist/_shared/item-Xs-fgzaT.js +0 -226
  760. package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
  761. package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
  762. package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
  763. package/dist/_shared/layout.types-CYuDZ_4h.cjs +0 -2
  764. package/dist/_shared/layout.types-CYuDZ_4h.cjs.map +0 -1
  765. package/dist/_shared/layout.types-j7zZAPtg.js +0 -28
  766. package/dist/_shared/layout.types-j7zZAPtg.js.map +0 -1
  767. package/dist/_shared/mentions-BahbwDwU.js +0 -506
  768. package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
  769. package/dist/_shared/mentions-aHalksbt.cjs +0 -2
  770. package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
  771. package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
  772. package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
  773. package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
  774. package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
  775. package/dist/_shared/navigation-BcYAwgzo.js +0 -436
  776. package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
  777. package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
  778. package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
  779. package/dist/_shared/overlays-DW8OIK5R.js +0 -735
  780. package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
  781. package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
  782. package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
  783. package/dist/_shared/page-D8UMXREv.cjs +0 -2
  784. package/dist/_shared/page-D8UMXREv.cjs.map +0 -1
  785. package/dist/_shared/page-D9LNsHMN.js +0 -262
  786. package/dist/_shared/page-D9LNsHMN.js.map +0 -1
  787. package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
  788. package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
  789. package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
  790. package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
  791. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
  792. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
  793. package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
  794. package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
  795. package/dist/_shared/settings-BeZOIEJB.js +0 -143
  796. package/dist/_shared/settings-BeZOIEJB.js.map +0 -1
  797. package/dist/_shared/settings-DI-K34bW.cjs +0 -2
  798. package/dist/_shared/settings-DI-K34bW.cjs.map +0 -1
  799. package/dist/_shared/sidebar-DfToCaiC.cjs +0 -2
  800. package/dist/_shared/sidebar-DfToCaiC.cjs.map +0 -1
  801. package/dist/_shared/sidebar-DhpRdTZH.js +0 -541
  802. package/dist/_shared/sidebar-DhpRdTZH.js.map +0 -1
  803. package/dist/_shared/spinner-D35zNriU.cjs +0 -2
  804. package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
  805. package/dist/_shared/spinner-DMC2IIml.js +0 -67
  806. package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
  807. package/dist/_shared/table-B_pqCQxC.js +0 -1377
  808. package/dist/_shared/table-B_pqCQxC.js.map +0 -1
  809. package/dist/_shared/table-CGVOXtdv.cjs +0 -2
  810. package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
  811. package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
  812. package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
  813. package/dist/_shared/textarea-ChLRmmVU.js +0 -118
  814. package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
  815. package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
  816. package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
  817. package/dist/_shared/typography-DE0NGEIE.js +0 -201
  818. package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
  819. package/dist/_shared/workspace-BgtWS9fA.cjs +0 -2
  820. package/dist/_shared/workspace-BgtWS9fA.cjs.map +0 -1
  821. package/dist/_shared/workspace-D2jJ0PlS.js +0 -357
  822. package/dist/_shared/workspace-D2jJ0PlS.js.map +0 -1
  823. package/dist/showcase/assets/AreaChart-Y0ZwblHU.js +0 -6
  824. package/dist/showcase/assets/CompositeItem-BIY_Cp7P.js +0 -1
  825. package/dist/showcase/assets/CompositeRoot-DSPvBRQr.js +0 -1
  826. package/dist/showcase/assets/DialogTrigger-DHUp8vXe.js +0 -1
  827. package/dist/showcase/assets/LabelableContext-CasUI4hR.js +0 -1
  828. package/dist/showcase/assets/PreviewLayout-B_l930k0.js +0 -1
  829. package/dist/showcase/assets/RadioGroup-BgZ-UH79.js +0 -1
  830. package/dist/showcase/assets/ScrollAreaCorner-BbwFElLA.js +0 -1
  831. package/dist/showcase/assets/Separator-dQuencsA.js +0 -1
  832. package/dist/showcase/assets/ToolbarRootContext-BE0hbejq.js +0 -1
  833. package/dist/showcase/assets/accordion-D93ZNsLn.js +0 -171
  834. package/dist/showcase/assets/accordion-variants-Bl4bIQH4.js +0 -1
  835. package/dist/showcase/assets/action-menu--rEgMzDi.js +0 -1
  836. package/dist/showcase/assets/actions-3iedOWD9.js +0 -310
  837. package/dist/showcase/assets/activities-CyrAWFlu.js +0 -500
  838. package/dist/showcase/assets/activities-feed-card-bhIATc2O.js +0 -1
  839. package/dist/showcase/assets/admin-CZzNsj2q.js +0 -140
  840. package/dist/showcase/assets/ai-CasHwkW4.js +0 -207
  841. package/dist/showcase/assets/ai-artifact-BgWvrLAb.js +0 -2
  842. package/dist/showcase/assets/ai-chat-seS9aW-1.js +0 -568
  843. package/dist/showcase/assets/ai-elements-Tku5_ous.js +0 -387
  844. package/dist/showcase/assets/ai-tool-call-BU6xbmXG.js +0 -1
  845. package/dist/showcase/assets/alert-6Emt6KX2.js +0 -1
  846. package/dist/showcase/assets/alert-B6aLWiRW.js +0 -62
  847. package/dist/showcase/assets/alert-CtoTQ0vN.js +0 -93
  848. package/dist/showcase/assets/api-key-list-C0glWR3z.js +0 -1
  849. package/dist/showcase/assets/api-key-list-DcWSbY3u.js +0 -73
  850. package/dist/showcase/assets/app-sidebar-D_eNP_jh.js +0 -1
  851. package/dist/showcase/assets/arrow-down-qyKZ1H5j.js +0 -1
  852. package/dist/showcase/assets/arrow-left-C9I0h_su.js +0 -1
  853. package/dist/showcase/assets/arrow-right-DswaRsr6.js +0 -1
  854. package/dist/showcase/assets/arrow-up-5BijPOxK.js +0 -1
  855. package/dist/showcase/assets/arrow-up-right-CbVVNT6g.js +0 -1
  856. package/dist/showcase/assets/avatar-BYHVCvVW.js +0 -67
  857. package/dist/showcase/assets/avatar-BlLAVC87.js +0 -1
  858. package/dist/showcase/assets/avatar-DQTXjcS4.js +0 -1
  859. package/dist/showcase/assets/avatar-DveZy09C.js +0 -57
  860. package/dist/showcase/assets/badge-Bth3mRTh.js +0 -31
  861. package/dist/showcase/assets/badge-check-DocF8Ho3.js +0 -1
  862. package/dist/showcase/assets/bell-DXBoeAzi.js +0 -1
  863. package/dist/showcase/assets/bot-Ch-Y1HK8.js +0 -1
  864. package/dist/showcase/assets/box-72m9QSDa.js +0 -1
  865. package/dist/showcase/assets/braces-CC17X3TE.js +0 -1
  866. package/dist/showcase/assets/brain-Dvbla_5x.js +0 -1
  867. package/dist/showcase/assets/brand-D5ciAq8v.js +0 -36
  868. package/dist/showcase/assets/breadcrumb-BBCaOVyz.js +0 -52
  869. package/dist/showcase/assets/breadcrumb-Bt8yVTCj.js +0 -1
  870. package/dist/showcase/assets/breadcrumbs-CkVWfcAN.js +0 -1
  871. package/dist/showcase/assets/briefcase-8rQTJwpE.js +0 -1
  872. package/dist/showcase/assets/building-2-CV7gTtXz.js +0 -1
  873. package/dist/showcase/assets/button-HGjoBio3.js +0 -44
  874. package/dist/showcase/assets/button-group-LWToSCrp.js +0 -1
  875. package/dist/showcase/assets/buttons-Bn_dX6Kk.js +0 -272
  876. package/dist/showcase/assets/calendar-BTsffmY8.js +0 -1
  877. package/dist/showcase/assets/calendar-Bhpyn4u0.js +0 -1
  878. package/dist/showcase/assets/calendar-DjrUTKcD.js +0 -16
  879. package/dist/showcase/assets/calendar-days-BKCkzWjV.js +0 -1
  880. package/dist/showcase/assets/camera-EjpDG3mc.js +0 -1
  881. package/dist/showcase/assets/card-Bp6iGuOF.js +0 -188
  882. package/dist/showcase/assets/card-CHc6AVFt.js +0 -1
  883. package/dist/showcase/assets/card-primitives-Bv6XGPJd.js +0 -1
  884. package/dist/showcase/assets/card-radio-group-Ce9FsiSv.js +0 -1
  885. package/dist/showcase/assets/cards-_CGG9zir.js +0 -354
  886. package/dist/showcase/assets/carousel-BVbsKH2W.js +0 -449
  887. package/dist/showcase/assets/cell-renderers-CosD6Gby.js +0 -1
  888. package/dist/showcase/assets/chart-CwOp8Sf8.js +0 -358
  889. package/dist/showcase/assets/chart-column-sz871NdJ.js +0 -1
  890. package/dist/showcase/assets/checkbox-BO38TYqr.js +0 -1
  891. package/dist/showcase/assets/checkbox-W4MhlPlJ.js +0 -1
  892. package/dist/showcase/assets/chevron-down-BFh1Fz2P.js +0 -1
  893. package/dist/showcase/assets/chevron-left-C5_X5glO.js +0 -1
  894. package/dist/showcase/assets/chevron-up-DPH3boVS.js +0 -1
  895. package/dist/showcase/assets/chevrons-up-down-CM5mIDaw.js +0 -1
  896. package/dist/showcase/assets/circle-BFDzL1iF.js +0 -1
  897. package/dist/showcase/assets/circle-alert-C6MbOB0m.js +0 -1
  898. package/dist/showcase/assets/circle-check-C0X85t4j.js +0 -1
  899. package/dist/showcase/assets/circle-check-big-CBaodck_.js +0 -1
  900. package/dist/showcase/assets/circle-dot-DdRpIhnL.js +0 -1
  901. package/dist/showcase/assets/circle-question-mark-CKlcead7.js +0 -1
  902. package/dist/showcase/assets/circle-x-MO44aKHe.js +0 -1
  903. package/dist/showcase/assets/clock-3-CXQJFcbh.js +0 -1
  904. package/dist/showcase/assets/clock-GhBJJ6n1.js +0 -1
  905. package/dist/showcase/assets/code-xml-BSX7Qyi5.js +0 -1
  906. package/dist/showcase/assets/collapsible-CZLTO5EH.js +0 -1
  907. package/dist/showcase/assets/collapsible-LrDO_sSQ.js +0 -27
  908. package/dist/showcase/assets/combobox-TmDBXkM-.js +0 -685
  909. package/dist/showcase/assets/command-9-r1qrJt.js +0 -1
  910. package/dist/showcase/assets/command-DGne3l9s.js +0 -1
  911. package/dist/showcase/assets/comment-composer-BI0qnvuY.js +0 -1
  912. package/dist/showcase/assets/comment-item-Cedds6Lm.js +0 -1
  913. package/dist/showcase/assets/comments-De02NOns.js +0 -357
  914. package/dist/showcase/assets/commerce-DldtS83o.js +0 -267
  915. package/dist/showcase/assets/composite-BjZZlzzb.js +0 -1
  916. package/dist/showcase/assets/contact-card-muCZ3uXV.js +0 -65
  917. package/dist/showcase/assets/content-container-BxSLICeL.js +0 -1
  918. package/dist/showcase/assets/copyable-DYhhmTqM.js +0 -1
  919. package/dist/showcase/assets/copyable-MNU75-J9.js +0 -96
  920. package/dist/showcase/assets/course-card-Dl1wsuJx.js +0 -77
  921. package/dist/showcase/assets/cpu-CsWq4fcX.js +0 -1
  922. package/dist/showcase/assets/credit-card-B0AUZiWw.js +0 -1
  923. package/dist/showcase/assets/css-variables-Be7DzahT.js +0 -1190
  924. package/dist/showcase/assets/currency-BtPM_Xtw.js +0 -149
  925. package/dist/showcase/assets/dark-surfaces-DRFERSEv.js +0 -90
  926. package/dist/showcase/assets/data-view-DmWd0h7G.js +0 -4
  927. package/dist/showcase/assets/data-view-DnLH2o0i.js +0 -124
  928. package/dist/showcase/assets/database-C0YqGaQ_.js +0 -1
  929. package/dist/showcase/assets/date-block-BQH25FLS.js +0 -1
  930. package/dist/showcase/assets/date-picker-BF-jevhh.js +0 -1
  931. package/dist/showcase/assets/date-pickers-q2v3ajJm.js +0 -73
  932. package/dist/showcase/assets/dense-info-Cb-roqDU.js +0 -106
  933. package/dist/showcase/assets/design-system-consistency-DMSJknaM.js +0 -264
  934. package/dist/showcase/assets/dialog-C0ALRmbP.js +0 -1
  935. package/dist/showcase/assets/dialog-CbXon08k.js +0 -1
  936. package/dist/showcase/assets/display-utilities-kBUVw7o3.js +0 -267
  937. package/dist/showcase/assets/dist-CTSkWj_M.js +0 -45
  938. package/dist/showcase/assets/dist-W8bxVfew.js +0 -1
  939. package/dist/showcase/assets/dollar-sign-VNxVZleW.js +0 -1
  940. package/dist/showcase/assets/download-Ds_6eIpx.js +0 -1
  941. package/dist/showcase/assets/dropdown-menu-C1G_y9dv.js +0 -1
  942. package/dist/showcase/assets/dropzone-CxOLmdkt.js +0 -1
  943. package/dist/showcase/assets/earth-HLyEI1oq.js +0 -1
  944. package/dist/showcase/assets/ellipsis-BLyAd9A-.js +0 -1
  945. package/dist/showcase/assets/ellipsis-vertical-TG4mYU2J.js +0 -1
  946. package/dist/showcase/assets/empty-B54k9xAG.js +0 -1
  947. package/dist/showcase/assets/empty-item-BmA4rmq7.js +0 -49
  948. package/dist/showcase/assets/empty-state-CH7gjjg7.js +0 -190
  949. package/dist/showcase/assets/empty-state-hUKvmKa-.js +0 -1
  950. package/dist/showcase/assets/enhanced-activities-BRDVL9RR.js +0 -357
  951. package/dist/showcase/assets/enhanced-combobox-2wbQJS6R.js +0 -1
  952. package/dist/showcase/assets/esm-CUTefMLr.js +0 -2
  953. package/dist/showcase/assets/event-calendar-Bf9xFZlt.js +0 -138
  954. package/dist/showcase/assets/event-log-CeRDSL-h.js +0 -330
  955. package/dist/showcase/assets/example-CJMJcnb4.js +0 -1
  956. package/dist/showcase/assets/external-link-CvXhYrnd.js +0 -1
  957. package/dist/showcase/assets/eye-Cl_GfUKH.js +0 -1
  958. package/dist/showcase/assets/feature-announcement-Dw0SokLo.js +0 -34
  959. package/dist/showcase/assets/file-CJFWrwy1.js +0 -1
  960. package/dist/showcase/assets/file-text-BTTFP8Jo.js +0 -1
  961. package/dist/showcase/assets/filter-layout-DUVqG5Ql.js +0 -1
  962. package/dist/showcase/assets/filters-BLcCaplV.js +0 -139
  963. package/dist/showcase/assets/flag-BxI3EGPG.js +0 -1
  964. package/dist/showcase/assets/folder-open-4d8qsiAj.js +0 -1
  965. package/dist/showcase/assets/form-field-Dhy0eM5B.js +0 -1
  966. package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
  967. package/dist/showcase/assets/format-zGqa9Olc.js +0 -1
  968. package/dist/showcase/assets/forms-D99qG5Gb.js +0 -915
  969. package/dist/showcase/assets/funnel-Cg7SOShf.js +0 -1
  970. package/dist/showcase/assets/generic-CfrG943t.js +0 -1
  971. package/dist/showcase/assets/getPseudoElementBounds-lw5shsdM.js +0 -1
  972. package/dist/showcase/assets/gift-BXtKbzvA.js +0 -1
  973. package/dist/showcase/assets/giftcard-cards-CqYaN0jC.js +0 -85
  974. package/dist/showcase/assets/git-branch-BWAuIMOQ.js +0 -1
  975. package/dist/showcase/assets/global-search-CHUva8pR.js +0 -1
  976. package/dist/showcase/assets/global-search-Df7JovOG.js +0 -215
  977. package/dist/showcase/assets/globe-CvIW_foU.js +0 -1
  978. package/dist/showcase/assets/gradient-card-CdM2J1Hv.js +0 -58
  979. package/dist/showcase/assets/hash-wBs5gyr_.js +0 -1
  980. package/dist/showcase/assets/header-DXPFmpUT.js +0 -1
  981. package/dist/showcase/assets/header-notifications-FsnCJLpe.js +0 -1
  982. package/dist/showcase/assets/heart-B4fOMIr6.js +0 -1
  983. package/dist/showcase/assets/hooks-DtMOMalj.js +0 -220
  984. package/dist/showcase/assets/house-hebmAxEE.js +0 -1
  985. package/dist/showcase/assets/icon-badge-DrZ5qGpa.js +0 -1
  986. package/dist/showcase/assets/icon-badge-JEug_P_U.js +0 -37
  987. package/dist/showcase/assets/image-CxNywgkb.js +0 -1
  988. package/dist/showcase/assets/inbox-DqAmGdDd.js +0 -1
  989. package/dist/showcase/assets/index-DujM0kEF.css +0 -2
  990. package/dist/showcase/assets/index-jD-KSiHu.js +0 -10
  991. package/dist/showcase/assets/inertValue-Dg9TwvOb.js +0 -1
  992. package/dist/showcase/assets/info-B5fZn_ZC.js +0 -1
  993. package/dist/showcase/assets/inline-stat-CklKufoA.js +0 -1
  994. package/dist/showcase/assets/inline-stat-Dep7oHIi.js +0 -15
  995. package/dist/showcase/assets/input-CkNgwwCs.js +0 -1
  996. package/dist/showcase/assets/input-DAPMRlKO.js +0 -1
  997. package/dist/showcase/assets/input-group-06D68uB6.js +0 -47
  998. package/dist/showcase/assets/input-group-Bq9aXQPG.js +0 -1
  999. package/dist/showcase/assets/inputs-C8G3y-zR.js +0 -155
  1000. package/dist/showcase/assets/installation-BV5xOvoE.js +0 -134
  1001. package/dist/showcase/assets/invoice-header-BcUxzT68.js +0 -36
  1002. package/dist/showcase/assets/invoice-items-B42Jfxl7.js +0 -36
  1003. package/dist/showcase/assets/invoice-mini-RJGdlErg.js +0 -14
  1004. package/dist/showcase/assets/invoice-table--MdP6ysv.js +0 -30
  1005. package/dist/showcase/assets/isSameDay-srttAIjD.js +0 -1
  1006. package/dist/showcase/assets/isToday-BPub5Zvi.js +0 -1
  1007. package/dist/showcase/assets/italic-1BNA_XlU.js +0 -1
  1008. package/dist/showcase/assets/item-B9KyqUGa.js +0 -139
  1009. package/dist/showcase/assets/item-DoIlPm6J.js +0 -1
  1010. package/dist/showcase/assets/item-ffIfXEGd.js +0 -1
  1011. package/dist/showcase/assets/kanban-Cfad3edR.js +0 -188
  1012. package/dist/showcase/assets/key-round-J11Zc216.js +0 -1
  1013. package/dist/showcase/assets/label-DqaB8ZB2.js +0 -1
  1014. package/dist/showcase/assets/languages-D9UaP3QU.js +0 -1
  1015. package/dist/showcase/assets/layers-QXZ9Jfej.js +0 -1
  1016. package/dist/showcase/assets/layout-app-shell-CW1eRJmU.js +0 -608
  1017. package/dist/showcase/assets/layout-auth-j4K6lveg.js +0 -790
  1018. package/dist/showcase/assets/layout-containers-NclLtsV0.js +0 -101
  1019. package/dist/showcase/assets/layout-header-B8AOTiwL.js +0 -203
  1020. package/dist/showcase/assets/layout-page-DM79QHyW.js +0 -314
  1021. package/dist/showcase/assets/layout-primitives-Dyop-WMt.js +0 -34
  1022. package/dist/showcase/assets/layout-sidebar-uBNaHqjD.js +0 -224
  1023. package/dist/showcase/assets/layout-users-BkhDiOOz.js +0 -117
  1024. package/dist/showcase/assets/layout-workspace-C2hSimZW.js +0 -191
  1025. package/dist/showcase/assets/lib-CDssULuD.js +0 -1
  1026. package/dist/showcase/assets/list-checks-DA2jqXdm.js +0 -1
  1027. package/dist/showcase/assets/lock-BDZLNQLR.js +0 -1
  1028. package/dist/showcase/assets/lock-keyhole-CWYENd9O.js +0 -1
  1029. package/dist/showcase/assets/mail-CCdaRmft.js +0 -1
  1030. package/dist/showcase/assets/mail-check-DZF1VbCX.js +0 -1
  1031. package/dist/showcase/assets/map-CDFEmmZH.js +0 -124
  1032. package/dist/showcase/assets/map-pin-CdV-R6nt.js +0 -1
  1033. package/dist/showcase/assets/media-library-BJyn1s9d.js +0 -699
  1034. package/dist/showcase/assets/mention-inline-suggestions-DPO6FhXx.js +0 -1
  1035. package/dist/showcase/assets/mentions-DtWHbcS6.js +0 -138
  1036. package/dist/showcase/assets/menus-BmjngFE4.js +0 -171
  1037. package/dist/showcase/assets/message-square-bM29txT3.js +0 -1
  1038. package/dist/showcase/assets/metadata-list-DvYTAJri.js +0 -286
  1039. package/dist/showcase/assets/metadata-list-xVUTVyy9.js +0 -1
  1040. package/dist/showcase/assets/metric-BPNCh4eA.js +0 -1
  1041. package/dist/showcase/assets/metric-bar-BX4sCMrM.js +0 -1
  1042. package/dist/showcase/assets/metric-grid-IyHP3nmU.js +0 -1
  1043. package/dist/showcase/assets/metric-trend-chip-Dih8eR17.js +0 -1
  1044. package/dist/showcase/assets/metrics-analytics-bar-DK16RNMs.js +0 -44
  1045. package/dist/showcase/assets/metrics-analytics-cards-Byyl13YT.js +0 -50
  1046. package/dist/showcase/assets/metrics-comparison-DGHFMBL-.js +0 -76
  1047. package/dist/showcase/assets/metrics-heatmap-Bl6C7i0j.js +0 -27
  1048. package/dist/showcase/assets/metrics-inline-badge-Bz79zbNK.js +0 -17
  1049. package/dist/showcase/assets/metrics-kpi-row-DzZ9dRFY.js +0 -31
  1050. package/dist/showcase/assets/metrics-micro-grid-DyoQiuzr.js +0 -42
  1051. package/dist/showcase/assets/metrics-overview-DoyHPEZw.js +0 -192
  1052. package/dist/showcase/assets/metrics-stat-cards-B1b7NFqW.js +0 -54
  1053. package/dist/showcase/assets/minus-BE2L5hVc.js +0 -1
  1054. package/dist/showcase/assets/money-display-CXQ_8LfA.js +0 -1
  1055. package/dist/showcase/assets/month-year-picker-ra8FEN8F.js +0 -1
  1056. package/dist/showcase/assets/navigation-CFfVZQJ1.js +0 -231
  1057. package/dist/showcase/assets/navigation-Da0MVkqr.js +0 -90
  1058. package/dist/showcase/assets/navigation-extras-LpsdoXfx.js +0 -43
  1059. package/dist/showcase/assets/onboarding-checklist-DPNatNOk.js +0 -119
  1060. package/dist/showcase/assets/overflow-tab-bar-C0vTzcEY.js +0 -1
  1061. package/dist/showcase/assets/overlays-Blmbun0J.js +0 -408
  1062. package/dist/showcase/assets/overlays-t0joc10Y.js +0 -159
  1063. package/dist/showcase/assets/overview-Ckq8vbOR.js +0 -184
  1064. package/dist/showcase/assets/package-Cjod_a06.js +0 -1
  1065. package/dist/showcase/assets/package-check-JRHaNnkl.js +0 -1
  1066. package/dist/showcase/assets/page-9xr7xnuW.js +0 -1
  1067. package/dist/showcase/assets/page-action-button-BRXnfsEx.js +0 -1
  1068. package/dist/showcase/assets/page-header-Bdlxfn_9.js +0 -1
  1069. package/dist/showcase/assets/pagination-CeaYhOvv.js +0 -42
  1070. package/dist/showcase/assets/pagination-DdZZHvNF.js +0 -1
  1071. package/dist/showcase/assets/paperclip-BRM-yXTB.js +0 -1
  1072. package/dist/showcase/assets/password-input-1FVEugoO.js +0 -1
  1073. package/dist/showcase/assets/pencil-DiG2dQ8F.js +0 -1
  1074. package/dist/showcase/assets/phone-BREyNZN-.js +0 -1
  1075. package/dist/showcase/assets/plus-CQcelTNc.js +0 -1
  1076. package/dist/showcase/assets/popover-Czmwspmc.js +0 -1
  1077. package/dist/showcase/assets/popover-menu-beuCaiLt.js +0 -1
  1078. package/dist/showcase/assets/popover-uqk7myG2.js +0 -1
  1079. package/dist/showcase/assets/products-DGNqIbLs.js +0 -423
  1080. package/dist/showcase/assets/progress-D76Df908.js +0 -1
  1081. package/dist/showcase/assets/progress-DjUprSDD.js +0 -18
  1082. package/dist/showcase/assets/props-table-DoDq8Mvr.js +0 -1
  1083. package/dist/showcase/assets/quote-BvGGgyJ0.js +0 -1
  1084. package/dist/showcase/assets/receipt-rgnlMgyi.js +0 -1
  1085. package/dist/showcase/assets/receipt-text-CBQrVlnU.js +0 -1
  1086. package/dist/showcase/assets/refinement-guide-B_BpIMxm.js +0 -189
  1087. package/dist/showcase/assets/refresh-cw-C-yHy6B7.js +0 -1
  1088. package/dist/showcase/assets/resolveValueLabel-0bwEvIG-.js +0 -1
  1089. package/dist/showcase/assets/resource-8f61BZ8t.js +0 -1
  1090. package/dist/showcase/assets/resource-BEh6R0gu.js +0 -139
  1091. package/dist/showcase/assets/resource-selector-card-DJwXY_Ms.js +0 -43
  1092. package/dist/showcase/assets/rich-text-editor-D433iv0N.js +0 -143
  1093. package/dist/showcase/assets/rich-text-editor-vTRfWsOK.js +0 -124
  1094. package/dist/showcase/assets/rotate-ccw-JuE4H14F.js +0 -1
  1095. package/dist/showcase/assets/route-eSu1bFNn.js +0 -1
  1096. package/dist/showcase/assets/save-Bpjj-rBP.js +0 -1
  1097. package/dist/showcase/assets/schema-form-DmOpxd96.js +0 -327
  1098. package/dist/showcase/assets/scroll-area-B9OdCBy9.js +0 -32
  1099. package/dist/showcase/assets/scroll-area-BH80l2As.js +0 -1
  1100. package/dist/showcase/assets/section-BPNIPavy.js +0 -1
  1101. package/dist/showcase/assets/select-BauiG1a3.js +0 -1
  1102. package/dist/showcase/assets/select-CPopSr5c.js +0 -1
  1103. package/dist/showcase/assets/send-DNCcBKXs.js +0 -1
  1104. package/dist/showcase/assets/separator-BK0beCOv.js +0 -28
  1105. package/dist/showcase/assets/separator-CKM9A-mm.js +0 -1
  1106. package/dist/showcase/assets/settings-2-B8fz7JZB.js +0 -1
  1107. package/dist/showcase/assets/settings-Cy2y3sQw.js +0 -1
  1108. package/dist/showcase/assets/sheet-C7VWkXE1.js +0 -1
  1109. package/dist/showcase/assets/shield-ClPev4gS.js +0 -1
  1110. package/dist/showcase/assets/shield-alert-6XO5YZ5u.js +0 -1
  1111. package/dist/showcase/assets/shield-check-DSfGVZq0.js +0 -1
  1112. package/dist/showcase/assets/shopping-bag-DzMrGvpF.js +0 -1
  1113. package/dist/showcase/assets/showcase-DuZaO6q9.js +0 -132
  1114. package/dist/showcase/assets/sidebar-7y9EQYWf.js +0 -1
  1115. package/dist/showcase/assets/sidebar.context-DUheJD8t.js +0 -1
  1116. package/dist/showcase/assets/skeleton-Dgr8Vabr.js +0 -29
  1117. package/dist/showcase/assets/skeleton-HSpErFqw.js +0 -1
  1118. package/dist/showcase/assets/slider-B7f81APg.js +0 -1
  1119. package/dist/showcase/assets/smart-card-p97LLZCW.js +0 -1
  1120. package/dist/showcase/assets/sonner-CWazrN19.js +0 -22
  1121. package/dist/showcase/assets/sortable.esm-uufol7Mz.js +0 -5
  1122. package/dist/showcase/assets/sparkles-Z4V23xKK.js +0 -1
  1123. package/dist/showcase/assets/spinner-BUgjAjWE.js +0 -49
  1124. package/dist/showcase/assets/spinner-CXu7z8-j.js +0 -1
  1125. package/dist/showcase/assets/spinner-DCwR0mnD.js +0 -30
  1126. package/dist/showcase/assets/square-pen-jwp_OWMQ.js +0 -1
  1127. package/dist/showcase/assets/stacked-avatars-CHEpTotO.js +0 -1
  1128. package/dist/showcase/assets/star-Ck8Lg5hm.js +0 -1
  1129. package/dist/showcase/assets/startOfDay-BzULZHy4.js +0 -1
  1130. package/dist/showcase/assets/styles-CNYitflH.js +0 -1
  1131. package/dist/showcase/assets/suggestions-CSF9MlKl.js +0 -126
  1132. package/dist/showcase/assets/switch-BX9KSLIF.js +0 -1
  1133. package/dist/showcase/assets/switch-Bn0WaWa9.js +0 -1
  1134. package/dist/showcase/assets/sync-BuKBnqWW.js +0 -124
  1135. package/dist/showcase/assets/table-DNJcLaud.js +0 -686
  1136. package/dist/showcase/assets/table-NfpOWGsG.js +0 -1
  1137. package/dist/showcase/assets/table-actions-Ci9Yszp0.js +0 -1
  1138. package/dist/showcase/assets/tabs-CYNFQdIr.js +0 -19
  1139. package/dist/showcase/assets/tabs-Cm_p6znb.js +0 -1
  1140. package/dist/showcase/assets/tags-input-DE4QZqS_.js +0 -1
  1141. package/dist/showcase/assets/text-button-D9llh4pU.js +0 -1
  1142. package/dist/showcase/assets/text-link-ZT6QGJOL.js +0 -1
  1143. package/dist/showcase/assets/textarea-CgcHuGVq.js +0 -1
  1144. package/dist/showcase/assets/textarea-D2uT_GJt.js +0 -1
  1145. package/dist/showcase/assets/timelines-BEFO7tJ0.js +0 -200
  1146. package/dist/showcase/assets/toggle-group-oYpa59lN.js +0 -1
  1147. package/dist/showcase/assets/toggles-BL93YmQo.js +0 -71
  1148. package/dist/showcase/assets/toggles-group-BG-xiQCY.js +0 -32
  1149. package/dist/showcase/assets/tooltip-BMI7zHwP.js +0 -31
  1150. package/dist/showcase/assets/trash-2-CtRtVsCy.js +0 -1
  1151. package/dist/showcase/assets/trending-up-2NQ-P8vB.js +0 -1
  1152. package/dist/showcase/assets/truck-Cl0nyN_j.js +0 -1
  1153. package/dist/showcase/assets/typography-C7pCPhg7.js +0 -223
  1154. package/dist/showcase/assets/ui-badge-BvmuMzSq.js +0 -28
  1155. package/dist/showcase/assets/ui-card-B7ziOMAn.js +0 -30
  1156. package/dist/showcase/assets/ui-table-BEFHakBU.js +0 -42
  1157. package/dist/showcase/assets/upload-tray-CMKqTtEp.js +0 -138
  1158. package/dist/showcase/assets/use-layout-link-nEU6ctSs.js +0 -1
  1159. package/dist/showcase/assets/useAnchoredPopupScrollLock-B1xyKMh7.js +0 -1
  1160. package/dist/showcase/assets/useAriaLabelledBy-BMlFgz-H.js +0 -1
  1161. package/dist/showcase/assets/useCollapsiblePanel-BEzH6TC2.js +0 -1
  1162. package/dist/showcase/assets/useCompositeItem-CIuww7-p.js +0 -1
  1163. package/dist/showcase/assets/useCompositeListItem-PrMTh4tz.js +0 -1
  1164. package/dist/showcase/assets/useLabelableId-BBLkeLGr.js +0 -1
  1165. package/dist/showcase/assets/useOpenInteractionType-CW0quo3l.js +0 -1
  1166. package/dist/showcase/assets/useRender-6NNMHJJU.js +0 -1
  1167. package/dist/showcase/assets/useTriggerFocusGuards-DEza_iee.js +0 -1
  1168. package/dist/showcase/assets/useValueChanged-BmWIb3SN.js +0 -1
  1169. package/dist/showcase/assets/user-BDIP5UPS.js +0 -1
  1170. package/dist/showcase/assets/user-plus-BCqHFh2h.js +0 -1
  1171. package/dist/showcase/assets/users-Bh7xGRX2.js +0 -1
  1172. package/dist/showcase/assets/vendor-profile-BlYcRbPI.js +0 -37
  1173. package/dist/showcase/assets/video-BucshqNW.js +0 -1
  1174. package/dist/showcase/assets/wrench-DQvhyTEb.js +0 -1
  1175. package/dist/showcase/assets/x-DyuS4YRT.js +0 -1
  1176. package/dist/showcase/assets/zap-Dpn8_pnQ.js +0 -1
@@ -1,506 +0,0 @@
1
- import { useStrings as e } from "../lib/strings.js";
2
- import { cn as t } from "../lib/utils.js";
3
- import { t as n } from "./button-DHksjMvc.js";
4
- import { s as r } from "./typography-DE0NGEIE.js";
5
- import { t as i } from "./badge-a2Z3K5aQ.js";
6
- import { t as a } from "./popover-xVENY0Ax.js";
7
- import { i as o } from "./command-CAI-BCSR.js";
8
- import { a as s, i as c, n as l, r as u, t as d } from "./command-ByedBajF.js";
9
- import { Fragment as f, useCallback as p, useEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
10
- import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
11
- import { Loader2 as x } from "lucide-react";
12
- //#region src/components/features/mentions/hooks/use-mentions-search.ts
13
- function S(e = {}) {
14
- let { resources: t, onResourceSearch: n, initialMentions: r, debounceMs: i = 200 } = e, a = h(() => t ? Object.keys(t) : [], [t]), [o, s] = _(() => a[0] ?? null), [c, l] = _(!1), [u, d] = _(""), [f, v] = _({}), [y, b] = _(!1), [x, S] = _(() => r ? [...r] : []), C = g(0), w = g(null);
15
- m(() => {
16
- if (a.length === 0) {
17
- s(null);
18
- return;
19
- }
20
- (!o || !a.includes(o)) && s(a[0]);
21
- }, [o, a]);
22
- let T = h(() => o && t ? t[o] ?? null : null, [o, t]), E = p(async (e, r) => {
23
- let i = t?.[e];
24
- if (i?.search) return (await i.search(r)).map((t) => ({
25
- ...t,
26
- kind: e
27
- }));
28
- if (i?.suggestions) {
29
- let t = i.suggestions;
30
- return (r.trim().length === 0 ? t : t.filter((e) => e.label.toLowerCase().includes(r.toLowerCase()))).map((t) => ({
31
- ...t,
32
- kind: e
33
- }));
34
- }
35
- return n ? (await n(r, e)).map((t) => ({
36
- ...t,
37
- kind: e
38
- })) : [];
39
- }, [t, n]);
40
- m(() => {
41
- if (w.current && clearTimeout(w.current), a.length === 0) {
42
- v({});
43
- return;
44
- }
45
- let e = ++C.current, t = async () => {
46
- b(!0);
47
- try {
48
- let t = await Promise.all(a.map(async (e) => {
49
- try {
50
- return [e, await E(e, u)];
51
- } catch {
52
- return [e, []];
53
- }
54
- }));
55
- if (e !== C.current) return;
56
- let n = {};
57
- for (let [e, r] of t) n[e] = r;
58
- v(n);
59
- } finally {
60
- e === C.current && b(!1);
61
- }
62
- };
63
- return w.current = setTimeout(() => {
64
- t();
65
- }, i), () => {
66
- w.current && clearTimeout(w.current);
67
- };
68
- }, [
69
- a,
70
- u,
71
- E,
72
- i
73
- ]), m(() => {
74
- if (c || !o || (f[o] ?? []).length > 0) return;
75
- let e = a.find((e) => (f[e]?.length ?? 0) > 0);
76
- e && e !== o && s(e);
77
- }, [
78
- o,
79
- a,
80
- c,
81
- f
82
- ]);
83
- let D = p((e) => {
84
- s(e);
85
- }, []), O = p((e) => {
86
- d(e);
87
- }, []), k = p((e) => {
88
- S((t) => t.some((t) => t.id === e.id) ? t : [...t, e]);
89
- }, []), A = p((e) => {
90
- S((t) => t.filter((t) => t.id !== e));
91
- }, []), j = p((e) => {
92
- S([...e]);
93
- }, []), M = p(() => {
94
- S([]), d(""), l(!1), C.current++;
95
- }, []), N = p((e) => {
96
- let n = e.kind ?? o, r = `${n}:${e.id}`, i = t?.[n], a = e.href ?? i?.buildHref?.(e), s = {
97
- id: r,
98
- kind: n,
99
- label: e.label,
100
- href: a,
101
- data: e.data
102
- };
103
- return k(s), s;
104
- }, [
105
- o,
106
- k,
107
- t
108
- ]);
109
- return {
110
- kinds: a,
111
- activeKind: o,
112
- setActiveKind: D,
113
- activeResource: T,
114
- query: u,
115
- setQuery: O,
116
- suggestions: h(() => o ? f[o] ?? [] : [], [o, f]),
117
- suggestionsByKind: f,
118
- isLoading: y,
119
- mentions: x,
120
- addMention: k,
121
- removeMention: A,
122
- setMentions: j,
123
- reset: M,
124
- selectSuggestion: N,
125
- manualKindOverride: c,
126
- setManualKindOverride: l
127
- };
128
- }
129
- //#endregion
130
- //#region src/components/features/mentions/utils/build-mention-html.ts
131
- function C(e, t) {
132
- let n = String(e.label ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), r = String(e.id).replace(/"/g, "&quot;"), i = String(e.kind).replace(/"/g, "&quot;"), a = t?.tone ? String(t.tone).replace(/"/g, "&quot;") : "", o = t?.triggerChar ?? (e.kind === "user" ? "@" : "");
133
- return `<span class="rsc-mention" data-ref-id="${r}" data-ref-kind="${i}"${a ? ` data-ref-tone="${a}"` : ""} contenteditable="false">${o}${n}</span>&nbsp;`;
134
- }
135
- //#endregion
136
- //#region src/components/features/mentions/hooks/use-mentions.ts
137
- function w(e = {}) {
138
- let t = e.resources, n = e.onResourceSearch, r = S({
139
- ...e,
140
- resources: t,
141
- onResourceSearch: n
142
- }), [i, a] = _(!1), [o, s] = _(!1), c = g(null), l = g(null), u = p((e) => {
143
- a(e), e || (c.current = null, l.current = null, s(!1), r.setManualKindOverride(!1));
144
- }, [r]), d = e.editorRef, f = p(() => {
145
- if (!t) return;
146
- let e = {};
147
- for (let [n, r] of Object.entries(t)) {
148
- let t = r?.trigger;
149
- typeof t == "string" && t.length > 0 && (e[t] = n);
150
- }
151
- if (Object.keys(e).length === 0) return;
152
- let n = d?.current?.getCaretContext();
153
- if (!n) {
154
- c.current && (c.current = null, u(!1));
155
- return;
156
- }
157
- let i = Object.keys(e).map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(""), o = RegExp(`(?:^|\\s)([${i}])([\\p{L}\\p{N}_-]*)$`, "u"), f = n.textBefore.match(o);
158
- if (!f) {
159
- c.current && (c.current = null, u(!1));
160
- return;
161
- }
162
- let p = f[1], m = f[2] ?? "", h = e[p];
163
- c.current = {
164
- kind: h,
165
- triggerChar: p,
166
- consumedLength: p.length + m.length
167
- }, s(!0), l.current !== p && (r.activeKind !== h && r.setActiveKind(h), r.setManualKindOverride(!1), l.current = p), r.query !== m && r.setQuery(m), a(!0);
168
- }, [
169
- d,
170
- t,
171
- r,
172
- u
173
- ]), m = p((e) => {
174
- let n = r.selectSuggestion(e), i = c.current, a = t?.[n.kind]?.tone, o = C(n, {
175
- triggerChar: i?.triggerChar,
176
- tone: a
177
- });
178
- return i && i.consumedLength > 0 && d?.current ? (d.current.replaceBeforeCaret(i.consumedLength, o), c.current = null) : d?.current && d.current.insertHTML(o), u(!1), n;
179
- }, [
180
- d,
181
- t,
182
- r,
183
- u
184
- ]);
185
- return {
186
- ...r,
187
- pickerOpen: i,
188
- setPickerOpen: u,
189
- triggerActive: o,
190
- handleCaretChange: f,
191
- pickSuggestion: m
192
- };
193
- }
194
- //#endregion
195
- //#region src/components/features/mentions/partials/mention-chip.tsx
196
- var T = {
197
- primary: "secondary",
198
- success: "success",
199
- warning: "warning",
200
- destructive: "destructive",
201
- info: "info",
202
- secondary: "secondary"
203
- }, E = ({ mention: e, resource: n, asLink: r = !0, onClick: a, trailing: o, className: s }) => {
204
- if (n?.renderChip) return /* @__PURE__ */ y(v, { children: n.renderChip(e) });
205
- let c = T[n?.tone ?? "secondary"] ?? T.secondary, l = n?.icon, u = /* @__PURE__ */ b(i, {
206
- variant: c,
207
- inline: !0,
208
- "data-ref-id": e.id,
209
- "data-ref-kind": e.kind,
210
- className: t("mention-chip--component", "align-[-0.15em] cursor-default whitespace-nowrap", s),
211
- children: [
212
- l ? /* @__PURE__ */ y(l, {
213
- className: "size-3 shrink-0",
214
- "aria-hidden": !0
215
- }) : null,
216
- /* @__PURE__ */ y("span", {
217
- className: "truncate max-w-[14rem]",
218
- children: e.label
219
- }),
220
- o
221
- ]
222
- });
223
- return r && e.href ? /* @__PURE__ */ y("a", {
224
- href: e.href,
225
- target: "_blank",
226
- rel: "noreferrer noopener",
227
- onClick: a,
228
- className: "inline align-baseline no-underline hover:opacity-90",
229
- children: u
230
- }) : a ? /* @__PURE__ */ y("span", {
231
- onClick: a,
232
- className: "inline align-baseline",
233
- children: u
234
- }) : u;
235
- }, D = /<(span|a)\b([^>]*?)data-ref-id\s*=\s*"([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi;
236
- function O(e) {
237
- if (!e) return [];
238
- let t = [], n = 0, r;
239
- for (D.lastIndex = 0; (r = D.exec(e)) !== null;) {
240
- let [i, , , a] = r, o = e.slice(n, r.index);
241
- o.length > 0 && t.push({
242
- kind: "html",
243
- value: o
244
- }), t.push({
245
- kind: "mention",
246
- refId: a,
247
- fallback: i
248
- }), n = r.index + i.length;
249
- }
250
- let i = e.slice(n);
251
- return i.length > 0 && t.push({
252
- kind: "html",
253
- value: i
254
- }), t;
255
- }
256
- //#endregion
257
- //#region src/components/features/mentions/partials/mention-content.tsx
258
- var k = "prose prose-sm prose-p:my-0.5 prose-p:leading-relaxed prose-headings:my-1 prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-strong:font-semibold prose-ul:my-0.5 prose-ol:my-0.5 prose-li:my-0.5 max-w-none";
259
- function A(e) {
260
- let { html: n, mentions: r, resources: i, renderMention: a, sanitizer: o, className: s, prose: c = !0 } = e, l = i, u = o ? o(n ?? "") : n ?? "", d = /* @__PURE__ */ new Map();
261
- for (let e of r ?? []) d.set(e.id, e);
262
- let p = d.size > 0 ? O(u) : [{
263
- kind: "html",
264
- value: u
265
- }], m = (e) => {
266
- if (a) return a(e);
267
- let t = l?.[e.kind];
268
- return /* @__PURE__ */ y(E, {
269
- mention: e,
270
- resource: t
271
- });
272
- }, h = p.map((e, t) => {
273
- if (e.kind === "mention") {
274
- let n = d.get(e.refId);
275
- return n ? /* @__PURE__ */ y(f, { children: m(n) }, `ref-${t}-${e.refId}`) : /* @__PURE__ */ y("span", { dangerouslySetInnerHTML: { __html: e.fallback } }, `fallback-${t}`);
276
- }
277
- return /* @__PURE__ */ y("span", { dangerouslySetInnerHTML: { __html: e.value } }, `html-${t}`);
278
- });
279
- return c ? /* @__PURE__ */ y("div", {
280
- className: t("mention-content--component", k, s),
281
- children: h
282
- }) : /* @__PURE__ */ y(v, { children: h });
283
- }
284
- var j = (e) => /* @__PURE__ */ y(A, { ...e }), M = {
285
- title: "Insert reference",
286
- searchPlaceholder: "Search…",
287
- empty: "No matches.",
288
- loading: "Searching…"
289
- }, N = {
290
- title: "Insert reference",
291
- empty: "No matches.",
292
- loading: "Searching…"
293
- };
294
- //#endregion
295
- //#region src/components/features/mentions/partials/mention-picker.tsx
296
- function P({ open: i, activeKind: f, setActiveKind: p, kinds: m, resources: h, query: g, setQuery: _, suggestions: v, isLoading: S, onSelect: C, strings: w, className: T }) {
297
- let E = e(M, w);
298
- return i ? /* @__PURE__ */ b(a, {
299
- align: "start",
300
- className: t("mention-picker--component", "w-72 overflow-hidden p-0", T),
301
- children: [/* @__PURE__ */ b("div", {
302
- className: "border-b border-border/60 px-3 py-2",
303
- children: [/* @__PURE__ */ y(r, {
304
- size: "xxs",
305
- type: "secondary",
306
- weight: "medium",
307
- className: "uppercase tracking-wide",
308
- children: E.title
309
- }), m.length > 1 && /* @__PURE__ */ y("div", {
310
- className: "mt-2 flex flex-wrap gap-1",
311
- children: m.map((e) => {
312
- let r = h?.[e], i = r?.icon, a = e === f;
313
- return /* @__PURE__ */ b(n, {
314
- type: "button",
315
- variant: a ? "primary" : "secondary",
316
- buttonStyle: a ? "solid" : "ghost",
317
- size: "small",
318
- onClick: () => p(e),
319
- className: t("h-auto gap-1 rounded px-1.5 py-0.5 text-xxs font-medium ring-1 ring-inset transition-colors", a ? "bg-primary text-primary-foreground ring-primary" : "bg-muted text-muted-foreground ring-border/60 hover:bg-muted/80"),
320
- children: [i ? /* @__PURE__ */ y(i, { className: "size-3" }) : null, /* @__PURE__ */ y("span", { children: r?.label ?? String(e) })]
321
- }, e);
322
- })
323
- })]
324
- }), /* @__PURE__ */ b(d, {
325
- shouldFilter: !1,
326
- children: [/* @__PURE__ */ y(o, {
327
- placeholder: E.searchPlaceholder,
328
- value: g,
329
- onValueChange: _
330
- }), /* @__PURE__ */ b(s, { children: [
331
- S ? /* @__PURE__ */ b("div", {
332
- className: "text-muted-foreground flex items-center justify-center gap-2 py-3",
333
- children: [/* @__PURE__ */ y(x, {
334
- className: "size-3.5 animate-spin",
335
- "aria-hidden": !0
336
- }), /* @__PURE__ */ y(r, {
337
- tag: "span",
338
- size: "xs",
339
- type: "secondary",
340
- children: E.loading
341
- })]
342
- }) : null,
343
- /* @__PURE__ */ y(l, { children: E.empty }),
344
- /* @__PURE__ */ y(u, { children: v.map((e) => {
345
- let t = e.kind ?? f ?? "";
346
- return /* @__PURE__ */ y(c, {
347
- value: `${t}:${e.id}`,
348
- onSelect: () => C(e),
349
- children: /* @__PURE__ */ b("div", {
350
- className: "flex min-w-0 flex-1 flex-col leading-tight",
351
- children: [/* @__PURE__ */ y(r, {
352
- tag: "span",
353
- size: "xs",
354
- weight: "medium",
355
- className: "truncate",
356
- children: e.label
357
- }), e.description ? /* @__PURE__ */ y(r, {
358
- tag: "span",
359
- size: "xxs",
360
- type: "secondary",
361
- className: "mt-0.5 truncate",
362
- children: e.description
363
- }) : null]
364
- })
365
- }, `${t}:${e.id}`);
366
- }) })
367
- ] })]
368
- })]
369
- }) : null;
370
- }
371
- //#endregion
372
- //#region src/components/features/mentions/partials/mention-inline-suggestions.tsx
373
- function F({ open: i, activeKind: a, setActiveKind: o, kinds: s, resources: c, suggestionsByKind: l, suggestions: u, isLoading: d, query: f, onManualKindChange: p, onSelect: m, strings: h, className: g }) {
374
- let _ = e(N, h);
375
- return i ? /* @__PURE__ */ b("div", {
376
- onMouseDown: (e) => e.preventDefault(),
377
- className: t("mention-inline-suggestions--component", "bg-popover text-popover-foreground absolute left-0 top-full z-40 mt-1 w-80 max-w-[min(theme(spacing.96),100%)]", "border-border/60 rounded-md border shadow-md ring-1 ring-foreground/[0.04]", "overflow-hidden", g),
378
- children: [/* @__PURE__ */ b("div", {
379
- className: "border-b border-border/60 px-3 py-2",
380
- children: [/* @__PURE__ */ b("div", {
381
- className: "flex items-baseline justify-between gap-2",
382
- children: [/* @__PURE__ */ y(r, {
383
- size: "xxs",
384
- type: "secondary",
385
- weight: "medium",
386
- className: "uppercase tracking-wide",
387
- children: _.title
388
- }), f ? /* @__PURE__ */ b(r, {
389
- tag: "span",
390
- size: "xxs",
391
- type: "secondary",
392
- className: "truncate font-mono",
393
- children: [
394
- "“",
395
- f,
396
- "”"
397
- ]
398
- }) : null]
399
- }), s.length > 1 && /* @__PURE__ */ y("div", {
400
- className: "mt-2 flex flex-wrap gap-1",
401
- children: s.map((e) => {
402
- let r = c?.[e], i = r?.icon, s = e === a, u = l?.[e]?.length ?? 0;
403
- return /* @__PURE__ */ b(n, {
404
- type: "button",
405
- variant: s ? "primary" : "secondary",
406
- buttonStyle: s ? "solid" : "ghost",
407
- size: "small",
408
- onClick: () => {
409
- o(e), p?.();
410
- },
411
- className: t("h-auto gap-1 rounded px-1.5 py-0.5 text-xxs font-medium ring-1 ring-inset transition-colors", s ? "bg-primary text-primary-foreground ring-primary" : u > 0 ? "bg-muted text-foreground ring-border/60 hover:bg-muted/80" : "bg-muted/40 text-muted-foreground ring-border/40 hover:bg-muted/60"),
412
- children: [
413
- i ? /* @__PURE__ */ y(i, { className: "size-3" }) : null,
414
- /* @__PURE__ */ y("span", { children: r?.label ?? String(e) }),
415
- u > 0 && /* @__PURE__ */ y("span", {
416
- className: t("tabular-nums", s ? "opacity-90" : "opacity-70"),
417
- children: u
418
- })
419
- ]
420
- }, e);
421
- })
422
- })]
423
- }), /* @__PURE__ */ b("div", {
424
- className: "max-h-72 overflow-y-auto py-1",
425
- ...u.length > 0 ? {
426
- role: "listbox",
427
- "aria-label": _.title
428
- } : {},
429
- children: [
430
- d ? /* @__PURE__ */ b("div", {
431
- className: "text-muted-foreground flex items-center justify-center gap-2 py-3",
432
- children: [/* @__PURE__ */ y(x, {
433
- className: "size-3.5 animate-spin",
434
- "aria-hidden": !0
435
- }), /* @__PURE__ */ y(r, {
436
- tag: "span",
437
- size: "xs",
438
- type: "secondary",
439
- children: _.loading
440
- })]
441
- }) : null,
442
- !d && u.length === 0 ? /* @__PURE__ */ y("div", {
443
- className: "px-3 py-3",
444
- children: /* @__PURE__ */ y(r, {
445
- size: "xs",
446
- type: "secondary",
447
- children: _.empty
448
- })
449
- }) : null,
450
- u.map((e) => {
451
- let i = e.kind ?? a ?? "";
452
- return /* @__PURE__ */ y(n, {
453
- type: "button",
454
- variant: "secondary",
455
- buttonStyle: "ghost",
456
- size: "default",
457
- role: "option",
458
- "data-ref-id": `${i}:${e.id}`,
459
- onClick: () => m(e),
460
- className: t("h-auto w-full min-w-0 justify-start gap-2 rounded-none px-3 py-1.5 text-left", "hover:bg-muted/60 focus-visible:bg-muted/60 transition-colors"),
461
- children: /* @__PURE__ */ b("div", {
462
- className: "flex min-w-0 flex-1 flex-col leading-tight",
463
- children: [/* @__PURE__ */ y(r, {
464
- tag: "span",
465
- size: "xs",
466
- weight: "medium",
467
- className: "truncate",
468
- children: e.label
469
- }), e.description ? /* @__PURE__ */ y(r, {
470
- tag: "span",
471
- size: "xxs",
472
- type: "secondary",
473
- className: "mt-0.5 truncate",
474
- children: e.description
475
- }) : null]
476
- })
477
- }, `${i}:${e.id}`);
478
- })
479
- ]
480
- })]
481
- }) : null;
482
- }
483
- //#endregion
484
- //#region src/components/features/mentions/utils/parse-mentions-from-html.ts
485
- var I = /<(?:span|a)\b[^>]*?data-ref-id\s*=\s*"([^"]+)"[^>]*?>([\s\S]*?)<\/(?:span|a)>/gi, L = /data-ref-kind\s*=\s*"([^"]+)"/i;
486
- function R(e) {
487
- let t = [];
488
- if (!e) return t;
489
- let n = /* @__PURE__ */ new Set(), r;
490
- for (I.lastIndex = 0; (r = I.exec(e)) !== null;) {
491
- let [e, i, a] = r;
492
- if (n.has(i)) continue;
493
- n.add(i);
494
- let o = e.match(L)?.[1] ?? i.split(":")[0] ?? "", s = (a ?? "").replace(/<[^>]*>/g, "").replace(/&nbsp;/g, " ").replace(/^[@#$&%!~]\s*/, "").trim();
495
- t.push({
496
- id: i,
497
- kind: o,
498
- label: s
499
- });
500
- }
501
- return t;
502
- }
503
- //#endregion
504
- export { M as a, O as c, C as d, S as f, N as i, E as l, F as n, A as o, P as r, j as s, R as t, w as u };
505
-
506
- //# sourceMappingURL=mentions-BahbwDwU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mentions-BahbwDwU.js","names":[],"sources":["../../src/components/features/mentions/hooks/use-mentions-search.ts","../../src/components/features/mentions/utils/build-mention-html.ts","../../src/components/features/mentions/hooks/use-mentions.ts","../../src/components/features/mentions/partials/mention-chip.tsx","../../src/components/features/mentions/utils/split-html-by-mentions.ts","../../src/components/features/mentions/partials/mention-content.tsx","../../src/components/features/mentions/mentions.strings.ts","../../src/components/features/mentions/partials/mention-picker.tsx","../../src/components/features/mentions/partials/mention-inline-suggestions.tsx","../../src/components/features/mentions/utils/parse-mentions-from-html.ts"],"sourcesContent":["/**\n * useMentionsSearch — pure search state for the mention picker.\n *\n * Runs **all registered kinds in parallel** for the same needle so the\n * caller can render mixed results in tabs and the picker can auto-\n * switch when the active kind has zero matches but another does. The\n * caller still controls which kind is *active* (the one whose\n * suggestions render); manual switches are remembered and not\n * overridden by subsequent caret-driven re-detections.\n *\n * Suggestion lookup order per kind:\n * 1. `resources[kind].search(needle)` — per-kind callback\n * 2. `resources[kind].suggestions` — static catalogue\n * 3. global `onResourceSearch(needle, kind)` — fallback\n */\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n Mention,\n MentionResource,\n MentionSuggestion,\n MentionsResourceSearch,\n} from '../mentions.types';\n\nexport interface UseMentionsSearchOptions<TResource extends string = string> {\n resources?: Partial<Record<TResource, MentionResource<TResource>>>;\n onResourceSearch?: MentionsResourceSearch<TResource>;\n initialMentions?: ReadonlyArray<Mention<TResource>>;\n /** Debounce window for async search. Default: 200ms. */\n debounceMs?: number;\n}\n\nexport interface UseMentionsSearchReturn<TResource extends string = string> {\n kinds: ReadonlyArray<TResource>;\n activeKind: TResource | null;\n setActiveKind: (kind: TResource | null) => void;\n activeResource: MentionResource<TResource> | null;\n\n query: string;\n setQuery: (q: string) => void;\n\n /** Suggestions for the active kind (`suggestionsByKind[activeKind]`). */\n suggestions: ReadonlyArray<MentionSuggestion<TResource>>;\n /** Per-kind suggestion buckets — useful for cross-kind UIs. */\n suggestionsByKind: Readonly<Record<string, ReadonlyArray<MentionSuggestion<TResource>>>>;\n isLoading: boolean;\n\n mentions: ReadonlyArray<Mention<TResource>>;\n addMention: (mention: Mention<TResource>) => void;\n removeMention: (id: string) => void;\n setMentions: (next: ReadonlyArray<Mention<TResource>>) => void;\n reset: () => void;\n\n selectSuggestion: (\n suggestion: MentionSuggestion<TResource>,\n ) => Mention<TResource>;\n\n /** True if the consumer manually picked a tab. The trigger detector\n * checks this and refuses to override the active kind on next caret\n * change while it's true. Reset on `setManualKindOverride(false)` or\n * `reset()`. */\n manualKindOverride: boolean;\n setManualKindOverride: (override: boolean) => void;\n}\n\nexport function useMentionsSearch<TResource extends string = string>(\n options: UseMentionsSearchOptions<TResource> = {},\n): UseMentionsSearchReturn<TResource> {\n const { resources, onResourceSearch, initialMentions, debounceMs = 200 } = options;\n\n const kinds = useMemo<ReadonlyArray<TResource>>(\n () => (resources ? (Object.keys(resources) as TResource[]) : []),\n [resources],\n );\n\n const [activeKind, setActiveKindState] = useState<TResource | null>(\n () => kinds[0] ?? null,\n );\n const [manualKindOverride, setManualKindOverride] = useState(false);\n const [query, setQueryState] = useState('');\n const [suggestionsByKind, setSuggestionsByKind] = useState<\n Record<string, ReadonlyArray<MentionSuggestion<TResource>>>\n >({});\n const [isLoading, setIsLoading] = useState(false);\n const [mentions, setMentionsState] = useState<Mention<TResource>[]>(() =>\n initialMentions ? [...initialMentions] : [],\n );\n\n const requestIdRef = useRef(0);\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (kinds.length === 0) {\n setActiveKindState(null);\n return;\n }\n if (!activeKind || !kinds.includes(activeKind)) {\n setActiveKindState(kinds[0]);\n }\n }, [activeKind, kinds]);\n\n const activeResource = useMemo(\n () => (activeKind && resources ? resources[activeKind] ?? null : null),\n [activeKind, resources],\n );\n\n /**\n * Search a single kind. Per-kind `search` wins, then static\n * `suggestions`, then the global `onResourceSearch` fallback.\n */\n const searchOneKind = useCallback(\n async (\n kind: TResource,\n q: string,\n ): Promise<ReadonlyArray<MentionSuggestion<TResource>>> => {\n const config = resources?.[kind];\n if (config?.search) {\n const result = await config.search(q);\n return result.map((s) => ({ ...s, kind }));\n }\n if (config?.suggestions) {\n const stat = config.suggestions;\n const filtered =\n q.trim().length === 0\n ? stat\n : stat.filter((s) =>\n s.label.toLowerCase().includes(q.toLowerCase()),\n );\n return filtered.map((s) => ({ ...s, kind }));\n }\n if (onResourceSearch) {\n const result = await onResourceSearch(q, kind);\n return result.map((s) => ({ ...s, kind }));\n }\n return [];\n },\n [resources, onResourceSearch],\n );\n\n // Debounced cross-kind search runner. Populates `suggestionsByKind`\n // for every registered kind in parallel.\n useEffect(() => {\n if (debounceRef.current) {\n clearTimeout(debounceRef.current);\n }\n if (kinds.length === 0) {\n setSuggestionsByKind({});\n return;\n }\n\n const requestId = ++requestIdRef.current;\n const run = async () => {\n setIsLoading(true);\n try {\n const entries = await Promise.all(\n kinds.map(async (kind) => {\n try {\n const list = await searchOneKind(kind, query);\n return [kind, list] as const;\n } catch {\n return [kind, []] as const;\n }\n }),\n );\n if (requestId !== requestIdRef.current) return;\n const next: Record<string, ReadonlyArray<MentionSuggestion<TResource>>> = {};\n for (const [kind, list] of entries) {\n next[kind] = list;\n }\n setSuggestionsByKind(next);\n } finally {\n if (requestId === requestIdRef.current) {\n setIsLoading(false);\n }\n }\n };\n\n debounceRef.current = setTimeout(() => {\n void run();\n }, debounceMs);\n\n return () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, [kinds, query, searchOneKind, debounceMs]);\n\n /**\n * Auto-switch behaviour: when the active kind has zero results but\n * another kind has matches, jump to the first kind with results.\n * Skipped while `manualKindOverride` is true so the consumer's tab\n * choice sticks.\n */\n useEffect(() => {\n if (manualKindOverride) return;\n if (!activeKind) return;\n const activeList = suggestionsByKind[activeKind] ?? [];\n if (activeList.length > 0) return;\n const first = kinds.find((k) => (suggestionsByKind[k]?.length ?? 0) > 0);\n if (first && first !== activeKind) {\n setActiveKindState(first);\n }\n }, [activeKind, kinds, manualKindOverride, suggestionsByKind]);\n\n /**\n * Set the active kind. **Does not** toggle `manualKindOverride` —\n * the picker UI is responsible for calling\n * `setManualKindOverride(true)` when the user explicitly clicks a\n * tab so the auto-switch / auto-detect logic respects their choice.\n */\n const setActiveKind = useCallback((kind: TResource | null) => {\n setActiveKindState(kind);\n }, []);\n\n const setQuery = useCallback((q: string) => {\n setQueryState(q);\n }, []);\n\n const addMention = useCallback((mention: Mention<TResource>) => {\n setMentionsState((prev) => {\n if (prev.some((m) => m.id === mention.id)) return prev;\n return [...prev, mention];\n });\n }, []);\n\n const removeMention = useCallback((id: string) => {\n setMentionsState((prev) => prev.filter((m) => m.id !== id));\n }, []);\n\n const setMentions = useCallback(\n (next: ReadonlyArray<Mention<TResource>>) => {\n setMentionsState([...next]);\n },\n [],\n );\n\n const reset = useCallback(() => {\n setMentionsState([]);\n setQueryState('');\n setManualKindOverride(false);\n requestIdRef.current++;\n }, []);\n\n const selectSuggestion = useCallback(\n (suggestion: MentionSuggestion<TResource>) => {\n const kind = (suggestion.kind ?? activeKind) as TResource;\n const id = `${kind}:${suggestion.id}`;\n const cfg = resources?.[kind];\n const href = suggestion.href ?? cfg?.buildHref?.(suggestion);\n const mention: Mention<TResource> = {\n id,\n kind,\n label: suggestion.label,\n href,\n data: suggestion.data,\n };\n addMention(mention);\n return mention;\n },\n [activeKind, addMention, resources],\n );\n\n const suggestions = useMemo<ReadonlyArray<MentionSuggestion<TResource>>>(\n () => (activeKind ? suggestionsByKind[activeKind] ?? [] : []),\n [activeKind, suggestionsByKind],\n );\n\n return {\n kinds,\n activeKind,\n setActiveKind,\n activeResource,\n query,\n setQuery,\n suggestions,\n suggestionsByKind,\n isLoading,\n mentions,\n addMention,\n removeMention,\n setMentions,\n reset,\n selectSuggestion,\n manualKindOverride,\n setManualKindOverride,\n };\n}\n","import type { Mention, MentionTone } from '../mentions.types';\n\n/**\n * Serialize a `Mention` into the HTML span that gets inserted into a\n * rich-text body. The structure mirrors `<MentionChip>` so the editor\n * can style it via the `.rsc-mention` / `[data-ref-tone]` rules (see\n * mention-chip.css, co-located in this feature) and the read-time\n * renderer (`<MentionContent>`) can find it again.\n *\n * <span class=\"rsc-mention\" data-ref-id=\"kind:id\" data-ref-kind=\"kind\"\n * data-ref-tone=\"info\" contenteditable=\"false\">@Maria Petrova</span>&nbsp;\n *\n * `data-ref-tone` is what drives the badge colour in both the editor\n * (CSS-only, since contenteditable can't host React) and the read-time\n * renderer (which respects it as a hint when the resource registry\n * isn't available).\n *\n * `contenteditable=\"false\"` tells the browser to treat the chip as an\n * atomic glyph — backspace deletes the whole span, the cursor moves\n * past it, and the inner label can't be edited character-by-character.\n */\nexport function buildMentionHtml<TKind extends string = string>(\n mention: Mention<TKind>,\n options?: { triggerChar?: string; tone?: MentionTone },\n): string {\n const safeLabel = String(mention.label ?? '')\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n const id = String(mention.id).replace(/\"/g, '&quot;');\n const kind = String(mention.kind).replace(/\"/g, '&quot;');\n const tone = options?.tone ? String(options.tone).replace(/\"/g, '&quot;') : '';\n const trigger =\n options?.triggerChar ?? (mention.kind === 'user' ? '@' : '');\n const toneAttr = tone ? ` data-ref-tone=\"${tone}\"` : '';\n return (\n `<span class=\"rsc-mention\" data-ref-id=\"${id}\" data-ref-kind=\"${kind}\"${toneAttr} contenteditable=\"false\">` +\n `${trigger}${safeLabel}` +\n `</span>&nbsp;`\n );\n}\n","/**\n * useMentions — picker state + caret-trigger detection bound to an editor.\n *\n * Composes `useMentionsSearch` (suggestion state) with caret-watch\n * logic. The editor it binds to must implement the minimal handle\n * surface in `MentionEditorHandle` — `<RichTextEditor>` from\n * `features/rich-text-editor` already does. Other editors (Slate,\n * Lexical, ProseMirror, plain contenteditable, …) can be plugged in by\n * implementing the same four methods on their imperative handle.\n *\n * Behaviour summary:\n * - On every editor `onCaretChange`, the hook reads `getCaretContext()`\n * and looks for a registered trigger char (`@`, `#`, …) preceded by\n * start-of-line / whitespace and followed by `\\p{L}\\p{N}_-` chars.\n * - On match, the picker opens, `activeKind` is seeded from the\n * trigger char (only on a *fresh* trigger session — manual tab\n * switches survive subsequent keystrokes), and `query` syncs from\n * the typed needle.\n * - All registered kinds are searched in parallel; the active kind\n * auto-switches to the first kind with results when the current\n * active is empty (skipped if `manualKindOverride` is true).\n * - `pickSuggestion` deletes the trigger range and inserts the chip\n * atomically via `replaceBeforeCaret` — selection-extension means\n * no manual text mutation, no race between delete + insert.\n * - When opened via the manual button (no trigger detected), the\n * selection runs `insertHTML` instead — caret stays where it was.\n *\n * Returned API:\n * pickerOpen, setPickerOpen, triggerActive,\n * kinds, activeKind, setActiveKind, manualKindOverride, setManualKindOverride,\n * query, setQuery, suggestions, suggestionsByKind, isLoading,\n * mentions, addMention, removeMention, setMentions, reset,\n * handleCaretChange() — wire to the editor's `onCaretChange`\n * pickSuggestion(s) — convert suggestion → Mention + insert chip\n *\n * @example\n * const editorRef = useRef<RichTextEditorHandle>(null);\n * const mentions = useMentions<'user' | 'order'>({ editorRef });\n *\n * <RichTextEditor ref={editorRef} onCaretChange={mentions.handleCaretChange} />\n * <MentionInlineSuggestions\n * open={mentions.triggerActive && mentions.pickerOpen}\n * activeKind={mentions.activeKind}\n * setActiveKind={mentions.setActiveKind}\n * onManualKindChange={() => mentions.setManualKindOverride(true)}\n * {...mentions}\n * onSelect={mentions.pickSuggestion}\n * />\n */\nimport { useCallback, useRef, useState } from 'react';\nimport type { RefObject } from 'react';\n\nimport type {\n Mention,\n MentionResource,\n MentionSuggestion,\n MentionsResourceSearch,\n} from '../mentions.types';\nimport { buildMentionHtml } from '../utils/build-mention-html';\nimport {\n useMentionsSearch,\n type UseMentionsSearchOptions,\n type UseMentionsSearchReturn,\n} from './use-mentions-search';\n\n/**\n * Minimal editor handle the trigger detector needs. Compatible with the\n * library's `<RichTextEditor>` handle — implement these on any custom\n * editor to plug in.\n */\nexport interface MentionEditorHandle {\n getCaretContext(): { textBefore: string } | null;\n insertHTML(html: string): void;\n replaceBeforeCaret(length: number, html: string): void;\n focus(): void;\n}\n\nexport interface UseMentionsOptions<TResource extends string = string>\n extends UseMentionsSearchOptions<TResource> {\n /** Ref to the editor surface the trigger detector reads from. */\n editorRef?: RefObject<MentionEditorHandle | null>;\n}\n\nexport interface UseMentionsReturn<TResource extends string = string>\n extends UseMentionsSearchReturn<TResource> {\n pickerOpen: boolean;\n setPickerOpen: (open: boolean) => void;\n /** True while the picker is open from an inline `@`/`#` trigger. */\n triggerActive: boolean;\n /** Wire to the editor's `onCaretChange` to enable inline triggers. */\n handleCaretChange: () => void;\n /**\n * Convert a suggestion into a Mention, register it, insert the chip\n * into the editor (replacing the trigger range when one is active),\n * and close the picker. Returns the Mention.\n */\n pickSuggestion: (\n suggestion: MentionSuggestion<TResource>,\n ) => Mention<TResource>;\n}\n\ninterface TriggerState {\n kind: string;\n triggerChar: string;\n consumedLength: number;\n}\n\nexport function useMentions<TResource extends string = string>(\n options: UseMentionsOptions<TResource> = {},\n): UseMentionsReturn<TResource> {\n const resources = options.resources;\n const onResourceSearch: MentionsResourceSearch<TResource> | undefined =\n options.onResourceSearch;\n\n const search = useMentionsSearch<TResource>({\n ...options,\n resources,\n onResourceSearch,\n });\n\n const [pickerOpen, setPickerOpenState] = useState(false);\n const [triggerActive, setTriggerActive] = useState(false);\n const triggerStateRef = useRef<TriggerState | null>(null);\n /** Tracks the trigger char from the most recent detection — lets us\n * set the initial active kind on a fresh trigger without overriding\n * the user's manual tab switch on every subsequent keystroke. */\n const lastTriggerCharRef = useRef<string | null>(null);\n\n const setPickerOpen = useCallback((open: boolean) => {\n setPickerOpenState(open);\n if (!open) {\n triggerStateRef.current = null;\n lastTriggerCharRef.current = null;\n setTriggerActive(false);\n search.setManualKindOverride(false);\n }\n }, [search]);\n\n const editorRef = options.editorRef;\n\n const handleCaretChange = useCallback(() => {\n if (!resources) return;\n const triggerMap: Record<string, string> = {};\n for (const [kind, cfg] of Object.entries(resources)) {\n const trig = (cfg as MentionResource | undefined)?.trigger;\n if (typeof trig === 'string' && trig.length > 0) {\n triggerMap[trig] = kind;\n }\n }\n if (Object.keys(triggerMap).length === 0) return;\n\n const ctx = editorRef?.current?.getCaretContext();\n if (!ctx) {\n if (triggerStateRef.current) {\n triggerStateRef.current = null;\n setPickerOpen(false);\n }\n return;\n }\n const triggers = Object.keys(triggerMap)\n .map((c) => c.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n .join('');\n const re = new RegExp(`(?:^|\\\\s)([${triggers}])([\\\\p{L}\\\\p{N}_-]*)$`, 'u');\n const match = ctx.textBefore.match(re);\n if (!match) {\n if (triggerStateRef.current) {\n triggerStateRef.current = null;\n setPickerOpen(false);\n }\n return;\n }\n const triggerChar = match[1];\n const needle = match[2] ?? '';\n const kind = triggerMap[triggerChar];\n const consumedLength = triggerChar.length + needle.length;\n\n triggerStateRef.current = { kind, triggerChar, consumedLength };\n setTriggerActive(true);\n\n // Only seed the initial active kind on a *fresh* trigger session.\n // If the user has already picked a tab in the panel,\n // `manualKindOverride` is true and we skip — their choice sticks\n // even as they keep typing or deleting characters.\n const isNewTriggerSession = lastTriggerCharRef.current !== triggerChar;\n if (isNewTriggerSession) {\n if (search.activeKind !== kind) {\n search.setActiveKind(kind as TResource);\n }\n search.setManualKindOverride(false);\n lastTriggerCharRef.current = triggerChar;\n }\n\n if (search.query !== needle) {\n search.setQuery(needle);\n }\n setPickerOpenState(true);\n }, [editorRef, resources, search, setPickerOpen]);\n\n const pickSuggestion = useCallback(\n (suggestion: MentionSuggestion<TResource>) => {\n const mention = search.selectSuggestion(suggestion);\n const trigger = triggerStateRef.current;\n const tone = (resources?.[mention.kind] as MentionResource | undefined)?.tone;\n const html = buildMentionHtml(mention, {\n triggerChar: trigger?.triggerChar,\n tone,\n });\n\n if (trigger && trigger.consumedLength > 0 && editorRef?.current) {\n editorRef.current.replaceBeforeCaret(trigger.consumedLength, html);\n triggerStateRef.current = null;\n } else if (editorRef?.current) {\n editorRef.current.insertHTML(html);\n }\n setPickerOpen(false);\n return mention;\n },\n [editorRef, resources, search, setPickerOpen],\n );\n\n return {\n ...search,\n pickerOpen,\n setPickerOpen,\n triggerActive,\n handleCaretChange,\n pickSuggestion,\n };\n}\n","/**\n * MentionChip — default rendering for an inline mention/reference.\n *\n * Wraps the lib's `<Badge>` base component with the variant driven by\n * the resource registry's `tone` field. The mapping between the\n * mentions module's `MentionTone` and the badge's variant lives below\n * (`TONE_TO_VARIANT`) so consumers can rebrand by editing one table.\n *\n * Override paths:\n * - `renderMention` on `<MentionContent>` — full takeover\n * - `resources.<kind>.renderChip(mention)` — per-kind takeover\n * - `resources.<kind>.tone` — quickest \"just change the color\" override\n */\nimport type { FC, ReactNode } from 'react';\n\nimport { Badge, type ComposedBadgeVariant } from '@/components/base/badge';\nimport { cn } from '@/lib/utils';\n\nimport type {\n Mention,\n MentionResource,\n MentionTone,\n} from '../mentions.types';\n\nexport interface MentionChipProps {\n mention: Mention;\n resource?: MentionResource<string>;\n /** Force-disable the chip's link (useful inside the composer draft list). */\n asLink?: boolean;\n onClick?: () => void;\n /** Trailing slot — typically a remove button when shown in the composer. */\n trailing?: ReactNode;\n className?: string;\n}\n\n/**\n * Single source of truth for `MentionTone → Badge variant`. Edit here\n * to rebrand all chips library-wide; override per-kind via\n * `resources.<kind>.tone`.\n */\nconst TONE_TO_VARIANT: Record<MentionTone, ComposedBadgeVariant> = {\n primary: 'secondary', // calm primary — saturated `primary` overwhelms body copy\n success: 'success',\n warning: 'warning',\n destructive: 'destructive',\n info: 'info',\n secondary: 'secondary',\n};\n\nexport const MentionChip: FC<MentionChipProps> = ({\n mention,\n resource,\n asLink = true,\n onClick,\n trailing,\n className,\n}) => {\n if (resource?.renderChip) {\n return <>{resource.renderChip(mention)}</>;\n }\n\n const tone = resource?.tone ?? 'secondary';\n const variant = TONE_TO_VARIANT[tone] ?? TONE_TO_VARIANT.secondary;\n const Icon = resource?.icon;\n\n const inner = (\n <Badge\n variant={variant}\n inline\n data-ref-id={mention.id}\n data-ref-kind={mention.kind}\n className={cn(\n 'mention-chip--component',\n /* Inline-flow tweaks: align to the surrounding text baseline\n instead of the line's mid-point, which causes wobble next\n to text. Keep the badge as `inline-flex` (from `inline`),\n add a subtle vertical offset via translate so the icon\n sits on the cap-height. */\n 'align-[-0.15em] cursor-default whitespace-nowrap',\n className,\n )}\n >\n {Icon ? <Icon className=\"size-3 shrink-0\" aria-hidden /> : null}\n <span className=\"truncate max-w-[14rem]\">{mention.label}</span>\n {trailing}\n </Badge>\n );\n\n if (asLink && mention.href) {\n return (\n <a\n href={mention.href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n onClick={onClick}\n className=\"inline align-baseline no-underline hover:opacity-90\"\n >\n {inner}\n </a>\n );\n }\n\n if (onClick) {\n return (\n <span onClick={onClick} className=\"inline align-baseline\">\n {inner}\n </span>\n );\n }\n\n return inner;\n};\n","/**\n * Split an HTML string into a list of `html` chunks and `mention`\n * placeholders, keyed by the `data-ref-id` attribute the writer set.\n *\n * Used by `<MentionContent>` to render the body once with React chips\n * for the references and `dangerouslySetInnerHTML` for everything else.\n */\nexport type MentionHtmlSegment =\n | { kind: 'html'; value: string }\n | { kind: 'mention'; refId: string; fallback: string };\n\nconst MENTION_RE =\n /<(span|a)\\b([^>]*?)data-ref-id\\s*=\\s*\"([^\"]+)\"([^>]*)>([\\s\\S]*?)<\\/\\1>/gi;\n\nexport function splitHtmlByMentions(html: string): MentionHtmlSegment[] {\n if (!html) return [];\n\n const segments: MentionHtmlSegment[] = [];\n let lastIndex = 0;\n let match: RegExpExecArray | null;\n MENTION_RE.lastIndex = 0;\n\n while ((match = MENTION_RE.exec(html)) !== null) {\n const [full, , , refId] = match;\n const before = html.slice(lastIndex, match.index);\n if (before.length > 0) {\n segments.push({ kind: 'html', value: before });\n }\n segments.push({\n kind: 'mention',\n refId,\n fallback: full,\n });\n lastIndex = match.index + full.length;\n }\n\n const tail = html.slice(lastIndex);\n if (tail.length > 0) {\n segments.push({ kind: 'html', value: tail });\n }\n\n return segments;\n}\n","/**\n * MentionContent — render an HTML body that may contain inline mention\n * spans (`<span data-ref-id=\"kind:id\">…</span>`) by swapping each ref\n * for a React `<MentionChip>` while leaving the rest of the HTML\n * untouched.\n *\n * Used by:\n * - `features/comments` — comment bodies\n * - `features/event-log` — event descriptions\n * - any other surface that renders rich-text with embedded refs\n *\n * Consumer can override per-mention rendering via `renderMention`, or\n * per-kind via the resource registry's `renderChip`.\n */\nimport { Fragment } from 'react';\nimport type { FC, ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nimport type {\n Mention,\n MentionResource,\n MentionsConfig,\n} from '../mentions.types';\nimport { splitHtmlByMentions } from '../utils/split-html-by-mentions';\nimport { MentionChip } from './mention-chip';\n\nexport interface MentionContentProps<TResource extends string = string> {\n /** HTML body to render. */\n html: string;\n /** Mentions resolved on the data — keyed by `data-ref-id`. */\n mentions?: ReadonlyArray<Mention<TResource>>;\n /** Resource registry — pass at the call site. */\n resources?: MentionsConfig<TResource>['resources'];\n /** Custom per-mention renderer — overrides resource.renderChip. */\n renderMention?: (mention: Mention<TResource>) => ReactNode;\n /** Optional sanitizer applied to HTML before rendering. */\n sanitizer?: (html: string) => string;\n /** Outer wrapper class. Defaults to a tight prose surface. */\n className?: string;\n /**\n * Set to `false` to skip the default prose wrapper — useful when\n * embedding inside an existing typed surface (e.g. timeline rows).\n */\n prose?: boolean;\n}\n\nconst DEFAULT_PROSE_CLASS =\n 'prose prose-sm prose-p:my-0.5 prose-p:leading-relaxed prose-headings:my-1 prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-strong:font-semibold prose-ul:my-0.5 prose-ol:my-0.5 prose-li:my-0.5 max-w-none';\n\nexport function MentionContent<TResource extends string = string>(\n props: MentionContentProps<TResource>,\n): ReactNode {\n const {\n html,\n mentions,\n resources: resourcesProp,\n renderMention,\n sanitizer,\n className,\n prose = true,\n } = props;\n\n const resources = resourcesProp;\n\n const sanitized = sanitizer ? sanitizer(html ?? '') : (html ?? '');\n\n const mentionsById = new Map<string, Mention<TResource>>();\n for (const m of mentions ?? []) mentionsById.set(m.id, m);\n\n const hasMentions = mentionsById.size > 0;\n const segments = hasMentions\n ? splitHtmlByMentions(sanitized)\n : [{ kind: 'html' as const, value: sanitized }];\n\n const renderRef = (mention: Mention<TResource>): ReactNode => {\n if (renderMention) return renderMention(mention);\n const resource = resources?.[mention.kind] as\n | MentionResource<string>\n | undefined;\n return <MentionChip mention={mention} resource={resource} />;\n };\n\n const body = segments.map((segment, index) => {\n if (segment.kind === 'mention') {\n const mention = mentionsById.get(segment.refId);\n if (!mention) {\n return (\n <span\n key={`fallback-${index}`}\n dangerouslySetInnerHTML={{ __html: segment.fallback }}\n />\n );\n }\n return (\n <Fragment key={`ref-${index}-${segment.refId}`}>\n {renderRef(mention)}\n </Fragment>\n );\n }\n // Render the HTML segment directly. The lib's `Text asHTML` escapes\n // via a strict sanitiser — bypass it for trusted editor output.\n // Consumers must pass `sanitizer` for untrusted content.\n return (\n <span\n key={`html-${index}`}\n dangerouslySetInnerHTML={{ __html: segment.value }}\n />\n );\n });\n\n if (!prose) {\n return <>{body}</>;\n }\n\n return (\n <div className={cn('mention-content--component', DEFAULT_PROSE_CLASS, className)}>{body}</div>\n );\n}\n\n/** FC alias for callsites that prefer the `<MentionContent>` element form. */\nexport const MentionContentComponent: FC<MentionContentProps> = (props) => (\n <MentionContent {...props} />\n);\n","/**\n * Default user-facing strings for the `features/mentions` partials.\n *\n * Both `<MentionPicker>` and `<MentionInlineSuggestions>` consume their\n * respective slice; `<MentionInlineSuggestions>` is a strict subset.\n * Consumers wire backend i18n at the call site:\n *\n * <MentionPicker strings={{ empty: t('mentions.empty') }} … />\n */\n\nexport interface MentionPickerStrings {\n\ttitle: string;\n\tsearchPlaceholder: string;\n\tempty: string;\n\tloading: string;\n}\n\nexport const defaultMentionPickerStrings: MentionPickerStrings = {\n\ttitle: 'Insert reference',\n\tsearchPlaceholder: 'Search…',\n\tempty: 'No matches.',\n\tloading: 'Searching…',\n};\n\nexport interface MentionInlineSuggestionsStrings {\n\ttitle: string;\n\tempty: string;\n\tloading: string;\n}\n\nexport const defaultMentionInlineSuggestionsStrings: MentionInlineSuggestionsStrings = {\n\ttitle: 'Insert reference',\n\tempty: 'No matches.',\n\tloading: 'Searching…',\n};\n","/**\n * MentionPicker — popover content for the mention/reference picker.\n *\n * Pure UI: takes the state from `useMentions` (or any equivalent hook)\n * and renders kind tabs + a cmdk search list. Wrapped in `<Popover>` by\n * the consumer:\n *\n * <Popover open={mentions.pickerOpen} onOpenChange={mentions.setPickerOpen}>\n * <PopoverTrigger ... />\n * <MentionPicker ... />\n * </Popover>\n */\nimport { Loader2 } from 'lucide-react';\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/base/command';\nimport { Button } from '@/components/base/buttons';\nimport { PopoverContent } from '@/components/base/popover';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultMentionPickerStrings,\n type MentionPickerStrings,\n} from '../mentions.strings';\nimport type {\n MentionResource,\n MentionSuggestion,\n} from '../mentions.types';\n\nexport type { MentionPickerStrings };\n\nexport interface MentionPickerProps<TResource extends string = string> {\n open: boolean;\n activeKind: TResource | null;\n setActiveKind: (kind: TResource | null) => void;\n kinds: ReadonlyArray<TResource>;\n resources?: Partial<Record<TResource, MentionResource<TResource>>>;\n query: string;\n setQuery: (query: string) => void;\n suggestions: ReadonlyArray<MentionSuggestion<TResource>>;\n isLoading: boolean;\n onSelect: (suggestion: MentionSuggestion<TResource>) => void;\n strings?: StringsProp<MentionPickerStrings>;\n className?: string;\n}\n\nexport function MentionPicker<TResource extends string = string>({\n open,\n activeKind,\n setActiveKind,\n kinds,\n resources,\n query,\n setQuery,\n suggestions,\n isLoading,\n onSelect,\n strings: stringsProp,\n className,\n}: MentionPickerProps<TResource>) {\n const strings = useStrings(defaultMentionPickerStrings, stringsProp);\n if (!open) return null;\n\n return (\n <PopoverContent\n align=\"start\"\n className={cn('mention-picker--component', 'w-72 overflow-hidden p-0', className)}\n >\n <div className=\"border-b border-border/60 px-3 py-2\">\n <Text\n size=\"xxs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"uppercase tracking-wide\"\n >\n {strings.title}\n </Text>\n {kinds.length > 1 && (\n <div className=\"mt-2 flex flex-wrap gap-1\">\n {kinds.map((kind) => {\n const cfg = resources?.[kind];\n const Icon = cfg?.icon;\n const active = kind === activeKind;\n return (\n <Button\n key={kind}\n type=\"button\"\n variant={active ? 'primary' : 'secondary'}\n buttonStyle={active ? 'solid' : 'ghost'}\n size=\"small\"\n onClick={() => setActiveKind(kind)}\n className={cn(\n 'h-auto gap-1 rounded px-1.5 py-0.5 text-xxs font-medium ring-1 ring-inset transition-colors',\n active\n ? 'bg-primary text-primary-foreground ring-primary'\n : 'bg-muted text-muted-foreground ring-border/60 hover:bg-muted/80',\n )}\n >\n {Icon ? <Icon className=\"size-3\" /> : null}\n <span>{cfg?.label ?? String(kind)}</span>\n </Button>\n );\n })}\n </div>\n )}\n </div>\n\n <Command shouldFilter={false}>\n <CommandInput\n placeholder={strings.searchPlaceholder}\n value={query}\n onValueChange={setQuery}\n />\n <CommandList>\n {isLoading ? (\n <div className=\"text-muted-foreground flex items-center justify-center gap-2 py-3\">\n <Loader2 className=\"size-3.5 animate-spin\" aria-hidden />\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n ) : null}\n <CommandEmpty>{strings.empty}</CommandEmpty>\n <CommandGroup>\n {suggestions.map((suggestion) => {\n const kind = suggestion.kind ?? activeKind ?? '';\n return (\n <CommandItem\n key={`${kind}:${suggestion.id}`}\n value={`${kind}:${suggestion.id}`}\n onSelect={() => onSelect(suggestion)}\n >\n <div className=\"flex min-w-0 flex-1 flex-col leading-tight\">\n <Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"truncate\">\n {suggestion.label}\n </Text>\n {suggestion.description ? (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"mt-0.5 truncate\"\n >\n {suggestion.description}\n </Text>\n ) : null}\n </div>\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n );\n}\n","/**\n * MentionInlineSuggestions — non-focus-stealing suggestion list.\n *\n * Used in the *inline-trigger* flow (user typed `@` / `#` / …): the\n * editor stays focused while this panel renders below the surface and\n * updates live as the user keeps typing. No popover, no focus trap,\n * no CommandInput — the editor IS the input, we read the needle from\n * the caret context and stream results in.\n *\n * Position is \"anchored to a wrapping element\" — the consumer puts this\n * inside a `relative`-positioned wrapper around the editor and we\n * absolute-position ourselves below it.\n */\nimport { Loader2 } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultMentionInlineSuggestionsStrings,\n type MentionInlineSuggestionsStrings,\n} from '../mentions.strings';\nimport type {\n MentionResource,\n MentionSuggestion,\n} from '../mentions.types';\n\nexport type { MentionInlineSuggestionsStrings };\n\nexport interface MentionInlineSuggestionsProps<TResource extends string = string> {\n open: boolean;\n activeKind: TResource | null;\n setActiveKind: (kind: TResource | null) => void;\n kinds: ReadonlyArray<TResource>;\n resources?: Partial<Record<TResource, MentionResource<TResource>>>;\n /** Per-kind suggestion buckets — used to render result counts on tabs. */\n suggestionsByKind?: Readonly<Record<string, ReadonlyArray<MentionSuggestion<TResource>>>>;\n suggestions: ReadonlyArray<MentionSuggestion<TResource>>;\n isLoading: boolean;\n /** Live query the panel echoes in the header; the consumer owns the editor input. */\n query?: string;\n /**\n * Notifies the consumer that the user manually picked a tab, so it\n * can flip the `manualKindOverride` flag on `useMentionsSearch`.\n */\n onManualKindChange?: () => void;\n onSelect: (suggestion: MentionSuggestion<TResource>) => void;\n strings?: StringsProp<MentionInlineSuggestionsStrings>;\n className?: string;\n}\n\nexport function MentionInlineSuggestions<TResource extends string = string>({\n open,\n activeKind,\n setActiveKind,\n kinds,\n resources,\n suggestionsByKind,\n suggestions,\n isLoading,\n query,\n onManualKindChange,\n onSelect,\n strings: stringsProp,\n className,\n}: MentionInlineSuggestionsProps<TResource>) {\n const strings = useStrings(defaultMentionInlineSuggestionsStrings, stringsProp);\n if (!open) return null;\n\n return (\n <div\n // `mousedown.preventDefault` keeps focus in the editor when\n // the user clicks inside the panel — clicks still bubble to\n // the underlying button so selection works normally.\n onMouseDown={(e) => e.preventDefault()}\n className={cn(\n 'mention-inline-suggestions--component',\n 'bg-popover text-popover-foreground absolute left-0 top-full z-40 mt-1 w-80 max-w-[min(theme(spacing.96),100%)]',\n 'border-border/60 rounded-md border shadow-md ring-1 ring-foreground/[0.04]',\n 'overflow-hidden',\n className,\n )}\n >\n <div className=\"border-b border-border/60 px-3 py-2\">\n <div className=\"flex items-baseline justify-between gap-2\">\n <Text\n size=\"xxs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"uppercase tracking-wide\"\n >\n {strings.title}\n </Text>\n {query ? (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"truncate font-mono\"\n >\n “{query}”\n </Text>\n ) : null}\n </div>\n {kinds.length > 1 && (\n <div className=\"mt-2 flex flex-wrap gap-1\">\n {kinds.map((kind) => {\n const cfg = resources?.[kind];\n const Icon = cfg?.icon;\n const active = kind === activeKind;\n const count = suggestionsByKind?.[kind as string]?.length ?? 0;\n return (\n <Button\n key={kind}\n type=\"button\"\n variant={active ? 'primary' : 'secondary'}\n buttonStyle={active ? 'solid' : 'ghost'}\n size=\"small\"\n onClick={() => {\n setActiveKind(kind);\n onManualKindChange?.();\n }}\n className={cn(\n 'h-auto gap-1 rounded px-1.5 py-0.5 text-xxs font-medium ring-1 ring-inset transition-colors',\n active\n ? 'bg-primary text-primary-foreground ring-primary'\n : count > 0\n ? 'bg-muted text-foreground ring-border/60 hover:bg-muted/80'\n : 'bg-muted/40 text-muted-foreground ring-border/40 hover:bg-muted/60',\n )}\n >\n {Icon ? <Icon className=\"size-3\" /> : null}\n <span>{cfg?.label ?? String(kind)}</span>\n {count > 0 && (\n <span\n className={cn(\n 'tabular-nums',\n active ? 'opacity-90' : 'opacity-70',\n )}\n >\n {count}\n </span>\n )}\n </Button>\n );\n })}\n </div>\n )}\n </div>\n\n <div\n className=\"max-h-72 overflow-y-auto py-1\"\n {...(suggestions.length > 0\n ? { role: 'listbox', 'aria-label': strings.title }\n : {})}\n >\n {isLoading ? (\n <div className=\"text-muted-foreground flex items-center justify-center gap-2 py-3\">\n <Loader2 className=\"size-3.5 animate-spin\" aria-hidden />\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n ) : null}\n\n {!isLoading && suggestions.length === 0 ? (\n <div className=\"px-3 py-3\">\n <Text size=\"xs\" type=\"secondary\">\n {strings.empty}\n </Text>\n </div>\n ) : null}\n\n {suggestions.map((suggestion) => {\n const kind = suggestion.kind ?? activeKind ?? '';\n return (\n <Button\n key={`${kind}:${suggestion.id}`}\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"default\"\n role=\"option\"\n data-ref-id={`${kind}:${suggestion.id}`}\n onClick={() => onSelect(suggestion)}\n className={cn(\n 'h-auto w-full min-w-0 justify-start gap-2 rounded-none px-3 py-1.5 text-left',\n 'hover:bg-muted/60 focus-visible:bg-muted/60 transition-colors',\n )}\n >\n <div className=\"flex min-w-0 flex-1 flex-col leading-tight\">\n <Text\n tag=\"span\"\n size=\"xs\"\n weight=\"medium\"\n className=\"truncate\"\n >\n {suggestion.label}\n </Text>\n {suggestion.description ? (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"mt-0.5 truncate\"\n >\n {suggestion.description}\n </Text>\n ) : null}\n </div>\n </Button>\n );\n })}\n </div>\n </div>\n );\n}\n","/**\n * Walk an HTML string and extract `data-ref-id=\"kind:id\"` spans /\n * anchors as a list of `Mention` records. Used by the comment composer\n * to keep its `mentions` state in sync with what's actually present in\n * the editor — when the user backspaces a chip out of the body, the\n * draft's mentions list shrinks too.\n *\n * The output preserves first-occurrence order and deduplicates by id.\n * Caller can merge the resulting Mentions with previously known ones to\n * preserve `href` / `data` payloads that aren't expressible in HTML.\n */\nimport type { Mention } from '../mentions.types';\n\nconst REF_RE =\n /<(?:span|a)\\b[^>]*?data-ref-id\\s*=\\s*\"([^\"]+)\"[^>]*?>([\\s\\S]*?)<\\/(?:span|a)>/gi;\nconst KIND_ATTR_RE = /data-ref-kind\\s*=\\s*\"([^\"]+)\"/i;\n\nexport function parseMentionsFromHtml<TKind extends string = string>(\n html: string,\n): Array<Mention<TKind>> {\n const out: Mention<TKind>[] = [];\n if (!html) return out;\n\n const seen = new Set<string>();\n let match: RegExpExecArray | null;\n REF_RE.lastIndex = 0;\n\n while ((match = REF_RE.exec(html)) !== null) {\n const [tagText, id, inner] = match;\n if (seen.has(id)) continue;\n seen.add(id);\n\n const kindMatch = tagText.match(KIND_ATTR_RE);\n const kind = (kindMatch?.[1] ?? id.split(':')[0] ?? '') as TKind;\n const label = (inner ?? '')\n .replace(/<[^>]*>/g, '')\n .replace(/&nbsp;/g, ' ')\n .replace(/^[@#$&%!~]\\s*/, '')\n .trim();\n\n out.push({ id, kind, label });\n }\n\n return out;\n}\n"],"mappings":"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"}