@mastra/playground-ui 56.0.0 → 57.0.0-alpha.0

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 (425) hide show
  1. package/dist/{EmptyState-CdRjFB06.cjs → EmptyState-0MgNiP40.cjs} +11 -5
  2. package/dist/EmptyState-0MgNiP40.cjs.map +1 -0
  3. package/dist/{EmptyState-UWXhBp5U.js → EmptyState-CiZVWvpH.js} +11 -5
  4. package/dist/EmptyState-CiZVWvpH.js.map +1 -0
  5. package/dist/ErrorState-C7-4A-rB.cjs +21 -0
  6. package/dist/ErrorState-C7-4A-rB.cjs.map +1 -0
  7. package/dist/ErrorState-l5gg5Nzw.js +19 -0
  8. package/dist/ErrorState-l5gg5Nzw.js.map +1 -0
  9. package/dist/Header-BVnFQlzE.js +31 -0
  10. package/dist/Header-BVnFQlzE.js.map +1 -0
  11. package/dist/Header-CGjhJ0nQ.cjs +36 -0
  12. package/dist/Header-CGjhJ0nQ.cjs.map +1 -0
  13. package/dist/{PermissionDenied-Dz5qXpQj.cjs → PermissionDenied-CwLIzjpC.cjs} +11 -6
  14. package/dist/PermissionDenied-CwLIzjpC.cjs.map +1 -0
  15. package/dist/{PermissionDenied-B6TSGolC.js → PermissionDenied-DPM04x0a.js} +11 -6
  16. package/dist/PermissionDenied-DPM04x0a.js.map +1 -0
  17. package/dist/{SessionExpired-CF0BGNo_.cjs → SessionExpired-07Lz91i3.cjs} +4 -5
  18. package/dist/SessionExpired-07Lz91i3.cjs.map +1 -0
  19. package/dist/{SessionExpired-Bq5LcsDu.js → SessionExpired-CnJ8zr5Y.js} +4 -5
  20. package/dist/SessionExpired-CnJ8zr5Y.js.map +1 -0
  21. package/dist/ask-user-B_O3GEjY.cjs +216 -0
  22. package/dist/ask-user-B_O3GEjY.cjs.map +1 -0
  23. package/dist/ask-user-gT9rODOe.js +206 -0
  24. package/dist/ask-user-gT9rODOe.js.map +1 -0
  25. package/dist/{combobox-BWM3VH-n.cjs → combobox-BTZyTiyL.cjs} +3 -4
  26. package/dist/{combobox-BWM3VH-n.cjs.map → combobox-BTZyTiyL.cjs.map} +1 -1
  27. package/dist/{combobox-D7xJFZuO.js → combobox-B_gv8nUN.js} +2 -3
  28. package/dist/{combobox-D7xJFZuO.js.map → combobox-B_gv8nUN.js.map} +1 -1
  29. package/dist/components/ActionRow.cjs.js +38 -0
  30. package/dist/components/ActionRow.cjs.js.map +1 -0
  31. package/dist/components/ActionRow.d.ts +2 -0
  32. package/dist/components/ActionRow.es.js +34 -0
  33. package/dist/components/ActionRow.es.js.map +1 -0
  34. package/dist/components/Combobox.cjs.js +1 -1
  35. package/dist/components/Combobox.es.js +1 -1
  36. package/dist/components/Comment.cjs.js +2 -3
  37. package/dist/components/Comment.cjs.js.map +1 -1
  38. package/dist/components/Comment.es.js +1 -2
  39. package/dist/components/Comment.es.js.map +1 -1
  40. package/dist/components/DataCodeSection.cjs.js +1 -1
  41. package/dist/components/DataCodeSection.es.js +1 -1
  42. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  43. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  44. package/dist/components/DataDetailsPanel.es.js +2 -2
  45. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  46. package/dist/components/DataPanel.cjs.js +1 -1
  47. package/dist/components/DataPanel.es.js +1 -1
  48. package/dist/components/DateTimePicker.cjs.js +1 -1
  49. package/dist/components/DateTimePicker.es.js +1 -1
  50. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  51. package/dist/components/DateTimeRangePicker.es.js +1 -1
  52. package/dist/components/EmptyState.cjs.js +1 -1
  53. package/dist/components/EmptyState.es.js +1 -1
  54. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -8
  55. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  56. package/dist/components/EnvironmentVariablesEditor.es.js +1 -2
  57. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  58. package/dist/components/ErrorState.cjs.js +1 -1
  59. package/dist/components/ErrorState.es.js +1 -1
  60. package/dist/components/FilterBar.cjs.js +490 -38
  61. package/dist/components/FilterBar.cjs.js.map +1 -1
  62. package/dist/components/FilterBar.es.js +490 -42
  63. package/dist/components/FilterBar.es.js.map +1 -1
  64. package/dist/components/FormFieldBlocks.cjs.js +11 -12
  65. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  66. package/dist/components/FormFieldBlocks.es.js +4 -5
  67. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  68. package/dist/components/Header.cjs.js +6 -31
  69. package/dist/components/Header.cjs.js.map +1 -1
  70. package/dist/components/Header.es.js +1 -30
  71. package/dist/components/Header.es.js.map +1 -1
  72. package/dist/components/IntegrationDialog.cjs.js +1 -1
  73. package/dist/components/IntegrationDialog.es.js +1 -1
  74. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  75. package/dist/components/JSONSchemaForm.es.js +2 -2
  76. package/dist/components/ListSearch.cjs.js +1 -1
  77. package/dist/components/ListSearch.es.js +1 -1
  78. package/dist/components/LogsDataList.cjs.js +2 -0
  79. package/dist/components/LogsDataList.cjs.js.map +1 -1
  80. package/dist/components/LogsDataList.es.js +2 -0
  81. package/dist/components/LogsDataList.es.js.map +1 -1
  82. package/dist/components/Message.cjs.js +1 -1
  83. package/dist/components/Message.es.js +2 -2
  84. package/dist/components/MetricsCard.cjs.js +1 -1
  85. package/dist/components/MetricsCard.es.js +1 -1
  86. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  87. package/dist/components/MetricsKpiCard.es.js +1 -1
  88. package/dist/components/PageLayout.cjs.js +30 -8
  89. package/dist/components/PageLayout.cjs.js.map +1 -1
  90. package/dist/components/PageLayout.es.js +32 -3
  91. package/dist/components/PageLayout.es.js.map +1 -1
  92. package/dist/components/PermissionDenied.cjs.js +1 -1
  93. package/dist/components/PermissionDenied.es.js +1 -1
  94. package/dist/components/PropertyFilter.cjs.js +2 -2
  95. package/dist/components/PropertyFilter.es.js +3 -3
  96. package/dist/components/RadioGroup.cjs.js +3 -56
  97. package/dist/components/RadioGroup.cjs.js.map +1 -1
  98. package/dist/components/RadioGroup.es.js +1 -39
  99. package/dist/components/RadioGroup.es.js.map +1 -1
  100. package/dist/components/SessionExpired.cjs.js +1 -1
  101. package/dist/components/SessionExpired.es.js +1 -1
  102. package/dist/components/SideDialog.cjs.js +10 -2
  103. package/dist/components/SideDialog.cjs.js.map +1 -1
  104. package/dist/components/SideDialog.es.js +10 -2
  105. package/dist/components/SideDialog.es.js.map +1 -1
  106. package/dist/components/Spinner.cjs.js +1 -1
  107. package/dist/components/Spinner.es.js +1 -1
  108. package/dist/components/Steps.cjs.js +1 -1
  109. package/dist/components/Steps.es.js +1 -1
  110. package/dist/components/Workflow.cjs.js +6 -6
  111. package/dist/components/Workflow.cjs.js.map +1 -1
  112. package/dist/components/Workflow.es.js +6 -6
  113. package/dist/components/Workflow.es.js.map +1 -1
  114. package/dist/components/ai/ask-user.cjs.js +4 -3
  115. package/dist/components/ai/ask-user.cjs.js.map +1 -1
  116. package/dist/components/ai/ask-user.es.js +1 -1
  117. package/dist/components/ai/tool-call.cjs.js +1 -1
  118. package/dist/components/ai/tool-call.es.js +2 -2
  119. package/dist/{data-code-section-qujvEc6j.cjs → data-code-section-Dpd2hzmU.cjs} +4 -4
  120. package/dist/{data-code-section-qujvEc6j.cjs.map → data-code-section-Dpd2hzmU.cjs.map} +1 -1
  121. package/dist/{data-code-section-DKz9Okaz.js → data-code-section-O-DRRO6N.js} +4 -4
  122. package/dist/{data-code-section-DKz9Okaz.js.map → data-code-section-O-DRRO6N.js.map} +1 -1
  123. package/dist/{data-panel-CWjgS1Gh.js → data-panel-CDJMMCvz.js} +3 -3
  124. package/dist/{data-panel-CWjgS1Gh.js.map → data-panel-CDJMMCvz.js.map} +1 -1
  125. package/dist/{data-panel-CWZJKBeW.cjs → data-panel-DNPcL38C.cjs} +3 -3
  126. package/dist/{data-panel-CWZJKBeW.cjs.map → data-panel-DNPcL38C.cjs.map} +1 -1
  127. package/dist/{date-time-range-picker-BcjLbkGu.js → date-time-range-picker-B-C-PPI4.js} +2 -3
  128. package/dist/{date-time-range-picker-BcjLbkGu.js.map → date-time-range-picker-B-C-PPI4.js.map} +1 -1
  129. package/dist/{date-time-range-picker-C6hjZswK.cjs → date-time-range-picker-D_mHYCx_.cjs} +3 -4
  130. package/dist/{date-time-range-picker-C6hjZswK.cjs.map → date-time-range-picker-D_mHYCx_.cjs.map} +1 -1
  131. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  132. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  133. package/dist/domains/chat/components/loading-badge.cjs.js +1 -1
  134. package/dist/domains/chat/components/loading-badge.es.js +1 -1
  135. package/dist/domains/chat/messages/reasoning.cjs.js +1 -1
  136. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  137. package/dist/domains/chat/messages/reasoning.es.js +1 -1
  138. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  139. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +2 -2
  140. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js.map +1 -1
  141. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +2 -2
  142. package/dist/domains/chat/tools/badges/ask-user-badge.es.js.map +1 -1
  143. package/dist/domains/logs/components/logs-error-content.cjs.js +4 -7
  144. package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
  145. package/dist/domains/logs/components/logs-error-content.es.js +4 -7
  146. package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
  147. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  148. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  149. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  150. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  151. package/dist/domains/logs/components/no-logs-info.cjs.js +5 -5
  152. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  153. package/dist/domains/logs/components/no-logs-info.es.js +6 -6
  154. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  155. package/dist/domains/memory/components/flame-graph.cjs.js +6 -6
  156. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  157. package/dist/domains/memory/components/flame-graph.es.js +6 -6
  158. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  159. package/dist/domains/memory/components/observation-detail-view.cjs.js +10 -11
  160. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  161. package/dist/domains/memory/components/observation-detail-view.es.js +10 -11
  162. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  163. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  164. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  165. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  166. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  167. package/dist/domains/metrics/components/latency-card-view.cjs.js +1 -1
  168. package/dist/domains/metrics/components/latency-card-view.es.js +1 -1
  169. package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
  170. package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
  171. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  172. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  173. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  174. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  175. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +1 -1
  176. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +1 -1
  177. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +1 -1
  178. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +1 -1
  179. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +1 -1
  180. package/dist/domains/metrics/components/traces-volume-card-view.es.js +1 -1
  181. package/dist/domains/traces/components/no-traces-info.cjs.js +2 -3
  182. package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
  183. package/dist/domains/traces/components/no-traces-info.es.js +2 -3
  184. package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
  185. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  186. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  187. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  188. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  189. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  190. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  191. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +1 -1
  192. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +1 -1
  193. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  194. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  195. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  196. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  197. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  198. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  199. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  200. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  201. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  202. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  203. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  204. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  205. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  206. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  207. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  208. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  209. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  210. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  211. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  212. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  213. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  214. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  215. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  216. package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
  217. package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
  218. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  219. package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
  220. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
  221. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  222. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
  223. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  224. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +4 -2
  225. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  226. package/dist/domains/traces/hooks/use-trace-url-state.es.js +5 -3
  227. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  228. package/dist/domains/traces/trace-filters.cjs.js +92 -11
  229. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  230. package/dist/domains/traces/trace-filters.es.js +87 -13
  231. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  232. package/dist/domains/traces/trace-query-filters.cjs.js +76 -45
  233. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  234. package/dist/domains/traces/trace-query-filters.es.js +76 -46
  235. package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
  236. package/dist/domains/traces.cjs.js +7 -0
  237. package/dist/domains/traces.cjs.js.map +1 -1
  238. package/dist/domains/traces.es.js +2 -2
  239. package/dist/ee/signals/components/entity-index-list.cjs.js +2 -0
  240. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  241. package/dist/ee/signals/components/entity-index-list.es.js +2 -0
  242. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  243. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -7
  244. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
  245. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -7
  246. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
  247. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +11 -13
  248. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  249. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +12 -14
  250. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  251. package/dist/ee/signals/sankey-signals.cjs.js +2 -2
  252. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  253. package/dist/ee/signals/sankey-signals.es.js +2 -2
  254. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  255. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +10 -11
  256. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  257. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -4
  258. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  259. package/dist/ee/topics/components/topics-layout.cjs.js +1 -1
  260. package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
  261. package/dist/ee/topics/components/topics-layout.es.js +1 -1
  262. package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
  263. package/dist/{field-block-DWkbNcsV.js → field-error-id-BLxISyNV.js} +4 -2
  264. package/dist/field-error-id-BLxISyNV.js.map +1 -0
  265. package/dist/{field-block-Dy1IaWbv.cjs → field-error-id-CXi0XkjZ.cjs} +4 -1
  266. package/dist/field-error-id-CXi0XkjZ.cjs.map +1 -0
  267. package/dist/{filter-bar-chip-BxI0NgEz.cjs → filter-bar-chip-D-IRgccJ.cjs} +296 -65
  268. package/dist/filter-bar-chip-D-IRgccJ.cjs.map +1 -0
  269. package/dist/{filter-bar-chip-C-JxWUU8.js → filter-bar-chip-luoMVy8-.js} +293 -67
  270. package/dist/filter-bar-chip-luoMVy8-.js.map +1 -0
  271. package/dist/filter-bar-chip.css +33 -1
  272. package/dist/layout/tabbed-container.cjs.js +2 -2
  273. package/dist/layout/tabbed-container.es.js +2 -2
  274. package/dist/{list-search-vyxsZMAK.cjs → list-search-BEDvqI5f.cjs} +2 -2
  275. package/dist/{list-search-vyxsZMAK.cjs.map → list-search-BEDvqI5f.cjs.map} +1 -1
  276. package/dist/{list-search-BTW0Neuc.js → list-search-BcOawrgy.js} +2 -2
  277. package/dist/{list-search-BTW0Neuc.js.map → list-search-BcOawrgy.js.map} +1 -1
  278. package/dist/{message-BrwbcLPi.js → message-Cs8NW-MR.js} +2 -2
  279. package/dist/{message-BrwbcLPi.js.map → message-Cs8NW-MR.js.map} +1 -1
  280. package/dist/{message-CszposMZ.cjs → message-D9b33Pf_.cjs} +2 -2
  281. package/dist/{message-CszposMZ.cjs.map → message-D9b33Pf_.cjs.map} +1 -1
  282. package/dist/{metrics-card-BUJxiwec.cjs → metrics-card-D-VjFkUM.cjs} +3 -3
  283. package/dist/{metrics-card-BUJxiwec.cjs.map → metrics-card-D-VjFkUM.cjs.map} +1 -1
  284. package/dist/{metrics-card-BlBt1WHw.js → metrics-card-jjLRvic4.js} +3 -3
  285. package/dist/{metrics-card-BlBt1WHw.js.map → metrics-card-jjLRvic4.js.map} +1 -1
  286. package/dist/{metrics-kpi-card-CBSNmtc5.js → metrics-kpi-card-CY6F7nTX.js} +2 -2
  287. package/dist/{metrics-kpi-card-CBSNmtc5.js.map → metrics-kpi-card-CY6F7nTX.js.map} +1 -1
  288. package/dist/{metrics-kpi-card-CgqmNcEC.cjs → metrics-kpi-card-krK6uG7U.cjs} +2 -2
  289. package/dist/{metrics-kpi-card-CgqmNcEC.cjs.map → metrics-kpi-card-krK6uG7U.cjs.map} +1 -1
  290. package/dist/new/layout/app-shell.cjs.js +23 -28
  291. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  292. package/dist/new/layout/app-shell.es.js +23 -28
  293. package/dist/new/layout/app-shell.es.js.map +1 -1
  294. package/dist/{property-filter-applied-BmxCPe2d.cjs → property-filter-applied-CAiO4FBw.cjs} +2 -2
  295. package/dist/{property-filter-applied-BmxCPe2d.cjs.map → property-filter-applied-CAiO4FBw.cjs.map} +1 -1
  296. package/dist/{property-filter-applied-BBiUbtr0.js → property-filter-applied-MIKU9okW.js} +2 -2
  297. package/dist/{property-filter-applied-BBiUbtr0.js.map → property-filter-applied-MIKU9okW.js.map} +1 -1
  298. package/dist/radio-group-BdEPWGzi.cjs +62 -0
  299. package/dist/radio-group-BdEPWGzi.cjs.map +1 -0
  300. package/dist/radio-group-CFZXUXZ5.js +40 -0
  301. package/dist/radio-group-CFZXUXZ5.js.map +1 -0
  302. package/dist/{search-field-block-D0PUUCAE.cjs → search-field-block-DAdvPs1N.cjs} +8 -9
  303. package/dist/{search-field-block-D0PUUCAE.cjs.map → search-field-block-DAdvPs1N.cjs.map} +1 -1
  304. package/dist/{search-field-block-B5vUVTpl.js → search-field-block-DjN9AgLw.js} +2 -3
  305. package/dist/{search-field-block-B5vUVTpl.js.map → search-field-block-DjN9AgLw.js.map} +1 -1
  306. package/dist/{select-field-block-W2u2WmN3.cjs → select-field-block-7EHxArfT.cjs} +8 -9
  307. package/dist/{select-field-block-W2u2WmN3.cjs.map → select-field-block-7EHxArfT.cjs.map} +1 -1
  308. package/dist/{select-field-block-Bu7UXI2H.js → select-field-block-CBte2DyW.js} +2 -3
  309. package/dist/{select-field-block-Bu7UXI2H.js.map → select-field-block-CBte2DyW.js.map} +1 -1
  310. package/dist/{span-payload-primitives-DnRsP93D.cjs → span-payload-primitives-BLKf0qn0.cjs} +2 -2
  311. package/dist/{span-payload-primitives-DnRsP93D.cjs.map → span-payload-primitives-BLKf0qn0.cjs.map} +1 -1
  312. package/dist/{span-payload-primitives-sbxk4CHC.js → span-payload-primitives-CDLOoJfp.js} +2 -2
  313. package/dist/{span-payload-primitives-sbxk4CHC.js.map → span-payload-primitives-CDLOoJfp.js.map} +1 -1
  314. package/dist/{spinner-CqP-NaB2.cjs → spinner-BCpN7LL9.cjs} +9 -3
  315. package/dist/spinner-BCpN7LL9.cjs.map +1 -0
  316. package/dist/{spinner-D2C2DYw8.js → spinner-ylbE0TJA.js} +9 -3
  317. package/dist/spinner-ylbE0TJA.js.map +1 -0
  318. package/dist/src/domains/traces/components/traces-error-content.d.ts +2 -2
  319. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +5 -3
  320. package/dist/src/domains/traces/trace-filters.d.ts +19 -4
  321. package/dist/src/domains/traces/trace-query-filters.d.ts +13 -1
  322. package/dist/src/ds/components/ActionRow/action-row.d.ts +9 -0
  323. package/dist/src/ds/components/ActionRow/action-row.stories.d.ts +8 -0
  324. package/dist/src/ds/components/ActionRow/index.d.ts +5 -0
  325. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +7 -5
  326. package/dist/src/ds/components/EmptyState/EmptyState.d.ts +8 -2
  327. package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +1 -0
  328. package/dist/src/ds/components/ErrorState/ErrorState.d.ts +3 -1
  329. package/dist/src/ds/components/ErrorState/error-state.stories.d.ts +1 -0
  330. package/dist/src/ds/components/FilterBar/filter-bar-advanced-chip.d.ts +10 -0
  331. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -9
  332. package/dist/src/ds/components/FilterBar/filter-bar-group-editor.d.ts +25 -0
  333. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +8 -1
  334. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +5 -0
  335. package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +36 -0
  336. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +28 -7
  337. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +3 -0
  338. package/dist/src/ds/components/FilterBar/index.d.ts +6 -1
  339. package/dist/src/ds/components/FilterBar/types.d.ts +36 -0
  340. package/dist/src/ds/components/FilterBar/use-settle-on-leave.d.ts +2 -0
  341. package/dist/src/ds/components/PageLayout/index.d.ts +1 -2
  342. package/dist/src/ds/components/PageLayout/page-layout.d.ts +13 -11
  343. package/dist/src/ds/components/PageLayout/page-layout.stories.d.ts +1 -2
  344. package/dist/src/ds/components/PermissionDenied/PermissionDenied.d.ts +3 -1
  345. package/dist/src/ds/components/PermissionDenied/permission-denied.stories.d.ts +1 -0
  346. package/dist/src/ds/components/SessionExpired/SessionExpired.d.ts +3 -1
  347. package/dist/src/ds/components/SessionExpired/session-expired.stories.d.ts +1 -0
  348. package/dist/src/ds/components/Spinner/spinner.d.ts +6 -3
  349. package/dist/src/ds/components/Spinner/spinner.stories.d.ts +1 -0
  350. package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +13 -8
  351. package/dist/src/ds/new/layout/app-shell/app-shell.d.ts +2 -8
  352. package/dist/src/ds/new/layout/app-shell/app-shell.stories.d.ts +0 -1
  353. package/dist/style.css +42 -92
  354. package/dist/{text-field-block--EUJKlY_.js → text-field-block-DBesvdaa.js} +2 -3
  355. package/dist/{text-field-block--EUJKlY_.js.map → text-field-block-DBesvdaa.js.map} +1 -1
  356. package/dist/{text-field-block-BLpLWmu8.cjs → text-field-block-DUMc8MTJ.cjs} +8 -9
  357. package/dist/{text-field-block-BLpLWmu8.cjs.map → text-field-block-DUMc8MTJ.cjs.map} +1 -1
  358. package/dist/{tool-call-K147tCug.js → tool-call-Du8XIzfo.js} +2 -2
  359. package/dist/{tool-call-K147tCug.js.map → tool-call-Du8XIzfo.js.map} +1 -1
  360. package/dist/{tool-call-CMRvRE-v.cjs → tool-call-ZKSbU3LR.cjs} +2 -2
  361. package/dist/{tool-call-CMRvRE-v.cjs.map → tool-call-ZKSbU3LR.cjs.map} +1 -1
  362. package/dist/types-CIPrYAzY.js +9 -0
  363. package/dist/types-CIPrYAzY.js.map +1 -0
  364. package/dist/types-Ns4ZNp-g.cjs +12 -0
  365. package/dist/types-Ns4ZNp-g.cjs.map +1 -0
  366. package/package.json +6 -6
  367. package/dist/EmptyState-CdRjFB06.cjs.map +0 -1
  368. package/dist/EmptyState-UWXhBp5U.js.map +0 -1
  369. package/dist/ErrorState-B3uTRAEd.cjs +0 -16
  370. package/dist/ErrorState-B3uTRAEd.cjs.map +0 -1
  371. package/dist/ErrorState-DqRx8Dw_.js +0 -14
  372. package/dist/ErrorState-DqRx8Dw_.js.map +0 -1
  373. package/dist/PermissionDenied-B6TSGolC.js.map +0 -1
  374. package/dist/PermissionDenied-Dz5qXpQj.cjs.map +0 -1
  375. package/dist/SessionExpired-Bq5LcsDu.js.map +0 -1
  376. package/dist/SessionExpired-CF0BGNo_.cjs.map +0 -1
  377. package/dist/ask-user-CS2e6Re4.cjs +0 -147
  378. package/dist/ask-user-CS2e6Re4.cjs.map +0 -1
  379. package/dist/ask-user-gS3Y1bCc.js +0 -138
  380. package/dist/ask-user-gS3Y1bCc.js.map +0 -1
  381. package/dist/components/MainContent.cjs.js +0 -81
  382. package/dist/components/MainContent.cjs.js.map +0 -1
  383. package/dist/components/MainContent.d.ts +0 -2
  384. package/dist/components/MainContent.es.js +0 -75
  385. package/dist/components/MainContent.es.js.map +0 -1
  386. package/dist/field-block-DWkbNcsV.js.map +0 -1
  387. package/dist/field-block-Dy1IaWbv.cjs.map +0 -1
  388. package/dist/field-error-id-B3Z2Zu5y.cjs +0 -6
  389. package/dist/field-error-id-B3Z2Zu5y.cjs.map +0 -1
  390. package/dist/field-error-id-D3yg1nBh.js +0 -4
  391. package/dist/field-error-id-D3yg1nBh.js.map +0 -1
  392. package/dist/filter-bar-chip-BxI0NgEz.cjs.map +0 -1
  393. package/dist/filter-bar-chip-C-JxWUU8.js.map +0 -1
  394. package/dist/new/layout/page-shell.cjs.js +0 -34
  395. package/dist/new/layout/page-shell.cjs.js.map +0 -1
  396. package/dist/new/layout/page-shell.d.ts +0 -2
  397. package/dist/new/layout/page-shell.es.js +0 -30
  398. package/dist/new/layout/page-shell.es.js.map +0 -1
  399. package/dist/no-data-page-layout-DcVPjj-J.js +0 -9
  400. package/dist/no-data-page-layout-DcVPjj-J.js.map +0 -1
  401. package/dist/no-data-page-layout-Drzbg_w8.cjs +0 -11
  402. package/dist/no-data-page-layout-Drzbg_w8.cjs.map +0 -1
  403. package/dist/page-heading-context-D3yjYoJE.js +0 -9
  404. package/dist/page-heading-context-D3yjYoJE.js.map +0 -1
  405. package/dist/page-heading-context-Du-CpxAx.cjs +0 -12
  406. package/dist/page-heading-context-Du-CpxAx.cjs.map +0 -1
  407. package/dist/page-layout-C9ifD9Q8.cjs +0 -99
  408. package/dist/page-layout-C9ifD9Q8.cjs.map +0 -1
  409. package/dist/page-layout-xcM8IR-B.js +0 -97
  410. package/dist/page-layout-xcM8IR-B.js.map +0 -1
  411. package/dist/spinner-CqP-NaB2.cjs.map +0 -1
  412. package/dist/spinner-D2C2DYw8.js.map +0 -1
  413. package/dist/src/ds/components/MainContent/index.d.ts +0 -1
  414. package/dist/src/ds/components/MainContent/main-content.d.ts +0 -21
  415. package/dist/src/ds/components/MainContent/main-content.stories.d.ts +0 -10
  416. package/dist/src/ds/components/PageLayout/no-data-page-layout.d.ts +0 -6
  417. package/dist/src/ds/components/PageLayout/page-heading-context.d.ts +0 -2
  418. package/dist/src/ds/components/PageLayout/page-layout-column.d.ts +0 -5
  419. package/dist/src/ds/components/PageLayout/page-layout-main-area.d.ts +0 -7
  420. package/dist/src/ds/components/PageLayout/page-layout-root.d.ts +0 -7
  421. package/dist/src/ds/components/PageLayout/page-layout-row.d.ts +0 -11
  422. package/dist/src/ds/components/PageLayout/page-layout-top-area.d.ts +0 -5
  423. package/dist/src/ds/new/layout/page-shell/index.d.ts +0 -1
  424. package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +0 -24
  425. package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +0 -63
@@ -1,22 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
+ const lucideReact = require('lucide-react');
4
5
  const utils_cn = require('./cn-DG0X1KEP.cjs');
5
6
 
6
7
  function EmptyState({
7
- iconSlot,
8
+ iconSlot = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleSlashIcon, {}),
8
9
  titleSlot,
9
10
  descriptionSlot,
10
11
  actionSlot,
11
12
  className,
12
- as: HeadingTag = "h3"
13
+ as: HeadingTag = "h3",
14
+ variant = "inline"
13
15
  }) {
14
- return /* @__PURE__ */ jsxRuntime.jsxs(
16
+ const content = /* @__PURE__ */ jsxRuntime.jsxs(
15
17
  "div",
16
18
  {
17
19
  className: utils_cn.cn(
18
20
  "flex flex-col items-center justify-center px-4 py-6 text-center",
19
- "duration-normal transition-opacity ease-out-custom",
21
+ "transition-opacity duration-normal ease-out-custom",
20
22
  className
21
23
  ),
22
24
  children: [
@@ -27,7 +29,11 @@ function EmptyState({
27
29
  ]
28
30
  }
29
31
  );
32
+ if (variant === "fill") {
33
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "empty-state-fill", className: "flex h-full items-center-safe justify-center-safe", children: content });
34
+ }
35
+ return content;
30
36
  }
31
37
 
32
38
  exports.EmptyState = EmptyState;
33
- //# sourceMappingURL=EmptyState-CdRjFB06.cjs.map
39
+ //# sourceMappingURL=EmptyState-0MgNiP40.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState-0MgNiP40.cjs","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { CircleSlashIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n /** Defaults to a circle-slash icon. Pass `null` to render no icon. */\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 * `inline` (default) renders the block in place.\n * `fill` centers it in the full height of its parent — the parent must have a definite height.\n */\n variant?: 'inline' | 'fill';\n};\n\nexport function EmptyState({\n iconSlot = <CircleSlashIcon />,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n variant = 'inline',\n}: EmptyStateProps) {\n const content = (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-4 py-6 text-center',\n 'transition-opacity duration-normal ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-3\">{iconSlot}</div>}\n <HeadingTag className=\"text-subheading text-foreground\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-caption text-muted-foreground mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-4\">{actionSlot}</div>}\n </div>\n );\n\n if (variant === 'fill') {\n return (\n <div data-slot=\"empty-state-fill\" className=\"flex h-full items-center-safe justify-center-safe\">\n {content}\n </div>\n );\n }\n\n return content;\n}\n"],"names":["CircleSlashIcon","jsxs","cn","jsx"],"mappings":";;;;;;AAmBO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA,kCAAYA,2BAAA,EAAA,EAAgB,CAAA;AAAA,EAC5B,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa,IAAA;AAAA,EACjB,OAAA,GAAU;AACZ,CAAA,EAAoB;AAClB,EAAA,MAAM,OAAA,mBACJC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,iEAAA;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,iCAAA,EAAmC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClE,eAAA,oBAAmBA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sDAAsD,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QACtG,UAAA,oBAAcA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAGF,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,sCACG,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,qDACzC,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -1,20 +1,22 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { CircleSlashIcon } from 'lucide-react';
2
3
  import { c as cn } from './cn-65Adrsfj.js';
3
4
 
4
5
  function EmptyState({
5
- iconSlot,
6
+ iconSlot = /* @__PURE__ */ jsx(CircleSlashIcon, {}),
6
7
  titleSlot,
7
8
  descriptionSlot,
8
9
  actionSlot,
9
10
  className,
10
- as: HeadingTag = "h3"
11
+ as: HeadingTag = "h3",
12
+ variant = "inline"
11
13
  }) {
12
- return /* @__PURE__ */ jsxs(
14
+ const content = /* @__PURE__ */ jsxs(
13
15
  "div",
14
16
  {
15
17
  className: cn(
16
18
  "flex flex-col items-center justify-center px-4 py-6 text-center",
17
- "duration-normal transition-opacity ease-out-custom",
19
+ "transition-opacity duration-normal ease-out-custom",
18
20
  className
19
21
  ),
20
22
  children: [
@@ -25,7 +27,11 @@ function EmptyState({
25
27
  ]
26
28
  }
27
29
  );
30
+ if (variant === "fill") {
31
+ return /* @__PURE__ */ jsx("div", { "data-slot": "empty-state-fill", className: "flex h-full items-center-safe justify-center-safe", children: content });
32
+ }
33
+ return content;
28
34
  }
29
35
 
30
36
  export { EmptyState as E };
31
- //# sourceMappingURL=EmptyState-UWXhBp5U.js.map
37
+ //# sourceMappingURL=EmptyState-CiZVWvpH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState-CiZVWvpH.js","sources":["../src/ds/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { CircleSlashIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type EmptyStateProps = {\n /** Defaults to a circle-slash icon. Pass `null` to render no icon. */\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 * `inline` (default) renders the block in place.\n * `fill` centers it in the full height of its parent — the parent must have a definite height.\n */\n variant?: 'inline' | 'fill';\n};\n\nexport function EmptyState({\n iconSlot = <CircleSlashIcon />,\n titleSlot,\n descriptionSlot,\n actionSlot,\n className,\n as: HeadingTag = 'h3',\n variant = 'inline',\n}: EmptyStateProps) {\n const content = (\n <div\n className={cn(\n 'flex flex-col items-center justify-center px-4 py-6 text-center',\n 'transition-opacity duration-normal ease-out-custom',\n className,\n )}\n >\n {iconSlot && <div className=\"mb-3\">{iconSlot}</div>}\n <HeadingTag className=\"text-subheading text-foreground\">{titleSlot}</HeadingTag>\n {descriptionSlot && <p className=\"text-caption text-muted-foreground mt-1.5 max-w-md\">{descriptionSlot}</p>}\n {actionSlot && <div className=\"mt-4\">{actionSlot}</div>}\n </div>\n );\n\n if (variant === 'fill') {\n return (\n <div data-slot=\"empty-state-fill\" className=\"flex h-full items-center-safe justify-center-safe\">\n {content}\n </div>\n );\n }\n\n return content;\n}\n"],"names":[],"mappings":";;;;AAmBO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA,uBAAY,eAAA,EAAA,EAAgB,CAAA;AAAA,EAC5B,SAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAI,UAAA,GAAa,IAAA;AAAA,EACjB,OAAA,GAAU;AACZ,CAAA,EAAoB;AAClB,EAAA,MAAM,OAAA,mBACJ,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,iEAAA;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,iCAAA,EAAmC,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClE,eAAA,oBAAmB,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sDAAsD,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,QACtG,UAAA,oBAAc,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAQ,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA,GACnD;AAGF,EAAA,IAAI,YAAY,MAAA,EAAQ;AACtB,IAAA,2BACG,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,qDACzC,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,OAAO,OAAA;AACT;;;;"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const lucideReact = require('lucide-react');
5
+ const EmptyState = require('./EmptyState-0MgNiP40.cjs');
6
+
7
+ function ErrorState({ title, message, action, variant }) {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(
9
+ EmptyState.EmptyState,
10
+ {
11
+ iconSlot: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleXIcon, { className: "size-8 text-red-900" }),
12
+ titleSlot: title,
13
+ descriptionSlot: message,
14
+ actionSlot: action,
15
+ variant
16
+ }
17
+ );
18
+ }
19
+
20
+ exports.ErrorState = ErrorState;
21
+ //# sourceMappingURL=ErrorState-C7-4A-rB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorState-C7-4A-rB.cjs","sources":["../src/ds/components/ErrorState/ErrorState.tsx"],"sourcesContent":["import { CircleXIcon } from 'lucide-react';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport type { EmptyStateProps } from '@/ds/components/EmptyState';\n\nexport type ErrorStateProps = {\n title: string;\n message: string;\n action?: React.ReactNode;\n variant?: EmptyStateProps['variant'];\n};\n\nexport function ErrorState({ title, message, action, variant }: ErrorStateProps) {\n return (\n <EmptyState\n iconSlot={<CircleXIcon className=\"size-8 text-red-900\" />}\n titleSlot={title}\n descriptionSlot={message}\n actionSlot={action}\n variant={variant}\n />\n );\n}\n"],"names":["jsx","EmptyState","CircleXIcon"],"mappings":";;;;;;AAWO,SAAS,WAAW,EAAE,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,SAAQ,EAAoB;AAC/E,EAAA,uBACEA,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACC,QAAA,kBAAUD,cAAA,CAACE,uBAAA,EAAA,EAAY,SAAA,EAAU,qBAAA,EAAsB,CAAA;AAAA,MACvD,SAAA,EAAW,KAAA;AAAA,MACX,eAAA,EAAiB,OAAA;AAAA,MACjB,UAAA,EAAY,MAAA;AAAA,MACZ;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -0,0 +1,19 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { CircleXIcon } from 'lucide-react';
3
+ import { E as EmptyState } from './EmptyState-CiZVWvpH.js';
4
+
5
+ function ErrorState({ title, message, action, variant }) {
6
+ return /* @__PURE__ */ jsx(
7
+ EmptyState,
8
+ {
9
+ iconSlot: /* @__PURE__ */ jsx(CircleXIcon, { className: "size-8 text-red-900" }),
10
+ titleSlot: title,
11
+ descriptionSlot: message,
12
+ actionSlot: action,
13
+ variant
14
+ }
15
+ );
16
+ }
17
+
18
+ export { ErrorState as E };
19
+ //# sourceMappingURL=ErrorState-l5gg5Nzw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorState-l5gg5Nzw.js","sources":["../src/ds/components/ErrorState/ErrorState.tsx"],"sourcesContent":["import { CircleXIcon } from 'lucide-react';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport type { EmptyStateProps } from '@/ds/components/EmptyState';\n\nexport type ErrorStateProps = {\n title: string;\n message: string;\n action?: React.ReactNode;\n variant?: EmptyStateProps['variant'];\n};\n\nexport function ErrorState({ title, message, action, variant }: ErrorStateProps) {\n return (\n <EmptyState\n iconSlot={<CircleXIcon className=\"size-8 text-red-900\" />}\n titleSlot={title}\n descriptionSlot={message}\n actionSlot={action}\n variant={variant}\n />\n );\n}\n"],"names":[],"mappings":";;;;AAWO,SAAS,WAAW,EAAE,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,SAAQ,EAAoB;AAC/E,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,QAAA,kBAAU,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,qBAAA,EAAsB,CAAA;AAAA,MACvD,SAAA,EAAW,KAAA;AAAA,MACX,eAAA,EAAiB,OAAA;AAAA,MACjB,UAAA,EAAY,MAAA;AAAA,MACZ;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -0,0 +1,31 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { T as Txt } from './Txt-DTh3Pa_a.js';
3
+ import { c as cn } from './cn-65Adrsfj.js';
4
+
5
+ const Header = ({ children, border = true, className }) => {
6
+ return /* @__PURE__ */ jsx(
7
+ "header",
8
+ {
9
+ className: cn(
10
+ "z-50 flex h-header-default w-full items-center gap-2 bg-transparent px-2",
11
+ {
12
+ "border-b border-border": border
13
+ },
14
+ className
15
+ ),
16
+ children
17
+ }
18
+ );
19
+ };
20
+ const HeaderTitle = ({ children }) => {
21
+ return /* @__PURE__ */ jsx(Txt, { as: "h1", variant: "body", tone: "ink", className: "flex items-center gap-2", children });
22
+ };
23
+ const HeaderAction = ({ children }) => {
24
+ return /* @__PURE__ */ jsx("div", { className: "ml-auto flex items-center gap-3", children });
25
+ };
26
+ const HeaderGroup = ({ children }) => {
27
+ return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children });
28
+ };
29
+
30
+ export { Header as H, HeaderAction as a, HeaderGroup as b, HeaderTitle as c };
31
+ //# sourceMappingURL=Header-BVnFQlzE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header-BVnFQlzE.js","sources":["../src/ds/components/Header/Header.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface HeaderProps {\n children?: React.ReactNode;\n border?: boolean;\n className?: string;\n}\n\nexport const Header = ({ children, border = true, className }: HeaderProps) => {\n return (\n <header\n className={cn(\n 'z-50 flex h-header-default w-full items-center gap-2 bg-transparent px-2',\n {\n 'border-b border-border': border,\n },\n className,\n )}\n >\n {children}\n </header>\n );\n};\n\nexport const HeaderTitle = ({ children }: HeaderProps) => {\n return (\n <Txt as=\"h1\" variant=\"body\" tone=\"ink\" className=\"flex items-center gap-2\">\n {children}\n </Txt>\n );\n};\n\nexport const HeaderAction = ({ children }: HeaderProps) => {\n return <div className=\"ml-auto flex items-center gap-3\">{children}</div>;\n};\n\nexport const HeaderGroup = ({ children }: HeaderProps) => {\n return <div className=\"flex items-center gap-2\">{children}</div>;\n};\n"],"names":[],"mappings":";;;;AAWO,MAAM,SAAS,CAAC,EAAE,UAAU,MAAA,GAAS,IAAA,EAAM,WAAU,KAAmB;AAC7E,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,0EAAA;AAAA,QACA;AAAA,UACE,wBAAA,EAA0B;AAAA,SAC5B;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEO,MAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAS,KAAmB;AACxD,EAAA,uBACE,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,IAAA,EAAK,OAAA,EAAQ,QAAO,IAAA,EAAK,KAAA,EAAM,SAAA,EAAU,yBAAA,EAC9C,QAAA,EACH,CAAA;AAEJ;AAEO,MAAM,YAAA,GAAe,CAAC,EAAE,QAAA,EAAS,KAAmB;AACzD,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAA,EAAmC,QAAA,EAAS,CAAA;AACpE;AAEO,MAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAS,KAAmB;AACxD,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAS,CAAA;AAC5D;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const Txt = require('./Txt-B4-2nLaI.cjs');
5
+ const utils_cn = require('./cn-DG0X1KEP.cjs');
6
+
7
+ const Header = ({ children, border = true, className }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(
9
+ "header",
10
+ {
11
+ className: utils_cn.cn(
12
+ "z-50 flex h-header-default w-full items-center gap-2 bg-transparent px-2",
13
+ {
14
+ "border-b border-border": border
15
+ },
16
+ className
17
+ ),
18
+ children
19
+ }
20
+ );
21
+ };
22
+ const HeaderTitle = ({ children }) => {
23
+ return /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "h1", variant: "body", tone: "ink", className: "flex items-center gap-2", children });
24
+ };
25
+ const HeaderAction = ({ children }) => {
26
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex items-center gap-3", children });
27
+ };
28
+ const HeaderGroup = ({ children }) => {
29
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children });
30
+ };
31
+
32
+ exports.Header = Header;
33
+ exports.HeaderAction = HeaderAction;
34
+ exports.HeaderGroup = HeaderGroup;
35
+ exports.HeaderTitle = HeaderTitle;
36
+ //# sourceMappingURL=Header-CGjhJ0nQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header-CGjhJ0nQ.cjs","sources":["../src/ds/components/Header/Header.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface HeaderProps {\n children?: React.ReactNode;\n border?: boolean;\n className?: string;\n}\n\nexport const Header = ({ children, border = true, className }: HeaderProps) => {\n return (\n <header\n className={cn(\n 'z-50 flex h-header-default w-full items-center gap-2 bg-transparent px-2',\n {\n 'border-b border-border': border,\n },\n className,\n )}\n >\n {children}\n </header>\n );\n};\n\nexport const HeaderTitle = ({ children }: HeaderProps) => {\n return (\n <Txt as=\"h1\" variant=\"body\" tone=\"ink\" className=\"flex items-center gap-2\">\n {children}\n </Txt>\n );\n};\n\nexport const HeaderAction = ({ children }: HeaderProps) => {\n return <div className=\"ml-auto flex items-center gap-3\">{children}</div>;\n};\n\nexport const HeaderGroup = ({ children }: HeaderProps) => {\n return <div className=\"flex items-center gap-2\">{children}</div>;\n};\n"],"names":["jsx","cn","Txt"],"mappings":";;;;;;AAWO,MAAM,SAAS,CAAC,EAAE,UAAU,MAAA,GAAS,IAAA,EAAM,WAAU,KAAmB;AAC7E,EAAA,uBACEA,cAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,0EAAA;AAAA,QACA;AAAA,UACE,wBAAA,EAA0B;AAAA,SAC5B;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEO,MAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAS,KAAmB;AACxD,EAAA,uBACED,cAAA,CAACE,OAAA,EAAA,EAAI,EAAA,EAAG,IAAA,EAAK,OAAA,EAAQ,QAAO,IAAA,EAAK,KAAA,EAAM,SAAA,EAAU,yBAAA,EAC9C,QAAA,EACH,CAAA;AAEJ;AAEO,MAAM,YAAA,GAAe,CAAC,EAAE,QAAA,EAAS,KAAmB;AACzD,EAAA,uBAAOF,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAA,EAAmC,QAAA,EAAS,CAAA;AACpE;AAEO,MAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAS,KAAmB;AACxD,EAAA,uBAAOA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAS,CAAA;AAC5D;;;;;;;"}
@@ -1,18 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const lucideReact = require('lucide-react');
5
- const icons_Icon = require('./icons/Icon.cjs.js');
6
- const EmptyState = require('./EmptyState-CdRjFB06.cjs');
4
+ const EmptyState = require('./EmptyState-0MgNiP40.cjs');
7
5
 
8
- function PermissionDenied({ resource, title, description, actionSlot, className }) {
6
+ function PermissionDenied({
7
+ resource,
8
+ title,
9
+ description,
10
+ actionSlot,
11
+ className,
12
+ variant
13
+ }) {
9
14
  const defaultTitle = "Permission Denied";
10
15
  const defaultDescription = resource ? `You don't have permission to access ${resource}. Contact your administrator for access.` : "You don't have permission to access this resource. Contact your administrator for access.";
11
16
  return /* @__PURE__ */ jsxRuntime.jsx(
12
17
  EmptyState.EmptyState,
13
18
  {
14
19
  className,
15
- iconSlot: /* @__PURE__ */ jsxRuntime.jsx(icons_Icon.Icon, { size: "lg", className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldX, {}) }),
20
+ variant,
16
21
  titleSlot: title ?? defaultTitle,
17
22
  descriptionSlot: description ?? defaultDescription,
18
23
  actionSlot
@@ -21,4 +26,4 @@ function PermissionDenied({ resource, title, description, actionSlot, className
21
26
  }
22
27
 
23
28
  exports.PermissionDenied = PermissionDenied;
24
- //# sourceMappingURL=PermissionDenied-Dz5qXpQj.cjs.map
29
+ //# sourceMappingURL=PermissionDenied-CwLIzjpC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionDenied-CwLIzjpC.cjs","sources":["../src/ds/components/PermissionDenied/PermissionDenied.tsx"],"sourcesContent":["import { ShieldX } from 'lucide-react';\nimport * as React from 'react';\nimport { Icon } from '../../icons/Icon';\nimport { EmptyState } from '../EmptyState';\nimport type { EmptyStateProps } from '../EmptyState';\n\nexport interface PermissionDeniedProps {\n /** Resource type (e.g., \"agents\", \"workflows\") */\n resource?: string;\n /** Custom title override */\n title?: string;\n /** Custom description override */\n description?: string;\n /** Optional action slot (e.g., contact admin button) */\n actionSlot?: React.ReactNode;\n /** Additional CSS classes */\n className?: string;\n variant?: EmptyStateProps['variant'];\n}\n\nexport function PermissionDenied({\n resource,\n title,\n description,\n actionSlot,\n className,\n variant,\n}: PermissionDeniedProps) {\n const defaultTitle = 'Permission Denied';\n const defaultDescription = resource\n ? `You don't have permission to access ${resource}. Contact your administrator for access.`\n : \"You don't have permission to access this resource. Contact your administrator for access.\";\n\n return (\n <EmptyState\n className={className}\n variant={variant}\n titleSlot={title ?? defaultTitle}\n descriptionSlot={description ?? defaultDescription}\n actionSlot={actionSlot}\n />\n );\n}\n"],"names":["jsx","EmptyState"],"mappings":";;;;;AAoBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,YAAA,GAAe,mBAAA;AACrB,EAAA,MAAM,kBAAA,GAAqB,QAAA,GACvB,CAAA,oCAAA,EAAuC,QAAQ,CAAA,wCAAA,CAAA,GAC/C,2FAAA;AAEJ,EAAA,uBACEA,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAW,KAAA,IAAS,YAAA;AAAA,MACpB,iBAAiB,WAAA,IAAe,kBAAA;AAAA,MAChC;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -1,16 +1,21 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { ShieldX } from 'lucide-react';
3
- import { Icon } from './icons/Icon.es.js';
4
- import { E as EmptyState } from './EmptyState-UWXhBp5U.js';
2
+ import { E as EmptyState } from './EmptyState-CiZVWvpH.js';
5
3
 
6
- function PermissionDenied({ resource, title, description, actionSlot, className }) {
4
+ function PermissionDenied({
5
+ resource,
6
+ title,
7
+ description,
8
+ actionSlot,
9
+ className,
10
+ variant
11
+ }) {
7
12
  const defaultTitle = "Permission Denied";
8
13
  const defaultDescription = resource ? `You don't have permission to access ${resource}. Contact your administrator for access.` : "You don't have permission to access this resource. Contact your administrator for access.";
9
14
  return /* @__PURE__ */ jsx(
10
15
  EmptyState,
11
16
  {
12
17
  className,
13
- iconSlot: /* @__PURE__ */ jsx(Icon, { size: "lg", className: "text-muted-foreground", children: /* @__PURE__ */ jsx(ShieldX, {}) }),
18
+ variant,
14
19
  titleSlot: title ?? defaultTitle,
15
20
  descriptionSlot: description ?? defaultDescription,
16
21
  actionSlot
@@ -19,4 +24,4 @@ function PermissionDenied({ resource, title, description, actionSlot, className
19
24
  }
20
25
 
21
26
  export { PermissionDenied as P };
22
- //# sourceMappingURL=PermissionDenied-B6TSGolC.js.map
27
+ //# sourceMappingURL=PermissionDenied-DPM04x0a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionDenied-DPM04x0a.js","sources":["../src/ds/components/PermissionDenied/PermissionDenied.tsx"],"sourcesContent":["import { ShieldX } from 'lucide-react';\nimport * as React from 'react';\nimport { Icon } from '../../icons/Icon';\nimport { EmptyState } from '../EmptyState';\nimport type { EmptyStateProps } from '../EmptyState';\n\nexport interface PermissionDeniedProps {\n /** Resource type (e.g., \"agents\", \"workflows\") */\n resource?: string;\n /** Custom title override */\n title?: string;\n /** Custom description override */\n description?: string;\n /** Optional action slot (e.g., contact admin button) */\n actionSlot?: React.ReactNode;\n /** Additional CSS classes */\n className?: string;\n variant?: EmptyStateProps['variant'];\n}\n\nexport function PermissionDenied({\n resource,\n title,\n description,\n actionSlot,\n className,\n variant,\n}: PermissionDeniedProps) {\n const defaultTitle = 'Permission Denied';\n const defaultDescription = resource\n ? `You don't have permission to access ${resource}. Contact your administrator for access.`\n : \"You don't have permission to access this resource. Contact your administrator for access.\";\n\n return (\n <EmptyState\n className={className}\n variant={variant}\n titleSlot={title ?? defaultTitle}\n descriptionSlot={description ?? defaultDescription}\n actionSlot={actionSlot}\n />\n );\n}\n"],"names":[],"mappings":";;;AAoBO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,YAAA,GAAe,mBAAA;AACrB,EAAA,MAAM,kBAAA,GAAqB,QAAA,GACvB,CAAA,oCAAA,EAAuC,QAAQ,CAAA,wCAAA,CAAA,GAC/C,2FAAA;AAEJ,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAW,KAAA,IAAS,YAAA;AAAA,MACpB,iBAAiB,WAAA,IAAe,kBAAA;AAAA,MAChC;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -4,11 +4,10 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const react = require('@mastra/react');
5
5
  const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
- const icons_Icon = require('./icons/Icon.cjs.js');
8
7
  const Button = require('./Button-CVewl8nT.cjs');
9
- const EmptyState = require('./EmptyState-CdRjFB06.cjs');
8
+ const EmptyState = require('./EmptyState-0MgNiP40.cjs');
10
9
 
11
- function SessionExpired({ title, description, className }) {
10
+ function SessionExpired({ title, description, className, variant }) {
12
11
  const [isPending, setIsPending] = React.useState(false);
13
12
  const client = react.useMastraClient();
14
13
  const handleLogin = React.useCallback(async () => {
@@ -35,7 +34,7 @@ function SessionExpired({ title, description, className }) {
35
34
  EmptyState.EmptyState,
36
35
  {
37
36
  className,
38
- iconSlot: /* @__PURE__ */ jsxRuntime.jsx(icons_Icon.Icon, { size: "lg", className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogIn, {}) }),
37
+ variant,
39
38
  titleSlot: title ?? "Session Expired",
40
39
  descriptionSlot: description ?? "Your session has expired. Please log in again to continue.",
41
40
  actionSlot: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogIn, {}), variant: "default", onClick: handleLogin, disabled: isPending, children: isPending ? "Redirecting..." : "Log in" })
@@ -44,4 +43,4 @@ function SessionExpired({ title, description, className }) {
44
43
  }
45
44
 
46
45
  exports.SessionExpired = SessionExpired;
47
- //# sourceMappingURL=SessionExpired-CF0BGNo_.cjs.map
46
+ //# sourceMappingURL=SessionExpired-07Lz91i3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionExpired-07Lz91i3.cjs","sources":["../src/ds/components/SessionExpired/SessionExpired.tsx"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { LogIn } from 'lucide-react';\nimport { useState, useCallback } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Button } from '../Button';\nimport { EmptyState } from '../EmptyState';\nimport type { EmptyStateProps } from '../EmptyState';\n\nexport interface SessionExpiredProps {\n /** Custom title override */\n title?: string;\n /** Custom description override */\n description?: string;\n /** Additional CSS classes */\n className?: string;\n variant?: EmptyStateProps['variant'];\n}\n\nexport function SessionExpired({ title, description, className, variant }: SessionExpiredProps) {\n const [isPending, setIsPending] = useState(false);\n const client = useMastraClient();\n\n const handleLogin = useCallback(async () => {\n try {\n setIsPending(true);\n const { baseUrl = '', apiPrefix } = (client as any).options || {};\n const raw = (apiPrefix || '/api').trim();\n const prefix = (raw.startsWith('/') ? raw : `/${raw}`).replace(/\\/$/, '');\n const params = new URLSearchParams({ redirect_uri: window.location.href });\n const url = `${baseUrl}${prefix}/auth/sso/login?${params}`;\n\n const response = await fetch(url, {\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n });\n\n if (response.ok) {\n const data = await response.json();\n window.location.href = data.url;\n }\n } finally {\n setIsPending(false);\n }\n }, [client]);\n\n return (\n <EmptyState\n className={className}\n variant={variant}\n titleSlot={title ?? 'Session Expired'}\n descriptionSlot={description ?? 'Your session has expired. Please log in again to continue.'}\n actionSlot={\n <Button icon={<LogIn />} variant=\"default\" onClick={handleLogin} disabled={isPending}>\n {isPending ? 'Redirecting...' : 'Log in'}\n </Button>\n }\n />\n );\n}\n"],"names":["useState","useMastraClient","useCallback","jsx","EmptyState","Button","LogIn"],"mappings":";;;;;;;;;AAmBO,SAAS,eAAe,EAAE,KAAA,EAAO,WAAA,EAAa,SAAA,EAAW,SAAQ,EAAwB;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA;AAChD,EAAA,MAAM,SAASC,qBAAA,EAAgB;AAE/B,EAAA,MAAM,WAAA,GAAcC,kBAAY,YAAY;AAC1C,IAAA,IAAI;AACF,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,MAAM,EAAE,OAAA,GAAU,EAAA,EAAI,WAAU,GAAK,MAAA,CAAe,WAAW,EAAC;AAChE,MAAA,MAAM,GAAA,GAAA,CAAO,SAAA,IAAa,MAAA,EAAQ,IAAA,EAAK;AACvC,MAAA,MAAM,MAAA,GAAA,CAAU,GAAA,CAAI,UAAA,CAAW,GAAG,CAAA,GAAI,GAAA,GAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACxE,MAAA,MAAM,MAAA,GAAS,IAAI,eAAA,CAAgB,EAAE,cAAc,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA;AACzE,MAAA,MAAM,MAAM,CAAA,EAAG,OAAO,CAAA,EAAG,MAAM,mBAAmB,MAAM,CAAA,CAAA;AAExD,MAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,GAAA,EAAK;AAAA,QAChC,WAAA,EAAa,SAAA;AAAA,QACb,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA;AAAmB,OAC/C,CAAA;AAED,MAAA,IAAI,SAAS,EAAA,EAAI;AACf,QAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,QAAA,MAAA,CAAO,QAAA,CAAS,OAAO,IAAA,CAAK,GAAA;AAAA,MAC9B;AAAA,IACF,CAAA,SAAE;AACA,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,IACpB;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,uBACEC,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAW,KAAA,IAAS,iBAAA;AAAA,MACpB,iBAAiB,WAAA,IAAe,4DAAA;AAAA,MAChC,UAAA,kBACED,cAAA,CAACE,aAAA,EAAA,EAAO,IAAA,iCAAOC,iBAAA,EAAA,EAAM,CAAA,EAAI,OAAA,EAAQ,SAAA,EAAU,SAAS,WAAA,EAAa,QAAA,EAAU,SAAA,EACxE,QAAA,EAAA,SAAA,GAAY,mBAAmB,QAAA,EAClC;AAAA;AAAA,GAEJ;AAEJ;;;;"}
@@ -2,11 +2,10 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { useMastraClient } from '@mastra/react';
3
3
  import { LogIn } from 'lucide-react';
4
4
  import { useState, useCallback } from 'react';
5
- import { Icon } from './icons/Icon.es.js';
6
5
  import { B as Button } from './Button-cWcBEd-G.js';
7
- import { E as EmptyState } from './EmptyState-UWXhBp5U.js';
6
+ import { E as EmptyState } from './EmptyState-CiZVWvpH.js';
8
7
 
9
- function SessionExpired({ title, description, className }) {
8
+ function SessionExpired({ title, description, className, variant }) {
10
9
  const [isPending, setIsPending] = useState(false);
11
10
  const client = useMastraClient();
12
11
  const handleLogin = useCallback(async () => {
@@ -33,7 +32,7 @@ function SessionExpired({ title, description, className }) {
33
32
  EmptyState,
34
33
  {
35
34
  className,
36
- iconSlot: /* @__PURE__ */ jsx(Icon, { size: "lg", className: "text-muted-foreground", children: /* @__PURE__ */ jsx(LogIn, {}) }),
35
+ variant,
37
36
  titleSlot: title ?? "Session Expired",
38
37
  descriptionSlot: description ?? "Your session has expired. Please log in again to continue.",
39
38
  actionSlot: /* @__PURE__ */ jsx(Button, { icon: /* @__PURE__ */ jsx(LogIn, {}), variant: "default", onClick: handleLogin, disabled: isPending, children: isPending ? "Redirecting..." : "Log in" })
@@ -42,4 +41,4 @@ function SessionExpired({ title, description, className }) {
42
41
  }
43
42
 
44
43
  export { SessionExpired as S };
45
- //# sourceMappingURL=SessionExpired-Bq5LcsDu.js.map
44
+ //# sourceMappingURL=SessionExpired-CnJ8zr5Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionExpired-CnJ8zr5Y.js","sources":["../src/ds/components/SessionExpired/SessionExpired.tsx"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { LogIn } from 'lucide-react';\nimport { useState, useCallback } from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Button } from '../Button';\nimport { EmptyState } from '../EmptyState';\nimport type { EmptyStateProps } from '../EmptyState';\n\nexport interface SessionExpiredProps {\n /** Custom title override */\n title?: string;\n /** Custom description override */\n description?: string;\n /** Additional CSS classes */\n className?: string;\n variant?: EmptyStateProps['variant'];\n}\n\nexport function SessionExpired({ title, description, className, variant }: SessionExpiredProps) {\n const [isPending, setIsPending] = useState(false);\n const client = useMastraClient();\n\n const handleLogin = useCallback(async () => {\n try {\n setIsPending(true);\n const { baseUrl = '', apiPrefix } = (client as any).options || {};\n const raw = (apiPrefix || '/api').trim();\n const prefix = (raw.startsWith('/') ? raw : `/${raw}`).replace(/\\/$/, '');\n const params = new URLSearchParams({ redirect_uri: window.location.href });\n const url = `${baseUrl}${prefix}/auth/sso/login?${params}`;\n\n const response = await fetch(url, {\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n });\n\n if (response.ok) {\n const data = await response.json();\n window.location.href = data.url;\n }\n } finally {\n setIsPending(false);\n }\n }, [client]);\n\n return (\n <EmptyState\n className={className}\n variant={variant}\n titleSlot={title ?? 'Session Expired'}\n descriptionSlot={description ?? 'Your session has expired. Please log in again to continue.'}\n actionSlot={\n <Button icon={<LogIn />} variant=\"default\" onClick={handleLogin} disabled={isPending}>\n {isPending ? 'Redirecting...' : 'Log in'}\n </Button>\n }\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AAmBO,SAAS,eAAe,EAAE,KAAA,EAAO,WAAA,EAAa,SAAA,EAAW,SAAQ,EAAwB;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,MAAM,WAAA,GAAc,YAAY,YAAY;AAC1C,IAAA,IAAI;AACF,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,MAAM,EAAE,OAAA,GAAU,EAAA,EAAI,WAAU,GAAK,MAAA,CAAe,WAAW,EAAC;AAChE,MAAA,MAAM,GAAA,GAAA,CAAO,SAAA,IAAa,MAAA,EAAQ,IAAA,EAAK;AACvC,MAAA,MAAM,MAAA,GAAA,CAAU,GAAA,CAAI,UAAA,CAAW,GAAG,CAAA,GAAI,GAAA,GAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACxE,MAAA,MAAM,MAAA,GAAS,IAAI,eAAA,CAAgB,EAAE,cAAc,MAAA,CAAO,QAAA,CAAS,MAAM,CAAA;AACzE,MAAA,MAAM,MAAM,CAAA,EAAG,OAAO,CAAA,EAAG,MAAM,mBAAmB,MAAM,CAAA,CAAA;AAExD,MAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,GAAA,EAAK;AAAA,QAChC,WAAA,EAAa,SAAA;AAAA,QACb,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA;AAAmB,OAC/C,CAAA;AAED,MAAA,IAAI,SAAS,EAAA,EAAI;AACf,QAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,QAAA,MAAA,CAAO,QAAA,CAAS,OAAO,IAAA,CAAK,GAAA;AAAA,MAC9B;AAAA,IACF,CAAA,SAAE;AACA,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,IACpB;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAW,KAAA,IAAS,iBAAA;AAAA,MACpB,iBAAiB,WAAA,IAAe,4DAAA;AAAA,MAChC,UAAA,kBACE,GAAA,CAAC,MAAA,EAAA,EAAO,IAAA,sBAAO,KAAA,EAAA,EAAM,CAAA,EAAI,OAAA,EAAQ,SAAA,EAAU,SAAS,WAAA,EAAa,QAAA,EAAU,SAAA,EACxE,QAAA,EAAA,SAAA,GAAY,mBAAmB,QAAA,EAClC;AAAA;AAAA,GAEJ;AAEJ;;;;"}
@@ -0,0 +1,216 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const lucideReact = require('lucide-react');
5
+ const React = require('react');
6
+ const Badge = require('./Badge-BEeYtjmv.cjs');
7
+ const Button = require('./Button-CVewl8nT.cjs');
8
+ const checkbox = require('./checkbox-CI8JtZKS.cjs');
9
+ const input = require('./input-CDLMprJS.cjs');
10
+ const radioGroup = require('./radio-group-BdEPWGzi.cjs');
11
+ const Txt = require('./Txt-B4-2nLaI.cjs');
12
+ const icons_Icon = require('./icons/Icon.cjs.js');
13
+ const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
14
+ const utils_cn = require('./cn-DG0X1KEP.cjs');
15
+
16
+ const AskUserContainer = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
17
+ "div",
18
+ {
19
+ "data-slot": "ask-user",
20
+ className: utils_cn.cn(primitives_raisedSurface.raisedSurfaceStyle, "w-full overflow-hidden rounded-xl", className),
21
+ ...props
22
+ }
23
+ );
24
+ const AskUserLabel = ({ children = "Question", className, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "ask-user-label", className: utils_cn.cn("flex min-h-10 items-center gap-2 px-4 pt-3", className), ...props, children: [
25
+ /* @__PURE__ */ jsxRuntime.jsx(icons_Icon.Icon, { size: "xs", className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleQuestion, {}) }),
26
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "caption", tone: "muted", children })
27
+ ] });
28
+ const AskUserBody = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "ask-user-body", className: utils_cn.cn("px-4 pt-1 pb-4", className), ...props });
29
+ const AskUserQuestion = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "p", variant: "subheading", tone: "ink", ...props, className: utils_cn.cn("mb-3", className) });
30
+ const AskUserOptionRow = ({
31
+ control,
32
+ label,
33
+ description,
34
+ disabled = false,
35
+ className,
36
+ ...props
37
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(
38
+ "label",
39
+ {
40
+ "aria-disabled": disabled || void 0,
41
+ className: utils_cn.cn(
42
+ "state-layer flex items-start gap-2.5 rounded-lg bg-fill px-3 py-2",
43
+ disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer",
44
+ className
45
+ ),
46
+ ...props,
47
+ children: [
48
+ control,
49
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "grid gap-0.5", children: [
50
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "body", tone: "ink", children: label }),
51
+ description ? /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "caption", tone: "muted", children: description }) : null
52
+ ] })
53
+ ]
54
+ }
55
+ );
56
+ const AskUserSubmit = ({ children = "Submit answer", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, {}), type: "button", size: "sm", variant: "primary", ...props, children });
57
+ const AskUserPending = ({ children = "Submitting…", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", role: "status", variant: "caption", tone: "muted", ...props, children });
58
+ const AskUserOutput = ({ result, className, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(
59
+ "div",
60
+ {
61
+ "data-slot": "ask-user-output",
62
+ role: result.isError ? "alert" : "status",
63
+ className: utils_cn.cn("grid gap-2 rounded-lg bg-fill p-3", className),
64
+ ...props,
65
+ children: [
66
+ /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { size: "xs", variant: result.isError ? "red" : "green", className: "justify-self-start", children: result.isError ? "Error" : "Answered" }),
67
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "p", variant: "body", tone: "ink", className: utils_cn.cn(result.isError && "text-error"), children: result.content })
68
+ ]
69
+ }
70
+ );
71
+ const validOptions = (options) => options?.filter(
72
+ (option) => Boolean(option && typeof option.label === "string" && option.label)
73
+ ) ?? [];
74
+ const AskUserInput = ({
75
+ payload,
76
+ options,
77
+ result,
78
+ isAnswered = false,
79
+ isSubmitting = false,
80
+ onSubmit,
81
+ footer,
82
+ ...props
83
+ }) => {
84
+ const fieldId = React.useId();
85
+ const [text, setText] = React.useState("");
86
+ const [selected, setSelected] = React.useState([]);
87
+ if (result || isAnswered) {
88
+ return /* @__PURE__ */ jsxRuntime.jsxs(AskUserContainer, { "data-testid": "ask-user", ...props, children: [
89
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserLabel, {}),
90
+ /* @__PURE__ */ jsxRuntime.jsxs(AskUserBody, { children: [
91
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserQuestion, { children: payload.question }),
92
+ result ? /* @__PURE__ */ jsxRuntime.jsx(AskUserOutput, { result }) : /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { variant: "green", children: "Answered" })
93
+ ] })
94
+ ] });
95
+ }
96
+ const submitText = () => {
97
+ const answer = text.trim();
98
+ if (answer && !isSubmitting) onSubmit(answer);
99
+ };
100
+ const handleTextKeyDown = (event) => {
101
+ if (event.key === "Enter") {
102
+ event.preventDefault();
103
+ submitText();
104
+ }
105
+ };
106
+ if (options.length === 0) {
107
+ return /* @__PURE__ */ jsxRuntime.jsxs(AskUserContainer, { "data-testid": "ask-user", ...props, children: [
108
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserLabel, {}),
109
+ /* @__PURE__ */ jsxRuntime.jsxs(AskUserBody, { children: [
110
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserQuestion, { as: "label", htmlFor: fieldId, className: "mb-2 block", children: payload.question }),
111
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
112
+ /* @__PURE__ */ jsxRuntime.jsx(
113
+ input.Input,
114
+ {
115
+ id: fieldId,
116
+ value: text,
117
+ onChange: (event) => setText(event.target.value),
118
+ onKeyDown: handleTextKeyDown,
119
+ placeholder: "Type your answer...",
120
+ disabled: isSubmitting,
121
+ size: "sm"
122
+ }
123
+ ),
124
+ /* @__PURE__ */ jsxRuntime.jsx(
125
+ AskUserSubmit,
126
+ {
127
+ className: "shrink-0 whitespace-nowrap",
128
+ disabled: isSubmitting || !text.trim(),
129
+ onClick: submitText
130
+ }
131
+ )
132
+ ] }),
133
+ isSubmitting ? /* @__PURE__ */ jsxRuntime.jsx(AskUserPending, { className: "mt-2 block" }) : null,
134
+ footer
135
+ ] })
136
+ ] });
137
+ }
138
+ const isMulti = payload.selectionMode === "multi_select";
139
+ return /* @__PURE__ */ jsxRuntime.jsxs(AskUserContainer, { "data-testid": "ask-user", ...props, children: [
140
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserLabel, {}),
141
+ /* @__PURE__ */ jsxRuntime.jsxs(AskUserBody, { children: [
142
+ /* @__PURE__ */ jsxRuntime.jsx(AskUserQuestion, { id: fieldId, children: payload.question }),
143
+ isMulti ? /* @__PURE__ */ jsxRuntime.jsxs("div", { role: "group", "aria-labelledby": fieldId, className: "grid gap-2", children: [
144
+ options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
145
+ AskUserOptionRow,
146
+ {
147
+ label: option.label,
148
+ description: option.description,
149
+ disabled: isSubmitting,
150
+ control: /* @__PURE__ */ jsxRuntime.jsx(
151
+ checkbox.Checkbox,
152
+ {
153
+ className: "mt-0.5",
154
+ disabled: isSubmitting,
155
+ checked: selected.includes(option.label),
156
+ onCheckedChange: () => setSelected(
157
+ (current) => current.includes(option.label) ? current.filter((selectedLabel) => selectedLabel !== option.label) : [...current, option.label]
158
+ )
159
+ }
160
+ )
161
+ },
162
+ option.label
163
+ )),
164
+ /* @__PURE__ */ jsxRuntime.jsx(
165
+ AskUserSubmit,
166
+ {
167
+ className: "mt-1 justify-self-start",
168
+ disabled: isSubmitting || selected.length === 0,
169
+ onClick: () => onSubmit(selected),
170
+ children: "Submit answer"
171
+ }
172
+ )
173
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(
174
+ radioGroup.RadioGroup,
175
+ {
176
+ "aria-labelledby": fieldId,
177
+ disabled: isSubmitting,
178
+ value: selected[0] ?? null,
179
+ onValueChange: (value) => {
180
+ const label = String(value);
181
+ setSelected([label]);
182
+ onSubmit(label);
183
+ },
184
+ children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
185
+ AskUserOptionRow,
186
+ {
187
+ label: option.label,
188
+ description: option.description,
189
+ disabled: isSubmitting,
190
+ control: /* @__PURE__ */ jsxRuntime.jsx(radioGroup.RadioGroupItem, { className: "mt-0.5", value: option.label })
191
+ },
192
+ option.label
193
+ ))
194
+ }
195
+ ),
196
+ isSubmitting ? /* @__PURE__ */ jsxRuntime.jsx(AskUserPending, { className: "mt-3 block" }) : null,
197
+ footer
198
+ ] })
199
+ ] });
200
+ };
201
+ const AskUser = ({ payload, ...props }) => {
202
+ const options = validOptions(payload.options);
203
+ const payloadKey = JSON.stringify([payload.question, options.map((option) => option.label), payload.selectionMode]);
204
+ return /* @__PURE__ */ jsxRuntime.jsx(AskUserInput, { payload, options, ...props }, payloadKey);
205
+ };
206
+
207
+ exports.AskUser = AskUser;
208
+ exports.AskUserBody = AskUserBody;
209
+ exports.AskUserContainer = AskUserContainer;
210
+ exports.AskUserLabel = AskUserLabel;
211
+ exports.AskUserOptionRow = AskUserOptionRow;
212
+ exports.AskUserOutput = AskUserOutput;
213
+ exports.AskUserPending = AskUserPending;
214
+ exports.AskUserQuestion = AskUserQuestion;
215
+ exports.AskUserSubmit = AskUserSubmit;
216
+ //# sourceMappingURL=ask-user-B_O3GEjY.cjs.map