@od-oneapp/uni-ui 2026.1.1301

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 (1253) hide show
  1. package/README.md +753 -0
  2. package/dist/actions-C-SEx2GS.mjs +180 -0
  3. package/dist/actions-C-SEx2GS.mjs.map +1 -0
  4. package/dist/actions-Ch7h6cYC.d.mts +50 -0
  5. package/dist/actions-Cnupw96c.d.mts +50 -0
  6. package/dist/alert-BVUF7Xzb.d.mts +22 -0
  7. package/dist/alert-BuPyEXF-.mjs +206 -0
  8. package/dist/alert-BuPyEXF-.mjs.map +1 -0
  9. package/dist/alert-CfjDnZpm.d.mts +22 -0
  10. package/dist/animated-size-container-DSKNt1Cn.mjs +106 -0
  11. package/dist/animated-size-container-DSKNt1Cn.mjs.map +1 -0
  12. package/dist/areas-CtE8w69A.mjs +144 -0
  13. package/dist/areas-CtE8w69A.mjs.map +1 -0
  14. package/dist/areas-DtGnjGuX.d.mts +22 -0
  15. package/dist/auth-nav-user-CRxDpY_7.d.mts +30 -0
  16. package/dist/auth-nav-user-DPFv8dTp.mjs +181 -0
  17. package/dist/auth-nav-user-DPFv8dTp.mjs.map +1 -0
  18. package/dist/avatar-DjiX7nT8.mjs +202 -0
  19. package/dist/avatar-DjiX7nT8.mjs.map +1 -0
  20. package/dist/badge-CGTN2VG0.d.mts +25 -0
  21. package/dist/badge-CVoIuyYX.mjs +242 -0
  22. package/dist/badge-CVoIuyYX.mjs.map +1 -0
  23. package/dist/badge-DH0tY3wJ.d.mts +25 -0
  24. package/dist/bars-CWTAPKgm.d.mts +20 -0
  25. package/dist/bars-DOLvecrq.mjs +125 -0
  26. package/dist/bars-DOLvecrq.mjs.map +1 -0
  27. package/dist/branch-BEl6eS77.mjs +323 -0
  28. package/dist/branch-BEl6eS77.mjs.map +1 -0
  29. package/dist/branch-BtdY_TLE.d.mts +58 -0
  30. package/dist/branch-Duq6cW0s.d.mts +58 -0
  31. package/dist/button-BAdq0gBE.d.mts +31 -0
  32. package/dist/button-DVOrrZLw.mjs +632 -0
  33. package/dist/button-DVOrrZLw.mjs.map +1 -0
  34. package/dist/button-DnjeAftr.d.mts +31 -0
  35. package/dist/carousel-D-J1Zgn1.d.mts +49 -0
  36. package/dist/carousel-Dx5AOW5k.mjs +345 -0
  37. package/dist/carousel-Dx5AOW5k.mjs.map +1 -0
  38. package/dist/carousel-sY0y1-or.d.mts +49 -0
  39. package/dist/chart-context-CLV35VLJ.mjs +27 -0
  40. package/dist/chart-context-CLV35VLJ.mjs.map +1 -0
  41. package/dist/checkbox-wiF-DV6q.mjs +194 -0
  42. package/dist/checkbox-wiF-DV6q.mjs.map +1 -0
  43. package/dist/code-block-Cg_XtPH7.mjs +243 -0
  44. package/dist/code-block-Cg_XtPH7.mjs.map +1 -0
  45. package/dist/collapsible-CRgTpRfr.d.mts +46 -0
  46. package/dist/collapsible-CXy4T04n.mjs +239 -0
  47. package/dist/collapsible-CXy4T04n.mjs.map +1 -0
  48. package/dist/combobox-DSrxSkSl.d.mts +79 -0
  49. package/dist/combobox-DYFh2eZf.d.mts +79 -0
  50. package/dist/combobox-uEKksQFR.mjs +410 -0
  51. package/dist/combobox-uEKksQFR.mjs.map +1 -0
  52. package/dist/command-xK3X_A9t.mjs +206 -0
  53. package/dist/command-xK3X_A9t.mjs.map +1 -0
  54. package/dist/components-ai-elements/actions/index.d.mts +5 -0
  55. package/dist/components-ai-elements/actions/index.mjs +4 -0
  56. package/dist/components-ai-elements/agent-step/index.d.mts +32 -0
  57. package/dist/components-ai-elements/agent-step/index.mjs +183 -0
  58. package/dist/components-ai-elements/agent-step/index.mjs.map +1 -0
  59. package/dist/components-ai-elements/artifact/index.d.mts +81 -0
  60. package/dist/components-ai-elements/artifact/index.mjs +153 -0
  61. package/dist/components-ai-elements/artifact/index.mjs.map +1 -0
  62. package/dist/components-ai-elements/branch/index.d.mts +5 -0
  63. package/dist/components-ai-elements/branch/index.mjs +4 -0
  64. package/dist/components-ai-elements/chain-of-thought/index.d.mts +90 -0
  65. package/dist/components-ai-elements/chain-of-thought/index.mjs +338 -0
  66. package/dist/components-ai-elements/chain-of-thought/index.mjs.map +1 -0
  67. package/dist/components-ai-elements/chat-input/index.d.mts +21 -0
  68. package/dist/components-ai-elements/chat-input/index.mjs +137 -0
  69. package/dist/components-ai-elements/chat-input/index.mjs.map +1 -0
  70. package/dist/components-ai-elements/checkpoint/index.d.mts +46 -0
  71. package/dist/components-ai-elements/checkpoint/index.mjs +161 -0
  72. package/dist/components-ai-elements/checkpoint/index.mjs.map +1 -0
  73. package/dist/components-ai-elements/code-block/index.d.mts +39 -0
  74. package/dist/components-ai-elements/code-block/index.mjs +4 -0
  75. package/dist/components-ai-elements/confirmation/index.d.mts +96 -0
  76. package/dist/components-ai-elements/confirmation/index.mjs +295 -0
  77. package/dist/components-ai-elements/confirmation/index.mjs.map +1 -0
  78. package/dist/components-ai-elements/context/index.d.mts +83 -0
  79. package/dist/components-ai-elements/context/index.mjs +456 -0
  80. package/dist/components-ai-elements/context/index.mjs.map +1 -0
  81. package/dist/components-ai-elements/conversation/index.d.mts +46 -0
  82. package/dist/components-ai-elements/conversation/index.mjs +180 -0
  83. package/dist/components-ai-elements/conversation/index.mjs.map +1 -0
  84. package/dist/components-ai-elements/custom/index.d.mts +1142 -0
  85. package/dist/components-ai-elements/custom/index.mjs +5578 -0
  86. package/dist/components-ai-elements/custom/index.mjs.map +1 -0
  87. package/dist/components-ai-elements/generative-ui/index.d.mts +4 -0
  88. package/dist/components-ai-elements/generative-ui/index.mjs +4 -0
  89. package/dist/components-ai-elements/image/index.d.mts +20 -0
  90. package/dist/components-ai-elements/image/index.mjs +121 -0
  91. package/dist/components-ai-elements/image/index.mjs.map +1 -0
  92. package/dist/components-ai-elements/inline-citation/index.d.mts +94 -0
  93. package/dist/components-ai-elements/inline-citation/index.mjs +371 -0
  94. package/dist/components-ai-elements/inline-citation/index.mjs.map +1 -0
  95. package/dist/components-ai-elements/loader/index.d.mts +24 -0
  96. package/dist/components-ai-elements/loader/index.mjs +4 -0
  97. package/dist/components-ai-elements/message/index.d.mts +153 -0
  98. package/dist/components-ai-elements/message/index.mjs +597 -0
  99. package/dist/components-ai-elements/message/index.mjs.map +1 -0
  100. package/dist/components-ai-elements/model-selector/index.d.mts +72 -0
  101. package/dist/components-ai-elements/model-selector/index.mjs +224 -0
  102. package/dist/components-ai-elements/model-selector/index.mjs.map +1 -0
  103. package/dist/components-ai-elements/open-in-chat/index.d.mts +64 -0
  104. package/dist/components-ai-elements/open-in-chat/index.mjs +502 -0
  105. package/dist/components-ai-elements/open-in-chat/index.mjs.map +1 -0
  106. package/dist/components-ai-elements/plan/index.d.mts +71 -0
  107. package/dist/components-ai-elements/plan/index.mjs +219 -0
  108. package/dist/components-ai-elements/plan/index.mjs.map +1 -0
  109. package/dist/components-ai-elements/prompt-char-counter/index.d.mts +19 -0
  110. package/dist/components-ai-elements/prompt-char-counter/index.mjs +116 -0
  111. package/dist/components-ai-elements/prompt-char-counter/index.mjs.map +1 -0
  112. package/dist/components-ai-elements/prompt-input/index.d.mts +386 -0
  113. package/dist/components-ai-elements/prompt-input/index.mjs +4 -0
  114. package/dist/components-ai-elements/queue/index.d.mts +121 -0
  115. package/dist/components-ai-elements/queue/index.mjs +284 -0
  116. package/dist/components-ai-elements/queue/index.mjs.map +1 -0
  117. package/dist/components-ai-elements/reasoning/index.d.mts +42 -0
  118. package/dist/components-ai-elements/reasoning/index.mjs +241 -0
  119. package/dist/components-ai-elements/reasoning/index.mjs.map +1 -0
  120. package/dist/components-ai-elements/shimmer/index.d.mts +23 -0
  121. package/dist/components-ai-elements/shimmer/index.mjs +4 -0
  122. package/dist/components-ai-elements/sources/index.d.mts +56 -0
  123. package/dist/components-ai-elements/sources/index.mjs +211 -0
  124. package/dist/components-ai-elements/sources/index.mjs.map +1 -0
  125. package/dist/components-ai-elements/suggestion/index.d.mts +40 -0
  126. package/dist/components-ai-elements/suggestion/index.mjs +145 -0
  127. package/dist/components-ai-elements/suggestion/index.mjs.map +1 -0
  128. package/dist/components-ai-elements/task/index.d.mts +70 -0
  129. package/dist/components-ai-elements/task/index.mjs +218 -0
  130. package/dist/components-ai-elements/task/index.mjs.map +1 -0
  131. package/dist/components-ai-elements/tool/index.d.mts +78 -0
  132. package/dist/components-ai-elements/tool/index.mjs +370 -0
  133. package/dist/components-ai-elements/tool/index.mjs.map +1 -0
  134. package/dist/components-ai-elements/tool-approval/index.d.mts +20 -0
  135. package/dist/components-ai-elements/tool-approval/index.mjs +252 -0
  136. package/dist/components-ai-elements/tool-approval/index.mjs.map +1 -0
  137. package/dist/components-ai-elements/web-preview/index.d.mts +136 -0
  138. package/dist/components-ai-elements/web-preview/index.mjs +773 -0
  139. package/dist/components-ai-elements/web-preview/index.mjs.map +1 -0
  140. package/dist/components-ai-elements-constants.d.mts +207 -0
  141. package/dist/components-ai-elements-constants.mjs +301 -0
  142. package/dist/components-ai-elements-constants.mjs.map +1 -0
  143. package/dist/components-ai-workflows/canvas/index.d.mts +22 -0
  144. package/dist/components-ai-workflows/canvas/index.mjs +135 -0
  145. package/dist/components-ai-workflows/canvas/index.mjs.map +1 -0
  146. package/dist/components-ai-workflows/connection/index.d.mts +22 -0
  147. package/dist/components-ai-workflows/connection/index.mjs +4 -0
  148. package/dist/components-ai-workflows/controls/index.d.mts +14 -0
  149. package/dist/components-ai-workflows/controls/index.mjs +89 -0
  150. package/dist/components-ai-workflows/controls/index.mjs.map +1 -0
  151. package/dist/components-ai-workflows/edge/index.d.mts +20 -0
  152. package/dist/components-ai-workflows/edge/index.mjs +102 -0
  153. package/dist/components-ai-workflows/edge/index.mjs.map +1 -0
  154. package/dist/components-ai-workflows/node/index.d.mts +3 -0
  155. package/dist/components-ai-workflows/node/index.mjs +4 -0
  156. package/dist/components-ai-workflows/panel/index.d.mts +15 -0
  157. package/dist/components-ai-workflows/panel/index.mjs +89 -0
  158. package/dist/components-ai-workflows/panel/index.mjs.map +1 -0
  159. package/dist/components-ai-workflows/resizable-node/index.d.mts +30 -0
  160. package/dist/components-ai-workflows/resizable-node/index.mjs +164 -0
  161. package/dist/components-ai-workflows/resizable-node/index.mjs.map +1 -0
  162. package/dist/components-ai-workflows/toolbar/index.d.mts +19 -0
  163. package/dist/components-ai-workflows/toolbar/index.mjs +91 -0
  164. package/dist/components-ai-workflows/toolbar/index.mjs.map +1 -0
  165. package/dist/components-auth-client-nav-user.d.mts +3 -0
  166. package/dist/components-auth-client-nav-user.mjs +4 -0
  167. package/dist/components-auth-client-providers.d.mts +13 -0
  168. package/dist/components-auth-client-providers.mjs +89 -0
  169. package/dist/components-auth-client-providers.mjs.map +1 -0
  170. package/dist/components-auth-client.d.mts +5 -0
  171. package/dist/components-auth-client.mjs +5 -0
  172. package/dist/components-auth-server.d.mts +1878 -0
  173. package/dist/components-auth-server.mjs +32769 -0
  174. package/dist/components-auth-server.mjs.map +1 -0
  175. package/dist/components-auth.d.mts +5 -0
  176. package/dist/components-auth.mjs +5 -0
  177. package/dist/components-charts/areas/index.d.mts +3 -0
  178. package/dist/components-charts/areas/index.mjs +4 -0
  179. package/dist/components-charts/bars/index.d.mts +3 -0
  180. package/dist/components-charts/bars/index.mjs +4 -0
  181. package/dist/components-charts/funnel-chart/index.d.mts +3 -0
  182. package/dist/components-charts/funnel-chart/index.mjs +4 -0
  183. package/dist/components-charts/mini-area-chart/index.d.mts +3 -0
  184. package/dist/components-charts/mini-area-chart/index.mjs +4 -0
  185. package/dist/components-charts/time-series-chart/index.d.mts +3 -0
  186. package/dist/components-charts/time-series-chart/index.mjs +4 -0
  187. package/dist/components-charts/tooltip-sync/index.d.mts +3 -0
  188. package/dist/components-charts/tooltip-sync/index.mjs +4 -0
  189. package/dist/components-charts/x-axis/index.d.mts +3 -0
  190. package/dist/components-charts/x-axis/index.mjs +4 -0
  191. package/dist/components-charts/y-axis/index.d.mts +3 -0
  192. package/dist/components-charts/y-axis/index.mjs +4 -0
  193. package/dist/components-elements-accordion.d.mts +59 -0
  194. package/dist/components-elements-accordion.mjs +275 -0
  195. package/dist/components-elements-accordion.mjs.map +1 -0
  196. package/dist/components-elements-alert.d.mts +3 -0
  197. package/dist/components-elements-alert.mjs +4 -0
  198. package/dist/components-elements-avatar.d.mts +24 -0
  199. package/dist/components-elements-avatar.mjs +4 -0
  200. package/dist/components-elements-badge.d.mts +4 -0
  201. package/dist/components-elements-badge.mjs +4 -0
  202. package/dist/components-elements-button.d.mts +4 -0
  203. package/dist/components-elements-button.mjs +4 -0
  204. package/dist/components-elements-card.d.mts +3 -0
  205. package/dist/components-elements-card.mjs +4 -0
  206. package/dist/components-elements-carousel.d.mts +5 -0
  207. package/dist/components-elements-carousel.mjs +4 -0
  208. package/dist/components-elements-chart.d.mts +24 -0
  209. package/dist/components-elements-chart.mjs +226 -0
  210. package/dist/components-elements-chart.mjs.map +1 -0
  211. package/dist/components-elements-collapsible.d.mts +3 -0
  212. package/dist/components-elements-collapsible.mjs +4 -0
  213. package/dist/components-elements-dialog.d.mts +3 -0
  214. package/dist/components-elements-dialog.mjs +4 -0
  215. package/dist/components-elements-dropdown-menu.d.mts +3 -0
  216. package/dist/components-elements-dropdown-menu.mjs +4 -0
  217. package/dist/components-elements-dynamic-breadcrumb.d.mts +16 -0
  218. package/dist/components-elements-dynamic-breadcrumb.mjs +4 -0
  219. package/dist/components-elements-empty.d.mts +18 -0
  220. package/dist/components-elements-empty.mjs +199 -0
  221. package/dist/components-elements-empty.mjs.map +1 -0
  222. package/dist/components-elements-hover-card.d.mts +3 -0
  223. package/dist/components-elements-hover-card.mjs +4 -0
  224. package/dist/components-elements-loading-dots.d.mts +3 -0
  225. package/dist/components-elements-loading-dots.mjs +4 -0
  226. package/dist/components-elements-pagination-controls.d.mts +28 -0
  227. package/dist/components-elements-pagination-controls.mjs +4 -0
  228. package/dist/components-elements-progress.d.mts +28 -0
  229. package/dist/components-elements-progress.mjs +4 -0
  230. package/dist/components-elements-resizable.d.mts +31 -0
  231. package/dist/components-elements-resizable.mjs +4 -0
  232. package/dist/components-elements-scroll-area.d.mts +3 -0
  233. package/dist/components-elements-scroll-area.mjs +4 -0
  234. package/dist/components-elements-separator.d.mts +3 -0
  235. package/dist/components-elements-separator.mjs +4 -0
  236. package/dist/components-elements-skeleton.d.mts +3 -0
  237. package/dist/components-elements-skeleton.mjs +4 -0
  238. package/dist/components-elements-status-badge.d.mts +22 -0
  239. package/dist/components-elements-status-badge.mjs +174 -0
  240. package/dist/components-elements-status-badge.mjs.map +1 -0
  241. package/dist/components-elements-table.d.mts +44 -0
  242. package/dist/components-elements-table.mjs +4 -0
  243. package/dist/components-elements-tabs.d.mts +43 -0
  244. package/dist/components-elements-tabs.mjs +435 -0
  245. package/dist/components-elements-tabs.mjs.map +1 -0
  246. package/dist/components-elements-tooltip.d.mts +3 -0
  247. package/dist/components-elements-tooltip.mjs +4 -0
  248. package/dist/components-filter/filter-list/index.d.mts +4 -0
  249. package/dist/components-filter/filter-list/index.mjs +4 -0
  250. package/dist/components-filter/filter-select/index.d.mts +4 -0
  251. package/dist/components-filter/filter-select/index.mjs +4 -0
  252. package/dist/components-forms/checkbox/index.d.mts +27 -0
  253. package/dist/components-forms/checkbox/index.mjs +4 -0
  254. package/dist/components-forms/combobox/index.d.mts +5 -0
  255. package/dist/components-forms/combobox/index.mjs +4 -0
  256. package/dist/components-forms/date-picker/index.d.mts +3 -0
  257. package/dist/components-forms/date-picker/index.mjs +4 -0
  258. package/dist/components-forms/file-upload/index.d.mts +49 -0
  259. package/dist/components-forms/file-upload/index.mjs +323 -0
  260. package/dist/components-forms/file-upload/index.mjs.map +1 -0
  261. package/dist/components-forms/input/index.d.mts +3 -0
  262. package/dist/components-forms/input/index.mjs +4 -0
  263. package/dist/components-forms/input-group/index.d.mts +5 -0
  264. package/dist/components-forms/input-group/index.mjs +4 -0
  265. package/dist/components-forms/label/index.d.mts +23 -0
  266. package/dist/components-forms/label/index.mjs +4 -0
  267. package/dist/components-forms/radio-group/index.d.mts +29 -0
  268. package/dist/components-forms/radio-group/index.mjs +215 -0
  269. package/dist/components-forms/radio-group/index.mjs.map +1 -0
  270. package/dist/components-forms/select/index.d.mts +3 -0
  271. package/dist/components-forms/select/index.mjs +4 -0
  272. package/dist/components-forms/switch/index.d.mts +30 -0
  273. package/dist/components-forms/switch/index.mjs +4 -0
  274. package/dist/components-forms/textarea/index.d.mts +19 -0
  275. package/dist/components-forms/textarea/index.mjs +4 -0
  276. package/dist/components-layout/app-sidebar/index.d.mts +47 -0
  277. package/dist/components-layout/app-sidebar/index.mjs +340 -0
  278. package/dist/components-layout/app-sidebar/index.mjs.map +1 -0
  279. package/dist/components-layout/artifact-panel/index.d.mts +3 -0
  280. package/dist/components-layout/artifact-panel/index.mjs +4 -0
  281. package/dist/components-layout/content-sidebar/index.d.mts +89 -0
  282. package/dist/components-layout/content-sidebar/index.mjs +202 -0
  283. package/dist/components-layout/content-sidebar/index.mjs.map +1 -0
  284. package/dist/components-layout/nav-app-switcher/index.d.mts +3 -0
  285. package/dist/components-layout/nav-app-switcher/index.mjs +4 -0
  286. package/dist/components-layout/nav-main/index.d.mts +30 -0
  287. package/dist/components-layout/nav-main/index.mjs +4 -0
  288. package/dist/components-layout/nav-projects/index.d.mts +18 -0
  289. package/dist/components-layout/nav-projects/index.mjs +153 -0
  290. package/dist/components-layout/nav-projects/index.mjs.map +1 -0
  291. package/dist/components-layout/nav-secondary/index.d.mts +31 -0
  292. package/dist/components-layout/nav-secondary/index.mjs +4 -0
  293. package/dist/components-layout/nav-user/index.d.mts +17 -0
  294. package/dist/components-layout/nav-user/index.mjs +4 -0
  295. package/dist/components-layout/oneapp/index.mjs +4 -0
  296. package/dist/components-layout/sidebar/index.d.mts +8 -0
  297. package/dist/components-layout/sidebar/index.mjs +4 -0
  298. package/dist/components-layout/sidebar-inset-header-portal/index.d.mts +3 -0
  299. package/dist/components-layout/sidebar-inset-header-portal/index.mjs +4 -0
  300. package/dist/components-layout/sidebar-slots/index.d.mts +3 -0
  301. package/dist/components-layout/sidebar-slots/index.mjs +4 -0
  302. package/dist/components-layout/theme-provider/index.d.mts +15 -0
  303. package/dist/components-layout/theme-provider/index.mjs +4 -0
  304. package/dist/components-layout-app-shell.d.mts +83 -0
  305. package/dist/components-layout-app-shell.mjs +185 -0
  306. package/dist/components-layout-app-shell.mjs.map +1 -0
  307. package/dist/components-layout-oneapp.d.mts +84 -0
  308. package/dist/components-layout-oneapp.mjs +4 -0
  309. package/dist/components-overlays-confirm-dialog.d.mts +38 -0
  310. package/dist/components-overlays-confirm-dialog.mjs +145 -0
  311. package/dist/components-overlays-confirm-dialog.mjs.map +1 -0
  312. package/dist/components-overlays-toast.d.mts +16 -0
  313. package/dist/components-overlays-toast.mjs +127 -0
  314. package/dist/components-overlays-toast.mjs.map +1 -0
  315. package/dist/connection-D_kWZtAX.mjs +105 -0
  316. package/dist/connection-D_kWZtAX.mjs.map +1 -0
  317. package/dist/dark-mode-B4L-MZr7.mjs +288 -0
  318. package/dist/dark-mode-B4L-MZr7.mjs.map +1 -0
  319. package/dist/dark-mode-CYb7lJ6G.d.mts +191 -0
  320. package/dist/date-range-picker-CdemRFs_.mjs +676 -0
  321. package/dist/date-range-picker-CdemRFs_.mjs.map +1 -0
  322. package/dist/dialog-Di5QhIga.d.mts +31 -0
  323. package/dist/dialog-DuluSpxA.mjs +293 -0
  324. package/dist/dialog-DuluSpxA.mjs.map +1 -0
  325. package/dist/dropdown-menu-91g1g_Cl.mjs +379 -0
  326. package/dist/dropdown-menu-91g1g_Cl.mjs.map +1 -0
  327. package/dist/dropdown-menu-CwRZCnNs.d.mts +91 -0
  328. package/dist/dynamic-breadcrumb-33t_hdEI.mjs +385 -0
  329. package/dist/dynamic-breadcrumb-33t_hdEI.mjs.map +1 -0
  330. package/dist/error-boundary-Ggc5btkU.mjs +297 -0
  331. package/dist/error-boundary-Ggc5btkU.mjs.map +1 -0
  332. package/dist/filter-list-BMT7Nrli.d.mts +27 -0
  333. package/dist/filter-list-B_9aV5Lp.mjs +279 -0
  334. package/dist/filter-list-B_9aV5Lp.mjs.map +1 -0
  335. package/dist/filter-select-COLb1S5z.d.mts +34 -0
  336. package/dist/filter-select-CYfBhJ_E.mjs +341 -0
  337. package/dist/filter-select-CYfBhJ_E.mjs.map +1 -0
  338. package/dist/fonts.d.mts +22 -0
  339. package/dist/fonts.mjs +104 -0
  340. package/dist/fonts.mjs.map +1 -0
  341. package/dist/funnel-chart-CUpUr1pl.d.mts +22 -0
  342. package/dist/funnel-chart-fdwagDvc.mjs +318 -0
  343. package/dist/funnel-chart-fdwagDvc.mjs.map +1 -0
  344. package/dist/generative-ui-renderer-D0ZgNRZF.mjs +484 -0
  345. package/dist/generative-ui-renderer-D0ZgNRZF.mjs.map +1 -0
  346. package/dist/generative-ui-renderer-D69qYK0D.d.mts +32 -0
  347. package/dist/hooks/index.d.mts +5 -0
  348. package/dist/hooks/index.mjs +6 -0
  349. package/dist/hooks/use-mobile.d.mts +6 -0
  350. package/dist/hooks/use-mobile.mjs +45 -0
  351. package/dist/hooks/use-mobile.mjs.map +1 -0
  352. package/dist/hooks/use-responsive.d.mts +13 -0
  353. package/dist/hooks/use-responsive.mjs +50 -0
  354. package/dist/hooks/use-responsive.mjs.map +1 -0
  355. package/dist/hooks/use-scroll-progress.d.mts +17 -0
  356. package/dist/hooks/use-scroll-progress.mjs +62 -0
  357. package/dist/hooks/use-scroll-progress.mjs.map +1 -0
  358. package/dist/hooks/use-toast.d.mts +21 -0
  359. package/dist/hooks/use-toast.mjs +40 -0
  360. package/dist/hooks/use-toast.mjs.map +1 -0
  361. package/dist/hover-card-BqEpbXMp.d.mts +31 -0
  362. package/dist/hover-card-nn4fjJOh.mjs +161 -0
  363. package/dist/hover-card-nn4fjJOh.mjs.map +1 -0
  364. package/dist/index-AwyfWaOP.d.mts +60 -0
  365. package/dist/index.d.mts +503 -0
  366. package/dist/index.mjs +2158 -0
  367. package/dist/index.mjs.map +1 -0
  368. package/dist/input-CT1C9DMs.d.mts +19 -0
  369. package/dist/input-D0T5jbR6.d.mts +19 -0
  370. package/dist/input-DhpkXN3J.mjs +176 -0
  371. package/dist/input-DhpkXN3J.mjs.map +1 -0
  372. package/dist/input-group-CTBpkGI9.mjs +231 -0
  373. package/dist/input-group-CTBpkGI9.mjs.map +1 -0
  374. package/dist/input-group-DcDPUaQ3.d.mts +20 -0
  375. package/dist/input-group-VSZJM_on.d.mts +20 -0
  376. package/dist/integrations-COjiOhkd.d.mts +60 -0
  377. package/dist/integrations-Doz6nfxm.d.mts +60 -0
  378. package/dist/integrations-lBG309ZD.mjs +471 -0
  379. package/dist/integrations-lBG309ZD.mjs.map +1 -0
  380. package/dist/label-DnUThLUR.mjs +148 -0
  381. package/dist/label-DnUThLUR.mjs.map +1 -0
  382. package/dist/lib/export-csv.d.mts +12 -0
  383. package/dist/lib/export-csv.mjs +63 -0
  384. package/dist/lib/export-csv.mjs.map +1 -0
  385. package/dist/lib/index.d.mts +6 -0
  386. package/dist/lib/index.mjs +7 -0
  387. package/dist/lib/resize-image.d.mts +11 -0
  388. package/dist/lib/resize-image.mjs +66 -0
  389. package/dist/lib/resize-image.mjs.map +1 -0
  390. package/dist/lib/stable-sort.d.mts +6 -0
  391. package/dist/lib/stable-sort.mjs +33 -0
  392. package/dist/lib/stable-sort.mjs.map +1 -0
  393. package/dist/lib/utils.d.mts +8 -0
  394. package/dist/lib/utils.mjs +4 -0
  395. package/dist/lib-utils.mjs +4 -0
  396. package/dist/loader-B2SF0yPJ.mjs +168 -0
  397. package/dist/loader-B2SF0yPJ.mjs.map +1 -0
  398. package/dist/loading-dots-DJfxDgv3.mjs +119 -0
  399. package/dist/loading-dots-DJfxDgv3.mjs.map +1 -0
  400. package/dist/loading-dots-DvR1lwC-.d.mts +11 -0
  401. package/dist/mini-area-chart-GIUU-ZLo.d.mts +30 -0
  402. package/dist/mini-area-chart-s5ItHBk8.mjs +225 -0
  403. package/dist/mini-area-chart-s5ItHBk8.mjs.map +1 -0
  404. package/dist/motion-DLlwbMJ0.d.mts +33 -0
  405. package/dist/motion-zelaDelJ.mjs +47 -0
  406. package/dist/motion-zelaDelJ.mjs.map +1 -0
  407. package/dist/nav-app-switcher-B1NTlYrm.d.mts +43 -0
  408. package/dist/nav-app-switcher-V7aJAC18.mjs +235 -0
  409. package/dist/nav-app-switcher-V7aJAC18.mjs.map +1 -0
  410. package/dist/nav-main-BscfzNoi.mjs +105 -0
  411. package/dist/nav-main-BscfzNoi.mjs.map +1 -0
  412. package/dist/nav-secondary-t-xeA0I4.mjs +51 -0
  413. package/dist/nav-secondary-t-xeA0I4.mjs.map +1 -0
  414. package/dist/nav-user-A4YHm3-O.mjs +193 -0
  415. package/dist/nav-user-A4YHm3-O.mjs.map +1 -0
  416. package/dist/node-BKXOPjw9.d.mts +100 -0
  417. package/dist/node-CdmDD4k-.mjs +116 -0
  418. package/dist/node-CdmDD4k-.mjs.map +1 -0
  419. package/dist/oneapp-CfwhNatF.mjs +322 -0
  420. package/dist/oneapp-CfwhNatF.mjs.map +1 -0
  421. package/dist/pagination-controls-CE3-eCxI.mjs +135 -0
  422. package/dist/pagination-controls-CE3-eCxI.mjs.map +1 -0
  423. package/dist/popover-DmWxl2lW.mjs +198 -0
  424. package/dist/popover-DmWxl2lW.mjs.map +1 -0
  425. package/dist/preview.d.mts +6 -0
  426. package/dist/progress-BWxdthl4.mjs +230 -0
  427. package/dist/progress-BWxdthl4.mjs.map +1 -0
  428. package/dist/prompt-input-SFJ9_lNw.mjs +1149 -0
  429. package/dist/prompt-input-SFJ9_lNw.mjs.map +1 -0
  430. package/dist/resizable--DaTse0W.mjs +124 -0
  431. package/dist/resizable--DaTse0W.mjs.map +1 -0
  432. package/dist/scroll-area-Bxi-Edjc.mjs +139 -0
  433. package/dist/scroll-area-Bxi-Edjc.mjs.map +1 -0
  434. package/dist/scroll-area-CDRGG59G.d.mts +19 -0
  435. package/dist/select-DI6PzHN3.mjs +411 -0
  436. package/dist/select-DI6PzHN3.mjs.map +1 -0
  437. package/dist/select-csqviwUw.d.mts +44 -0
  438. package/dist/separator-BG9BqZqg.d.mts +20 -0
  439. package/dist/separator-CNQqqwfO.d.mts +20 -0
  440. package/dist/separator-veJJBul5.mjs +118 -0
  441. package/dist/separator-veJJBul5.mjs.map +1 -0
  442. package/dist/shared-BqVcofZN.d.mts +91 -0
  443. package/dist/shared-auth.d.mts +5 -0
  444. package/dist/shared-auth.mjs +6 -0
  445. package/dist/shimmer-BLRAD4VL.mjs +102 -0
  446. package/dist/shimmer-BLRAD4VL.mjs.map +1 -0
  447. package/dist/sidebar-CPteoqnB.d.mts +163 -0
  448. package/dist/sidebar-CdWE7H3R.mjs +814 -0
  449. package/dist/sidebar-CdWE7H3R.mjs.map +1 -0
  450. package/dist/sidebar-DYgXCHqQ.d.mts +163 -0
  451. package/dist/sidebar-inset-header-portal-CIRN-lKw.mjs +153 -0
  452. package/dist/sidebar-inset-header-portal-CIRN-lKw.mjs.map +1 -0
  453. package/dist/sidebar-inset-header-portal-DjfK7xCt.d.mts +24 -0
  454. package/dist/sidebar-slots-DNCEnx5L.mjs +135 -0
  455. package/dist/sidebar-slots-DNCEnx5L.mjs.map +1 -0
  456. package/dist/sidebar-slots-OqNmzlIk.d.mts +47 -0
  457. package/dist/skeleton-ByXUFNDF.d.mts +35 -0
  458. package/dist/skeleton-aXwA3YID.mjs +211 -0
  459. package/dist/skeleton-aXwA3YID.mjs.map +1 -0
  460. package/dist/sources.css +16 -0
  461. package/dist/storybook-preview.mjs +184 -0
  462. package/dist/storybook-preview.mjs.map +1 -0
  463. package/dist/styles/colors.css +166 -0
  464. package/dist/styles/index.css +2 -0
  465. package/dist/styles/mantine.css +1024 -0
  466. package/dist/styles/spacing.css +62 -0
  467. package/dist/styles/theme.css +1687 -0
  468. package/dist/styles/typography.css +59 -0
  469. package/dist/styles/variables.css +998 -0
  470. package/dist/styles.css +1 -0
  471. package/dist/switch-BFct1r4a.mjs +223 -0
  472. package/dist/switch-BFct1r4a.mjs.map +1 -0
  473. package/dist/table-DNkLM1TB.mjs +261 -0
  474. package/dist/table-DNkLM1TB.mjs.map +1 -0
  475. package/dist/textarea-MpLFc9sB.mjs +173 -0
  476. package/dist/textarea-MpLFc9sB.mjs.map +1 -0
  477. package/dist/theme-provider-4D34sBmG.mjs +83 -0
  478. package/dist/theme-provider-4D34sBmG.mjs.map +1 -0
  479. package/dist/time-series-chart-B66xH88w.d.mts +69 -0
  480. package/dist/time-series-chart-DxnknDhW.mjs +400 -0
  481. package/dist/time-series-chart-DxnknDhW.mjs.map +1 -0
  482. package/dist/tokens/tokens.dtcg.json +4353 -0
  483. package/dist/tokens/tokens.json +895 -0
  484. package/dist/tokens-mantine-types.d.mts +3 -0
  485. package/dist/tokens-mantine-types.mjs +4 -0
  486. package/dist/tokens.css +2 -0
  487. package/dist/tokens.d.mts +9398 -0
  488. package/dist/tokens.mjs +9311 -0
  489. package/dist/tokens.mjs.map +1 -0
  490. package/dist/tooltip-B8_zKnHC.mjs +301 -0
  491. package/dist/tooltip-B8_zKnHC.mjs.map +1 -0
  492. package/dist/tooltip-BA27ygge.d.mts +44 -0
  493. package/dist/tooltip-FqB3srL-.d.mts +44 -0
  494. package/dist/tooltip-sync-Ax1GmpjC.d.mts +17 -0
  495. package/dist/tooltip-sync-DzJUgiTM.mjs +85 -0
  496. package/dist/tooltip-sync-DzJUgiTM.mjs.map +1 -0
  497. package/dist/types-B8z57DW2.d.mts +41 -0
  498. package/dist/use-artifact-panel-state-CUQTn2Uq.mjs +346 -0
  499. package/dist/use-artifact-panel-state-CUQTn2Uq.mjs.map +1 -0
  500. package/dist/use-artifact-panel-state-DPZC--sz.d.mts +150 -0
  501. package/dist/utils-BJGrUJ6T.mjs +77 -0
  502. package/dist/utils-BJGrUJ6T.mjs.map +1 -0
  503. package/dist/utils-D2bGp2p_.mjs +33 -0
  504. package/dist/utils-D2bGp2p_.mjs.map +1 -0
  505. package/dist/x-axis-BY00htJY.mjs +137 -0
  506. package/dist/x-axis-BY00htJY.mjs.map +1 -0
  507. package/dist/x-axis-Dh66iD8l.d.mts +21 -0
  508. package/dist/y-axis-DgHlVHRG.mjs +118 -0
  509. package/dist/y-axis-DgHlVHRG.mjs.map +1 -0
  510. package/dist/y-axis-DocBbrSp.d.mts +23 -0
  511. package/dist/z-index-BlBlZL-F.d.mts +10775 -0
  512. package/package.json +429 -0
  513. package/src/ai-oneapp/flow-chat/index.ts +3 -0
  514. package/src/ai-oneapp/flow-chat/node-suggestion-card.tsx +37 -0
  515. package/src/ai-oneapp/flow-chat/template-suggestion-card.tsx +49 -0
  516. package/src/ai-oneapp/flow-chat/workflow-action-toast.tsx +55 -0
  517. package/src/components/.gitkeep +0 -0
  518. package/src/components/ai-elements/__tests__/test-utils.tsx +12 -0
  519. package/src/components/ai-elements/actions/actions.stories.tsx +288 -0
  520. package/src/components/ai-elements/actions/actions.test.tsx +60 -0
  521. package/src/components/ai-elements/actions/actions.tsx +286 -0
  522. package/src/components/ai-elements/actions/index.ts +7 -0
  523. package/src/components/ai-elements/agent-step/agent-step.stories.tsx +167 -0
  524. package/src/components/ai-elements/agent-step/agent-step.tsx +206 -0
  525. package/src/components/ai-elements/agent-step/index.ts +7 -0
  526. package/src/components/ai-elements/ai-elements.constants.ts +516 -0
  527. package/src/components/ai-elements/artifact/artifact.stories.tsx +199 -0
  528. package/src/components/ai-elements/artifact/artifact.tsx +277 -0
  529. package/src/components/ai-elements/artifact/index.ts +7 -0
  530. package/src/components/ai-elements/branch/branch.stories.tsx +212 -0
  531. package/src/components/ai-elements/branch/branch.test.tsx +148 -0
  532. package/src/components/ai-elements/branch/branch.tsx +502 -0
  533. package/src/components/ai-elements/branch/index.ts +7 -0
  534. package/src/components/ai-elements/chain-of-thought/chain-of-thought.stories.tsx +172 -0
  535. package/src/components/ai-elements/chain-of-thought/chain-of-thought.tsx +505 -0
  536. package/src/components/ai-elements/chain-of-thought/index.ts +7 -0
  537. package/src/components/ai-elements/chat-input/chat-input.stories.tsx +185 -0
  538. package/src/components/ai-elements/chat-input/chat-input.tsx +201 -0
  539. package/src/components/ai-elements/chat-input/index.ts +7 -0
  540. package/src/components/ai-elements/checkpoint/checkpoint.stories.tsx +171 -0
  541. package/src/components/ai-elements/checkpoint/checkpoint.tsx +256 -0
  542. package/src/components/ai-elements/checkpoint/index.ts +7 -0
  543. package/src/components/ai-elements/code-block/code-block.stories.tsx +317 -0
  544. package/src/components/ai-elements/code-block/code-block.tsx +366 -0
  545. package/src/components/ai-elements/code-block/index.ts +7 -0
  546. package/src/components/ai-elements/confirmation/confirmation.stories.tsx +236 -0
  547. package/src/components/ai-elements/confirmation/confirmation.tsx +465 -0
  548. package/src/components/ai-elements/confirmation/index.ts +7 -0
  549. package/src/components/ai-elements/context/context.stories.tsx +80 -0
  550. package/src/components/ai-elements/context/context.tsx +585 -0
  551. package/src/components/ai-elements/context/index.ts +7 -0
  552. package/src/components/ai-elements/conversation/__tests__/conversation.test.tsx +402 -0
  553. package/src/components/ai-elements/conversation/conversation.stories.tsx +1019 -0
  554. package/src/components/ai-elements/conversation/conversation.tsx +260 -0
  555. package/src/components/ai-elements/conversation/index.ts +7 -0
  556. package/src/components/ai-elements/custom/__tests__/accessibility.test.tsx +27 -0
  557. package/src/components/ai-elements/custom/__tests__/chat-container.test.tsx +30 -0
  558. package/src/components/ai-elements/custom/__tests__/conversation-history.test.tsx +100 -0
  559. package/src/components/ai-elements/custom/__tests__/export-dropdown.test.tsx +60 -0
  560. package/src/components/ai-elements/custom/ai-label/ai-label.stories.tsx +86 -0
  561. package/src/components/ai-elements/custom/ai-label/ai-label.tsx +291 -0
  562. package/src/components/ai-elements/custom/ai-label/index.ts +7 -0
  563. package/src/components/ai-elements/custom/artifact-skeleton/artifact-skeleton.stories.tsx +155 -0
  564. package/src/components/ai-elements/custom/artifact-skeleton/artifact-skeleton.tsx +269 -0
  565. package/src/components/ai-elements/custom/artifact-skeleton/index.ts +18 -0
  566. package/src/components/ai-elements/custom/audio-player/audio-player.stories.tsx +50 -0
  567. package/src/components/ai-elements/custom/audio-player/audio-player.tsx +296 -0
  568. package/src/components/ai-elements/custom/audio-player/index.ts +1 -0
  569. package/src/components/ai-elements/custom/button-group/button-group.stories.tsx +108 -0
  570. package/src/components/ai-elements/custom/button-group/button-group.tsx +142 -0
  571. package/src/components/ai-elements/custom/button-group/index.ts +15 -0
  572. package/src/components/ai-elements/custom/chat-container/chat-container.stories.tsx +143 -0
  573. package/src/components/ai-elements/custom/chat-container/chat-container.tsx +406 -0
  574. package/src/components/ai-elements/custom/chat-container/index.ts +9 -0
  575. package/src/components/ai-elements/custom/collapsible/collapsible.stories.tsx +130 -0
  576. package/src/components/ai-elements/custom/collapsible/index.ts +11 -0
  577. package/src/components/ai-elements/custom/collapsible/use-collapsible.tsx +240 -0
  578. package/src/components/ai-elements/custom/collapsible-content/collapsible-content.stories.tsx +113 -0
  579. package/src/components/ai-elements/custom/collapsible-content/collapsible-content.tsx +141 -0
  580. package/src/components/ai-elements/custom/collapsible-content/index.ts +7 -0
  581. package/src/components/ai-elements/custom/content-placeholder/content-placeholder.stories.tsx +82 -0
  582. package/src/components/ai-elements/custom/content-placeholder/content-placeholder.tsx +319 -0
  583. package/src/components/ai-elements/custom/content-placeholder/index.ts +10 -0
  584. package/src/components/ai-elements/custom/conversation-header/conversation-header.stories.tsx +102 -0
  585. package/src/components/ai-elements/custom/conversation-header/conversation-header.tsx +202 -0
  586. package/src/components/ai-elements/custom/conversation-header/index.ts +12 -0
  587. package/src/components/ai-elements/custom/conversation-history/conversation-history.stories.tsx +191 -0
  588. package/src/components/ai-elements/custom/conversation-history/conversation-history.tsx +515 -0
  589. package/src/components/ai-elements/custom/conversation-history/index.ts +16 -0
  590. package/src/components/ai-elements/custom/diff-view/diff-view.stories.tsx +173 -0
  591. package/src/components/ai-elements/custom/diff-view/diff-view.tsx +261 -0
  592. package/src/components/ai-elements/custom/diff-view/index.ts +7 -0
  593. package/src/components/ai-elements/custom/draggable-tabs/draggable-tabs.stories.tsx +157 -0
  594. package/src/components/ai-elements/custom/draggable-tabs/draggable-tabs.tsx +311 -0
  595. package/src/components/ai-elements/custom/draggable-tabs/index.ts +7 -0
  596. package/src/components/ai-elements/custom/export-conversation/export-conversation.stories.tsx +73 -0
  597. package/src/components/ai-elements/custom/export-conversation/export-conversation.tsx +405 -0
  598. package/src/components/ai-elements/custom/export-conversation/index.ts +10 -0
  599. package/src/components/ai-elements/custom/export-dropdown/export-dropdown.stories.tsx +121 -0
  600. package/src/components/ai-elements/custom/export-dropdown/export-dropdown.tsx +315 -0
  601. package/src/components/ai-elements/custom/export-dropdown/index.ts +11 -0
  602. package/src/components/ai-elements/custom/feedback/feedback.stories.tsx +85 -0
  603. package/src/components/ai-elements/custom/feedback/feedback.tsx +425 -0
  604. package/src/components/ai-elements/custom/feedback/index.ts +13 -0
  605. package/src/components/ai-elements/custom/file-card/file-card.stories.tsx +65 -0
  606. package/src/components/ai-elements/custom/file-card/file-card.tsx +249 -0
  607. package/src/components/ai-elements/custom/file-card/index.ts +1 -0
  608. package/src/components/ai-elements/custom/file-tree/file-tree.stories.tsx +96 -0
  609. package/src/components/ai-elements/custom/file-tree/file-tree.tsx +266 -0
  610. package/src/components/ai-elements/custom/file-tree/index.ts +7 -0
  611. package/src/components/ai-elements/custom/index.ts +73 -0
  612. package/src/components/ai-elements/custom/keyboard-shortcut/index.ts +14 -0
  613. package/src/components/ai-elements/custom/keyboard-shortcut/keyboard-shortcut.stories.tsx +118 -0
  614. package/src/components/ai-elements/custom/keyboard-shortcut/keyboard-shortcut.tsx +292 -0
  615. package/src/components/ai-elements/custom/message-edit/index.ts +1 -0
  616. package/src/components/ai-elements/custom/message-edit/message-edit.stories.tsx +88 -0
  617. package/src/components/ai-elements/custom/message-edit/message-edit.tsx +225 -0
  618. package/src/components/ai-elements/custom/message-error/index.ts +7 -0
  619. package/src/components/ai-elements/custom/message-error/message-error.stories.tsx +85 -0
  620. package/src/components/ai-elements/custom/message-error/message-error.tsx +301 -0
  621. package/src/components/ai-elements/custom/message-group/index.ts +1 -0
  622. package/src/components/ai-elements/custom/message-group/message-group.stories.tsx +82 -0
  623. package/src/components/ai-elements/custom/message-group/message-group.tsx +77 -0
  624. package/src/components/ai-elements/custom/message-separator/index.ts +1 -0
  625. package/src/components/ai-elements/custom/message-separator/message-separator.stories.tsx +65 -0
  626. package/src/components/ai-elements/custom/message-separator/message-separator.tsx +132 -0
  627. package/src/components/ai-elements/custom/scroll-to-bottom/index.ts +11 -0
  628. package/src/components/ai-elements/custom/scroll-to-bottom/scroll-to-bottom.stories.tsx +116 -0
  629. package/src/components/ai-elements/custom/scroll-to-bottom/use-scroll-to-bottom.tsx +215 -0
  630. package/src/components/ai-elements/custom/snippet/index.ts +1 -0
  631. package/src/components/ai-elements/custom/snippet/snippet.stories.tsx +59 -0
  632. package/src/components/ai-elements/custom/snippet/snippet.tsx +158 -0
  633. package/src/components/ai-elements/custom/stack-trace/index.ts +1 -0
  634. package/src/components/ai-elements/custom/stack-trace/stack-trace.stories.tsx +112 -0
  635. package/src/components/ai-elements/custom/stack-trace/stack-trace.tsx +368 -0
  636. package/src/components/ai-elements/custom/terminal/index.ts +9 -0
  637. package/src/components/ai-elements/custom/terminal/terminal.stories.tsx +92 -0
  638. package/src/components/ai-elements/custom/terminal/terminal.tsx +233 -0
  639. package/src/components/ai-elements/custom/test-results/test-results.tsx +438 -0
  640. package/src/components/ai-elements/custom/thought-chain/index.ts +7 -0
  641. package/src/components/ai-elements/custom/thought-chain/thought-chain.stories.tsx +123 -0
  642. package/src/components/ai-elements/custom/thought-chain/thought-chain.tsx +246 -0
  643. package/src/components/ai-elements/custom/token-usage/index.ts +6 -0
  644. package/src/components/ai-elements/custom/token-usage/token-usage.stories.tsx +104 -0
  645. package/src/components/ai-elements/custom/token-usage/token-usage.tsx +236 -0
  646. package/src/components/ai-elements/custom/transcription/index.ts +1 -0
  647. package/src/components/ai-elements/custom/transcription/transcription.stories.tsx +80 -0
  648. package/src/components/ai-elements/custom/transcription/transcription.tsx +163 -0
  649. package/src/components/ai-elements/custom/typing-indicator/index.ts +1 -0
  650. package/src/components/ai-elements/custom/typing-indicator/typing-indicator.stories.tsx +71 -0
  651. package/src/components/ai-elements/custom/typing-indicator/typing-indicator.tsx +126 -0
  652. package/src/components/ai-elements/custom/undo-redo/index.ts +12 -0
  653. package/src/components/ai-elements/custom/undo-redo/undo-redo.stories.tsx +145 -0
  654. package/src/components/ai-elements/custom/undo-redo/use-undo-redo.tsx +324 -0
  655. package/src/components/ai-elements/custom/voice-selector/index.ts +7 -0
  656. package/src/components/ai-elements/custom/voice-selector/voice-selector.stories.tsx +67 -0
  657. package/src/components/ai-elements/custom/voice-selector/voice-selector.tsx +301 -0
  658. package/src/components/ai-elements/custom/welcome/index.ts +1 -0
  659. package/src/components/ai-elements/custom/welcome/welcome.stories.tsx +92 -0
  660. package/src/components/ai-elements/custom/welcome/welcome.tsx +213 -0
  661. package/src/components/ai-elements/generative-ui/generative-ui-renderer.stories.tsx +451 -0
  662. package/src/components/ai-elements/generative-ui/generative-ui-renderer.test.tsx +383 -0
  663. package/src/components/ai-elements/generative-ui/generative-ui-renderer.tsx +668 -0
  664. package/src/components/ai-elements/generative-ui/index.ts +21 -0
  665. package/src/components/ai-elements/image/image.stories.tsx +179 -0
  666. package/src/components/ai-elements/image/image.tsx +178 -0
  667. package/src/components/ai-elements/image/index.ts +7 -0
  668. package/src/components/ai-elements/index.ts +195 -0
  669. package/src/components/ai-elements/inline-citation/index.ts +7 -0
  670. package/src/components/ai-elements/inline-citation/inline-citation.stories.tsx +331 -0
  671. package/src/components/ai-elements/inline-citation/inline-citation.tsx +595 -0
  672. package/src/components/ai-elements/loader/index.ts +7 -0
  673. package/src/components/ai-elements/loader/loader.stories.tsx +185 -0
  674. package/src/components/ai-elements/loader/loader.tsx +177 -0
  675. package/src/components/ai-elements/message/__tests__/message.test.tsx +352 -0
  676. package/src/components/ai-elements/message/index.ts +7 -0
  677. package/src/components/ai-elements/message/message-actions.test.tsx +51 -0
  678. package/src/components/ai-elements/message/message.stories.tsx +609 -0
  679. package/src/components/ai-elements/message/message.test.tsx +52 -0
  680. package/src/components/ai-elements/message/message.tsx +1125 -0
  681. package/src/components/ai-elements/message/response.test.tsx +18 -0
  682. package/src/components/ai-elements/model-selector/index.ts +7 -0
  683. package/src/components/ai-elements/model-selector/model-selector.stories.tsx +198 -0
  684. package/src/components/ai-elements/model-selector/model-selector.tsx +406 -0
  685. package/src/components/ai-elements/modernization_walkthrough.md +51 -0
  686. package/src/components/ai-elements/open-in-chat/index.ts +7 -0
  687. package/src/components/ai-elements/open-in-chat/open-in-chat.stories.tsx +221 -0
  688. package/src/components/ai-elements/open-in-chat/open-in-chat.tsx +606 -0
  689. package/src/components/ai-elements/plan/index.ts +7 -0
  690. package/src/components/ai-elements/plan/plan.stories.tsx +233 -0
  691. package/src/components/ai-elements/plan/plan.tsx +337 -0
  692. package/src/components/ai-elements/prompt-char-counter/index.ts +7 -0
  693. package/src/components/ai-elements/prompt-char-counter/prompt-char-counter.stories.tsx +98 -0
  694. package/src/components/ai-elements/prompt-char-counter/prompt-char-counter.tsx +159 -0
  695. package/src/components/ai-elements/prompt-input/index.ts +7 -0
  696. package/src/components/ai-elements/prompt-input/prompt-input.stories.tsx +548 -0
  697. package/src/components/ai-elements/prompt-input/prompt-input.test.tsx +22 -0
  698. package/src/components/ai-elements/prompt-input/prompt-input.tsx +2112 -0
  699. package/src/components/ai-elements/queue/index.ts +7 -0
  700. package/src/components/ai-elements/queue/queue.stories.tsx +249 -0
  701. package/src/components/ai-elements/queue/queue.tsx +456 -0
  702. package/src/components/ai-elements/reasoning/index.ts +7 -0
  703. package/src/components/ai-elements/reasoning/reasoning.stories.tsx +147 -0
  704. package/src/components/ai-elements/reasoning/reasoning.tsx +356 -0
  705. package/src/components/ai-elements/shimmer/index.ts +7 -0
  706. package/src/components/ai-elements/shimmer/shimmer.stories.tsx +240 -0
  707. package/src/components/ai-elements/shimmer/shimmer.tsx +150 -0
  708. package/src/components/ai-elements/sources/index.ts +7 -0
  709. package/src/components/ai-elements/sources/sources.stories.tsx +259 -0
  710. package/src/components/ai-elements/sources/sources.test.tsx +40 -0
  711. package/src/components/ai-elements/sources/sources.tsx +327 -0
  712. package/src/components/ai-elements/suggestion/index.ts +7 -0
  713. package/src/components/ai-elements/suggestion/suggestion.stories.tsx +207 -0
  714. package/src/components/ai-elements/suggestion/suggestion.tsx +229 -0
  715. package/src/components/ai-elements/task/index.ts +7 -0
  716. package/src/components/ai-elements/task/task.stories.tsx +213 -0
  717. package/src/components/ai-elements/task/task.tsx +356 -0
  718. package/src/components/ai-elements/test-utils.tsx +28 -0
  719. package/src/components/ai-elements/tool/index.ts +7 -0
  720. package/src/components/ai-elements/tool/tool.stories.tsx +195 -0
  721. package/src/components/ai-elements/tool/tool.test.tsx +160 -0
  722. package/src/components/ai-elements/tool/tool.tsx +537 -0
  723. package/src/components/ai-elements/tool-approval/index.ts +7 -0
  724. package/src/components/ai-elements/tool-approval/tool-approval.stories.tsx +260 -0
  725. package/src/components/ai-elements/tool-approval/tool-approval.tsx +423 -0
  726. package/src/components/ai-elements/vitest.config.ts +17 -0
  727. package/src/components/ai-elements/vitest.setup.ts +6 -0
  728. package/src/components/ai-elements/web-preview/index.ts +7 -0
  729. package/src/components/ai-elements/web-preview/web-preview.stories.tsx +202 -0
  730. package/src/components/ai-elements/web-preview/web-preview.tsx +1166 -0
  731. package/src/components/ai-workflows/canvas/canvas.stories.tsx +120 -0
  732. package/src/components/ai-workflows/canvas/canvas.tsx +173 -0
  733. package/src/components/ai-workflows/canvas/index.ts +7 -0
  734. package/src/components/ai-workflows/connection/connection.stories.tsx +66 -0
  735. package/src/components/ai-workflows/connection/connection.tsx +119 -0
  736. package/src/components/ai-workflows/connection/index.ts +7 -0
  737. package/src/components/ai-workflows/controls/controls.stories.tsx +72 -0
  738. package/src/components/ai-workflows/controls/controls.tsx +132 -0
  739. package/src/components/ai-workflows/controls/index.ts +7 -0
  740. package/src/components/ai-workflows/edge/edge.stories.tsx +120 -0
  741. package/src/components/ai-workflows/edge/edge.test.tsx +47 -0
  742. package/src/components/ai-workflows/edge/edge.tsx +136 -0
  743. package/src/components/ai-workflows/edge/index.ts +7 -0
  744. package/src/components/ai-workflows/flow-constants.ts +11 -0
  745. package/src/components/ai-workflows/node/index.ts +7 -0
  746. package/src/components/ai-workflows/node/node.stories.tsx +111 -0
  747. package/src/components/ai-workflows/node/node.tsx +227 -0
  748. package/src/components/ai-workflows/panel/index.ts +7 -0
  749. package/src/components/ai-workflows/panel/panel.stories.tsx +102 -0
  750. package/src/components/ai-workflows/panel/panel.tsx +106 -0
  751. package/src/components/ai-workflows/resizable-node/index.ts +7 -0
  752. package/src/components/ai-workflows/resizable-node/resizable-node.stories.tsx +93 -0
  753. package/src/components/ai-workflows/resizable-node/resizable-node.tsx +228 -0
  754. package/src/components/ai-workflows/toolbar/index.ts +7 -0
  755. package/src/components/ai-workflows/toolbar/toolbar.stories.tsx +99 -0
  756. package/src/components/ai-workflows/toolbar/toolbar.tsx +130 -0
  757. package/src/components/auth/client/index.ts +12 -0
  758. package/src/components/auth/client/nav-user/auth-nav-user.tsx +237 -0
  759. package/src/components/auth/client/nav-user/index.ts +11 -0
  760. package/src/components/auth/client/providers/ThemeProvider.stories.tsx +59 -0
  761. package/src/components/auth/client/providers/ThemeProvider.tsx +39 -0
  762. package/src/components/auth/client/providers/index.ts +7 -0
  763. package/src/components/auth/client/providers.tsx +129 -0
  764. package/src/components/auth/index.ts +14 -0
  765. package/src/components/auth/server/account/ProfileForm.stories.tsx +105 -0
  766. package/src/components/auth/server/account/ProfileForm.tsx +236 -0
  767. package/src/components/auth/server/account/index.ts +7 -0
  768. package/src/components/auth/server/actions/index.ts +11 -0
  769. package/src/components/auth/server/actions.ts +88 -0
  770. package/src/components/auth/server/admin/AdminBulkUserActions.stories.tsx +129 -0
  771. package/src/components/auth/server/admin/AdminBulkUserActions.tsx +649 -0
  772. package/src/components/auth/server/admin/AdminDashboard.stories.tsx +215 -0
  773. package/src/components/auth/server/admin/AdminDashboard.tsx +785 -0
  774. package/src/components/auth/server/admin/AdminDevicesManager.tsx +411 -0
  775. package/src/components/auth/server/admin/AdminImpersonation.stories.tsx +121 -0
  776. package/src/components/auth/server/admin/AdminImpersonation.tsx +569 -0
  777. package/src/components/auth/server/admin/AdminPasskeysManager.tsx +393 -0
  778. package/src/components/auth/server/admin/AdminSecurityEventsViewer.tsx +395 -0
  779. package/src/components/auth/server/admin/AdminServiceAccountsManager.tsx +454 -0
  780. package/src/components/auth/server/admin/AdminSessionsManager.tsx +664 -0
  781. package/src/components/auth/server/admin/AdminTwoFactorManager.tsx +431 -0
  782. package/src/components/auth/server/admin/AdminUserCreation.stories.tsx +87 -0
  783. package/src/components/auth/server/admin/AdminUserCreation.tsx +777 -0
  784. package/src/components/auth/server/admin/AdminUserDetail.stories.tsx +178 -0
  785. package/src/components/auth/server/admin/AdminUserDetail.tsx +1044 -0
  786. package/src/components/auth/server/admin/AdminUsersList.stories.tsx +228 -0
  787. package/src/components/auth/server/admin/AdminUsersList.tsx +859 -0
  788. package/src/components/auth/server/admin/index.ts +59 -0
  789. package/src/components/auth/server/advanced/PasskeySetup.stories.tsx +70 -0
  790. package/src/components/auth/server/advanced/PasskeySetup.tsx +383 -0
  791. package/src/components/auth/server/advanced/TwoFactorSetup.stories.tsx +79 -0
  792. package/src/components/auth/server/advanced/TwoFactorSetup.tsx +459 -0
  793. package/src/components/auth/server/advanced/TwoFactorVerify.stories.tsx +69 -0
  794. package/src/components/auth/server/advanced/TwoFactorVerify.tsx +323 -0
  795. package/src/components/auth/server/advanced/index.ts +10 -0
  796. package/src/components/auth/server/api-keys/APIKeysList.stories.tsx +95 -0
  797. package/src/components/auth/server/api-keys/APIKeysList.tsx +470 -0
  798. package/src/components/auth/server/api-keys/CreateAPIKeyForm.stories.tsx +79 -0
  799. package/src/components/auth/server/api-keys/CreateAPIKeyForm.tsx +501 -0
  800. package/src/components/auth/server/api-keys/index.ts +9 -0
  801. package/src/components/auth/server/enhanced/AccountDeletionFlow.stories.tsx +115 -0
  802. package/src/components/auth/server/enhanced/AccountDeletionFlow.tsx +733 -0
  803. package/src/components/auth/server/enhanced/AnonymousSessionCreator.stories.tsx +80 -0
  804. package/src/components/auth/server/enhanced/AnonymousSessionCreator.tsx +398 -0
  805. package/src/components/auth/server/enhanced/AnonymousToAccountConverter.stories.tsx +61 -0
  806. package/src/components/auth/server/enhanced/AnonymousToAccountConverter.tsx +538 -0
  807. package/src/components/auth/server/enhanced/BackupCodesManager.stories.tsx +108 -0
  808. package/src/components/auth/server/enhanced/BackupCodesManager.tsx +718 -0
  809. package/src/components/auth/server/enhanced/BearerTokenGenerator.stories.tsx +85 -0
  810. package/src/components/auth/server/enhanced/BearerTokenGenerator.tsx +618 -0
  811. package/src/components/auth/server/enhanced/ChangePasswordForm.stories.tsx +108 -0
  812. package/src/components/auth/server/enhanced/ChangePasswordForm.tsx +313 -0
  813. package/src/components/auth/server/enhanced/DataExportRequest.stories.tsx +84 -0
  814. package/src/components/auth/server/enhanced/DataExportRequest.tsx +734 -0
  815. package/src/components/auth/server/enhanced/DeviceManagement.stories.tsx +161 -0
  816. package/src/components/auth/server/enhanced/DeviceManagement.tsx +700 -0
  817. package/src/components/auth/server/enhanced/EmailChangeVerification.stories.tsx +94 -0
  818. package/src/components/auth/server/enhanced/EmailChangeVerification.tsx +421 -0
  819. package/src/components/auth/server/enhanced/EmailOTPSignIn.stories.tsx +68 -0
  820. package/src/components/auth/server/enhanced/EmailOTPSignIn.tsx +516 -0
  821. package/src/components/auth/server/enhanced/EmailOTPVerification.stories.tsx +95 -0
  822. package/src/components/auth/server/enhanced/EmailOTPVerification.tsx +610 -0
  823. package/src/components/auth/server/enhanced/EmailVerificationRequest.stories.tsx +97 -0
  824. package/src/components/auth/server/enhanced/EmailVerificationRequest.tsx +461 -0
  825. package/src/components/auth/server/enhanced/EmailVerificationStatus.stories.tsx +96 -0
  826. package/src/components/auth/server/enhanced/EmailVerificationStatus.tsx +631 -0
  827. package/src/components/auth/server/enhanced/MagicLinkRequestForm.stories.tsx +88 -0
  828. package/src/components/auth/server/enhanced/MagicLinkRequestForm.tsx +439 -0
  829. package/src/components/auth/server/enhanced/MagicLinkStatusIndicator.stories.tsx +101 -0
  830. package/src/components/auth/server/enhanced/MagicLinkStatusIndicator.tsx +610 -0
  831. package/src/components/auth/server/enhanced/MultiSessionDashboard.stories.tsx +101 -0
  832. package/src/components/auth/server/enhanced/MultiSessionDashboard.tsx +996 -0
  833. package/src/components/auth/server/enhanced/OrganizationAuditLog.stories.tsx +86 -0
  834. package/src/components/auth/server/enhanced/OrganizationAuditLog.tsx +1006 -0
  835. package/src/components/auth/server/enhanced/PasskeyManagement.stories.tsx +102 -0
  836. package/src/components/auth/server/enhanced/PasskeyManagement.tsx +705 -0
  837. package/src/components/auth/server/enhanced/PasskeyRegistrationWizard.stories.tsx +83 -0
  838. package/src/components/auth/server/enhanced/PasskeyRegistrationWizard.tsx +566 -0
  839. package/src/components/auth/server/enhanced/PasskeySignInInterface.stories.tsx +90 -0
  840. package/src/components/auth/server/enhanced/PasskeySignInInterface.tsx +792 -0
  841. package/src/components/auth/server/enhanced/PasswordStrengthIndicator.stories.tsx +129 -0
  842. package/src/components/auth/server/enhanced/PasswordStrengthIndicator.tsx +539 -0
  843. package/src/components/auth/server/enhanced/PhoneNumberManagement.stories.tsx +103 -0
  844. package/src/components/auth/server/enhanced/PhoneNumberManagement.tsx +594 -0
  845. package/src/components/auth/server/enhanced/PhoneNumberSetupForm.stories.tsx +91 -0
  846. package/src/components/auth/server/enhanced/PhoneNumberSetupForm.tsx +518 -0
  847. package/src/components/auth/server/enhanced/PhoneSignInForm.stories.tsx +63 -0
  848. package/src/components/auth/server/enhanced/PhoneSignInForm.tsx +801 -0
  849. package/src/components/auth/server/enhanced/PhoneSignInWithSMS.stories.tsx +87 -0
  850. package/src/components/auth/server/enhanced/PhoneSignInWithSMS.tsx +886 -0
  851. package/src/components/auth/server/enhanced/PhoneVerificationForm.stories.tsx +81 -0
  852. package/src/components/auth/server/enhanced/PhoneVerificationForm.tsx +306 -0
  853. package/src/components/auth/server/enhanced/ResendVerificationEmail.stories.tsx +84 -0
  854. package/src/components/auth/server/enhanced/ResendVerificationEmail.tsx +407 -0
  855. package/src/components/auth/server/enhanced/SMSVerificationForm.stories.tsx +92 -0
  856. package/src/components/auth/server/enhanced/SMSVerificationForm.tsx +521 -0
  857. package/src/components/auth/server/enhanced/SecurityEventLog.stories.tsx +115 -0
  858. package/src/components/auth/server/enhanced/SecurityEventLog.tsx +916 -0
  859. package/src/components/auth/server/enhanced/TeamCreationWizard.stories.tsx +85 -0
  860. package/src/components/auth/server/enhanced/TeamCreationWizard.tsx +1023 -0
  861. package/src/components/auth/server/enhanced/__tests__/actions.test.ts +388 -0
  862. package/src/components/auth/server/enhanced/__tests__/more-actions.test.ts +139 -0
  863. package/src/components/auth/server/enhanced/actions.ts +1199 -0
  864. package/src/components/auth/server/enhanced/auth-enhanced-actions.ts +936 -0
  865. package/src/components/auth/server/enhanced/index.ts +37 -0
  866. package/src/components/auth/server/forms/ForgotPasswordForm.stories.tsx +82 -0
  867. package/src/components/auth/server/forms/ForgotPasswordForm.tsx +287 -0
  868. package/src/components/auth/server/forms/ResetPasswordForm.stories.tsx +79 -0
  869. package/src/components/auth/server/forms/ResetPasswordForm.tsx +217 -0
  870. package/src/components/auth/server/forms/SignInForm.stories.tsx +113 -0
  871. package/src/components/auth/server/forms/SignInForm.tsx +211 -0
  872. package/src/components/auth/server/forms/SignUpForm.stories.tsx +130 -0
  873. package/src/components/auth/server/forms/SignUpForm.tsx +243 -0
  874. package/src/components/auth/server/forms/index.ts +10 -0
  875. package/src/components/auth/server/index.ts +22 -0
  876. package/src/components/auth/server/jwt/JWTTokenManager.tsx +315 -0
  877. package/src/components/auth/server/jwt/index.ts +7 -0
  878. package/src/components/auth/server/organization/AuditLogViewer.tsx +288 -0
  879. package/src/components/auth/server/organization/CreateRoleDialog.tsx +540 -0
  880. package/src/components/auth/server/organization/EditRoleDialog.tsx +487 -0
  881. package/src/components/auth/server/organization/InviteMembers.stories.tsx +82 -0
  882. package/src/components/auth/server/organization/InviteMembers.tsx +264 -0
  883. package/src/components/auth/server/organization/MembersList.stories.tsx +117 -0
  884. package/src/components/auth/server/organization/MembersList.tsx +425 -0
  885. package/src/components/auth/server/organization/OrganizationCreation.stories.tsx +99 -0
  886. package/src/components/auth/server/organization/OrganizationCreation.tsx +293 -0
  887. package/src/components/auth/server/organization/OrganizationSettings.stories.tsx +99 -0
  888. package/src/components/auth/server/organization/OrganizationSettings.tsx +494 -0
  889. package/src/components/auth/server/organization/OrganizationSwitcher.stories.tsx +98 -0
  890. package/src/components/auth/server/organization/OrganizationSwitcher.tsx +308 -0
  891. package/src/components/auth/server/organization/PermissionMatrix.tsx +366 -0
  892. package/src/components/auth/server/organization/RoleManagement.stories.tsx +120 -0
  893. package/src/components/auth/server/organization/RoleManagement.tsx +318 -0
  894. package/src/components/auth/server/organization/index.ts +16 -0
  895. package/src/components/auth/server/session/SessionsList.stories.tsx +81 -0
  896. package/src/components/auth/server/session/SessionsList.tsx +274 -0
  897. package/src/components/auth/server/session/index.ts +7 -0
  898. package/src/components/auth/server/social/SocialLoginButtons.stories.tsx +139 -0
  899. package/src/components/auth/server/social/SocialLoginButtons.tsx +292 -0
  900. package/src/components/auth/server/social/index.ts +7 -0
  901. package/src/components/auth/server/ui/Alert.stories.tsx +97 -0
  902. package/src/components/auth/server/ui/Alert.tsx +159 -0
  903. package/src/components/auth/server/ui/Button.stories.tsx +149 -0
  904. package/src/components/auth/server/ui/Button.tsx +221 -0
  905. package/src/components/auth/server/ui/Card.stories.tsx +80 -0
  906. package/src/components/auth/server/ui/Card.tsx +51 -0
  907. package/src/components/auth/server/ui/Input.stories.tsx +143 -0
  908. package/src/components/auth/server/ui/Input.tsx +195 -0
  909. package/src/components/auth/server/ui/index.ts +18 -0
  910. package/src/components/charts/areas/areas.stories.tsx +113 -0
  911. package/src/components/charts/areas/areas.tsx +185 -0
  912. package/src/components/charts/areas/index.ts +11 -0
  913. package/src/components/charts/bars/bars.stories.tsx +109 -0
  914. package/src/components/charts/bars/bars.tsx +164 -0
  915. package/src/components/charts/bars/index.ts +11 -0
  916. package/src/components/charts/chart-context.ts +35 -0
  917. package/src/components/charts/funnel-chart/funnel-chart.stories.tsx +111 -0
  918. package/src/components/charts/funnel-chart/funnel-chart.tsx +392 -0
  919. package/src/components/charts/funnel-chart/index.ts +11 -0
  920. package/src/components/charts/index.ts +45 -0
  921. package/src/components/charts/mini-area-chart/index.ts +11 -0
  922. package/src/components/charts/mini-area-chart/mini-area-chart.stories.tsx +100 -0
  923. package/src/components/charts/mini-area-chart/mini-area-chart.tsx +244 -0
  924. package/src/components/charts/time-series-chart/index.ts +11 -0
  925. package/src/components/charts/time-series-chart/time-series-chart.stories.tsx +140 -0
  926. package/src/components/charts/time-series-chart/time-series-chart.tsx +337 -0
  927. package/src/components/charts/tooltip-sync/index.ts +11 -0
  928. package/src/components/charts/tooltip-sync/tooltip-sync.stories.tsx +89 -0
  929. package/src/components/charts/tooltip-sync/tooltip-sync.tsx +91 -0
  930. package/src/components/charts/types.ts +93 -0
  931. package/src/components/charts/use-tooltip.ts +230 -0
  932. package/src/components/charts/utils.ts +69 -0
  933. package/src/components/charts/x-axis/index.ts +11 -0
  934. package/src/components/charts/x-axis/x-axis.stories.tsx +94 -0
  935. package/src/components/charts/x-axis/x-axis.tsx +176 -0
  936. package/src/components/charts/y-axis/index.ts +7 -0
  937. package/src/components/charts/y-axis/y-axis.stories.tsx +110 -0
  938. package/src/components/charts/y-axis/y-axis.tsx +139 -0
  939. package/src/components/elements/atoms/alert/alert.stories.tsx +234 -0
  940. package/src/components/elements/atoms/alert/alert.tsx +293 -0
  941. package/src/components/elements/atoms/alert/index.ts +7 -0
  942. package/src/components/elements/atoms/avatar/avatar.stories.tsx +174 -0
  943. package/src/components/elements/atoms/avatar/avatar.tsx +274 -0
  944. package/src/components/elements/atoms/avatar/index.ts +7 -0
  945. package/src/components/elements/atoms/badge/badge.stories.tsx +186 -0
  946. package/src/components/elements/atoms/badge/badge.tsx +333 -0
  947. package/src/components/elements/atoms/badge/index.ts +7 -0
  948. package/src/components/elements/atoms/blur-image/blur-image.stories.tsx +140 -0
  949. package/src/components/elements/atoms/blur-image/blur-image.tsx +102 -0
  950. package/src/components/elements/atoms/blur-image/index.ts +7 -0
  951. package/src/components/elements/atoms/button/button.stories.tsx +776 -0
  952. package/src/components/elements/atoms/button/button.tsx +878 -0
  953. package/src/components/elements/atoms/button/index.ts +7 -0
  954. package/src/components/elements/atoms/copy-button/copy-button.stories.tsx +162 -0
  955. package/src/components/elements/atoms/copy-button/copy-button.tsx +232 -0
  956. package/src/components/elements/atoms/copy-button/index.ts +7 -0
  957. package/src/components/elements/atoms/copy-text/copy-text.stories.tsx +128 -0
  958. package/src/components/elements/atoms/copy-text/copy-text.tsx +201 -0
  959. package/src/components/elements/atoms/copy-text/index.ts +7 -0
  960. package/src/components/elements/atoms/empty-state/empty-state.stories.tsx +410 -0
  961. package/src/components/elements/atoms/empty-state/empty-state.tsx +338 -0
  962. package/src/components/elements/atoms/empty-state/index.ts +1 -0
  963. package/src/components/elements/atoms/go-back-button/go-back-button.stories.tsx +83 -0
  964. package/src/components/elements/atoms/go-back-button/go-back-button.tsx +104 -0
  965. package/src/components/elements/atoms/go-back-button/index.ts +7 -0
  966. package/src/components/elements/atoms/inline-snippet/index.ts +7 -0
  967. package/src/components/elements/atoms/inline-snippet/inline-snippet.stories.tsx +130 -0
  968. package/src/components/elements/atoms/inline-snippet/inline-snippet.tsx +140 -0
  969. package/src/components/elements/atoms/loading-dots/index.ts +1 -0
  970. package/src/components/elements/atoms/loading-dots/loading-dots.stories.tsx +274 -0
  971. package/src/components/elements/atoms/loading-dots/loading-dots.tsx +138 -0
  972. package/src/components/elements/atoms/mode-toggle/index.ts +7 -0
  973. package/src/components/elements/atoms/mode-toggle/mode-toggle.stories.tsx +67 -0
  974. package/src/components/elements/atoms/mode-toggle/mode-toggle.tsx +163 -0
  975. package/src/components/elements/atoms/progress/index.ts +7 -0
  976. package/src/components/elements/atoms/progress/progress.stories.tsx +141 -0
  977. package/src/components/elements/atoms/progress/progress.tsx +314 -0
  978. package/src/components/elements/atoms/progress-circle/index.ts +7 -0
  979. package/src/components/elements/atoms/progress-circle/progress-circle.stories.tsx +185 -0
  980. package/src/components/elements/atoms/progress-circle/progress-circle.tsx +207 -0
  981. package/src/components/elements/atoms/separator/index.ts +7 -0
  982. package/src/components/elements/atoms/separator/separator.stories.tsx +154 -0
  983. package/src/components/elements/atoms/separator/separator.tsx +169 -0
  984. package/src/components/elements/atoms/skeleton/index.ts +7 -0
  985. package/src/components/elements/atoms/skeleton/skeleton.stories.tsx +152 -0
  986. package/src/components/elements/atoms/skeleton/skeleton.tsx +336 -0
  987. package/src/components/elements/atoms/slider/index.ts +7 -0
  988. package/src/components/elements/atoms/slider/slider.stories.tsx +199 -0
  989. package/src/components/elements/atoms/slider/slider.tsx +487 -0
  990. package/src/components/elements/atoms/sonner/index.ts +7 -0
  991. package/src/components/elements/atoms/sonner/sonner.stories.tsx +408 -0
  992. package/src/components/elements/atoms/sonner/sonner.tsx +131 -0
  993. package/src/components/elements/atoms/status-badge/index.ts +7 -0
  994. package/src/components/elements/atoms/status-badge/status-badge.stories.tsx +166 -0
  995. package/src/components/elements/atoms/status-badge/status-badge.tsx +262 -0
  996. package/src/components/elements/atoms/timestamp-tooltip/index.ts +7 -0
  997. package/src/components/elements/atoms/timestamp-tooltip/timestamp-tooltip.stories.tsx +127 -0
  998. package/src/components/elements/atoms/timestamp-tooltip/timestamp-tooltip.tsx +404 -0
  999. package/src/components/elements/molecules/animated-size-container/animated-size-container.stories.tsx +165 -0
  1000. package/src/components/elements/molecules/animated-size-container/animated-size-container.tsx +125 -0
  1001. package/src/components/elements/molecules/animated-size-container/index.ts +7 -0
  1002. package/src/components/elements/molecules/avatar-stack/avatar-stack.stories.tsx +179 -0
  1003. package/src/components/elements/molecules/avatar-stack/avatar-stack.tsx +258 -0
  1004. package/src/components/elements/molecules/avatar-stack/index.ts +7 -0
  1005. package/src/components/elements/molecules/breadcrumb/breadcrumb.stories.tsx +273 -0
  1006. package/src/components/elements/molecules/breadcrumb/breadcrumb.tsx +299 -0
  1007. package/src/components/elements/molecules/breadcrumb/index.ts +7 -0
  1008. package/src/components/elements/molecules/button-group/button-group.stories.tsx +267 -0
  1009. package/src/components/elements/molecules/button-group/button-group.tsx +244 -0
  1010. package/src/components/elements/molecules/button-group/index.ts +7 -0
  1011. package/src/components/elements/molecules/collapsible/collapsible.stories.tsx +186 -0
  1012. package/src/components/elements/molecules/collapsible/collapsible.tsx +362 -0
  1013. package/src/components/elements/molecules/collapsible/index.ts +7 -0
  1014. package/src/components/elements/molecules/empty/empty.stories.tsx +182 -0
  1015. package/src/components/elements/molecules/empty/empty.tsx +230 -0
  1016. package/src/components/elements/molecules/empty/index.ts +7 -0
  1017. package/src/components/elements/molecules/pagination-controls/index.ts +8 -0
  1018. package/src/components/elements/molecules/pagination-controls/pagination-controls.stories.tsx +193 -0
  1019. package/src/components/elements/molecules/pagination-controls/pagination-controls.tsx +174 -0
  1020. package/src/components/elements/molecules/tab-select/index.ts +7 -0
  1021. package/src/components/elements/molecules/tab-select/tab-select.stories.tsx +175 -0
  1022. package/src/components/elements/molecules/tab-select/tab-select.tsx +261 -0
  1023. package/src/components/elements/molecules/tabs/index.ts +7 -0
  1024. package/src/components/elements/molecules/tabs/tabs.stories.tsx +198 -0
  1025. package/src/components/elements/molecules/tabs/tabs.tsx +744 -0
  1026. package/src/components/elements/molecules/toggle-group/index.ts +7 -0
  1027. package/src/components/elements/molecules/toggle-group/toggle-group.stories.tsx +201 -0
  1028. package/src/components/elements/molecules/toggle-group/toggle-group.tsx +236 -0
  1029. package/src/components/elements/organisms/accordion/accordion.stories.tsx +217 -0
  1030. package/src/components/elements/organisms/accordion/accordion.tsx +456 -0
  1031. package/src/components/elements/organisms/accordion/index.ts +7 -0
  1032. package/src/components/elements/organisms/card/card.stories.tsx +406 -0
  1033. package/src/components/elements/organisms/card/card.tsx +437 -0
  1034. package/src/components/elements/organisms/card/index.ts +8 -0
  1035. package/src/components/elements/organisms/card/integration-card.stories.tsx +348 -0
  1036. package/src/components/elements/organisms/card/integration-compact.stories.tsx +310 -0
  1037. package/src/components/elements/organisms/card/integrations.tsx +356 -0
  1038. package/src/components/elements/organisms/carousel/carousel.stories.tsx +182 -0
  1039. package/src/components/elements/organisms/carousel/carousel.tsx +537 -0
  1040. package/src/components/elements/organisms/carousel/index.ts +7 -0
  1041. package/src/components/elements/organisms/chart/chart.stories.tsx +147 -0
  1042. package/src/components/elements/organisms/chart/chart.tsx +317 -0
  1043. package/src/components/elements/organisms/chart/index.ts +7 -0
  1044. package/src/components/elements/organisms/command/command.stories.tsx +246 -0
  1045. package/src/components/elements/organisms/command/command.tsx +284 -0
  1046. package/src/components/elements/organisms/command/index.ts +7 -0
  1047. package/src/components/elements/organisms/dialog/dialog.stories.tsx +266 -0
  1048. package/src/components/elements/organisms/dialog/dialog.tsx +366 -0
  1049. package/src/components/elements/organisms/dialog/index.ts +7 -0
  1050. package/src/components/elements/organisms/dropdown-menu/dropdown-menu.stories.tsx +334 -0
  1051. package/src/components/elements/organisms/dropdown-menu/dropdown-menu.tsx +611 -0
  1052. package/src/components/elements/organisms/dropdown-menu/index.ts +7 -0
  1053. package/src/components/elements/organisms/dynamic-breadcrumb/dynamic-breadcrumb.stories.tsx +50 -0
  1054. package/src/components/elements/organisms/dynamic-breadcrumb/dynamic-breadcrumb.tsx +257 -0
  1055. package/src/components/elements/organisms/dynamic-breadcrumb/index.ts +7 -0
  1056. package/src/components/elements/organisms/error-boundary/error-boundary.stories.tsx +142 -0
  1057. package/src/components/elements/organisms/error-boundary/error-boundary.tsx +408 -0
  1058. package/src/components/elements/organisms/error-boundary/index.ts +7 -0
  1059. package/src/components/elements/organisms/hover-card/hover-card.stories.tsx +245 -0
  1060. package/src/components/elements/organisms/hover-card/hover-card.tsx +370 -0
  1061. package/src/components/elements/organisms/hover-card/index.ts +7 -0
  1062. package/src/components/elements/organisms/modal/index.ts +7 -0
  1063. package/src/components/elements/organisms/modal/modal.stories.tsx +189 -0
  1064. package/src/components/elements/organisms/modal/modal.tsx +266 -0
  1065. package/src/components/elements/organisms/popover/index.ts +7 -0
  1066. package/src/components/elements/organisms/popover/popover.stories.tsx +200 -0
  1067. package/src/components/elements/organisms/popover/popover.tsx +302 -0
  1068. package/src/components/elements/organisms/resizable/index.ts +7 -0
  1069. package/src/components/elements/organisms/resizable/resizable.stories.tsx +204 -0
  1070. package/src/components/elements/organisms/resizable/resizable.tsx +178 -0
  1071. package/src/components/elements/organisms/scroll-area/index.ts +7 -0
  1072. package/src/components/elements/organisms/scroll-area/scroll-area.stories.tsx +170 -0
  1073. package/src/components/elements/organisms/scroll-area/scroll-area.tsx +167 -0
  1074. package/src/components/elements/organisms/sheet/index.ts +7 -0
  1075. package/src/components/elements/organisms/sheet/sheet.stories.tsx +235 -0
  1076. package/src/components/elements/organisms/sheet/sheet.tsx +381 -0
  1077. package/src/components/elements/organisms/table/index.ts +7 -0
  1078. package/src/components/elements/organisms/table/table.stories.tsx +238 -0
  1079. package/src/components/elements/organisms/table/table.tsx +392 -0
  1080. package/src/components/elements/organisms/tooltip/index.ts +7 -0
  1081. package/src/components/elements/organisms/tooltip/tooltip.stories.tsx +205 -0
  1082. package/src/components/elements/organisms/tooltip/tooltip.tsx +547 -0
  1083. package/src/components/filter/filter-list/filter-list.stories.tsx +157 -0
  1084. package/src/components/filter/filter-list/filter-list.tsx +435 -0
  1085. package/src/components/filter/filter-list/index.ts +7 -0
  1086. package/src/components/filter/filter-select/filter-select.stories.tsx +124 -0
  1087. package/src/components/filter/filter-select/filter-select.tsx +558 -0
  1088. package/src/components/filter/filter-select/index.ts +7 -0
  1089. package/src/components/filter/index.ts +9 -0
  1090. package/src/components/filter/types.ts +70 -0
  1091. package/src/components/forms/checkbox/checkbox.stories.tsx +177 -0
  1092. package/src/components/forms/checkbox/checkbox.tsx +332 -0
  1093. package/src/components/forms/checkbox/index.ts +11 -0
  1094. package/src/components/forms/combobox/combobox.stories.tsx +224 -0
  1095. package/src/components/forms/combobox/combobox.tsx +679 -0
  1096. package/src/components/forms/combobox/index.ts +7 -0
  1097. package/src/components/forms/date-picker/calendar/calendar.stories.tsx +78 -0
  1098. package/src/components/forms/date-picker/calendar/calendar.tsx +271 -0
  1099. package/src/components/forms/date-picker/calendar/index.ts +7 -0
  1100. package/src/components/forms/date-picker/date-range-picker/date-range-picker.stories.tsx +108 -0
  1101. package/src/components/forms/date-picker/date-range-picker/date-range-picker.tsx +334 -0
  1102. package/src/components/forms/date-picker/date-range-picker/index.ts +7 -0
  1103. package/src/components/forms/date-picker/index.ts +10 -0
  1104. package/src/components/forms/date-picker/presets/index.ts +7 -0
  1105. package/src/components/forms/date-picker/presets/presets.stories.tsx +105 -0
  1106. package/src/components/forms/date-picker/presets/presets.tsx +196 -0
  1107. package/src/components/forms/date-picker/shared.ts +109 -0
  1108. package/src/components/forms/date-picker/trigger/index.ts +7 -0
  1109. package/src/components/forms/date-picker/trigger/trigger.stories.tsx +78 -0
  1110. package/src/components/forms/date-picker/trigger/trigger.tsx +195 -0
  1111. package/src/components/forms/date-picker/types.ts +63 -0
  1112. package/src/components/forms/file-upload/file-upload.stories.tsx +145 -0
  1113. package/src/components/forms/file-upload/file-upload.tsx +504 -0
  1114. package/src/components/forms/file-upload/index.ts +7 -0
  1115. package/src/components/forms/input/index.ts +7 -0
  1116. package/src/components/forms/input/input.stories.tsx +185 -0
  1117. package/src/components/forms/input/input.tsx +228 -0
  1118. package/src/components/forms/input-group/index.ts +11 -0
  1119. package/src/components/forms/input-group/input-group.stories.tsx +146 -0
  1120. package/src/components/forms/input-group/input-group.tsx +344 -0
  1121. package/src/components/forms/label/index.ts +7 -0
  1122. package/src/components/forms/label/label.stories.tsx +140 -0
  1123. package/src/components/forms/label/label.tsx +189 -0
  1124. package/src/components/forms/radio-group/index.ts +7 -0
  1125. package/src/components/forms/radio-group/radio-group.stories.tsx +233 -0
  1126. package/src/components/forms/radio-group/radio-group.tsx +476 -0
  1127. package/src/components/forms/select/index.ts +7 -0
  1128. package/src/components/forms/select/select.stories.tsx +274 -0
  1129. package/src/components/forms/select/select.tsx +654 -0
  1130. package/src/components/forms/switch/index.ts +11 -0
  1131. package/src/components/forms/switch/switch.stories.tsx +166 -0
  1132. package/src/components/forms/switch/switch.tsx +362 -0
  1133. package/src/components/forms/textarea/index.ts +7 -0
  1134. package/src/components/forms/textarea/textarea.stories.tsx +176 -0
  1135. package/src/components/forms/textarea/textarea.tsx +225 -0
  1136. package/src/components/layout/app-shell.tsx +363 -0
  1137. package/src/components/layout/app-sidebar/app-sidebar.stories.tsx +68 -0
  1138. package/src/components/layout/app-sidebar/app-sidebar.tsx +418 -0
  1139. package/src/components/layout/app-sidebar/index.ts +11 -0
  1140. package/src/components/layout/artifact-panel/artifact-panel-header.tsx +89 -0
  1141. package/src/components/layout/artifact-panel/expandable-panel.stories.tsx +484 -0
  1142. package/src/components/layout/artifact-panel/expandable-panel.tsx +289 -0
  1143. package/src/components/layout/artifact-panel/index.ts +23 -0
  1144. package/src/components/layout/artifact-panel/split-panel-layout.tsx +70 -0
  1145. package/src/components/layout/artifact-panel/types.ts +63 -0
  1146. package/src/components/layout/artifact-panel/use-artifact-panel-state.ts +101 -0
  1147. package/src/components/layout/content-sidebar/content-sidebar.stories.tsx +490 -0
  1148. package/src/components/layout/content-sidebar/content-sidebar.tsx +337 -0
  1149. package/src/components/layout/content-sidebar/index.ts +17 -0
  1150. package/src/components/layout/nav-app-switcher/index.ts +7 -0
  1151. package/src/components/layout/nav-app-switcher/nav-app-switcher.stories.tsx +138 -0
  1152. package/src/components/layout/nav-app-switcher/nav-app-switcher.tsx +282 -0
  1153. package/src/components/layout/nav-main/index.ts +11 -0
  1154. package/src/components/layout/nav-main/nav-main.stories.tsx +103 -0
  1155. package/src/components/layout/nav-main/nav-main.tsx +259 -0
  1156. package/src/components/layout/nav-projects/index.ts +11 -0
  1157. package/src/components/layout/nav-projects/nav-projects.stories.tsx +82 -0
  1158. package/src/components/layout/nav-projects/nav-projects.tsx +218 -0
  1159. package/src/components/layout/nav-secondary/index.ts +11 -0
  1160. package/src/components/layout/nav-secondary/nav-secondary.stories.tsx +81 -0
  1161. package/src/components/layout/nav-secondary/nav-secondary.tsx +145 -0
  1162. package/src/components/layout/nav-user/index.ts +11 -0
  1163. package/src/components/layout/nav-user/nav-user.stories.tsx +80 -0
  1164. package/src/components/layout/nav-user/nav-user.tsx +226 -0
  1165. package/src/components/layout/oneapp/auth-context.tsx +74 -0
  1166. package/src/components/layout/oneapp/ensure-anonymous-session.tsx +218 -0
  1167. package/src/components/layout/oneapp/index.ts +37 -0
  1168. package/src/components/layout/oneapp/microfrontend-layout.tsx +191 -0
  1169. package/src/components/layout/oneapp/types.ts +98 -0
  1170. package/src/components/layout/sidebar/index.ts +7 -0
  1171. package/src/components/layout/sidebar/sidebar.stories.tsx +170 -0
  1172. package/src/components/layout/sidebar/sidebar.tsx +945 -0
  1173. package/src/components/layout/sidebar-inset-header-portal/index.ts +8 -0
  1174. package/src/components/layout/sidebar-inset-header-portal/sidebar-inset-header-portal.stories.tsx +355 -0
  1175. package/src/components/layout/sidebar-inset-header-portal/sidebar-inset-header-portal.tsx +179 -0
  1176. package/src/components/layout/sidebar-slots/USAGE.md +163 -0
  1177. package/src/components/layout/sidebar-slots/__tests__/sidebar-slots.test.tsx +239 -0
  1178. package/src/components/layout/sidebar-slots/index.ts +9 -0
  1179. package/src/components/layout/sidebar-slots/sidebar-slots.stories.tsx +525 -0
  1180. package/src/components/layout/sidebar-slots/sidebar-slots.tsx +205 -0
  1181. package/src/components/layout/theme-provider/index.ts +11 -0
  1182. package/src/components/layout/theme-provider/theme-provider.stories.tsx +82 -0
  1183. package/src/components/layout/theme-provider/theme-provider.tsx +101 -0
  1184. package/src/components/overlays/confirm-dialog.stories.tsx +371 -0
  1185. package/src/components/overlays/confirm-dialog.tsx +201 -0
  1186. package/src/components/overlays/toast.stories.tsx +373 -0
  1187. package/src/components/overlays/toast.tsx +115 -0
  1188. package/src/constants/container.ts +183 -0
  1189. package/src/constants/index.ts +38 -0
  1190. package/src/constants/motion.ts +104 -0
  1191. package/src/fonts/Satoshi-Variable.woff2 +0 -0
  1192. package/src/fonts/Satoshi-VariableItalic.woff2 +0 -0
  1193. package/src/fonts/fonts.css +41 -0
  1194. package/src/fonts/index.ts +106 -0
  1195. package/src/hooks/.gitkeep +0 -0
  1196. package/src/hooks/ai-chat/context.tsx +294 -0
  1197. package/src/hooks/ai-chat/hooks.ts +297 -0
  1198. package/src/hooks/ai-chat/index.ts +35 -0
  1199. package/src/hooks/ai-chat/utils.ts +65 -0
  1200. package/src/hooks/index.ts +18 -0
  1201. package/src/hooks/use-mobile.ts +45 -0
  1202. package/src/hooks/use-responsive.ts +64 -0
  1203. package/src/hooks/use-scroll-progress.ts +101 -0
  1204. package/src/hooks/use-toast.ts +65 -0
  1205. package/src/index.ts +857 -0
  1206. package/src/lib/export-csv.ts +107 -0
  1207. package/src/lib/index.ts +10 -0
  1208. package/src/lib/resize-image.ts +109 -0
  1209. package/src/lib/stable-sort.ts +29 -0
  1210. package/src/lib/utils.ts +28 -0
  1211. package/src/react-19-compat.d.ts +28 -0
  1212. package/src/shared/auth/index.ts +8 -0
  1213. package/src/shared/auth/types/index.ts +163 -0
  1214. package/src/shared/auth/types.ts +196 -0
  1215. package/src/shared/auth/utils/dark-mode.ts +336 -0
  1216. package/src/shared/index.ts +5 -0
  1217. package/src/styles/_tokens.generated.scss +84 -0
  1218. package/src/styles/ai-elements.scss +9 -0
  1219. package/src/styles/base.scss +44 -0
  1220. package/src/styles/flows.scss +62 -0
  1221. package/src/styles/globals.css +627 -0
  1222. package/src/styles/index.scss +9 -0
  1223. package/src/styles/shadcn.scss +16 -0
  1224. package/src/styles/sources.css +16 -0
  1225. package/src/styles/theme.css +1687 -0
  1226. package/src/styles/theme.template.css +95 -0
  1227. package/src/tokens/accessibility.ts +494 -0
  1228. package/src/tokens/animations.ts +305 -0
  1229. package/src/tokens/aspect-ratio.ts +89 -0
  1230. package/src/tokens/blur.ts +82 -0
  1231. package/src/tokens/border-width.ts +86 -0
  1232. package/src/tokens/breakpoints.ts +150 -0
  1233. package/src/tokens/colors.ts +1199 -0
  1234. package/src/tokens/component.ts +362 -0
  1235. package/src/tokens/container.ts +42 -0
  1236. package/src/tokens/focus.ts +266 -0
  1237. package/src/tokens/form-states.ts +521 -0
  1238. package/src/tokens/grid.ts +258 -0
  1239. package/src/tokens/index.ts +1175 -0
  1240. package/src/tokens/interactions.ts +558 -0
  1241. package/src/tokens/mantine-types.ts +68 -0
  1242. package/src/tokens/opacity.ts +139 -0
  1243. package/src/tokens/palette.ts +854 -0
  1244. package/src/tokens/pseudo-elements.ts +508 -0
  1245. package/src/tokens/radius.ts +57 -0
  1246. package/src/tokens/shadows.ts +313 -0
  1247. package/src/tokens/spacing.ts +95 -0
  1248. package/src/tokens/states.ts +392 -0
  1249. package/src/tokens/structural.ts +589 -0
  1250. package/src/tokens/timing.ts +224 -0
  1251. package/src/tokens/typography.ts +242 -0
  1252. package/src/tokens/z-index.ts +184 -0
  1253. package/storybook/preview.tsx +201 -0
@@ -0,0 +1,379 @@
1
+ 'use client';
2
+ import { t as cn } from "./utils-D2bGp2p_.mjs";
3
+ import { a as SPRING_TACTILE, r as SPRING_FLUID } from "./motion-zelaDelJ.mjs";
4
+ import { AI_FOCUS } from "./components-ai-elements-constants.mjs";
5
+ import * as React$1 from "react";
6
+ import { memo, useMemo } from "react";
7
+ import { useMediaQuery, useReducedMotion } from "@mantine/hooks";
8
+ import { cva } from "class-variance-authority";
9
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
10
+ import { AnimatePresence, motion } from "motion/react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
13
+
14
+ //#region src/components/elements/organisms/dropdown-menu/dropdown-menu.tsx
15
+ /**
16
+ * @fileoverview DropdownMenu Component - Premium Harmony V2
17
+ *
18
+ * A comprehensive dropdown menu component built on Radix UI primitives.
19
+ * Supports submenus, checkboxes, radio items, and keyboard navigation.
20
+ *
21
+ * Features:
22
+ * - ES2023 syntax with modern patterns
23
+ * - Premium Harmony V2 spring physics (SPRING_FLUID, SPRING_TACTILE)
24
+ * - Touch-optimized 44px minimum targets (WCAG 2.5.5)
25
+ * - Reduced motion support via prefers-reduced-motion
26
+ * - Touch detection with useMediaQuery('(pointer: coarse)')
27
+ * - Tailwind v4 CSS-first theming with CSS variables
28
+ * - Super light/dark mode with seamless switching
29
+ * - CVA variants for item styling (variant, size, inset)
30
+ * - Optional stagger animation for menu items
31
+ * - Radix UI primitives for accessibility
32
+ * - Nested submenus with slide animations
33
+ * - Checkbox and radio item support
34
+ * - Keyboard shortcut display
35
+ * - Data attributes for state management (data-state, data-highlighted)
36
+ * - Focus-visible ring styles using AI_FOCUS
37
+ * - Semantic color tokens (no hardcoded colors)
38
+ * - Portal usage: implicit (DropdownMenuContent) or explicit (DropdownMenuPortal + Content)
39
+ *
40
+ * @module @od-oneapp/uni-ui/components/elements/dropdown-menu
41
+ * @component DropdownMenu
42
+ *
43
+ * @useCases
44
+ * - User account menus with profile, settings, and logout actions
45
+ * - Context menus for list items with edit, delete, share options
46
+ * - Table row actions with view, edit, duplicate, archive commands
47
+ * - Navigation dropdowns with nested submenu support
48
+ * - Bulk action menus with checkboxes for multi-select operations
49
+ * - Filter menus with radio groups for single-select options
50
+ * - Quick action menus with keyboard shortcuts display
51
+ * - Multi-level navigation menus with category submenus
52
+ *
53
+ * @subcomponents
54
+ * - DropdownMenu - Root container
55
+ * - DropdownMenuPortal - Portal container
56
+ * - DropdownMenuTrigger - Button that opens the menu
57
+ * - DropdownMenuContent - Menu content with animations
58
+ * - DropdownMenuGroup - Groups related menu items
59
+ * - DropdownMenuLabel - Label for a group
60
+ * - DropdownMenuItem - Individual menu item
61
+ * - DropdownMenuCheckboxItem - Checkbox menu item
62
+ * - DropdownMenuRadioGroup - Radio group container
63
+ * - DropdownMenuRadioItem - Radio menu item
64
+ * - DropdownMenuSeparator - Visual separator
65
+ * - DropdownMenuShortcut - Keyboard shortcut display
66
+ * - DropdownMenuSub - Submenu container
67
+ * - DropdownMenuSubTrigger - Submenu trigger
68
+ * - DropdownMenuSubContent - Submenu content
69
+ *
70
+ * @variants
71
+ * - variant: default, destructive (DropdownMenuItem)
72
+ * - size: sm, default, lg, touch (DropdownMenuItem) - touch auto-applied on touch devices
73
+ * - inset: true, false (DropdownMenuItem)
74
+ *
75
+ * @example
76
+ * <DropdownMenu>
77
+ * <DropdownMenuTrigger>Open Menu</DropdownMenuTrigger>
78
+ * <DropdownMenuContent stagger>
79
+ * <DropdownMenuLabel>My Account</DropdownMenuLabel>
80
+ * <DropdownMenuSeparator />
81
+ * <DropdownMenuItem>Profile</DropdownMenuItem>
82
+ * <DropdownMenuItem variant="destructive">Delete</DropdownMenuItem>
83
+ * </DropdownMenuContent>
84
+ * </DropdownMenu>
85
+ */
86
+ const DropdownMenuContext = React$1.createContext({ open: false });
87
+ const useDropdownMenuContext = () => React$1.useContext(DropdownMenuContext);
88
+ function DropdownMenu({ children, open: openProp, onOpenChange, ...props }) {
89
+ const [internalOpen, setInternalOpen] = React$1.useState(false);
90
+ const isControlled = openProp !== void 0;
91
+ const open = isControlled ? openProp : internalOpen;
92
+ const handleOpenChange = React$1.useCallback((nextOpen) => {
93
+ if (!isControlled) setInternalOpen(nextOpen);
94
+ onOpenChange?.(nextOpen);
95
+ }, [isControlled, onOpenChange]);
96
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, {
97
+ "data-slot": "dropdown-menu",
98
+ open,
99
+ onOpenChange: handleOpenChange,
100
+ ...props,
101
+ children: /* @__PURE__ */ jsx(DropdownMenuContext.Provider, {
102
+ value: { open },
103
+ children
104
+ })
105
+ });
106
+ }
107
+ /**
108
+ * Renders a Radix Portal configured for the dropdown menu.
109
+ *
110
+ * @returns The Portal element used to mount dropdown menu content with a `data-slot="dropdown-menu-portal"` attribute.
111
+ */
112
+ function DropdownMenuPortal({ ...props }) {
113
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, {
114
+ "data-slot": "dropdown-menu-portal",
115
+ ...props
116
+ });
117
+ }
118
+ const DROPDOWN_MENU_TRIGGER_BASE_CLASSNAME = AI_FOCUS.ring;
119
+ const DROPDOWN_MENU_CONTENT_BASE_CLASSNAME = "bg-popover text-popover-foreground z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md";
120
+ const DROPDOWN_MENU_CHECKBOX_ITEM_BASE_CLASSNAME = "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none min-h-[44px] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
121
+ const DROPDOWN_MENU_CHECKBOX_INDICATOR_WRAPPER_CLASSNAME = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center";
122
+ const DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON_CLASSNAME = "size-4";
123
+ const DROPDOWN_MENU_RADIO_ITEM_BASE_CLASSNAME = "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none min-h-[44px] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
124
+ const DROPDOWN_MENU_RADIO_INDICATOR_WRAPPER_CLASSNAME = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center";
125
+ const DROPDOWN_MENU_RADIO_INDICATOR_ICON_CLASSNAME = "size-2 fill-current";
126
+ const DROPDOWN_MENU_LABEL_BASE_CLASSNAME = "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8";
127
+ const DROPDOWN_MENU_SEPARATOR_BASE_CLASSNAME = "bg-border -mx-1 my-1 h-px";
128
+ const DROPDOWN_MENU_SHORTCUT_BASE_CLASSNAME = "text-muted-foreground ml-auto text-xs tracking-widest";
129
+ const DROPDOWN_MENU_SUB_TRIGGER_BASE_CLASSNAME = "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none min-h-[44px] data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
130
+ const DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_CLASSNAME = "ml-auto size-4";
131
+ const DROPDOWN_MENU_SUB_CONTENT_BASE_CLASSNAME = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg";
132
+ const DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON = /* @__PURE__ */ jsx(CheckIcon, { className: DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON_CLASSNAME });
133
+ const DROPDOWN_MENU_RADIO_INDICATOR_ICON = /* @__PURE__ */ jsx(CircleIcon, { className: DROPDOWN_MENU_RADIO_INDICATOR_ICON_CLASSNAME });
134
+ const DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_ICON = /* @__PURE__ */ jsx(ChevronRightIcon, { className: DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_CLASSNAME });
135
+ /**
136
+ * Renders the trigger element that opens the dropdown menu.
137
+ *
138
+ * The rendered element includes the data-slot="dropdown-menu-trigger" attribute and merges any provided `className` with built-in focus-visible ring and offset styles.
139
+ *
140
+ * @returns The trigger element for the dropdown menu
141
+ */
142
+ function DropdownMenuTrigger({ className, ...props }) {
143
+ const triggerClassName = useMemo(() => cn(DROPDOWN_MENU_TRIGGER_BASE_CLASSNAME, className), [className]);
144
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, {
145
+ "data-slot": "dropdown-menu-trigger",
146
+ className: triggerClassName,
147
+ ...props
148
+ });
149
+ }
150
+ /**
151
+ * Renders dropdown menu content inside a portal with built-in styling, animations, and overflow handling.
152
+ *
153
+ * @param className - Additional CSS classes to apply to the content container.
154
+ * @param sideOffset - Distance in pixels between the trigger and content; defaults to 4.
155
+ * @param stagger - Enable staggered fade-in animation for menu items.
156
+ * @param animate - Enable or disable entry/exit animations (defaults to true).
157
+ * @returns A JSX element that mounts the dropdown content into a portal.
158
+ */
159
+ function DropdownMenuContent({ className, sideOffset = 4, stagger = false, animate = true, children, ...props }) {
160
+ const { open } = useDropdownMenuContext();
161
+ const isTouchDevice = useMediaQuery("(pointer: coarse)");
162
+ const prefersReducedMotion = useReducedMotion();
163
+ const contentClassName = useMemo(() => cn(DROPDOWN_MENU_CONTENT_BASE_CLASSNAME, className), [className]);
164
+ const contentVariants = useMemo(() => ({
165
+ hidden: prefersReducedMotion ? { opacity: 0 } : {
166
+ opacity: 0,
167
+ scale: .95,
168
+ y: isTouchDevice ? -8 : -5
169
+ },
170
+ visible: {
171
+ opacity: 1,
172
+ scale: 1,
173
+ y: 0,
174
+ transition: {
175
+ ...prefersReducedMotion ? { duration: .001 } : isTouchDevice ? SPRING_TACTILE : SPRING_FLUID,
176
+ staggerChildren: stagger ? .05 : 0
177
+ }
178
+ },
179
+ exit: prefersReducedMotion ? { opacity: 0 } : {
180
+ opacity: 0,
181
+ scale: .95,
182
+ y: isTouchDevice ? -8 : -5,
183
+ transition: { duration: .15 }
184
+ }
185
+ }), [
186
+ prefersReducedMotion,
187
+ isTouchDevice,
188
+ stagger
189
+ ]);
190
+ useMemo(() => ({
191
+ hidden: {
192
+ opacity: 0,
193
+ x: -5
194
+ },
195
+ visible: {
196
+ opacity: 1,
197
+ x: 0
198
+ }
199
+ }), []);
200
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, {
201
+ forceMount: true,
202
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
203
+ asChild: true,
204
+ forceMount: true,
205
+ "data-slot": "dropdown-menu-content",
206
+ "data-state": open ? "open" : "closed",
207
+ sideOffset,
208
+ ...props,
209
+ children: /* @__PURE__ */ jsx(motion.div, {
210
+ className: contentClassName,
211
+ variants: animate ? contentVariants : void 0,
212
+ initial: animate ? "hidden" : void 0,
213
+ animate: animate ? "visible" : void 0,
214
+ exit: animate ? "exit" : void 0,
215
+ children: stagger ? React$1.Children.map(children, (child, _index) => {
216
+ if (React$1.isValidElement(child) && child.type.displayName === "DropdownMenuItem") return child;
217
+ return child;
218
+ }) : children
219
+ })
220
+ })
221
+ }) : null });
222
+ }
223
+ function DropdownMenuGroup({ ...props }) {
224
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, {
225
+ "data-slot": "dropdown-menu-group",
226
+ ...props
227
+ });
228
+ }
229
+ const dropdownMenuItemVariants = cva("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
230
+ variants: {
231
+ variant: {
232
+ default: "",
233
+ destructive: "text-destructive focus:bg-destructive/10 dark:focus:bg-destructive/20 focus:text-destructive *:[svg]:!text-destructive"
234
+ },
235
+ size: {
236
+ sm: "px-1.5 py-1 text-xs",
237
+ default: "px-2 py-1.5 text-sm",
238
+ lg: "px-3 py-2 text-base",
239
+ touch: "px-3 py-3 text-base min-h-[44px]"
240
+ },
241
+ inset: {
242
+ true: "pl-8",
243
+ false: ""
244
+ }
245
+ },
246
+ defaultVariants: {
247
+ variant: "default",
248
+ size: "default",
249
+ inset: false
250
+ }
251
+ });
252
+ function DropdownMenuItem({ className, inset, variant, size, animate = true, ...props }) {
253
+ const isTouchDevice = useMediaQuery("(pointer: coarse)");
254
+ const prefersReducedMotion = useReducedMotion();
255
+ const effectiveSize = size ?? (isTouchDevice ? "touch" : "default");
256
+ const itemClassName = useMemo(() => cn(dropdownMenuItemVariants({
257
+ variant,
258
+ size: effectiveSize,
259
+ inset: inset ?? false
260
+ }), className), [
261
+ variant,
262
+ effectiveSize,
263
+ inset,
264
+ className
265
+ ]);
266
+ const itemVariants = useMemo(() => ({
267
+ hidden: {
268
+ opacity: 0,
269
+ x: -5
270
+ },
271
+ visible: {
272
+ opacity: 1,
273
+ x: 0
274
+ }
275
+ }), []);
276
+ const tapAnimation = useMemo(() => prefersReducedMotion ? {} : { scale: .98 }, [prefersReducedMotion]);
277
+ const tapTransition = useMemo(() => prefersReducedMotion ? { duration: 0 } : isTouchDevice ? SPRING_TACTILE : SPRING_FLUID, [prefersReducedMotion, isTouchDevice]);
278
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
279
+ asChild: true,
280
+ ...props,
281
+ children: /* @__PURE__ */ jsx(motion.div, {
282
+ "data-slot": "dropdown-menu-item",
283
+ className: itemClassName,
284
+ variants: animate ? itemVariants : void 0,
285
+ whileTap: animate ? tapAnimation : void 0,
286
+ transition: animate ? tapTransition : void 0,
287
+ children: props.children
288
+ })
289
+ });
290
+ }
291
+ DropdownMenuItem.displayName = "DropdownMenuItem";
292
+ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
293
+ const checkboxItemClassName = useMemo(() => cn(DROPDOWN_MENU_CHECKBOX_ITEM_BASE_CLASSNAME, className), [className]);
294
+ const indicatorElement = useMemo(() => /* @__PURE__ */ jsx("span", {
295
+ className: DROPDOWN_MENU_CHECKBOX_INDICATOR_WRAPPER_CLASSNAME,
296
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON })
297
+ }), []);
298
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
299
+ "data-slot": "dropdown-menu-checkbox-item",
300
+ "data-state": checked ? "checked" : "unchecked",
301
+ className: checkboxItemClassName,
302
+ checked,
303
+ ...props,
304
+ children: [indicatorElement, children]
305
+ });
306
+ }
307
+ function DropdownMenuRadioGroup({ ...props }) {
308
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.RadioGroup, {
309
+ "data-slot": "dropdown-menu-radio-group",
310
+ ...props
311
+ });
312
+ }
313
+ function DropdownMenuRadioItem({ className, children, ...props }) {
314
+ const radioItemClassName = useMemo(() => cn(DROPDOWN_MENU_RADIO_ITEM_BASE_CLASSNAME, className), [className]);
315
+ const indicatorElement = useMemo(() => /* @__PURE__ */ jsx("span", {
316
+ className: DROPDOWN_MENU_RADIO_INDICATOR_WRAPPER_CLASSNAME,
317
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: DROPDOWN_MENU_RADIO_INDICATOR_ICON })
318
+ }), []);
319
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
320
+ "data-slot": "dropdown-menu-radio-item",
321
+ className: radioItemClassName,
322
+ ...props,
323
+ children: [indicatorElement, children]
324
+ });
325
+ }
326
+ const DropdownMenuLabel = memo(function DropdownMenuLabel({ className, inset, ...props }) {
327
+ const labelClassName = useMemo(() => cn(DROPDOWN_MENU_LABEL_BASE_CLASSNAME, className), [className]);
328
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, {
329
+ "data-slot": "dropdown-menu-label",
330
+ "data-inset": inset,
331
+ className: labelClassName,
332
+ ...props
333
+ });
334
+ });
335
+ const DropdownMenuSeparator = memo(function DropdownMenuSeparator({ className, ...props }) {
336
+ const separatorClassName = useMemo(() => cn(DROPDOWN_MENU_SEPARATOR_BASE_CLASSNAME, className), [className]);
337
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, {
338
+ "data-slot": "dropdown-menu-separator",
339
+ className: separatorClassName,
340
+ ...props
341
+ });
342
+ });
343
+ const DropdownMenuShortcut = memo(function DropdownMenuShortcut({ className, ...props }) {
344
+ const shortcutClassName = useMemo(() => cn(DROPDOWN_MENU_SHORTCUT_BASE_CLASSNAME, className), [className]);
345
+ return /* @__PURE__ */ jsx("span", {
346
+ "data-slot": "dropdown-menu-shortcut",
347
+ className: shortcutClassName,
348
+ ...props
349
+ });
350
+ });
351
+ function DropdownMenuSub({ ...props }) {
352
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, {
353
+ "data-slot": "dropdown-menu-sub",
354
+ ...props
355
+ });
356
+ }
357
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
358
+ const subTriggerClassName = useMemo(() => cn(DROPDOWN_MENU_SUB_TRIGGER_BASE_CLASSNAME, className), [className]);
359
+ const chevronIcon = DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_ICON;
360
+ return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
361
+ "data-slot": "dropdown-menu-sub-trigger",
362
+ "data-inset": inset,
363
+ className: subTriggerClassName,
364
+ ...props,
365
+ children: [children, chevronIcon]
366
+ });
367
+ }
368
+ function DropdownMenuSubContent({ className, ...props }) {
369
+ const subContentClassName = useMemo(() => cn(DROPDOWN_MENU_SUB_CONTENT_BASE_CLASSNAME, className), [className]);
370
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
371
+ "data-slot": "dropdown-menu-sub-content",
372
+ className: subContentClassName,
373
+ ...props
374
+ });
375
+ }
376
+
377
+ //#endregion
378
+ export { DropdownMenuItem as a, DropdownMenuRadioGroup as c, DropdownMenuShortcut as d, DropdownMenuSub as f, dropdownMenuItemVariants as g, DropdownMenuTrigger as h, DropdownMenuGroup as i, DropdownMenuRadioItem as l, DropdownMenuSubTrigger as m, DropdownMenuCheckboxItem as n, DropdownMenuLabel as o, DropdownMenuSubContent as p, DropdownMenuContent as r, DropdownMenuPortal as s, DropdownMenu as t, DropdownMenuSeparator as u };
379
+ //# sourceMappingURL=dropdown-menu-91g1g_Cl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-91g1g_Cl.mjs","names":["React"],"sources":["../src/components/elements/organisms/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["/**\n * @fileoverview DropdownMenu Component - Premium Harmony V2\n *\n * A comprehensive dropdown menu component built on Radix UI primitives.\n * Supports submenus, checkboxes, radio items, and keyboard navigation.\n *\n * Features:\n * - ES2023 syntax with modern patterns\n * - Premium Harmony V2 spring physics (SPRING_FLUID, SPRING_TACTILE)\n * - Touch-optimized 44px minimum targets (WCAG 2.5.5)\n * - Reduced motion support via prefers-reduced-motion\n * - Touch detection with useMediaQuery('(pointer: coarse)')\n * - Tailwind v4 CSS-first theming with CSS variables\n * - Super light/dark mode with seamless switching\n * - CVA variants for item styling (variant, size, inset)\n * - Optional stagger animation for menu items\n * - Radix UI primitives for accessibility\n * - Nested submenus with slide animations\n * - Checkbox and radio item support\n * - Keyboard shortcut display\n * - Data attributes for state management (data-state, data-highlighted)\n * - Focus-visible ring styles using AI_FOCUS\n * - Semantic color tokens (no hardcoded colors)\n * - Portal usage: implicit (DropdownMenuContent) or explicit (DropdownMenuPortal + Content)\n *\n * @module @od-oneapp/uni-ui/components/elements/dropdown-menu\n * @component DropdownMenu\n *\n * @useCases\n * - User account menus with profile, settings, and logout actions\n * - Context menus for list items with edit, delete, share options\n * - Table row actions with view, edit, duplicate, archive commands\n * - Navigation dropdowns with nested submenu support\n * - Bulk action menus with checkboxes for multi-select operations\n * - Filter menus with radio groups for single-select options\n * - Quick action menus with keyboard shortcuts display\n * - Multi-level navigation menus with category submenus\n *\n * @subcomponents\n * - DropdownMenu - Root container\n * - DropdownMenuPortal - Portal container\n * - DropdownMenuTrigger - Button that opens the menu\n * - DropdownMenuContent - Menu content with animations\n * - DropdownMenuGroup - Groups related menu items\n * - DropdownMenuLabel - Label for a group\n * - DropdownMenuItem - Individual menu item\n * - DropdownMenuCheckboxItem - Checkbox menu item\n * - DropdownMenuRadioGroup - Radio group container\n * - DropdownMenuRadioItem - Radio menu item\n * - DropdownMenuSeparator - Visual separator\n * - DropdownMenuShortcut - Keyboard shortcut display\n * - DropdownMenuSub - Submenu container\n * - DropdownMenuSubTrigger - Submenu trigger\n * - DropdownMenuSubContent - Submenu content\n *\n * @variants\n * - variant: default, destructive (DropdownMenuItem)\n * - size: sm, default, lg, touch (DropdownMenuItem) - touch auto-applied on touch devices\n * - inset: true, false (DropdownMenuItem)\n *\n * @example\n * <DropdownMenu>\n * <DropdownMenuTrigger>Open Menu</DropdownMenuTrigger>\n * <DropdownMenuContent stagger>\n * <DropdownMenuLabel>My Account</DropdownMenuLabel>\n * <DropdownMenuSeparator />\n * <DropdownMenuItem>Profile</DropdownMenuItem>\n * <DropdownMenuItem variant=\"destructive\">Delete</DropdownMenuItem>\n * </DropdownMenuContent>\n * </DropdownMenu>\n */\n\n'use client';\n\nimport * as React from 'react';\nimport { memo, useMemo } from 'react';\n\nimport { useMediaQuery, useReducedMotion } from '@mantine/hooks';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport { AnimatePresence, motion } from 'motion/react';\n\nimport { cn } from '../../../../lib/utils';\nimport { AI_FOCUS, SPRING_FLUID, SPRING_TACTILE } from '../../../ai-elements/ai-elements.constants';\n\nconst DropdownMenuContext = React.createContext<{ open: boolean }>({ open: false });\n\nconst useDropdownMenuContext = () => React.useContext(DropdownMenuContext);\n\nfunction DropdownMenu({\n children,\n open: openProp,\n onOpenChange,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n // Track internal state for uncontrolled mode\n const [internalOpen, setInternalOpen] = React.useState(false);\n\n // Use controlled value if provided, otherwise use internal state\n const isControlled = openProp !== undefined;\n const open = isControlled ? openProp : internalOpen;\n\n // Handler that updates internal state and calls external handler\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n if (!isControlled) {\n setInternalOpen(nextOpen);\n }\n onOpenChange?.(nextOpen);\n },\n [isControlled, onOpenChange],\n );\n\n return (\n <DropdownMenuPrimitive.Root\n data-slot=\"dropdown-menu\"\n open={open}\n onOpenChange={handleOpenChange}\n {...props}\n >\n <DropdownMenuContext.Provider value={{ open }}>{children}</DropdownMenuContext.Provider>\n </DropdownMenuPrimitive.Root>\n );\n}\n\n/**\n * Renders a Radix Portal configured for the dropdown menu.\n *\n * @returns The Portal element used to mount dropdown menu content with a `data-slot=\"dropdown-menu-portal\"` attribute.\n */\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\n// Static classNames - moved outside components to prevent recreation\nconst DROPDOWN_MENU_TRIGGER_BASE_CLASSNAME = AI_FOCUS.ring;\nconst DROPDOWN_MENU_CONTENT_BASE_CLASSNAME =\n 'bg-popover text-popover-foreground z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md';\nconst DROPDOWN_MENU_CHECKBOX_ITEM_BASE_CLASSNAME =\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none min-h-[44px] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\nconst DROPDOWN_MENU_CHECKBOX_INDICATOR_WRAPPER_CLASSNAME =\n 'pointer-events-none absolute left-2 flex size-3.5 items-center justify-center';\nconst DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON_CLASSNAME = 'size-4';\nconst DROPDOWN_MENU_RADIO_ITEM_BASE_CLASSNAME =\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none min-h-[44px] data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\nconst DROPDOWN_MENU_RADIO_INDICATOR_WRAPPER_CLASSNAME =\n 'pointer-events-none absolute left-2 flex size-3.5 items-center justify-center';\nconst DROPDOWN_MENU_RADIO_INDICATOR_ICON_CLASSNAME = 'size-2 fill-current';\nconst DROPDOWN_MENU_LABEL_BASE_CLASSNAME = 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8';\nconst DROPDOWN_MENU_SEPARATOR_BASE_CLASSNAME = 'bg-border -mx-1 my-1 h-px';\nconst DROPDOWN_MENU_SHORTCUT_BASE_CLASSNAME =\n 'text-muted-foreground ml-auto text-xs tracking-widest';\nconst DROPDOWN_MENU_SUB_TRIGGER_BASE_CLASSNAME =\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none min-h-[44px] data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\nconst DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_CLASSNAME = 'ml-auto size-4';\nconst DROPDOWN_MENU_SUB_CONTENT_BASE_CLASSNAME =\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg';\n\n// Default React elements - moved outside components to prevent recreation\nconst DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON = (\n <CheckIcon className={DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON_CLASSNAME} />\n);\nconst DROPDOWN_MENU_RADIO_INDICATOR_ICON = (\n <CircleIcon className={DROPDOWN_MENU_RADIO_INDICATOR_ICON_CLASSNAME} />\n);\nconst DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_ICON = (\n <ChevronRightIcon className={DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_CLASSNAME} />\n);\n\n/**\n * Renders the trigger element that opens the dropdown menu.\n *\n * The rendered element includes the data-slot=\"dropdown-menu-trigger\" attribute and merges any provided `className` with built-in focus-visible ring and offset styles.\n *\n * @returns The trigger element for the dropdown menu\n */\nfunction DropdownMenuTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n // Memoize className computation to prevent unnecessary re-computation\n const triggerClassName = useMemo(\n () => cn(DROPDOWN_MENU_TRIGGER_BASE_CLASSNAME, className),\n [className],\n );\n\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n className={triggerClassName}\n {...props}\n />\n );\n}\n\ninterface DropdownMenuContentProps extends React.ComponentProps<\n typeof DropdownMenuPrimitive.Content\n> {\n /** Enable stagger animation for menu items */\n stagger?: boolean;\n /** Disable animations for the menu content */\n animate?: boolean;\n}\n\n/**\n * Renders dropdown menu content inside a portal with built-in styling, animations, and overflow handling.\n *\n * @param className - Additional CSS classes to apply to the content container.\n * @param sideOffset - Distance in pixels between the trigger and content; defaults to 4.\n * @param stagger - Enable staggered fade-in animation for menu items.\n * @param animate - Enable or disable entry/exit animations (defaults to true).\n * @returns A JSX element that mounts the dropdown content into a portal.\n */\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n stagger = false,\n animate = true,\n children,\n ...props\n}: DropdownMenuContentProps) {\n const { open } = useDropdownMenuContext();\n\n // Premium Harmony V2: Device and motion detection\n const isTouchDevice = useMediaQuery('(pointer: coarse)');\n const prefersReducedMotion = useReducedMotion();\n\n // Memoize className computation to prevent unnecessary re-computation\n const contentClassName = useMemo(\n () => cn(DROPDOWN_MENU_CONTENT_BASE_CLASSNAME, className),\n [className],\n );\n\n // Premium Harmony V2: Dynamic animation variants based on device and motion preferences\n const contentVariants = useMemo(\n () => ({\n hidden: prefersReducedMotion\n ? { opacity: 0 }\n : { opacity: 0, scale: 0.95, y: isTouchDevice ? -8 : -5 },\n visible: {\n opacity: 1,\n scale: 1,\n y: 0,\n transition: {\n ...(prefersReducedMotion\n ? { duration: 0.001 }\n : (isTouchDevice\n ? SPRING_TACTILE\n : SPRING_FLUID)),\n staggerChildren: stagger ? 0.05 : 0,\n },\n },\n exit: prefersReducedMotion\n ? { opacity: 0 }\n : { opacity: 0, scale: 0.95, y: isTouchDevice ? -8 : -5, transition: { duration: 0.15 } },\n }),\n [prefersReducedMotion, isTouchDevice, stagger],\n );\n\n const itemVariants = useMemo(\n () => ({\n hidden: { opacity: 0, x: -5 },\n visible: { opacity: 1, x: 0 },\n }),\n [],\n );\n\n return (\n <AnimatePresence>\n {open ? (\n <DropdownMenuPrimitive.Portal forceMount>\n <DropdownMenuPrimitive.Content\n asChild\n forceMount\n data-slot=\"dropdown-menu-content\"\n data-state={open ? 'open' : 'closed'}\n sideOffset={sideOffset}\n {...props}\n >\n <motion.div\n className={contentClassName}\n variants={animate ? contentVariants : undefined}\n initial={animate ? 'hidden' : undefined}\n animate={animate ? 'visible' : undefined}\n exit={animate ? 'exit' : undefined}\n >\n {stagger\n ? React.Children.map(children, (child, _index) => {\n if (\n React.isValidElement(child) &&\n (child.type as any).displayName === 'DropdownMenuItem'\n ) {\n // We can't easily inject variants into children without cloning or wrapper\n // Standard DropdownMenuItem will need to handle its own animation if it's inside motion.div\n return child;\n }\n return child;\n })\n : children}\n </motion.div>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n ) : null}\n </AnimatePresence>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nconst dropdownMenuItemVariants = cva(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: '',\n destructive:\n 'text-destructive focus:bg-destructive/10 dark:focus:bg-destructive/20 focus:text-destructive *:[svg]:!text-destructive',\n },\n size: {\n sm: 'px-1.5 py-1 text-xs',\n default: 'px-2 py-1.5 text-sm',\n lg: 'px-3 py-2 text-base',\n touch: 'px-3 py-3 text-base min-h-[44px]',\n },\n inset: {\n true: 'pl-8',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n inset: false,\n },\n },\n);\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant,\n size,\n animate = true,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> &\n VariantProps<typeof dropdownMenuItemVariants> & {\n animate?: boolean;\n }) {\n // Premium Harmony V2: Device and motion detection\n const isTouchDevice = useMediaQuery('(pointer: coarse)');\n const prefersReducedMotion = useReducedMotion();\n\n // Premium Harmony V2: Auto-apply touch size on touch devices\n const effectiveSize = size ?? (isTouchDevice ? 'touch' : 'default');\n\n // Memoize className computation to prevent unnecessary re-computation\n const itemClassName = useMemo(\n () =>\n cn(\n dropdownMenuItemVariants({ variant, size: effectiveSize, inset: inset ?? false }),\n className,\n ),\n [variant, effectiveSize, inset, className],\n );\n\n // Premium Harmony V2: Dynamic item variants\n const itemVariants = useMemo(\n () => ({\n hidden: { opacity: 0, x: -5 },\n visible: { opacity: 1, x: 0 },\n }),\n [],\n );\n\n // Premium Harmony V2: Dynamic tap animation\n const tapAnimation = useMemo(\n () => (prefersReducedMotion ? {} : { scale: 0.98 }),\n [prefersReducedMotion],\n );\n\n const tapTransition = useMemo(\n () => (prefersReducedMotion ? { duration: 0 } : (isTouchDevice ? SPRING_TACTILE : SPRING_FLUID)),\n [prefersReducedMotion, isTouchDevice],\n );\n\n return (\n <DropdownMenuPrimitive.Item asChild {...props}>\n <motion.div\n data-slot=\"dropdown-menu-item\"\n className={itemClassName}\n variants={animate ? itemVariants : undefined}\n whileTap={animate ? tapAnimation : undefined}\n transition={animate ? tapTransition : undefined}\n >\n {props.children}\n </motion.div>\n </DropdownMenuPrimitive.Item>\n );\n}\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n // Memoize className computation to prevent unnecessary re-computation\n const checkboxItemClassName = useMemo(\n () => cn(DROPDOWN_MENU_CHECKBOX_ITEM_BASE_CLASSNAME, className),\n [className],\n );\n\n // Memoize indicator element to prevent unnecessary re-creation\n const indicatorElement = useMemo(\n () => (\n <span className={DROPDOWN_MENU_CHECKBOX_INDICATOR_WRAPPER_CLASSNAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n {DROPDOWN_MENU_CHECKBOX_INDICATOR_ICON}\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n ),\n [],\n );\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-state={checked ? 'checked' : 'unchecked'}\n className={checkboxItemClassName}\n checked={checked}\n {...props}\n >\n {indicatorElement}\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n // Memoize className computation to prevent unnecessary re-computation\n const radioItemClassName = useMemo(\n () => cn(DROPDOWN_MENU_RADIO_ITEM_BASE_CLASSNAME, className),\n [className],\n );\n\n // Memoize indicator element to prevent unnecessary re-creation\n const indicatorElement = useMemo(\n () => (\n <span className={DROPDOWN_MENU_RADIO_INDICATOR_WRAPPER_CLASSNAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n {DROPDOWN_MENU_RADIO_INDICATOR_ICON}\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n ),\n [],\n );\n\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={radioItemClassName}\n {...props}\n >\n {indicatorElement}\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nconst DropdownMenuLabel = memo(function DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n // Memoize className computation to prevent unnecessary re-computation\n const labelClassName = useMemo(\n () => cn(DROPDOWN_MENU_LABEL_BASE_CLASSNAME, className),\n [className],\n );\n\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={labelClassName}\n {...props}\n />\n );\n});\n\nconst DropdownMenuSeparator = memo(function DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n // Memoize className computation to prevent unnecessary re-computation\n const separatorClassName = useMemo(\n () => cn(DROPDOWN_MENU_SEPARATOR_BASE_CLASSNAME, className),\n [className],\n );\n\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={separatorClassName}\n {...props}\n />\n );\n});\n\nconst DropdownMenuShortcut = memo(function DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n // Memoize className computation to prevent unnecessary re-computation\n const shortcutClassName = useMemo(\n () => cn(DROPDOWN_MENU_SHORTCUT_BASE_CLASSNAME, className),\n [className],\n );\n\n return <span data-slot=\"dropdown-menu-shortcut\" className={shortcutClassName} {...props} />;\n});\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n // Memoize className computation to prevent unnecessary re-computation\n const subTriggerClassName = useMemo(\n () => cn(DROPDOWN_MENU_SUB_TRIGGER_BASE_CLASSNAME, className),\n [className],\n );\n\n // Use constant chevron icon to prevent unnecessary re-creation\n const chevronIcon = DROPDOWN_MENU_SUB_TRIGGER_CHEVRON_ICON;\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={subTriggerClassName}\n {...props}\n >\n {children}\n {chevronIcon}\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n // Memoize className computation to prevent unnecessary re-computation\n const subContentClassName = useMemo(\n () => cn(DROPDOWN_MENU_SUB_CONTENT_BASE_CLASSNAME, className),\n [className],\n );\n\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={subContentClassName}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n dropdownMenuItemVariants,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,MAAM,sBAAsBA,QAAM,cAAiC,EAAE,MAAM,OAAO,CAAC;AAEnF,MAAM,+BAA+BA,QAAM,WAAW,oBAAoB;AAE1E,SAAS,aAAa,EACpB,UACA,MAAM,UACN,cACA,GAAG,SACuD;CAE1D,MAAM,CAAC,cAAc,mBAAmBA,QAAM,SAAS,MAAM;CAG7D,MAAM,eAAe,aAAa;CAClC,MAAM,OAAO,eAAe,WAAW;CAGvC,MAAM,mBAAmBA,QAAM,aAC5B,aAAsB;AACrB,MAAI,CAAC,aACH,iBAAgB,SAAS;AAE3B,iBAAe,SAAS;IAE1B,CAAC,cAAc,aAAa,CAC7B;AAED,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACJ;EACN,cAAc;EACd,GAAI;YAEJ,oBAAC,oBAAoB;GAAS,OAAO,EAAE,MAAM;GAAG;IAAwC;GAC7D;;;;;;;AASjC,SAAS,mBAAmB,EAC1B,GAAG,SACyD;AAC5D,QAAO,oBAAC,sBAAsB;EAAO,aAAU;EAAuB,GAAI;GAAS;;AAIrF,MAAM,uCAAuC,SAAS;AACtD,MAAM,uCACJ;AACF,MAAM,6CACJ;AACF,MAAM,qDACJ;AACF,MAAM,kDAAkD;AACxD,MAAM,0CACJ;AACF,MAAM,kDACJ;AACF,MAAM,+CAA+C;AACrD,MAAM,qCAAqC;AAC3C,MAAM,yCAAyC;AAC/C,MAAM,wCACJ;AACF,MAAM,2CACJ;AACF,MAAM,8CAA8C;AACpD,MAAM,2CACJ;AAGF,MAAM,wCACJ,oBAAC,aAAU,WAAW,kDAAmD;AAE3E,MAAM,qCACJ,oBAAC,cAAW,WAAW,+CAAgD;AAEzE,MAAM,yCACJ,oBAAC,oBAAiB,WAAW,8CAA+C;;;;;;;;AAU9E,SAAS,oBAAoB,EAC3B,WACA,GAAG,SAC0D;CAE7D,MAAM,mBAAmB,cACjB,GAAG,sCAAsC,UAAU,EACzD,CAAC,UAAU,CACZ;AAED,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW;EACX,GAAI;GACJ;;;;;;;;;;;AAsBN,SAAS,oBAAoB,EAC3B,WACA,aAAa,GACb,UAAU,OACV,UAAU,MACV,UACA,GAAG,SACwB;CAC3B,MAAM,EAAE,SAAS,wBAAwB;CAGzC,MAAM,gBAAgB,cAAc,oBAAoB;CACxD,MAAM,uBAAuB,kBAAkB;CAG/C,MAAM,mBAAmB,cACjB,GAAG,sCAAsC,UAAU,EACzD,CAAC,UAAU,CACZ;CAGD,MAAM,kBAAkB,eACf;EACL,QAAQ,uBACJ,EAAE,SAAS,GAAG,GACd;GAAE,SAAS;GAAG,OAAO;GAAM,GAAG,gBAAgB,KAAK;GAAI;EAC3D,SAAS;GACP,SAAS;GACT,OAAO;GACP,GAAG;GACH,YAAY;IACV,GAAI,uBACA,EAAE,UAAU,MAAO,GAClB,gBACC,iBACA;IACN,iBAAiB,UAAU,MAAO;IACnC;GACF;EACD,MAAM,uBACF,EAAE,SAAS,GAAG,GACd;GAAE,SAAS;GAAG,OAAO;GAAM,GAAG,gBAAgB,KAAK;GAAI,YAAY,EAAE,UAAU,KAAM;GAAE;EAC5F,GACD;EAAC;EAAsB;EAAe;EAAQ,CAC/C;AAEoB,gBACZ;EACL,QAAQ;GAAE,SAAS;GAAG,GAAG;GAAI;EAC7B,SAAS;GAAE,SAAS;GAAG,GAAG;GAAG;EAC9B,GACD,EAAE,CACH;AAED,QACE,oBAAC,6BACE,OACC,oBAAC,sBAAsB;EAAO;YAC5B,oBAAC,sBAAsB;GACrB;GACA;GACA,aAAU;GACV,cAAY,OAAO,SAAS;GAChB;GACZ,GAAI;aAEJ,oBAAC,OAAO;IACN,WAAW;IACX,UAAU,UAAU,kBAAkB;IACtC,SAAS,UAAU,WAAW;IAC9B,SAAS,UAAU,YAAY;IAC/B,MAAM,UAAU,SAAS;cAExB,UACGA,QAAM,SAAS,IAAI,WAAW,OAAO,WAAW;AAC9C,SACEA,QAAM,eAAe,MAAM,IAC1B,MAAM,KAAa,gBAAgB,mBAIpC,QAAO;AAET,YAAO;MACP,GACF;KACO;IACiB;GACH,GAC7B,OACY;;AAItB,SAAS,kBAAkB,EAAE,GAAG,SAAmE;AACjG,QAAO,oBAAC,sBAAsB;EAAM,aAAU;EAAsB,GAAI;GAAS;;AAGnF,MAAM,2BAA2B,IAC/B,2UACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,OAAO;GACR;EACD,OAAO;GACL,MAAM;GACN,OAAO;GACR;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,OAAO;EACR;CACF,CACF;AAED,SAAS,iBAAiB,EACxB,WACA,OACA,SACA,MACA,UAAU,MACV,GAAG,SAIA;CAEH,MAAM,gBAAgB,cAAc,oBAAoB;CACxD,MAAM,uBAAuB,kBAAkB;CAG/C,MAAM,gBAAgB,SAAS,gBAAgB,UAAU;CAGzD,MAAM,gBAAgB,cAElB,GACE,yBAAyB;EAAE;EAAS,MAAM;EAAe,OAAO,SAAS;EAAO,CAAC,EACjF,UACD,EACH;EAAC;EAAS;EAAe;EAAO;EAAU,CAC3C;CAGD,MAAM,eAAe,eACZ;EACL,QAAQ;GAAE,SAAS;GAAG,GAAG;GAAI;EAC7B,SAAS;GAAE,SAAS;GAAG,GAAG;GAAG;EAC9B,GACD,EAAE,CACH;CAGD,MAAM,eAAe,cACZ,uBAAuB,EAAE,GAAG,EAAE,OAAO,KAAM,EAClD,CAAC,qBAAqB,CACvB;CAED,MAAM,gBAAgB,cACb,uBAAuB,EAAE,UAAU,GAAG,GAAI,gBAAgB,iBAAiB,cAClF,CAAC,sBAAsB,cAAc,CACtC;AAED,QACE,oBAAC,sBAAsB;EAAK;EAAQ,GAAI;YACtC,oBAAC,OAAO;GACN,aAAU;GACV,WAAW;GACX,UAAU,UAAU,eAAe;GACnC,UAAU,UAAU,eAAe;GACnC,YAAY,UAAU,gBAAgB;aAErC,MAAM;IACI;GACc;;AAGjC,iBAAiB,cAAc;AAE/B,SAAS,yBAAyB,EAChC,WACA,UACA,SACA,GAAG,SAC+D;CAElE,MAAM,wBAAwB,cACtB,GAAG,4CAA4C,UAAU,EAC/D,CAAC,UAAU,CACZ;CAGD,MAAM,mBAAmB,cAErB,oBAAC;EAAK,WAAW;YACf,oBAAC,sBAAsB,2BACpB,wCACmC;GACjC,EAET,EAAE,CACH;AAED,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY,UAAU,YAAY;EAClC,WAAW;EACF;EACT,GAAI;aAEH,kBACA;GACkC;;AAIzC,SAAS,uBAAuB,EAC9B,GAAG,SAC6D;AAChE,QAAO,oBAAC,sBAAsB;EAAW,aAAU;EAA4B,GAAI;GAAS;;AAG9F,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;CAE/D,MAAM,qBAAqB,cACnB,GAAG,yCAAyC,UAAU,EAC5D,CAAC,UAAU,CACZ;CAGD,MAAM,mBAAmB,cAErB,oBAAC;EAAK,WAAW;YACf,oBAAC,sBAAsB,2BACpB,qCACmC;GACjC,EAET,EAAE,CACH;AAED,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW;EACX,GAAI;aAEH,kBACA;GAC+B;;AAItC,MAAM,oBAAoB,KAAK,SAAS,kBAAkB,EACxD,WACA,OACA,GAAG,SAGF;CAED,MAAM,iBAAiB,cACf,GAAG,oCAAoC,UAAU,EACvD,CAAC,UAAU,CACZ;AAED,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW;EACX,GAAI;GACJ;EAEJ;AAEF,MAAM,wBAAwB,KAAK,SAAS,sBAAsB,EAChE,WACA,GAAG,SAC4D;CAE/D,MAAM,qBAAqB,cACnB,GAAG,wCAAwC,UAAU,EAC3D,CAAC,UAAU,CACZ;AAED,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW;EACX,GAAI;GACJ;EAEJ;AAEF,MAAM,uBAAuB,KAAK,SAAS,qBAAqB,EAC9D,WACA,GAAG,SAC4B;CAE/B,MAAM,oBAAoB,cAClB,GAAG,uCAAuC,UAAU,EAC1D,CAAC,UAAU,CACZ;AAED,QAAO,oBAAC;EAAK,aAAU;EAAyB,WAAW;EAAmB,GAAI;GAAS;EAC3F;AAEF,SAAS,gBAAgB,EAAE,GAAG,SAAiE;AAC7F,QAAO,oBAAC,sBAAsB;EAAI,aAAU;EAAoB,GAAI;GAAS;;AAG/E,SAAS,uBAAuB,EAC9B,WACA,OACA,UACA,GAAG,SAGF;CAED,MAAM,sBAAsB,cACpB,GAAG,0CAA0C,UAAU,EAC7D,CAAC,UAAU,CACZ;CAGD,MAAM,cAAc;AAEpB,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW;EACX,GAAI;aAEH,UACA;GACgC;;AAIvC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAEhE,MAAM,sBAAsB,cACpB,GAAG,0CAA0C,UAAU,EAC7D,CAAC,UAAU,CACZ;AAED,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW;EACX,GAAI;GACJ"}
@@ -0,0 +1,91 @@
1
+
2
+ import * as React$1 from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
6
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
7
+
8
+ //#region src/components/elements/organisms/dropdown-menu/dropdown-menu.d.ts
9
+ declare function DropdownMenu({
10
+ children,
11
+ open: openProp,
12
+ onOpenChange,
13
+ ...props
14
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime0.JSX.Element;
15
+ declare function DropdownMenuPortal({
16
+ ...props
17
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime0.JSX.Element;
18
+ declare function DropdownMenuTrigger({
19
+ className,
20
+ ...props
21
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime0.JSX.Element;
22
+ interface DropdownMenuContentProps extends React$1.ComponentProps<typeof DropdownMenuPrimitive.Content> {
23
+ stagger?: boolean;
24
+ animate?: boolean;
25
+ }
26
+ declare function DropdownMenuContent({
27
+ className,
28
+ sideOffset,
29
+ stagger,
30
+ animate,
31
+ children,
32
+ ...props
33
+ }: DropdownMenuContentProps): react_jsx_runtime0.JSX.Element;
34
+ declare function DropdownMenuGroup({
35
+ ...props
36
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime0.JSX.Element;
37
+ declare const dropdownMenuItemVariants: (props?: ({
38
+ variant?: "default" | "destructive" | null | undefined;
39
+ size?: "default" | "sm" | "lg" | "touch" | null | undefined;
40
+ inset?: boolean | null | undefined;
41
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
42
+ declare function DropdownMenuItem({
43
+ className,
44
+ inset,
45
+ variant,
46
+ size,
47
+ animate,
48
+ ...props
49
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof dropdownMenuItemVariants> & {
50
+ animate?: boolean;
51
+ }): react_jsx_runtime0.JSX.Element;
52
+ declare namespace DropdownMenuItem {
53
+ var displayName: string;
54
+ }
55
+ declare function DropdownMenuCheckboxItem({
56
+ className,
57
+ children,
58
+ checked,
59
+ ...props
60
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime0.JSX.Element;
61
+ declare function DropdownMenuRadioGroup({
62
+ ...props
63
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime0.JSX.Element;
64
+ declare function DropdownMenuRadioItem({
65
+ className,
66
+ children,
67
+ ...props
68
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime0.JSX.Element;
69
+ declare const DropdownMenuLabel: React$1.NamedExoticComponent<DropdownMenuPrimitive.DropdownMenuLabelProps & React$1.RefAttributes<HTMLDivElement> & {
70
+ inset?: boolean;
71
+ }>;
72
+ declare const DropdownMenuSeparator: React$1.NamedExoticComponent<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
73
+ declare const DropdownMenuShortcut: React$1.NamedExoticComponent<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>>;
74
+ declare function DropdownMenuSub({
75
+ ...props
76
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime0.JSX.Element;
77
+ declare function DropdownMenuSubTrigger({
78
+ className,
79
+ inset,
80
+ children,
81
+ ...props
82
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
83
+ inset?: boolean;
84
+ }): react_jsx_runtime0.JSX.Element;
85
+ declare function DropdownMenuSubContent({
86
+ className,
87
+ ...props
88
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime0.JSX.Element;
89
+ //#endregion
90
+ export { DropdownMenuItem as a, DropdownMenuRadioGroup as c, DropdownMenuShortcut as d, DropdownMenuSub as f, dropdownMenuItemVariants as g, DropdownMenuTrigger as h, DropdownMenuGroup as i, DropdownMenuRadioItem as l, DropdownMenuSubTrigger as m, DropdownMenuCheckboxItem as n, DropdownMenuLabel as o, DropdownMenuSubContent as p, DropdownMenuContent as r, DropdownMenuPortal as s, DropdownMenu as t, DropdownMenuSeparator as u };
91
+ //# sourceMappingURL=dropdown-menu-CwRZCnNs.d.mts.map