@mastra/playground-ui 51.4.0-alpha.1 → 51.4.0-alpha.3

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 (626) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/{Badge-uGehUtus.js → Badge-CvgvWjuP.js} +2 -2
  3. package/dist/{Badge-uGehUtus.js.map → Badge-CvgvWjuP.js.map} +1 -1
  4. package/dist/{Badge-DcllBqFg.cjs → Badge-uc0ydYdy.cjs} +2 -2
  5. package/dist/{Badge-DcllBqFg.cjs.map → Badge-uc0ydYdy.cjs.map} +1 -1
  6. package/dist/{Button-vr_I4iME.js → Button-BsfLQEC6.js} +4 -4
  7. package/dist/{Button-vr_I4iME.js.map → Button-BsfLQEC6.js.map} +1 -1
  8. package/dist/{Button-DA5XLUon.cjs → Button-D10WB4vc.cjs} +4 -4
  9. package/dist/{Button-DA5XLUon.cjs.map → Button-D10WB4vc.cjs.map} +1 -1
  10. package/dist/{Card-BjFMX3pD.js → Card-CbNFrGXs.js} +3 -3
  11. package/dist/{Card-BjFMX3pD.js.map → Card-CbNFrGXs.js.map} +1 -1
  12. package/dist/{Card-WU2qkiHB.cjs → Card-ZR65FNl8.cjs} +3 -3
  13. package/dist/{Card-WU2qkiHB.cjs.map → Card-ZR65FNl8.cjs.map} +1 -1
  14. package/dist/{EmptyState-BLd-LJOA.js → EmptyState-CA1zVauT.js} +2 -2
  15. package/dist/{EmptyState-BLd-LJOA.js.map → EmptyState-CA1zVauT.js.map} +1 -1
  16. package/dist/{EmptyState-sff7IGrD.cjs → EmptyState-hauyLuHd.cjs} +2 -2
  17. package/dist/{EmptyState-sff7IGrD.cjs.map → EmptyState-hauyLuHd.cjs.map} +1 -1
  18. package/dist/{Notice-XR_HdGMF.js → Notice-DSUAUUYU.js} +3 -3
  19. package/dist/{Notice-XR_HdGMF.js.map → Notice-DSUAUUYU.js.map} +1 -1
  20. package/dist/{Notice-BoT3Qi4U.cjs → Notice-D_ji361h.cjs} +3 -3
  21. package/dist/{Notice-BoT3Qi4U.cjs.map → Notice-D_ji361h.cjs.map} +1 -1
  22. package/dist/{PermissionDenied-8otNeK_X.js → PermissionDenied-BqooKsXq.js} +2 -2
  23. package/dist/{PermissionDenied-8otNeK_X.js.map → PermissionDenied-BqooKsXq.js.map} +1 -1
  24. package/dist/{PermissionDenied-Dtre6Wn1.cjs → PermissionDenied-CJWG3Ieh.cjs} +2 -2
  25. package/dist/{PermissionDenied-Dtre6Wn1.cjs.map → PermissionDenied-CJWG3Ieh.cjs.map} +1 -1
  26. package/dist/{SessionExpired-h9yERVJz.cjs → SessionExpired-BB5hWYA2.cjs} +3 -3
  27. package/dist/{SessionExpired-h9yERVJz.cjs.map → SessionExpired-BB5hWYA2.cjs.map} +1 -1
  28. package/dist/{SessionExpired-sUz4q0gn.js → SessionExpired-BE9U7iZP.js} +3 -3
  29. package/dist/{SessionExpired-sUz4q0gn.js.map → SessionExpired-BE9U7iZP.js.map} +1 -1
  30. package/dist/{Txt-Df42XG5p.js → Txt-ByUf-9Ic.js} +2 -2
  31. package/dist/{Txt-Df42XG5p.js.map → Txt-ByUf-9Ic.js.map} +1 -1
  32. package/dist/{Txt-I5lK8zy7.cjs → Txt-D5Y_H2a0.cjs} +2 -2
  33. package/dist/{Txt-I5lK8zy7.cjs.map → Txt-D5Y_H2a0.cjs.map} +1 -1
  34. package/dist/{buttons-group-D01G8mAW.js → buttons-group-BjM12HPx.js} +3 -3
  35. package/dist/{buttons-group-D01G8mAW.js.map → buttons-group-BjM12HPx.js.map} +1 -1
  36. package/dist/{buttons-group-w9QHUGVh.cjs → buttons-group-Cn36DWYX.cjs} +3 -3
  37. package/dist/{buttons-group-w9QHUGVh.cjs.map → buttons-group-Cn36DWYX.cjs.map} +1 -1
  38. package/dist/{checkbox-VAUW92fg.js → checkbox-84QCxKJf.js} +2 -2
  39. package/dist/{checkbox-VAUW92fg.js.map → checkbox-84QCxKJf.js.map} +1 -1
  40. package/dist/{checkbox-CY9g_3ZS.cjs → checkbox-z-Yfud4v.cjs} +2 -2
  41. package/dist/{checkbox-CY9g_3ZS.cjs.map → checkbox-z-Yfud4v.cjs.map} +1 -1
  42. package/dist/{cn-BakJzhuv.js → cn-B4oPhFx9.js} +2 -2
  43. package/dist/{cn-BakJzhuv.js.map → cn-B4oPhFx9.js.map} +1 -1
  44. package/dist/{cn-vA5sWo9W.cjs → cn-DCPcv4xv.cjs} +2 -2
  45. package/dist/{cn-vA5sWo9W.cjs.map → cn-DCPcv4xv.cjs.map} +1 -1
  46. package/dist/{code-block-CqRQwJK9.js → code-block-CBJhDEeB.js} +6 -6
  47. package/dist/{code-block-CqRQwJK9.js.map → code-block-CBJhDEeB.js.map} +1 -1
  48. package/dist/{code-block-B1ObVVnF.cjs → code-block-fmv8bHoT.cjs} +6 -6
  49. package/dist/{code-block-B1ObVVnF.cjs.map → code-block-fmv8bHoT.cjs.map} +1 -1
  50. package/dist/{collapsible-CoBU143c.cjs → collapsible-CLPRijls.cjs} +2 -2
  51. package/dist/{collapsible-CoBU143c.cjs.map → collapsible-CLPRijls.cjs.map} +1 -1
  52. package/dist/{collapsible-D6MHpP1g.js → collapsible-igib7hFh.js} +2 -2
  53. package/dist/{collapsible-D6MHpP1g.js.map → collapsible-igib7hFh.js.map} +1 -1
  54. package/dist/{combobox-BO4NlbBt.cjs → combobox-BNAe7hQL.cjs} +4 -4
  55. package/dist/{combobox-BO4NlbBt.cjs.map → combobox-BNAe7hQL.cjs.map} +1 -1
  56. package/dist/{combobox-BRj_27N9.js → combobox-BWMi9Vvm.js} +4 -4
  57. package/dist/{combobox-BRj_27N9.js.map → combobox-BWMi9Vvm.js.map} +1 -1
  58. package/dist/{command-C24jGW8A.cjs → command-C2XK36se.cjs} +4 -4
  59. package/dist/{command-C24jGW8A.cjs.map → command-C2XK36se.cjs.map} +1 -1
  60. package/dist/{command-BB61PHOs.js → command-ehL7-lrV.js} +4 -4
  61. package/dist/{command-BB61PHOs.js.map → command-ehL7-lrV.js.map} +1 -1
  62. package/dist/components/AlertDialog.cjs.js +2 -2
  63. package/dist/components/AlertDialog.es.js +2 -2
  64. package/dist/components/Arrival.cjs.js +1 -1
  65. package/dist/components/Arrival.es.js +1 -1
  66. package/dist/components/Avatar.cjs.js +2 -2
  67. package/dist/components/Avatar.es.js +2 -2
  68. package/dist/components/Badge.cjs.js +1 -1
  69. package/dist/components/Badge.es.js +1 -1
  70. package/dist/components/BrandLoader.cjs.js +1 -1
  71. package/dist/components/BrandLoader.es.js +1 -1
  72. package/dist/components/Breadcrumb.cjs.js +1 -1
  73. package/dist/components/Breadcrumb.es.js +1 -1
  74. package/dist/components/Button.cjs.js +1 -1
  75. package/dist/components/Button.es.js +1 -1
  76. package/dist/components/ButtonsGroup.cjs.js +1 -1
  77. package/dist/components/ButtonsGroup.es.js +1 -1
  78. package/dist/components/Card.cjs.js +1 -1
  79. package/dist/components/Card.es.js +1 -1
  80. package/dist/components/ChatShell.cjs.js +2 -2
  81. package/dist/components/ChatShell.es.js +2 -2
  82. package/dist/components/Checkbox.cjs.js +1 -1
  83. package/dist/components/Checkbox.es.js +1 -1
  84. package/dist/components/ClampedText.cjs.js +3 -3
  85. package/dist/components/ClampedText.es.js +3 -3
  86. package/dist/components/CodeBlock.cjs.js +1 -1
  87. package/dist/components/CodeBlock.es.js +1 -1
  88. package/dist/components/CodeEditor.cjs.js +3 -3
  89. package/dist/components/CodeEditor.es.js +3 -3
  90. package/dist/components/Collapsible.cjs.js +1 -1
  91. package/dist/components/Collapsible.es.js +1 -1
  92. package/dist/components/Columns.cjs.js +2 -2
  93. package/dist/components/Columns.es.js +2 -2
  94. package/dist/components/Combobox.cjs.js +1 -1
  95. package/dist/components/Combobox.es.js +1 -1
  96. package/dist/components/Command.cjs.js +1 -1
  97. package/dist/components/Command.es.js +1 -1
  98. package/dist/components/CommandPalette.cjs.js +4 -4
  99. package/dist/components/CommandPalette.es.js +4 -4
  100. package/dist/components/Comment.cjs.js +4 -4
  101. package/dist/components/Comment.es.js +4 -4
  102. package/dist/components/Composer.cjs.js +2 -2
  103. package/dist/components/Composer.es.js +2 -2
  104. package/dist/components/ContextMenu.cjs.js +1 -1
  105. package/dist/components/ContextMenu.es.js +1 -1
  106. package/dist/components/CopyButton.cjs.js +1 -1
  107. package/dist/components/CopyButton.es.js +1 -1
  108. package/dist/components/DashboardCard.cjs.js +1 -1
  109. package/dist/components/DashboardCard.es.js +1 -1
  110. package/dist/components/DataCodeSection.cjs.js +1 -1
  111. package/dist/components/DataCodeSection.es.js +1 -1
  112. package/dist/components/DataDetailsPanel.cjs.js +5 -5
  113. package/dist/components/DataDetailsPanel.es.js +5 -5
  114. package/dist/components/DataFilter.cjs.js +3 -3
  115. package/dist/components/DataFilter.es.js +3 -3
  116. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  117. package/dist/components/DataKeysAndValues.es.js +1 -1
  118. package/dist/components/DataList.cjs.js +4 -4
  119. package/dist/components/DataList.es.js +4 -4
  120. package/dist/components/DataPanel.cjs.js +1 -1
  121. package/dist/components/DataPanel.es.js +1 -1
  122. package/dist/components/DateRangeTimeline.cjs.js +5 -5
  123. package/dist/components/DateRangeTimeline.es.js +5 -5
  124. package/dist/components/DateTimePicker.cjs.js +6 -6
  125. package/dist/components/DateTimePicker.es.js +6 -6
  126. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  127. package/dist/components/DateTimeRangePicker.es.js +1 -1
  128. package/dist/components/Dialog.cjs.js +1 -1
  129. package/dist/components/Dialog.es.js +1 -1
  130. package/dist/components/Drawer.cjs.js +1 -1
  131. package/dist/components/Drawer.es.js +1 -1
  132. package/dist/components/DropdownMenu.cjs.js +1 -1
  133. package/dist/components/DropdownMenu.es.js +1 -1
  134. package/dist/components/EmptyState.cjs.js +1 -1
  135. package/dist/components/EmptyState.es.js +1 -1
  136. package/dist/components/Entity.cjs.js +2 -2
  137. package/dist/components/Entity.es.js +2 -2
  138. package/dist/components/EntityHeader.cjs.js +2 -2
  139. package/dist/components/EntityHeader.es.js +2 -2
  140. package/dist/components/Entry.cjs.js +1 -1
  141. package/dist/components/Entry.es.js +1 -1
  142. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -7
  143. package/dist/components/EnvironmentVariablesEditor.es.js +7 -7
  144. package/dist/components/ErrorBoundary.cjs.js +2 -2
  145. package/dist/components/ErrorBoundary.es.js +2 -2
  146. package/dist/components/FormFieldBlocks.cjs.js +5 -5
  147. package/dist/components/FormFieldBlocks.es.js +5 -5
  148. package/dist/components/Header.cjs.js +2 -2
  149. package/dist/components/Header.es.js +2 -2
  150. package/dist/components/HorizontalBars.cjs.js +1 -1
  151. package/dist/components/HorizontalBars.es.js +1 -1
  152. package/dist/components/HoverCard.cjs.js +1 -1
  153. package/dist/components/HoverCard.es.js +1 -1
  154. package/dist/components/Input.cjs.js +1 -1
  155. package/dist/components/Input.es.js +1 -1
  156. package/dist/components/InputGroup.cjs.js +1 -1
  157. package/dist/components/InputGroup.es.js +1 -1
  158. package/dist/components/ItemList.cjs.js +3 -3
  159. package/dist/components/ItemList.es.js +3 -3
  160. package/dist/components/JSONSchemaForm.cjs.js +5 -5
  161. package/dist/components/JSONSchemaForm.es.js +5 -5
  162. package/dist/components/Kbd.cjs.js +1 -1
  163. package/dist/components/Kbd.es.js +1 -1
  164. package/dist/components/KeyValueList.cjs.js +2 -2
  165. package/dist/components/KeyValueList.es.js +2 -2
  166. package/dist/components/Label.cjs.js +1 -1
  167. package/dist/components/Label.es.js +1 -1
  168. package/dist/components/ListSearch.cjs.js +1 -1
  169. package/dist/components/ListSearch.es.js +1 -1
  170. package/dist/components/Logo.cjs.js +1 -1
  171. package/dist/components/Logo.es.js +1 -1
  172. package/dist/components/LogsDataList.cjs.js +3 -2
  173. package/dist/components/LogsDataList.cjs.js.map +1 -1
  174. package/dist/components/LogsDataList.es.js +3 -2
  175. package/dist/components/LogsDataList.es.js.map +1 -1
  176. package/dist/components/MainContent.cjs.js +1 -1
  177. package/dist/components/MainContent.es.js +1 -1
  178. package/dist/components/MainHeader.cjs.js +1 -1
  179. package/dist/components/MainHeader.es.js +1 -1
  180. package/dist/components/MainSidebar.cjs.js +5 -5
  181. package/dist/components/MainSidebar.es.js +5 -5
  182. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  183. package/dist/components/MarkdownRenderer.es.js +1 -1
  184. package/dist/components/MessageScroller.cjs.js +1 -1
  185. package/dist/components/MessageScroller.es.js +1 -1
  186. package/dist/components/MetricsCard.cjs.js +1 -1
  187. package/dist/components/MetricsCard.es.js +1 -1
  188. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  189. package/dist/components/MetricsFlexGrid.es.js +1 -1
  190. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  191. package/dist/components/MetricsKpiCard.es.js +1 -1
  192. package/dist/components/Notice.cjs.js +1 -1
  193. package/dist/components/Notice.es.js +1 -1
  194. package/dist/components/PageHeader.cjs.js +1 -1
  195. package/dist/components/PageHeader.es.js +1 -1
  196. package/dist/components/PageLayout.cjs.js +2 -2
  197. package/dist/components/PageLayout.es.js +2 -2
  198. package/dist/components/PendingIndicator.cjs.js +1 -1
  199. package/dist/components/PendingIndicator.es.js +1 -1
  200. package/dist/components/PermissionDenied.cjs.js +1 -1
  201. package/dist/components/PermissionDenied.es.js +1 -1
  202. package/dist/components/Popover.cjs.js +1 -1
  203. package/dist/components/Popover.es.js +1 -1
  204. package/dist/components/PrevNextNav.cjs.js +2 -2
  205. package/dist/components/PrevNextNav.es.js +2 -2
  206. package/dist/components/PropertyFilter.cjs.js +5 -5
  207. package/dist/components/PropertyFilter.es.js +6 -6
  208. package/dist/components/RadioGroup.cjs.js +1 -1
  209. package/dist/components/RadioGroup.es.js +1 -1
  210. package/dist/components/RuleBuilder.cjs.js +4 -4
  211. package/dist/components/RuleBuilder.es.js +4 -4
  212. package/dist/components/SankeyChart.cjs.js +1 -1
  213. package/dist/components/SankeyChart.es.js +1 -1
  214. package/dist/components/ScatterPlotChart.cjs.js +2 -2
  215. package/dist/components/ScatterPlotChart.es.js +2 -2
  216. package/dist/components/ScrollArea.cjs.js +1 -1
  217. package/dist/components/ScrollArea.es.js +1 -1
  218. package/dist/components/Section.cjs.js +1 -1
  219. package/dist/components/Section.es.js +1 -1
  220. package/dist/components/SectionCard.cjs.js +1 -1
  221. package/dist/components/SectionCard.es.js +1 -1
  222. package/dist/components/Sections.cjs.js +1 -1
  223. package/dist/components/Sections.es.js +1 -1
  224. package/dist/components/Select.cjs.js +1 -1
  225. package/dist/components/Select.es.js +1 -1
  226. package/dist/components/SessionExpired.cjs.js +1 -1
  227. package/dist/components/SessionExpired.es.js +1 -1
  228. package/dist/components/SettingsRow.cjs.js +3 -3
  229. package/dist/components/SettingsRow.es.js +3 -3
  230. package/dist/components/Shimmer.cjs.js +1 -1
  231. package/dist/components/Shimmer.es.js +1 -1
  232. package/dist/components/SideDialog.cjs.js +6 -6
  233. package/dist/components/SideDialog.es.js +6 -6
  234. package/dist/components/Skeleton.cjs.js +1 -1
  235. package/dist/components/Skeleton.es.js +1 -1
  236. package/dist/components/Slider.cjs.js +1 -1
  237. package/dist/components/Slider.es.js +1 -1
  238. package/dist/components/Spinner.cjs.js +1 -1
  239. package/dist/components/Spinner.es.js +1 -1
  240. package/dist/components/Steps.cjs.js +2 -2
  241. package/dist/components/Steps.es.js +2 -2
  242. package/dist/components/Switch.cjs.js +1 -1
  243. package/dist/components/Switch.es.js +1 -1
  244. package/dist/components/Table.cjs.js +2 -2
  245. package/dist/components/Table.es.js +2 -2
  246. package/dist/components/Tabs.cjs.js +3 -3
  247. package/dist/components/Tabs.es.js +3 -3
  248. package/dist/components/Text.cjs.js +1 -1
  249. package/dist/components/Text.es.js +1 -1
  250. package/dist/components/Textarea.cjs.js +2 -2
  251. package/dist/components/Textarea.es.js +2 -2
  252. package/dist/components/ThemeToggle.cjs.js +1 -1
  253. package/dist/components/ThemeToggle.es.js +1 -1
  254. package/dist/components/ThreadList.cjs.js +3 -3
  255. package/dist/components/ThreadList.es.js +3 -3
  256. package/dist/components/ThreadRail.cjs.js +2 -2
  257. package/dist/components/ThreadRail.es.js +2 -2
  258. package/dist/components/Toaster.cjs.js +1 -1
  259. package/dist/components/Toaster.es.js +1 -1
  260. package/dist/components/TokenBudget.cjs.js +1 -1
  261. package/dist/components/TokenBudget.es.js +1 -1
  262. package/dist/components/Tooltip.cjs.js +1 -1
  263. package/dist/components/Tooltip.es.js +1 -1
  264. package/dist/components/Tree.cjs.js +2 -2
  265. package/dist/components/Tree.es.js +2 -2
  266. package/dist/components/Truncate.cjs.js +4 -4
  267. package/dist/components/Truncate.es.js +4 -4
  268. package/dist/components/Txt.cjs.js +1 -1
  269. package/dist/components/Txt.es.js +1 -1
  270. package/dist/components/ai/ask-user.cjs.js +4 -4
  271. package/dist/components/ai/ask-user.es.js +4 -4
  272. package/dist/components/ai/plan.cjs.js +5 -5
  273. package/dist/components/ai/plan.es.js +5 -5
  274. package/dist/components/ai/task-list.cjs.js +4 -4
  275. package/dist/components/ai/task-list.es.js +4 -4
  276. package/dist/components/ai/tool-call.cjs.js +5 -5
  277. package/dist/components/ai/tool-call.es.js +5 -5
  278. package/dist/{copy-button-BzjCqjVh.js → copy-button-BHmcGzIz.js} +3 -3
  279. package/dist/{copy-button-BzjCqjVh.js.map → copy-button-BHmcGzIz.js.map} +1 -1
  280. package/dist/{copy-button-D1BF_G8A.cjs → copy-button-BtnbaMvl.cjs} +3 -3
  281. package/dist/{copy-button-D1BF_G8A.cjs.map → copy-button-BtnbaMvl.cjs.map} +1 -1
  282. package/dist/{dashboard-card-BLg5Mx2f.js → dashboard-card-CMvUVSPF.js} +2 -2
  283. package/dist/{dashboard-card-BLg5Mx2f.js.map → dashboard-card-CMvUVSPF.js.map} +1 -1
  284. package/dist/{dashboard-card-DZiXx3hd.cjs → dashboard-card-DpHFjsWJ.cjs} +2 -2
  285. package/dist/{dashboard-card-DZiXx3hd.cjs.map → dashboard-card-DpHFjsWJ.cjs.map} +1 -1
  286. package/dist/{data-code-section-CSt_ZuUP.js → data-code-section-DN2yPgEz.js} +7 -7
  287. package/dist/{data-code-section-CSt_ZuUP.js.map → data-code-section-DN2yPgEz.js.map} +1 -1
  288. package/dist/{data-code-section-C3ZRkULz.cjs → data-code-section-Dn9smaz4.cjs} +7 -7
  289. package/dist/{data-code-section-C3ZRkULz.cjs.map → data-code-section-Dn9smaz4.cjs.map} +1 -1
  290. package/dist/{data-keys-and-values-D7lti5DL.cjs → data-keys-and-values-D1M0xPEy.cjs} +3 -3
  291. package/dist/{data-keys-and-values-D7lti5DL.cjs.map → data-keys-and-values-D1M0xPEy.cjs.map} +1 -1
  292. package/dist/{data-keys-and-values-CHJVC-r5.js → data-keys-and-values-PKPzfxve.js} +3 -3
  293. package/dist/{data-keys-and-values-CHJVC-r5.js.map → data-keys-and-values-PKPzfxve.js.map} +1 -1
  294. package/dist/{data-list-CRDewYj9.cjs → data-list-CB-W-syo.cjs} +4 -4
  295. package/dist/{data-list-CRDewYj9.cjs.map → data-list-CB-W-syo.cjs.map} +1 -1
  296. package/dist/{data-list-C3tjx5Vb.js → data-list-DX6y3EFQ.js} +4 -4
  297. package/dist/{data-list-C3tjx5Vb.js.map → data-list-DX6y3EFQ.js.map} +1 -1
  298. package/dist/{data-list-skeleton-BCrkk6wG.js → data-list-skeleton-C2R2CO9G.js} +3 -3
  299. package/dist/{data-list-skeleton-BCrkk6wG.js.map → data-list-skeleton-C2R2CO9G.js.map} +1 -1
  300. package/dist/{data-list-skeleton-CONfqzH2.cjs → data-list-skeleton-hTX1b2Au.cjs} +3 -3
  301. package/dist/{data-list-skeleton-CONfqzH2.cjs.map → data-list-skeleton-hTX1b2Au.cjs.map} +1 -1
  302. package/dist/{data-list-top-cell-DAztx3m8.cjs → data-list-top-cell-B4H5BBGd.cjs} +6 -6
  303. package/dist/{data-list-top-cell-DAztx3m8.cjs.map → data-list-top-cell-B4H5BBGd.cjs.map} +1 -1
  304. package/dist/{data-list-top-cell-hNkk6S-Q.js → data-list-top-cell-CDYczhpP.js} +6 -6
  305. package/dist/{data-list-top-cell-hNkk6S-Q.js.map → data-list-top-cell-CDYczhpP.js.map} +1 -1
  306. package/dist/{data-panel-DJpAfEsG.js → data-panel-2Da0Utgy.js} +6 -6
  307. package/dist/{data-panel-DJpAfEsG.js.map → data-panel-2Da0Utgy.js.map} +1 -1
  308. package/dist/{data-panel-DHNc5Y4L.cjs → data-panel-DEatwExN.cjs} +6 -6
  309. package/dist/{data-panel-DHNc5Y4L.cjs.map → data-panel-DEatwExN.cjs.map} +1 -1
  310. package/dist/{date-picker-DrWmUawi.cjs → date-picker-9bOZ7B2w.cjs} +2 -2
  311. package/dist/{date-picker-DrWmUawi.cjs.map → date-picker-9bOZ7B2w.cjs.map} +1 -1
  312. package/dist/{date-picker-BpKciwOX.js → date-picker-BWSg3e9G.js} +2 -2
  313. package/dist/{date-picker-BpKciwOX.js.map → date-picker-BWSg3e9G.js.map} +1 -1
  314. package/dist/{date-time-range-picker-jTRBzZDz.js → date-time-range-picker-Bz6tD9as.js} +7 -7
  315. package/dist/{date-time-range-picker-jTRBzZDz.js.map → date-time-range-picker-Bz6tD9as.js.map} +1 -1
  316. package/dist/{date-time-range-picker-BFDT_ERx.cjs → date-time-range-picker-j9nSS2HM.cjs} +7 -7
  317. package/dist/{date-time-range-picker-BFDT_ERx.cjs.map → date-time-range-picker-j9nSS2HM.cjs.map} +1 -1
  318. package/dist/{dialog-DidyN-Jy.js → dialog-CESxLg8S.js} +3 -3
  319. package/dist/{dialog-DidyN-Jy.js.map → dialog-CESxLg8S.js.map} +1 -1
  320. package/dist/{dialog-DecmYFeJ.cjs → dialog-K0q0KOOW.cjs} +3 -3
  321. package/dist/{dialog-DecmYFeJ.cjs.map → dialog-K0q0KOOW.cjs.map} +1 -1
  322. package/dist/domains/logs/components/log-details-view.cjs.js +4 -4
  323. package/dist/domains/logs/components/log-details-view.es.js +4 -4
  324. package/dist/domains/logs/components/logs-error-content.cjs.js +3 -3
  325. package/dist/domains/logs/components/logs-error-content.es.js +3 -3
  326. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  327. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  328. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  329. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  330. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  331. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  332. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  333. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  334. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  335. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  336. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  337. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  338. package/dist/domains/memory/components/memory-studio-panel.cjs.js +3 -3
  339. package/dist/domains/memory/components/memory-studio-panel.es.js +3 -3
  340. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -4
  341. package/dist/domains/memory/components/observation-detail-view.es.js +4 -4
  342. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  343. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  344. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  345. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  346. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  347. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  348. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  349. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  350. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  351. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  352. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  353. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  354. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  355. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  356. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  357. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  358. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  359. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  360. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  361. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  362. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  363. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  364. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  365. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  366. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  367. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  368. package/dist/domains/traces/components/span-data-panel-view.cjs.js +7 -7
  369. package/dist/domains/traces/components/span-data-panel-view.es.js +7 -7
  370. package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
  371. package/dist/domains/traces/components/span-token-usage.es.js +2 -2
  372. package/dist/domains/traces/components/timeline-expand-col.cjs.js +2 -2
  373. package/dist/domains/traces/components/timeline-expand-col.es.js +2 -2
  374. package/dist/domains/traces/components/timeline-name-col.cjs.js +1 -1
  375. package/dist/domains/traces/components/timeline-name-col.es.js +1 -1
  376. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +1 -1
  377. package/dist/domains/traces/components/timeline-structure-sign.es.js +1 -1
  378. package/dist/domains/traces/components/timeline-timing-col.cjs.js +3 -3
  379. package/dist/domains/traces/components/timeline-timing-col.es.js +3 -3
  380. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -5
  381. package/dist/domains/traces/components/trace-columns-menu.es.js +5 -5
  382. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +13 -9
  383. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  384. package/dist/domains/traces/components/trace-data-panel-view.es.js +13 -9
  385. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  386. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  387. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  388. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  389. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  390. package/dist/domains/traces/components/trace-timeline.cjs.js +2 -2
  391. package/dist/domains/traces/components/trace-timeline.es.js +2 -2
  392. package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
  393. package/dist/domains/traces/components/traces-error-content.es.js +2 -2
  394. package/dist/domains/traces/components/traces-layout.cjs.js +1 -1
  395. package/dist/domains/traces/components/traces-layout.es.js +1 -1
  396. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  397. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  398. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
  399. package/dist/domains/traces/components/traces-list-view.es.js +4 -4
  400. package/dist/domains/traces/components/traces-toolbar.cjs.js +2 -2
  401. package/dist/domains/traces/components/traces-toolbar.es.js +2 -2
  402. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  403. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  404. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +1 -1
  405. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +1 -1
  406. package/dist/{drawer-CjRnB5XK.js → drawer-4U7L_dHA.js} +4 -4
  407. package/dist/{drawer-CjRnB5XK.js.map → drawer-4U7L_dHA.js.map} +1 -1
  408. package/dist/{drawer-CnzI7hP8.cjs → drawer-mE9CCzMI.cjs} +4 -4
  409. package/dist/{drawer-CnzI7hP8.cjs.map → drawer-mE9CCzMI.cjs.map} +1 -1
  410. package/dist/{dropdown-menu-BphqMR3z.js → dropdown-menu-BYTyEuSa.js} +2 -2
  411. package/dist/{dropdown-menu-BphqMR3z.js.map → dropdown-menu-BYTyEuSa.js.map} +1 -1
  412. package/dist/{dropdown-menu-kVO4guHl.cjs → dropdown-menu-qsDhHNES.cjs} +2 -2
  413. package/dist/{dropdown-menu-kVO4guHl.cjs.map → dropdown-menu-qsDhHNES.cjs.map} +1 -1
  414. package/dist/ee/signals/components/signals-empty-state.cjs.js +2 -2
  415. package/dist/ee/signals/components/signals-empty-state.es.js +2 -2
  416. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  417. package/dist/ee/signals/examples-pager.es.js +1 -1
  418. package/dist/ee/signals/flow-card.cjs.js +2 -2
  419. package/dist/ee/signals/flow-card.es.js +2 -2
  420. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  421. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  422. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  423. package/dist/ee/signals/sankey-signals.es.js +1 -1
  424. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  425. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  426. package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
  427. package/dist/ee/signals/signal-lifelines.es.js +1 -1
  428. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  429. package/dist/ee/signals/signals-error-state.es.js +1 -1
  430. package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
  431. package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
  432. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  433. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  434. package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -1
  435. package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
  436. package/dist/ee/signals/theme-detail-panel.cjs.js +2 -2
  437. package/dist/ee/signals/theme-detail-panel.es.js +2 -2
  438. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  439. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  440. package/dist/ee/signals/theme-trend-chart.cjs.js +1 -1
  441. package/dist/ee/signals/theme-trend-chart.es.js +1 -1
  442. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  443. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  444. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
  445. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
  446. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  447. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  448. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
  449. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
  450. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  451. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  452. package/dist/{field-block-B63CpA4d.js → field-block-DcGeY-_x.js} +2 -2
  453. package/dist/{field-block-B63CpA4d.js.map → field-block-DcGeY-_x.js.map} +1 -1
  454. package/dist/{field-block-BcTR08I7.cjs → field-block-Dr9fbwQx.cjs} +2 -2
  455. package/dist/{field-block-BcTR08I7.cjs.map → field-block-Dr9fbwQx.cjs.map} +1 -1
  456. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  457. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  458. package/dist/hooks/use-scroll-to-first-highlight.cjs.js +44 -0
  459. package/dist/hooks/use-scroll-to-first-highlight.cjs.js.map +1 -0
  460. package/dist/hooks/use-scroll-to-first-highlight.d.ts +2 -0
  461. package/dist/hooks/use-scroll-to-first-highlight.es.js +40 -0
  462. package/dist/hooks/use-scroll-to-first-highlight.es.js.map +1 -0
  463. package/dist/hooks/use-text-highlight.cjs.js +21 -0
  464. package/dist/hooks/use-text-highlight.cjs.js.map +1 -1
  465. package/dist/hooks/use-text-highlight.es.js +20 -1
  466. package/dist/hooks/use-text-highlight.es.js.map +1 -1
  467. package/dist/{horizontal-bars-CzZr7d01.js → horizontal-bars-3vH3FLj3.js} +4 -4
  468. package/dist/{horizontal-bars-CzZr7d01.js.map → horizontal-bars-3vH3FLj3.js.map} +1 -1
  469. package/dist/{horizontal-bars-DuS2yR1g.cjs → horizontal-bars-CV2XRu4w.cjs} +4 -4
  470. package/dist/{horizontal-bars-DuS2yR1g.cjs.map → horizontal-bars-CV2XRu4w.cjs.map} +1 -1
  471. package/dist/{hover-card-DeTykyEs.js → hover-card-D2SNBhOc.js} +2 -2
  472. package/dist/{hover-card-DeTykyEs.js.map → hover-card-D2SNBhOc.js.map} +1 -1
  473. package/dist/{hover-card-CxmZKcFK.cjs → hover-card-DWUrSO_0.cjs} +2 -2
  474. package/dist/{hover-card-CxmZKcFK.cjs.map → hover-card-DWUrSO_0.cjs.map} +1 -1
  475. package/dist/icons/Icon.cjs.js +1 -1
  476. package/dist/icons/Icon.es.js +1 -1
  477. package/dist/{index-C-Lt4Bx_.cjs → index-BRtrE4oe.cjs} +2 -2
  478. package/dist/{index-C-Lt4Bx_.cjs.map → index-BRtrE4oe.cjs.map} +1 -1
  479. package/dist/{index-CSm06eOE.js → index-DsNrjFJd.js} +2 -2
  480. package/dist/{index-CSm06eOE.js.map → index-DsNrjFJd.js.map} +1 -1
  481. package/dist/{input-0R-fQTCF.cjs → input-DBrWBeUp.cjs} +3 -3
  482. package/dist/{input-0R-fQTCF.cjs.map → input-DBrWBeUp.cjs.map} +1 -1
  483. package/dist/{input-DVZ0-3KP.js → input-DNjusDwY.js} +3 -3
  484. package/dist/{input-DVZ0-3KP.js.map → input-DNjusDwY.js.map} +1 -1
  485. package/dist/{input-group-U2f3A4Ya.js → input-group-Dma0MbUM.js} +4 -4
  486. package/dist/{input-group-U2f3A4Ya.js.map → input-group-Dma0MbUM.js.map} +1 -1
  487. package/dist/{input-group-4EQi2l7H.cjs → input-group-WDZR_aql.cjs} +4 -4
  488. package/dist/{input-group-4EQi2l7H.cjs.map → input-group-WDZR_aql.cjs.map} +1 -1
  489. package/dist/{kbd-Br7kdwaB.cjs → kbd-BjdgMhkv.cjs} +2 -2
  490. package/dist/{kbd-Br7kdwaB.cjs.map → kbd-BjdgMhkv.cjs.map} +1 -1
  491. package/dist/{kbd-DE0nj4DL.js → kbd-qWtehN82.js} +2 -2
  492. package/dist/{kbd-DE0nj4DL.js.map → kbd-qWtehN82.js.map} +1 -1
  493. package/dist/{label-B-UbxfJf.cjs → label-B9ERiuZb.cjs} +3 -3
  494. package/dist/{label-B-UbxfJf.cjs.map → label-B9ERiuZb.cjs.map} +1 -1
  495. package/dist/{label-WtU3xT6v.js → label-Um4lWyRe.js} +3 -3
  496. package/dist/{label-WtU3xT6v.js.map → label-Um4lWyRe.js.map} +1 -1
  497. package/dist/{logs-data-list-D88JF2lo.cjs → logs-data-list-CTnwPG40.cjs} +3 -3
  498. package/dist/{logs-data-list-D88JF2lo.cjs.map → logs-data-list-CTnwPG40.cjs.map} +1 -1
  499. package/dist/{logs-data-list-DnAXTwr7.js → logs-data-list-btJapa0s.js} +3 -3
  500. package/dist/{logs-data-list-DnAXTwr7.js.map → logs-data-list-btJapa0s.js.map} +1 -1
  501. package/dist/{markdown-renderer-BQugZq4m.cjs → markdown-renderer-DGIzNAQY.cjs} +3 -3
  502. package/dist/{markdown-renderer-BQugZq4m.cjs.map → markdown-renderer-DGIzNAQY.cjs.map} +1 -1
  503. package/dist/{markdown-renderer-LOqipQki.js → markdown-renderer-DiJBbnYG.js} +3 -3
  504. package/dist/{markdown-renderer-LOqipQki.js.map → markdown-renderer-DiJBbnYG.js.map} +1 -1
  505. package/dist/{message-scroller-CvRVVj5l.js → message-scroller-CjQIDqkD.js} +2 -2
  506. package/dist/{message-scroller-CvRVVj5l.js.map → message-scroller-CjQIDqkD.js.map} +1 -1
  507. package/dist/{message-scroller-4dCGKzxE.cjs → message-scroller-cYL2ILK8.cjs} +2 -2
  508. package/dist/{message-scroller-4dCGKzxE.cjs.map → message-scroller-cYL2ILK8.cjs.map} +1 -1
  509. package/dist/{metrics-card-DmbKNY3U.cjs → metrics-card-B8zgHlgB.cjs} +5 -5
  510. package/dist/{metrics-card-DmbKNY3U.cjs.map → metrics-card-B8zgHlgB.cjs.map} +1 -1
  511. package/dist/{metrics-card-C0lGcxb9.js → metrics-card-BKE1UzWh.js} +5 -5
  512. package/dist/{metrics-card-C0lGcxb9.js.map → metrics-card-BKE1UzWh.js.map} +1 -1
  513. package/dist/{metrics-kpi-card-tAReOFYk.cjs → metrics-kpi-card-BNxdBdLv.cjs} +4 -4
  514. package/dist/{metrics-kpi-card-tAReOFYk.cjs.map → metrics-kpi-card-BNxdBdLv.cjs.map} +1 -1
  515. package/dist/{metrics-kpi-card-AhIw9eyu.js → metrics-kpi-card-C7mzmlmC.js} +4 -4
  516. package/dist/{metrics-kpi-card-AhIw9eyu.js.map → metrics-kpi-card-C7mzmlmC.js.map} +1 -1
  517. package/dist/{popover-jPzCxZfK.cjs → popover-BPvIo79r.cjs} +2 -2
  518. package/dist/{popover-jPzCxZfK.cjs.map → popover-BPvIo79r.cjs.map} +1 -1
  519. package/dist/{popover-QZXIaRzP.js → popover-Be-ufAIL.js} +2 -2
  520. package/dist/{popover-QZXIaRzP.js.map → popover-Be-ufAIL.js.map} +1 -1
  521. package/dist/primitives/resize-handle-indicator.cjs.js +2 -2
  522. package/dist/primitives/resize-handle-indicator.es.js +2 -2
  523. package/dist/{property-filter-applied-BtepC7PL.js → property-filter-applied-CJ9uesO_.js} +10 -10
  524. package/dist/{property-filter-applied-BtepC7PL.js.map → property-filter-applied-CJ9uesO_.js.map} +1 -1
  525. package/dist/{property-filter-applied-DjrjP7iT.cjs → property-filter-applied-kARc8nf-.cjs} +10 -10
  526. package/dist/{property-filter-applied-DjrjP7iT.cjs.map → property-filter-applied-kARc8nf-.cjs.map} +1 -1
  527. package/dist/{radio-group-CrWQwXWA.js → radio-group-BxXbAXhN.js} +2 -2
  528. package/dist/{radio-group-CrWQwXWA.js.map → radio-group-BxXbAXhN.js.map} +1 -1
  529. package/dist/{radio-group-Dqz451dG.cjs → radio-group-DERRwj68.cjs} +2 -2
  530. package/dist/{radio-group-Dqz451dG.cjs.map → radio-group-DERRwj68.cjs.map} +1 -1
  531. package/dist/resize/collapsible-panel.cjs.js +1 -1
  532. package/dist/resize/collapsible-panel.es.js +1 -1
  533. package/dist/resize/panel-drawer.cjs.js +2 -2
  534. package/dist/resize/panel-drawer.es.js +2 -2
  535. package/dist/resize/panel-group.cjs.js +1 -1
  536. package/dist/resize/panel-group.es.js +1 -1
  537. package/dist/resize/panel-icon-button.cjs.js +1 -1
  538. package/dist/resize/panel-icon-button.es.js +1 -1
  539. package/dist/resize/separator.cjs.js +1 -1
  540. package/dist/resize/separator.es.js +1 -1
  541. package/dist/{sankey-chart-CYxUnjrO.cjs → sankey-chart-7we0p2Eb.cjs} +3 -3
  542. package/dist/{sankey-chart-CYxUnjrO.cjs.map → sankey-chart-7we0p2Eb.cjs.map} +1 -1
  543. package/dist/{sankey-chart-Bc7rzi5f.js → sankey-chart-QcxO2sZz.js} +3 -3
  544. package/dist/{sankey-chart-Bc7rzi5f.js.map → sankey-chart-QcxO2sZz.js.map} +1 -1
  545. package/dist/{scroll-area-DZrEuKjC.js → scroll-area-DVSQTnjk.js} +2 -2
  546. package/dist/{scroll-area-DZrEuKjC.js.map → scroll-area-DVSQTnjk.js.map} +1 -1
  547. package/dist/{scroll-area-Dv6QagXt.cjs → scroll-area-D_-TyC0c.cjs} +2 -2
  548. package/dist/{scroll-area-Dv6QagXt.cjs.map → scroll-area-D_-TyC0c.cjs.map} +1 -1
  549. package/dist/{search-field-block-CjCIzUhN.cjs → search-field-block-CiinIsub.cjs} +6 -6
  550. package/dist/{search-field-block-CjCIzUhN.cjs.map → search-field-block-CiinIsub.cjs.map} +1 -1
  551. package/dist/{search-field-block-DoNywsJC.js → search-field-block-D51aN1d9.js} +6 -6
  552. package/dist/{search-field-block-DoNywsJC.js.map → search-field-block-D51aN1d9.js.map} +1 -1
  553. package/dist/{section-CnLkFJwn.js → section-D963QL3h.js} +3 -3
  554. package/dist/{section-CnLkFJwn.js.map → section-D963QL3h.js.map} +1 -1
  555. package/dist/{section-CVHYJHNG.cjs → section-LbaBW2X3.cjs} +3 -3
  556. package/dist/{section-CVHYJHNG.cjs.map → section-LbaBW2X3.cjs.map} +1 -1
  557. package/dist/{select-lVCJp6aH.js → select-AvBDZffY.js} +3 -3
  558. package/dist/{select-lVCJp6aH.js.map → select-AvBDZffY.js.map} +1 -1
  559. package/dist/{select-X9SZeU80.cjs → select-C_FsCxA5.cjs} +3 -3
  560. package/dist/{select-X9SZeU80.cjs.map → select-C_FsCxA5.cjs.map} +1 -1
  561. package/dist/{select-field-block-CDklwBFe.js → select-field-block-BL08N4Yh.js} +3 -3
  562. package/dist/{select-field-block-CDklwBFe.js.map → select-field-block-BL08N4Yh.js.map} +1 -1
  563. package/dist/{select-field-block-BXjwaMqJ.cjs → select-field-block-rohiMHhW.cjs} +3 -3
  564. package/dist/{select-field-block-BXjwaMqJ.cjs.map → select-field-block-rohiMHhW.cjs.map} +1 -1
  565. package/dist/{shimmer-DnvxM4ou.cjs → shimmer-BH6aBatG.cjs} +2 -2
  566. package/dist/{shimmer-DnvxM4ou.cjs.map → shimmer-BH6aBatG.cjs.map} +1 -1
  567. package/dist/{shimmer-BneX5Awd.js → shimmer-DV3ZgmuP.js} +2 -2
  568. package/dist/{shimmer-BneX5Awd.js.map → shimmer-DV3ZgmuP.js.map} +1 -1
  569. package/dist/{skeleton-C5-7V8Ni.js → skeleton-BBDs7i6c.js} +2 -2
  570. package/dist/{skeleton-C5-7V8Ni.js.map → skeleton-BBDs7i6c.js.map} +1 -1
  571. package/dist/{skeleton-C0zXt2_f.cjs → skeleton-BKcwgYBh.cjs} +2 -2
  572. package/dist/{skeleton-C0zXt2_f.cjs.map → skeleton-BKcwgYBh.cjs.map} +1 -1
  573. package/dist/{spacings-BP8L49kn.cjs → spacings-4DMCCbQZ.cjs} +4 -2
  574. package/dist/spacings-4DMCCbQZ.cjs.map +1 -0
  575. package/dist/{spacings-C87dXiT-.js → spacings-BwKLvCC2.js} +4 -2
  576. package/dist/spacings-BwKLvCC2.js.map +1 -0
  577. package/dist/{spinner-HCsQgpaP.js → spinner-BMRlaJFy.js} +3 -3
  578. package/dist/{spinner-HCsQgpaP.js.map → spinner-BMRlaJFy.js.map} +1 -1
  579. package/dist/{spinner-BBAmiRCS.cjs → spinner-B_xKBDo_.cjs} +3 -3
  580. package/dist/{spinner-BBAmiRCS.cjs.map → spinner-B_xKBDo_.cjs.map} +1 -1
  581. package/dist/src/ds/tokens/shadows.d.ts +1 -0
  582. package/dist/src/hooks/use-scroll-to-first-highlight.d.ts +20 -0
  583. package/dist/src/hooks/use-text-highlight.d.ts +13 -0
  584. package/dist/style.css +15 -0
  585. package/dist/{tabs-content-wBU5qmb6.cjs → tabs-content-BxToGCDw.cjs} +2 -2
  586. package/dist/{tabs-content-wBU5qmb6.cjs.map → tabs-content-BxToGCDw.cjs.map} +1 -1
  587. package/dist/{tabs-content-XUh680fO.js → tabs-content-CLgmU6S_.js} +2 -2
  588. package/dist/{tabs-content-XUh680fO.js.map → tabs-content-CLgmU6S_.js.map} +1 -1
  589. package/dist/{tabs-root-VtBc6K2q.cjs → tabs-root-BNcLC-s6.cjs} +3 -3
  590. package/dist/{tabs-root-VtBc6K2q.cjs.map → tabs-root-BNcLC-s6.cjs.map} +1 -1
  591. package/dist/{tabs-root-BBPou4QC.js → tabs-root-BnwVjJbD.js} +3 -3
  592. package/dist/{tabs-root-BBPou4QC.js.map → tabs-root-BnwVjJbD.js.map} +1 -1
  593. package/dist/{tabs-tab-DudcFE6r.cjs → tabs-tab-Ha0C9Dv3.cjs} +3 -3
  594. package/dist/{tabs-tab-DudcFE6r.cjs.map → tabs-tab-Ha0C9Dv3.cjs.map} +1 -1
  595. package/dist/{tabs-tab-mZ-Tl7-d.js → tabs-tab-Qlfs2X2g.js} +3 -3
  596. package/dist/{tabs-tab-mZ-Tl7-d.js.map → tabs-tab-Qlfs2X2g.js.map} +1 -1
  597. package/dist/{text-field-block-Ddl2tJ6D.js → text-field-block-D7vJZCzd.js} +3 -3
  598. package/dist/{text-field-block-Ddl2tJ6D.js.map → text-field-block-D7vJZCzd.js.map} +1 -1
  599. package/dist/{text-field-block-B4CvIwKh.cjs → text-field-block-Dtup2Jqm.cjs} +3 -3
  600. package/dist/{text-field-block-B4CvIwKh.cjs.map → text-field-block-Dtup2Jqm.cjs.map} +1 -1
  601. package/dist/{time-picker-CpR2IP4l.cjs → time-picker-BqIiky9G.cjs} +3 -3
  602. package/dist/{time-picker-CpR2IP4l.cjs.map → time-picker-BqIiky9G.cjs.map} +1 -1
  603. package/dist/{time-picker-63iBILK9.js → time-picker-hmmwDo2l.js} +3 -3
  604. package/dist/{time-picker-63iBILK9.js.map → time-picker-hmmwDo2l.js.map} +1 -1
  605. package/dist/{toast-Bh4WQDyj.cjs → toast-EtbZnj9b.cjs} +2 -2
  606. package/dist/{toast-Bh4WQDyj.cjs.map → toast-EtbZnj9b.cjs.map} +1 -1
  607. package/dist/{toast-BKsfnapA.js → toast-czUGO0aH.js} +2 -2
  608. package/dist/{toast-BKsfnapA.js.map → toast-czUGO0aH.js.map} +1 -1
  609. package/dist/tokens.cjs.js +1 -1
  610. package/dist/tokens.es.js +1 -1
  611. package/dist/{tooltip-CF30mRAe.js → tooltip-Bi0pDO5P.js} +2 -2
  612. package/dist/{tooltip-CF30mRAe.js.map → tooltip-Bi0pDO5P.js.map} +1 -1
  613. package/dist/{tooltip-DMOZ2oaq.cjs → tooltip-DIi_oOxO.cjs} +2 -2
  614. package/dist/{tooltip-DMOZ2oaq.cjs.map → tooltip-DIi_oOxO.cjs.map} +1 -1
  615. package/dist/{traces-data-list-c5I-8hwt.js → traces-data-list-BeSOHzvZ.js} +6 -6
  616. package/dist/{traces-data-list-c5I-8hwt.js.map → traces-data-list-BeSOHzvZ.js.map} +1 -1
  617. package/dist/{traces-data-list-COksp2d4.cjs → traces-data-list-DwwFFIeq.cjs} +6 -6
  618. package/dist/{traces-data-list-COksp2d4.cjs.map → traces-data-list-DwwFFIeq.cjs.map} +1 -1
  619. package/dist/utils/cn.cjs.js +1 -1
  620. package/dist/utils/cn.es.js +1 -1
  621. package/dist/utils/toast.cjs.js +1 -1
  622. package/dist/utils/toast.es.js +1 -1
  623. package/package.json +4 -4
  624. package/theme.css +16 -0
  625. package/dist/spacings-BP8L49kn.cjs.map +0 -1
  626. package/dist/spacings-C87dXiT-.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @mastra/playground-ui
2
2
 
3
+ ## 51.4.0-alpha.3
4
+
5
+ ### Minor Changes
6
+
7
+ - Added a `shadow-panel` token and a `--chart-soft-1` through `--chart-soft-5` sequential color ramp to the design system. ([#22713](https://github.com/mastra-ai/mastra/pull/22713))
8
+
9
+ **shadow-panel** — the resting elevation for a panel that sits on the page rather than floating over it. It reads one step below `shadow-dialog`, so a page tiled with panels still looks like a single plane.
10
+
11
+ ```tsx
12
+ <div className="border-border1 bg-surface3 shadow-panel rounded-xl border">…</div>
13
+ ```
14
+
15
+ **--chart-soft-1..5** — one hue, lightness carrying the reading, for a single measure shown at five depths. Use it where `--chart-1..5` does not fit: that palette is categorical (five series, no order between them), this one is ordered. It flips with the theme, darkening on white and brightening on near-black.
16
+
17
+ ```tsx
18
+ <Bar fill="var(--chart-soft-1)" />
19
+ ```
20
+
21
+ ## 51.4.0-alpha.2
22
+
23
+ ### Patch Changes
24
+
25
+ - Fixed span search results being hidden below the fold: opening a span from the traces search now scrolls the first highlighted match in the span detail panel into view ([#22690](https://github.com/mastra-ai/mastra/pull/22690))
26
+
27
+ - Updated dependencies [[`d94e242`](https://github.com/mastra-ai/mastra/commit/d94e2423909cfc859eaf39827e83c832439e6b6d), [`8571a42`](https://github.com/mastra-ai/mastra/commit/8571a42c8039e938564e5c5fb0a6b75377c4fe67)]:
28
+ - @mastra/memory@1.28.2-alpha.0
29
+
3
30
  ## 51.4.0-alpha.1
4
31
 
5
32
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Icon } from './icons/Icon.es.js';
3
3
  import { transitions } from './primitives/transitions.es.js';
4
- import { c as cn } from './cn-BakJzhuv.js';
4
+ import { c as cn } from './cn-B4oPhFx9.js';
5
5
 
6
6
  const badgeToneStyles = {
7
7
  neutral: {
@@ -120,4 +120,4 @@ const Badge = ({
120
120
  };
121
121
 
122
122
  export { Badge as B };
123
- //# sourceMappingURL=Badge-uGehUtus.js.map
123
+ //# sourceMappingURL=Badge-CvgvWjuP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge-uGehUtus.js","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'default' | 'muted';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst badgeToneStyles = {\n neutral: {\n default: 'bg-neutral6/5 text-badge-neutral-fg',\n muted: 'bg-neutral6/[0.025] text-badge-neutral-fg',\n indicator: 'bg-neutral3',\n },\n green: {\n default: 'bg-badge-green/20 text-badge-green-fg',\n muted: 'bg-badge-green/10 text-badge-green-fg',\n indicator: 'bg-badge-green',\n },\n red: {\n default: 'bg-badge-red/20 text-badge-red-fg',\n muted: 'bg-badge-red/10 text-badge-red-fg',\n indicator: 'bg-badge-red',\n },\n blue: {\n default: 'bg-badge-blue/20 text-badge-blue-fg',\n muted: 'bg-badge-blue/10 text-badge-blue-fg',\n indicator: 'bg-badge-blue',\n },\n yellow: {\n default: 'bg-badge-yellow/20 text-badge-yellow-fg',\n muted: 'bg-badge-yellow/10 text-badge-yellow-fg',\n indicator: 'bg-badge-yellow',\n },\n purple: {\n default: 'bg-badge-purple/20 text-badge-purple-fg',\n muted: 'bg-badge-purple/10 text-badge-purple-fg',\n indicator: 'bg-badge-purple',\n },\n orange: {\n default: 'bg-badge-orange/20 text-badge-orange-fg',\n muted: 'bg-badge-orange/10 text-badge-orange-fg',\n indicator: 'bg-badge-orange',\n },\n cyan: {\n default: 'bg-badge-cyan/20 text-badge-cyan-fg',\n muted: 'bg-badge-cyan/10 text-badge-cyan-fg',\n indicator: 'bg-badge-cyan',\n },\n pink: {\n default: 'bg-badge-pink/20 text-badge-pink-fg',\n muted: 'bg-badge-pink/10 text-badge-pink-fg',\n indicator: 'bg-badge-pink',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-[22px] gap-1 text-ui-sm',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'default',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px] font-medium',\n 'inset-ring-1 inset-ring-current/5',\n 'inset-shadow-xs inset-shadow-white/5 dark:inset-shadow-[0_3px_10px_-2px_white] dark:inset-shadow-white/7',\n 'dark:bg-linear-to-b dark:from-white/3 dark:to-white/0',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"sm\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Badge-CvgvWjuP.js","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'default' | 'muted';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst badgeToneStyles = {\n neutral: {\n default: 'bg-neutral6/5 text-badge-neutral-fg',\n muted: 'bg-neutral6/[0.025] text-badge-neutral-fg',\n indicator: 'bg-neutral3',\n },\n green: {\n default: 'bg-badge-green/20 text-badge-green-fg',\n muted: 'bg-badge-green/10 text-badge-green-fg',\n indicator: 'bg-badge-green',\n },\n red: {\n default: 'bg-badge-red/20 text-badge-red-fg',\n muted: 'bg-badge-red/10 text-badge-red-fg',\n indicator: 'bg-badge-red',\n },\n blue: {\n default: 'bg-badge-blue/20 text-badge-blue-fg',\n muted: 'bg-badge-blue/10 text-badge-blue-fg',\n indicator: 'bg-badge-blue',\n },\n yellow: {\n default: 'bg-badge-yellow/20 text-badge-yellow-fg',\n muted: 'bg-badge-yellow/10 text-badge-yellow-fg',\n indicator: 'bg-badge-yellow',\n },\n purple: {\n default: 'bg-badge-purple/20 text-badge-purple-fg',\n muted: 'bg-badge-purple/10 text-badge-purple-fg',\n indicator: 'bg-badge-purple',\n },\n orange: {\n default: 'bg-badge-orange/20 text-badge-orange-fg',\n muted: 'bg-badge-orange/10 text-badge-orange-fg',\n indicator: 'bg-badge-orange',\n },\n cyan: {\n default: 'bg-badge-cyan/20 text-badge-cyan-fg',\n muted: 'bg-badge-cyan/10 text-badge-cyan-fg',\n indicator: 'bg-badge-cyan',\n },\n pink: {\n default: 'bg-badge-pink/20 text-badge-pink-fg',\n muted: 'bg-badge-pink/10 text-badge-pink-fg',\n indicator: 'bg-badge-pink',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-[22px] gap-1 text-ui-sm',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'default',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px] font-medium',\n 'inset-ring-1 inset-ring-current/5',\n 'inset-shadow-xs inset-shadow-white/5 dark:inset-shadow-[0_3px_10px_-2px_white] dark:inset-shadow-white/7',\n 'dark:bg-linear-to-b dark:from-white/3 dark:to-white/0',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"sm\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const icons_Icon = require('./icons/Icon.cjs.js');
5
5
  const primitives_transitions = require('./primitives/transitions.cjs.js');
6
- const utils_cn = require('./cn-vA5sWo9W.cjs');
6
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
7
7
 
8
8
  const badgeToneStyles = {
9
9
  neutral: {
@@ -122,4 +122,4 @@ const Badge = ({
122
122
  };
123
123
 
124
124
  exports.Badge = Badge;
125
- //# sourceMappingURL=Badge-DcllBqFg.cjs.map
125
+ //# sourceMappingURL=Badge-uc0ydYdy.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge-DcllBqFg.cjs","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'default' | 'muted';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst badgeToneStyles = {\n neutral: {\n default: 'bg-neutral6/5 text-badge-neutral-fg',\n muted: 'bg-neutral6/[0.025] text-badge-neutral-fg',\n indicator: 'bg-neutral3',\n },\n green: {\n default: 'bg-badge-green/20 text-badge-green-fg',\n muted: 'bg-badge-green/10 text-badge-green-fg',\n indicator: 'bg-badge-green',\n },\n red: {\n default: 'bg-badge-red/20 text-badge-red-fg',\n muted: 'bg-badge-red/10 text-badge-red-fg',\n indicator: 'bg-badge-red',\n },\n blue: {\n default: 'bg-badge-blue/20 text-badge-blue-fg',\n muted: 'bg-badge-blue/10 text-badge-blue-fg',\n indicator: 'bg-badge-blue',\n },\n yellow: {\n default: 'bg-badge-yellow/20 text-badge-yellow-fg',\n muted: 'bg-badge-yellow/10 text-badge-yellow-fg',\n indicator: 'bg-badge-yellow',\n },\n purple: {\n default: 'bg-badge-purple/20 text-badge-purple-fg',\n muted: 'bg-badge-purple/10 text-badge-purple-fg',\n indicator: 'bg-badge-purple',\n },\n orange: {\n default: 'bg-badge-orange/20 text-badge-orange-fg',\n muted: 'bg-badge-orange/10 text-badge-orange-fg',\n indicator: 'bg-badge-orange',\n },\n cyan: {\n default: 'bg-badge-cyan/20 text-badge-cyan-fg',\n muted: 'bg-badge-cyan/10 text-badge-cyan-fg',\n indicator: 'bg-badge-cyan',\n },\n pink: {\n default: 'bg-badge-pink/20 text-badge-pink-fg',\n muted: 'bg-badge-pink/10 text-badge-pink-fg',\n indicator: 'bg-badge-pink',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-[22px] gap-1 text-ui-sm',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'default',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px] font-medium',\n 'inset-ring-1 inset-ring-current/5',\n 'inset-shadow-xs inset-shadow-white/5 dark:inset-shadow-[0_3px_10px_-2px_white] dark:inset-shadow-white/7',\n 'dark:bg-linear-to-b dark:from-white/3 dark:to-white/0',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"sm\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":["jsxs","cn","transitions","jsx","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"Badge-uc0ydYdy.cjs","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type BadgeEmphasis = 'default' | 'muted';\nexport type BadgeIndicator = 'dot' | 'pulse';\n\ntype BadgeToneStyles = Record<BadgeEmphasis, string> & { indicator: string };\n\nconst badgeToneStyles = {\n neutral: {\n default: 'bg-neutral6/5 text-badge-neutral-fg',\n muted: 'bg-neutral6/[0.025] text-badge-neutral-fg',\n indicator: 'bg-neutral3',\n },\n green: {\n default: 'bg-badge-green/20 text-badge-green-fg',\n muted: 'bg-badge-green/10 text-badge-green-fg',\n indicator: 'bg-badge-green',\n },\n red: {\n default: 'bg-badge-red/20 text-badge-red-fg',\n muted: 'bg-badge-red/10 text-badge-red-fg',\n indicator: 'bg-badge-red',\n },\n blue: {\n default: 'bg-badge-blue/20 text-badge-blue-fg',\n muted: 'bg-badge-blue/10 text-badge-blue-fg',\n indicator: 'bg-badge-blue',\n },\n yellow: {\n default: 'bg-badge-yellow/20 text-badge-yellow-fg',\n muted: 'bg-badge-yellow/10 text-badge-yellow-fg',\n indicator: 'bg-badge-yellow',\n },\n purple: {\n default: 'bg-badge-purple/20 text-badge-purple-fg',\n muted: 'bg-badge-purple/10 text-badge-purple-fg',\n indicator: 'bg-badge-purple',\n },\n orange: {\n default: 'bg-badge-orange/20 text-badge-orange-fg',\n muted: 'bg-badge-orange/10 text-badge-orange-fg',\n indicator: 'bg-badge-orange',\n },\n cyan: {\n default: 'bg-badge-cyan/20 text-badge-cyan-fg',\n muted: 'bg-badge-cyan/10 text-badge-cyan-fg',\n indicator: 'bg-badge-cyan',\n },\n pink: {\n default: 'bg-badge-pink/20 text-badge-pink-fg',\n muted: 'bg-badge-pink/10 text-badge-pink-fg',\n indicator: 'bg-badge-pink',\n },\n} satisfies Record<string, BadgeToneStyles>;\n\nexport type BadgeVariant = keyof typeof badgeToneStyles;\n\nconst badgeSizeStyles = {\n xs: {\n badge: 'h-[18px] gap-0.5 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'pl-1 pr-1.5',\n indicator: 'size-1',\n },\n sm: {\n badge: 'h-5 gap-1 text-ui-xs',\n withoutLeadingVisual: 'px-1.5',\n withLeadingVisual: 'px-1.5',\n indicator: 'size-1',\n },\n md: {\n badge: 'h-[22px] gap-1 text-ui-sm',\n withoutLeadingVisual: 'px-2',\n withLeadingVisual: 'pl-1.5 pr-2',\n indicator: 'size-1.5',\n },\n};\n\nexport type BadgeSize = keyof typeof badgeSizeStyles;\n\ntype BadgeLeadingVisual = { icon?: ReactNode; indicator?: never } | { icon?: never; indicator?: BadgeIndicator };\n\nexport type BadgeProps = HTMLAttributes<HTMLSpanElement> &\n BadgeLeadingVisual & {\n variant?: BadgeVariant;\n emphasis?: BadgeEmphasis;\n size?: BadgeSize;\n children?: ReactNode;\n };\n\nexport const Badge = ({\n icon,\n indicator,\n variant = 'neutral',\n emphasis = 'default',\n size = 'md',\n className,\n children,\n ...props\n}: BadgeProps) => {\n const hasIcon = Boolean(icon);\n const withLeadingVisual = hasIcon || indicator !== undefined;\n const sizeStyles = badgeSizeStyles[size];\n const paddingClass = withLeadingVisual ? sizeStyles.withLeadingVisual : sizeStyles.withoutLeadingVisual;\n\n return (\n <span\n className={cn(\n 'inline-flex w-fit max-w-full shrink-0 items-center rounded-[7px] font-medium',\n 'inset-ring-1 inset-ring-current/5',\n 'inset-shadow-xs inset-shadow-white/5 dark:inset-shadow-[0_3px_10px_-2px_white] dark:inset-shadow-white/7',\n 'dark:bg-linear-to-b dark:from-white/3 dark:to-white/0',\n badgeToneStyles[variant][emphasis],\n sizeStyles.badge,\n paddingClass,\n transitions.colors,\n className,\n )}\n {...props}\n >\n {indicator !== undefined ? (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0 rounded-full',\n badgeToneStyles[variant].indicator,\n sizeStyles.indicator,\n indicator === 'pulse' && 'motion-safe:animate-pulse motion-reduce:animate-none',\n )}\n />\n ) : null}\n {hasIcon ? <Icon size=\"sm\">{icon}</Icon> : null}\n {children}\n </span>\n );\n};\n"],"names":["jsxs","cn","transitions","jsx","Icon"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { c as cva } from './index-CSm06eOE.js';
2
+ import { c as cva } from './index-DsNrjFJd.js';
3
3
  import React__default from 'react';
4
- import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-CF30mRAe.js';
4
+ import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-Bi0pDO5P.js';
5
5
  import { Icon } from './icons/Icon.es.js';
6
6
  import { controlHeight, controlSizeClasses } from './primitives/control-size.es.js';
7
7
  import { controlFocusBorderVisible, sharedFormElementDisabledStyle } from './primitives/form-element.es.js';
8
- import { c as cn } from './cn-BakJzhuv.js';
8
+ import { c as cn } from './cn-B4oPhFx9.js';
9
9
 
10
10
  const TEXT_MODE_ADORNMENTS = cn(
11
11
  "gap-[.75em] rounded-full",
@@ -105,4 +105,4 @@ const Button = React__default.forwardRef(
105
105
  Button.displayName = "Button";
106
106
 
107
107
  export { Button as B, buttonVariants as b };
108
- //# sourceMappingURL=Button-vr_I4iME.js.map
108
+ //# sourceMappingURL=Button-BsfLQEC6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button-vr_I4iME.js","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n destructive:\n 'border border-transparent bg-accent2 font-medium text-white hover:bg-accent2/90 active:bg-accent2/80',\n 'destructive-ghost':\n 'border border-transparent bg-transparent text-accent2 hover:bg-accent2/10 hover:text-accent2 active:bg-accent2/15',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"Button-BsfLQEC6.js","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n destructive:\n 'border border-transparent bg-accent2 font-medium text-white hover:bg-accent2/90 active:bg-accent2/80',\n 'destructive-ghost':\n 'border border-transparent bg-transparent text-accent2 hover:bg-accent2/10 hover:text-accent2 active:bg-accent2/15',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["React"],"mappings":";;;;;;;;;AAYA,MAAM,oBAAA,GAAuB,EAAA;AAAA,EAC3B,0BAAA;AAAA,EACA,yCAAA;AAAA,EACA,8CAAA;AAAA,EACA;AACF,CAAA;AAGO,MAAM,cAAA,GAAiB,GAAA;AAAA,EAC5B,EAAA;AAAA,IACE,kEAAA;AAAA,IACA,gDAAA;AAAA,IACA,8BAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,0GAAA;AAAA,QACF,OAAA,EACE,4GAAA;AAAA,QACF,WAAA,EACE,sGAAA;AAAA,QACF,mBAAA,EACE,mHAAA;AAAA,QACF,KAAA,EACE,sHAAA;AAAA,QACF,OAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,EAAA,CAAG,kBAAA,CAAmB,EAAA,EAAI,aAAa,oBAAoB,CAAA;AAAA,QAC/D,EAAA,EAAI,EAAA,CAAG,kBAAA,CAAmB,EAAA,EAAI,aAAa,oBAAoB,CAAA;AAAA,QAC/D,EAAA,EAAI,EAAA,CAAG,kBAAA,CAAmB,EAAA,EAAI,aAAa,oBAAoB,CAAA;AAAA,QAC/D,EAAA,EAAI,EAAA,CAAG,kBAAA,CAAmB,OAAA,EAAS,YAAY,oBAAoB,CAAA;AAAA;AAAA;AAAA,QAGnE,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAA,EAAI,wBAAwB,CAAA;AAAA,QACxD,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAA,EAAI,wBAAwB,CAAA;AAAA,QACxD,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAA,EAAI,wBAAwB,CAAA;AAAA,QACxD,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAA,EAAI,wBAAwB;AAAA;AAC1D,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAyBA,MAAM,gBAAA,GAAoE;AAAA,EACxE,SAAA,EAAW,IAAA;AAAA,EACX,SAAA,EAAW,IAAA;AAAA,EACX,SAAA,EAAW,SAAA;AAAA,EACX,SAAA,EAAW;AACb,CAAA;AAIA,SAAS,gBAAgB,QAAA,EAA8C;AACrE,EAAA,MAAM,SAA4B,EAAC;AACnC,EAAAA,cAAA,CAAM,QAAA,CAAS,OAAA,CAAQ,QAAA,EAAU,CAAA,KAAA,KAAS;AACxC,IAAA,IAAIA,eAAM,cAAA,CAA+C,KAAK,KAAK,KAAA,CAAM,IAAA,KAASA,eAAM,QAAA,EAAU;AAChG,MAAA,MAAA,CAAO,KAAK,GAAG,eAAA,CAAgB,KAAA,CAAM,KAAA,CAAM,QAAQ,CAAC,CAAA;AAAA,IACtD,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,IACnB;AAAA,EACF,CAAC,CAAA;AACD,EAAA,OAAO,MAAA;AACT;AAIA,SAAS,WAAW,QAAA,EAAoC;AACtD,EAAA,MAAM,IAAA,GAAO,gBAAgB,QAAQ,CAAA;AACrC,EAAA,OAAO,IAAA,CAAK,SAAS,CAAA,IAAK,IAAA,CAAK,MAAM,CAAA,KAAA,KAASA,cAAA,CAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AAC3E;AAIA,SAAS,iBAAiB,IAAA,EAA6D;AACrF,EAAA,OAAO,OAAO,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,WAAW,OAAO,CAAA;AAC5D;AAEO,MAAM,SAASA,cAAA,CAAM,UAAA;AAAA,EAC1B,CACE,EAAE,SAAA,EAAW,EAAA,EAAI,MAAM,OAAA,GAAU,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,SAAS,YAAA,EAAc,aAAA,EAAe,GAAG,KAAA,IACzG,GAAA,KACG;AACH,IAAA,MAAM,YAAY,EAAA,IAAM,QAAA;AACxB,IAAA,MAAM,QAAA,GAAW,iBAAiB,IAAI,CAAA;AACtC,IAAA,MAAM,eAA2B,IAAA,IAAQ,IAAA;AACzC,IAAA,MAAM,WAAA,GAAc,CAAC,QAAA,IAAY,UAAA,CAAW,QAAQ,CAAA;AAGpD,IAAA,MAAM,YAAY,aAAA,KAAA,CAAmB,QAAA,IAAY,gBAAgB,OAAO,OAAA,KAAY,WAAW,OAAA,GAAU,MAAA,CAAA;AAEzG,IAAA,MAAM,OAAA,GAAU,2BAAW,GAAA,CAAC,IAAA,EAAA,EAAK,MAAM,gBAAA,CAAiB,IAAsB,CAAA,EAAI,QAAA,EAAS,CAAA,GAAU,QAAA;AAErG,IAAA,MAAM,MAAA,mBACJ,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,QAAA;AAAA,QACA,YAAA,EAAY,SAAA;AAAA,QAIZ,cAAA,EAAc,OAAA;AAAA,QACd,SAAA,EAAW,EAAA,CAAG,cAAA,CAAe,EAAE,OAAA,EAAS,IAAA,EAAM,YAAA,EAAc,CAAA,EAAG,WAAA,IAAe,oBAAA,EAAsB,SAAS,CAAA;AAAA,QAC5G,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAGF,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,OAAA,EAAO,IAAA,EAAE,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,wBAChC,GAAA,CAAC,kBAAgB,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC3B,CAAA;AAAA,IAEJ;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;;;"}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const index = require('./index-C-Lt4Bx_.cjs');
4
+ const index = require('./index-BRtrE4oe.cjs');
5
5
  const React = require('react');
6
- const tooltip = require('./tooltip-DMOZ2oaq.cjs');
6
+ const tooltip = require('./tooltip-DIi_oOxO.cjs');
7
7
  const icons_Icon = require('./icons/Icon.cjs.js');
8
8
  const primitives_controlSize = require('./primitives/control-size.cjs.js');
9
9
  const primitives_formElement = require('./primitives/form-element.cjs.js');
10
- const utils_cn = require('./cn-vA5sWo9W.cjs');
10
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
11
11
 
12
12
  const TEXT_MODE_ADORNMENTS = utils_cn.cn(
13
13
  "gap-[.75em] rounded-full",
@@ -108,4 +108,4 @@ Button.displayName = "Button";
108
108
 
109
109
  exports.Button = Button;
110
110
  exports.buttonVariants = buttonVariants;
111
- //# sourceMappingURL=Button-DA5XLUon.cjs.map
111
+ //# sourceMappingURL=Button-D10WB4vc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button-DA5XLUon.cjs","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n destructive:\n 'border border-transparent bg-accent2 font-medium text-white hover:bg-accent2/90 active:bg-accent2/80',\n 'destructive-ghost':\n 'border border-transparent bg-transparent text-accent2 hover:bg-accent2/10 hover:text-accent2 active:bg-accent2/15',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["cn","cva","sharedFormElementDisabledStyle","controlFocusBorderVisible","controlSizeClasses","controlHeight","tooltip","jsx","Icon","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
1
+ {"version":3,"file":"Button-D10WB4vc.cjs","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n destructive:\n 'border border-transparent bg-accent2 font-medium text-white hover:bg-accent2/90 active:bg-accent2/80',\n 'destructive-ghost':\n 'border border-transparent bg-transparent text-accent2 hover:bg-accent2/10 hover:text-accent2 active:bg-accent2/15',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["cn","cva","sharedFormElementDisabledStyle","controlFocusBorderVisible","controlSizeClasses","controlHeight","tooltip","jsx","Icon","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { c as cva } from './index-CSm06eOE.js';
2
+ import { c as cva } from './index-DsNrjFJd.js';
3
3
  import * as React from 'react';
4
- import { c as cn } from './cn-BakJzhuv.js';
4
+ import { c as cn } from './cn-B4oPhFx9.js';
5
5
 
6
6
  const cardVariants = cva(
7
7
  // Base styles
@@ -93,4 +93,4 @@ const CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE
93
93
  CardFooter.displayName = "CardFooter";
94
94
 
95
95
  export { Card as C, CardContent as a, CardDescription as b, CardFooter as c, CardHeader as d, CardLink as e, CardTitle as f };
96
- //# sourceMappingURL=Card-BjFMX3pD.js.map
96
+ //# sourceMappingURL=Card-CbNFrGXs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card-BjFMX3pD.js","sources":["../src/ds/components/Card/Card.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nconst cardVariants = cva(\n // Base styles\n 'duration-normal rounded-lg transition-all ease-out-custom motion-reduce:transition-none',\n {\n variants: {\n appearance: {\n outlined: 'border border-border1 bg-surface2',\n surface: 'bg-surface3',\n },\n elevation: {\n flat: '',\n raised: 'shadow-card',\n elevated: 'shadow-elevated',\n },\n interactive: {\n true: 'cursor-pointer active:scale-99',\n false: '',\n },\n },\n compoundVariants: [\n {\n appearance: 'outlined',\n interactive: true,\n className: 'hover:border-border2 hover:bg-surface3',\n },\n {\n appearance: 'surface',\n interactive: true,\n className:\n 'hover:bg-surface4 focus-visible:bg-surface4 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border2 active:bg-surface5',\n },\n ],\n defaultVariants: {\n appearance: 'outlined',\n elevation: 'flat',\n interactive: false,\n },\n },\n);\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof cardVariants> & {\n as?: React.ElementType;\n };\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n ({ className, appearance, elevation, interactive, as, ...props }, ref) => {\n const Component = as || (interactive ? 'button' : 'div');\n\n return (\n <Component\n ref={ref}\n type={Component === 'button' ? 'button' : undefined}\n className={cn(cardVariants({ appearance, elevation, interactive }), className)}\n {...props}\n />\n );\n },\n);\nCard.displayName = 'Card';\n\nexport type CardLinkProps = Omit<React.ComponentPropsWithoutRef<'a'>, 'href'> &\n Omit<VariantProps<typeof cardVariants>, 'interactive'> & {\n href: string;\n LinkComponent?: LinkComponent;\n };\n\nexport function CardLink({ className, appearance, elevation, LinkComponent: Link = 'a', ...props }: CardLinkProps) {\n return <Link className={cn(cardVariants({ appearance, elevation, interactive: true }), className)} {...props} />;\n}\n\n// Card Header component\nexport type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-4 pb-0', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\n// Card Title component\nexport type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\n\nexport const CardTitle = React.forwardRef<HTMLHeadingElement, CardTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-ui-md leading-none font-semibold tracking-tight text-neutral6', className)}\n {...props}\n />\n));\nCardTitle.displayName = 'CardTitle';\n\n// Card Description component\nexport type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;\n\nexport const CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => <p ref={ref} className={cn('text-ui-sm text-neutral3', className)} {...props} />,\n);\nCardDescription.displayName = 'CardDescription';\n\n// Card Content component\nconst cardContentVariants = cva('', {\n variants: {\n density: {\n default: 'p-4',\n compact: 'p-3',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport type CardContentProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardContentVariants>;\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ className, density, ...props }, ref) => (\n <div ref={ref} className={cn(cardContentVariants({ density }), className)} {...props} />\n ),\n);\nCardContent.displayName = 'CardContent';\n\n// Card Footer component\nexport type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-4 pt-0', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Card-CbNFrGXs.js","sources":["../src/ds/components/Card/Card.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nconst cardVariants = cva(\n // Base styles\n 'duration-normal rounded-lg transition-all ease-out-custom motion-reduce:transition-none',\n {\n variants: {\n appearance: {\n outlined: 'border border-border1 bg-surface2',\n surface: 'bg-surface3',\n },\n elevation: {\n flat: '',\n raised: 'shadow-card',\n elevated: 'shadow-elevated',\n },\n interactive: {\n true: 'cursor-pointer active:scale-99',\n false: '',\n },\n },\n compoundVariants: [\n {\n appearance: 'outlined',\n interactive: true,\n className: 'hover:border-border2 hover:bg-surface3',\n },\n {\n appearance: 'surface',\n interactive: true,\n className:\n 'hover:bg-surface4 focus-visible:bg-surface4 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border2 active:bg-surface5',\n },\n ],\n defaultVariants: {\n appearance: 'outlined',\n elevation: 'flat',\n interactive: false,\n },\n },\n);\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof cardVariants> & {\n as?: React.ElementType;\n };\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n ({ className, appearance, elevation, interactive, as, ...props }, ref) => {\n const Component = as || (interactive ? 'button' : 'div');\n\n return (\n <Component\n ref={ref}\n type={Component === 'button' ? 'button' : undefined}\n className={cn(cardVariants({ appearance, elevation, interactive }), className)}\n {...props}\n />\n );\n },\n);\nCard.displayName = 'Card';\n\nexport type CardLinkProps = Omit<React.ComponentPropsWithoutRef<'a'>, 'href'> &\n Omit<VariantProps<typeof cardVariants>, 'interactive'> & {\n href: string;\n LinkComponent?: LinkComponent;\n };\n\nexport function CardLink({ className, appearance, elevation, LinkComponent: Link = 'a', ...props }: CardLinkProps) {\n return <Link className={cn(cardVariants({ appearance, elevation, interactive: true }), className)} {...props} />;\n}\n\n// Card Header component\nexport type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-4 pb-0', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\n// Card Title component\nexport type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\n\nexport const CardTitle = React.forwardRef<HTMLHeadingElement, CardTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-ui-md leading-none font-semibold tracking-tight text-neutral6', className)}\n {...props}\n />\n));\nCardTitle.displayName = 'CardTitle';\n\n// Card Description component\nexport type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;\n\nexport const CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => <p ref={ref} className={cn('text-ui-sm text-neutral3', className)} {...props} />,\n);\nCardDescription.displayName = 'CardDescription';\n\n// Card Content component\nconst cardContentVariants = cva('', {\n variants: {\n density: {\n default: 'p-4',\n compact: 'p-3',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport type CardContentProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardContentVariants>;\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ className, density, ...props }, ref) => (\n <div ref={ref} className={cn(cardContentVariants({ density }), className)} {...props} />\n ),\n);\nCardContent.displayName = 'CardContent';\n\n// Card Footer component\nexport type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-4 pt-0', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const index = require('./index-C-Lt4Bx_.cjs');
4
+ const index = require('./index-BRtrE4oe.cjs');
5
5
  const React = require('react');
6
- const utils_cn = require('./cn-vA5sWo9W.cjs');
6
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
7
7
 
8
8
  function _interopNamespaceDefault(e) {
9
9
  const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
@@ -120,4 +120,4 @@ exports.CardFooter = CardFooter;
120
120
  exports.CardHeader = CardHeader;
121
121
  exports.CardLink = CardLink;
122
122
  exports.CardTitle = CardTitle;
123
- //# sourceMappingURL=Card-WU2qkiHB.cjs.map
123
+ //# sourceMappingURL=Card-ZR65FNl8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card-WU2qkiHB.cjs","sources":["../src/ds/components/Card/Card.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nconst cardVariants = cva(\n // Base styles\n 'duration-normal rounded-lg transition-all ease-out-custom motion-reduce:transition-none',\n {\n variants: {\n appearance: {\n outlined: 'border border-border1 bg-surface2',\n surface: 'bg-surface3',\n },\n elevation: {\n flat: '',\n raised: 'shadow-card',\n elevated: 'shadow-elevated',\n },\n interactive: {\n true: 'cursor-pointer active:scale-99',\n false: '',\n },\n },\n compoundVariants: [\n {\n appearance: 'outlined',\n interactive: true,\n className: 'hover:border-border2 hover:bg-surface3',\n },\n {\n appearance: 'surface',\n interactive: true,\n className:\n 'hover:bg-surface4 focus-visible:bg-surface4 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border2 active:bg-surface5',\n },\n ],\n defaultVariants: {\n appearance: 'outlined',\n elevation: 'flat',\n interactive: false,\n },\n },\n);\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof cardVariants> & {\n as?: React.ElementType;\n };\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n ({ className, appearance, elevation, interactive, as, ...props }, ref) => {\n const Component = as || (interactive ? 'button' : 'div');\n\n return (\n <Component\n ref={ref}\n type={Component === 'button' ? 'button' : undefined}\n className={cn(cardVariants({ appearance, elevation, interactive }), className)}\n {...props}\n />\n );\n },\n);\nCard.displayName = 'Card';\n\nexport type CardLinkProps = Omit<React.ComponentPropsWithoutRef<'a'>, 'href'> &\n Omit<VariantProps<typeof cardVariants>, 'interactive'> & {\n href: string;\n LinkComponent?: LinkComponent;\n };\n\nexport function CardLink({ className, appearance, elevation, LinkComponent: Link = 'a', ...props }: CardLinkProps) {\n return <Link className={cn(cardVariants({ appearance, elevation, interactive: true }), className)} {...props} />;\n}\n\n// Card Header component\nexport type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-4 pb-0', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\n// Card Title component\nexport type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\n\nexport const CardTitle = React.forwardRef<HTMLHeadingElement, CardTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-ui-md leading-none font-semibold tracking-tight text-neutral6', className)}\n {...props}\n />\n));\nCardTitle.displayName = 'CardTitle';\n\n// Card Description component\nexport type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;\n\nexport const CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => <p ref={ref} className={cn('text-ui-sm text-neutral3', className)} {...props} />,\n);\nCardDescription.displayName = 'CardDescription';\n\n// Card Content component\nconst cardContentVariants = cva('', {\n variants: {\n density: {\n default: 'p-4',\n compact: 'p-3',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport type CardContentProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardContentVariants>;\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ className, density, ...props }, ref) => (\n <div ref={ref} className={cn(cardContentVariants({ density }), className)} {...props} />\n ),\n);\nCardContent.displayName = 'CardContent';\n\n// Card Footer component\nexport type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-4 pt-0', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n"],"names":["cva","React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAA,GAAeA,SAAA;AAAA;AAAA,EAEnB,yFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,QAAA,EAAU,mCAAA;AAAA,QACV,OAAA,EAAS;AAAA,OACX;AAAA,MACA,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,EAAA;AAAA,QACN,MAAA,EAAQ,aAAA;AAAA,QACR,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,gCAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB;AAAA,QACE,UAAA,EAAY,UAAA;AAAA,QACZ,WAAA,EAAa,IAAA;AAAA,QACb,SAAA,EAAW;AAAA,OACb;AAAA,MACA;AAAA,QACE,UAAA,EAAY,SAAA;AAAA,QACZ,WAAA,EAAa,IAAA;AAAA,QACb,SAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,UAAA;AAAA,MACZ,SAAA,EAAW,MAAA;AAAA,MACX,WAAA,EAAa;AAAA;AACf;AAEJ,CAAA;AAOO,MAAM,OAAOC,gBAAA,CAAM,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,UAAA,EAAY,SAAA,EAAW,aAAa,EAAA,EAAI,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxE,IAAA,MAAM,SAAA,GAAY,EAAA,KAAO,WAAA,GAAc,QAAA,GAAW,KAAA,CAAA;AAElD,IAAA,uBACEC,cAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,SAAA,KAAc,QAAA,GAAW,QAAA,GAAW,MAAA;AAAA,QAC1C,SAAA,EAAWC,YAAG,YAAA,CAAa,EAAE,YAAY,SAAA,EAAW,WAAA,EAAa,CAAA,EAAG,SAAS,CAAA;AAAA,QAC5E,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA;AAQZ,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,UAAA,EAAY,SAAA,EAAW,eAAe,IAAA,GAAO,GAAA,EAAK,GAAG,KAAA,EAAM,EAAkB;AACjH,EAAA,uBAAOD,cAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAWC,WAAA,CAAG,aAAa,EAAE,UAAA,EAAY,SAAA,EAAW,WAAA,EAAa,MAAM,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAChH;AAKO,MAAM,UAAA,GAAaF,iBAAM,UAAA,CAA4C,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,EAAG,GAAA,oCACnG,KAAA,EAAA,EAAI,GAAA,EAAU,WAAWE,WAAA,CAAG,oCAAA,EAAsC,SAAS,CAAA,EAAI,GAAG,OAAO,CAC3F;AACD,UAAA,CAAW,WAAA,GAAc,YAAA;AAKlB,MAAM,SAAA,GAAYF,iBAAM,UAAA,CAA+C,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,qBACtGC,cAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAWC,WAAA,CAAG,oEAAA,EAAsE,SAAS,CAAA;AAAA,IAC5F,GAAG;AAAA;AACN,CACD;AACD,SAAA,CAAU,WAAA,GAAc,WAAA;AAKjB,MAAM,kBAAkBF,gBAAA,CAAM,UAAA;AAAA,EACnC,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBAAQC,cAAA,CAAC,GAAA,EAAA,EAAE,GAAA,EAAU,WAAWC,WAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAClH;AACA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAG9B,MAAM,mBAAA,GAAsBH,UAAI,EAAA,EAAI;AAAA,EAClC,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAIM,MAAM,cAAcC,gBAAA,CAAM,UAAA;AAAA,EAC/B,CAAC,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,KAAA,EAAM,EAAG,wBACjCC,cAAA,CAAC,KAAA,EAAA,EAAI,KAAU,SAAA,EAAWC,WAAA,CAAG,oBAAoB,EAAE,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAE1F;AACA,WAAA,CAAY,WAAA,GAAc,aAAA;AAKnB,MAAM,UAAA,GAAaF,iBAAM,UAAA,CAA4C,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,EAAG,GAAA,oCACnG,KAAA,EAAA,EAAI,GAAA,EAAU,WAAWE,WAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA,EAAI,GAAG,OAAO,CACnF;AACD,UAAA,CAAW,WAAA,GAAc,YAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"Card-ZR65FNl8.cjs","sources":["../src/ds/components/Card/Card.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nconst cardVariants = cva(\n // Base styles\n 'duration-normal rounded-lg transition-all ease-out-custom motion-reduce:transition-none',\n {\n variants: {\n appearance: {\n outlined: 'border border-border1 bg-surface2',\n surface: 'bg-surface3',\n },\n elevation: {\n flat: '',\n raised: 'shadow-card',\n elevated: 'shadow-elevated',\n },\n interactive: {\n true: 'cursor-pointer active:scale-99',\n false: '',\n },\n },\n compoundVariants: [\n {\n appearance: 'outlined',\n interactive: true,\n className: 'hover:border-border2 hover:bg-surface3',\n },\n {\n appearance: 'surface',\n interactive: true,\n className:\n 'hover:bg-surface4 focus-visible:bg-surface4 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border2 active:bg-surface5',\n },\n ],\n defaultVariants: {\n appearance: 'outlined',\n elevation: 'flat',\n interactive: false,\n },\n },\n);\n\nexport type CardProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof cardVariants> & {\n as?: React.ElementType;\n };\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n ({ className, appearance, elevation, interactive, as, ...props }, ref) => {\n const Component = as || (interactive ? 'button' : 'div');\n\n return (\n <Component\n ref={ref}\n type={Component === 'button' ? 'button' : undefined}\n className={cn(cardVariants({ appearance, elevation, interactive }), className)}\n {...props}\n />\n );\n },\n);\nCard.displayName = 'Card';\n\nexport type CardLinkProps = Omit<React.ComponentPropsWithoutRef<'a'>, 'href'> &\n Omit<VariantProps<typeof cardVariants>, 'interactive'> & {\n href: string;\n LinkComponent?: LinkComponent;\n };\n\nexport function CardLink({ className, appearance, elevation, LinkComponent: Link = 'a', ...props }: CardLinkProps) {\n return <Link className={cn(cardVariants({ appearance, elevation, interactive: true }), className)} {...props} />;\n}\n\n// Card Header component\nexport type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-4 pb-0', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\n// Card Title component\nexport type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\n\nexport const CardTitle = React.forwardRef<HTMLHeadingElement, CardTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-ui-md leading-none font-semibold tracking-tight text-neutral6', className)}\n {...props}\n />\n));\nCardTitle.displayName = 'CardTitle';\n\n// Card Description component\nexport type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;\n\nexport const CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => <p ref={ref} className={cn('text-ui-sm text-neutral3', className)} {...props} />,\n);\nCardDescription.displayName = 'CardDescription';\n\n// Card Content component\nconst cardContentVariants = cva('', {\n variants: {\n density: {\n default: 'p-4',\n compact: 'p-3',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport type CardContentProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardContentVariants>;\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ className, density, ...props }, ref) => (\n <div ref={ref} className={cn(cardContentVariants({ density }), className)} {...props} />\n ),\n);\nCardContent.displayName = 'CardContent';\n\n// Card Footer component\nexport type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-4 pt-0', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n"],"names":["cva","React","jsx","cn"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { c as cn } from './cn-BakJzhuv.js';
2
+ import { c as cn } from './cn-B4oPhFx9.js';
3
3
 
4
4
  function EmptyState({
5
5
  iconSlot,
@@ -28,4 +28,4 @@ function EmptyState({
28
28
  }
29
29
 
30
30
  export { EmptyState as E };
31
- //# sourceMappingURL=EmptyState-BLd-LJOA.js.map
31
+ //# sourceMappingURL=EmptyState-CA1zVauT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState-BLd-LJOA.js","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n iconSlot: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n};\n\nexport function EmptyState({\n iconSlot,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-6 py-10 text-center',\n 'duration-normal transition-opacity ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-4\">{iconSlot}</div>}\n <HeadingTag className=\"text-ui-md text-neutral5 font-medium\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-ui-sm text-neutral3 mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-5\">{actionSlot}</div>}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa;AACnB,CAAA,EAAoB;AAClB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,kEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBAC7C,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,sCAAA,EAAwC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QACvE,eAAA,oBAAmB,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAA4C,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QAC5F,UAAA,oBAAc,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAEJ;;;;"}
1
+ {"version":3,"file":"EmptyState-CA1zVauT.js","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n iconSlot: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n};\n\nexport function EmptyState({\n iconSlot,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-6 py-10 text-center',\n 'duration-normal transition-opacity ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-4\">{iconSlot}</div>}\n <HeadingTag className=\"text-ui-md text-neutral5 font-medium\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-ui-sm text-neutral3 mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-5\">{actionSlot}</div>}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa;AACnB,CAAA,EAAoB;AAClB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,kEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBAC7C,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,sCAAA,EAAwC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QACvE,eAAA,oBAAmB,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAA4C,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QAC5F,UAAA,oBAAc,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const utils_cn = require('./cn-vA5sWo9W.cjs');
4
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
5
5
 
6
6
  function EmptyState({
7
7
  iconSlot,
@@ -30,4 +30,4 @@ function EmptyState({
30
30
  }
31
31
 
32
32
  exports.EmptyState = EmptyState;
33
- //# sourceMappingURL=EmptyState-sff7IGrD.cjs.map
33
+ //# sourceMappingURL=EmptyState-hauyLuHd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState-sff7IGrD.cjs","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n iconSlot: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n};\n\nexport function EmptyState({\n iconSlot,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-6 py-10 text-center',\n 'duration-normal transition-opacity ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-4\">{iconSlot}</div>}\n <HeadingTag className=\"text-ui-md text-neutral5 font-medium\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-ui-sm text-neutral3 mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-5\">{actionSlot}</div>}\n </div>\n );\n}\n"],"names":["jsxs","cn","jsx"],"mappings":";;;;;AAYO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa;AACnB,CAAA,EAAoB;AAClB,EAAA,uBACEA,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,kEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAYC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBAC7CA,cAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,sCAAA,EAAwC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QACvE,eAAA,oBAAmBA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAA4C,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QAC5F,UAAA,oBAAcA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAEJ;;;;"}
1
+ {"version":3,"file":"EmptyState-hauyLuHd.cjs","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n iconSlot: React.ReactNode;\n titleSlot: React.ReactNode;\n descriptionSlot?: React.ReactNode;\n actionSlot?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n};\n\nexport function EmptyState({\n iconSlot,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-6 py-10 text-center',\n 'duration-normal transition-opacity ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-4\">{iconSlot}</div>}\n <HeadingTag className=\"text-ui-md text-neutral5 font-medium\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-ui-sm text-neutral3 mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-5\">{actionSlot}</div>}\n </div>\n );\n}\n"],"names":["jsxs","cn","jsx"],"mappings":";;;;;AAYO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa;AACnB,CAAA,EAAoB;AAClB,EAAA,uBACEA,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,kEAAA;AAAA,QACA,oDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBAAYC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBAC7CA,cAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,sCAAA,EAAwC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QACvE,eAAA,oBAAmBA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAA4C,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QAC5F,UAAA,oBAAcA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { B as Button } from './Button-vr_I4iME.js';
3
- import { c as cn } from './cn-BakJzhuv.js';
2
+ import { B as Button } from './Button-BsfLQEC6.js';
3
+ import { c as cn } from './cn-B4oPhFx9.js';
4
4
  import { FileTextIcon, InfoIcon, TriangleAlertIcon, OctagonAlertIcon, LightbulbIcon } from 'lucide-react';
5
5
 
6
6
  function NoticeButton(props) {
@@ -86,4 +86,4 @@ const Notice = Object.assign(NoticeRoot, {
86
86
  });
87
87
 
88
88
  export { Notice as N };
89
- //# sourceMappingURL=Notice-XR_HdGMF.js.map
89
+ //# sourceMappingURL=Notice-DSUAUUYU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Notice-XR_HdGMF.js","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Notice-DSUAUUYU.js","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Button = require('./Button-DA5XLUon.cjs');
5
- const utils_cn = require('./cn-vA5sWo9W.cjs');
4
+ const Button = require('./Button-D10WB4vc.cjs');
5
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
6
6
  const lucideReact = require('lucide-react');
7
7
 
8
8
  function NoticeButton(props) {
@@ -88,4 +88,4 @@ const Notice = Object.assign(NoticeRoot, {
88
88
  });
89
89
 
90
90
  exports.Notice = Notice;
91
- //# sourceMappingURL=Notice-BoT3Qi4U.cjs.map
91
+ //# sourceMappingURL=Notice-D_ji361h.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Notice-BoT3Qi4U.cjs","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":["Button","cn","LightbulbIcon","OctagonAlertIcon","TriangleAlertIcon","InfoIcon","FileTextIcon","jsx","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Notice-D_ji361h.cjs","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":["Button","cn","LightbulbIcon","OctagonAlertIcon","TriangleAlertIcon","InfoIcon","FileTextIcon","jsx","jsxs"],"mappings":"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"}