@mastra/playground-ui 58.1.0-alpha.0 → 59.0.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 (594) hide show
  1. package/README.md +62 -0
  2. package/dist/{Header-BVnFQlzE.js → Header-hTHhO02b.js} +2 -2
  3. package/dist/{Header-BVnFQlzE.js.map → Header-hTHhO02b.js.map} +1 -1
  4. package/dist/{Header-CGjhJ0nQ.cjs → Header-y51Sfo3G.cjs} +2 -2
  5. package/dist/{Header-CGjhJ0nQ.cjs.map → Header-y51Sfo3G.cjs.map} +1 -1
  6. package/dist/{Txt-DTh3Pa_a.js → Txt-BP1SRHmL.js} +4 -10
  7. package/dist/Txt-BP1SRHmL.js.map +1 -0
  8. package/dist/{Txt-B4-2nLaI.cjs → Txt-DPmEpNbp.cjs} +4 -10
  9. package/dist/Txt-DPmEpNbp.cjs.map +1 -0
  10. package/dist/{ask-user-pPTuoPKI.cjs → ask-user-4pnmHbuC.cjs} +2 -2
  11. package/dist/{ask-user-pPTuoPKI.cjs.map → ask-user-4pnmHbuC.cjs.map} +1 -1
  12. package/dist/{ask-user-DtF4a9Vr.js → ask-user-CFcQN_7m.js} +2 -2
  13. package/dist/{ask-user-DtF4a9Vr.js.map → ask-user-CFcQN_7m.js.map} +1 -1
  14. package/dist/{chat-notification-C4P2InUX.js → chat-notification-BI_WRUvG.js} +2 -2
  15. package/dist/{chat-notification-C4P2InUX.js.map → chat-notification-BI_WRUvG.js.map} +1 -1
  16. package/dist/{chat-notification-HP18KxlS.cjs → chat-notification-Dc7jwULm.cjs} +2 -2
  17. package/dist/{chat-notification-HP18KxlS.cjs.map → chat-notification-Dc7jwULm.cjs.map} +1 -1
  18. package/dist/{chat-signal-BP9RN6Rh.cjs → chat-signal-BodewV33.cjs} +3 -3
  19. package/dist/{chat-signal-BP9RN6Rh.cjs.map → chat-signal-BodewV33.cjs.map} +1 -1
  20. package/dist/{chat-signal-CQnmFp3V.js → chat-signal-D0zw80bU.js} +3 -3
  21. package/dist/{chat-signal-CQnmFp3V.js.map → chat-signal-D0zw80bU.js.map} +1 -1
  22. package/dist/{combobox-BoSB-muq.cjs → combobox-B19HJqE-.cjs} +2 -2
  23. package/dist/{combobox-BoSB-muq.cjs.map → combobox-B19HJqE-.cjs.map} +1 -1
  24. package/dist/{combobox-Cd0JPUQW.js → combobox-D_kmwSKS.js} +2 -2
  25. package/dist/{combobox-Cd0JPUQW.js.map → combobox-D_kmwSKS.js.map} +1 -1
  26. package/dist/components/Avatar.cjs.js +1 -1
  27. package/dist/components/Avatar.es.js +1 -1
  28. package/dist/components/ClampedText.cjs.js +1 -1
  29. package/dist/components/ClampedText.es.js +1 -1
  30. package/dist/components/Combobox.cjs.js +1 -1
  31. package/dist/components/Combobox.es.js +1 -1
  32. package/dist/components/Comment.cjs.js +2 -2
  33. package/dist/components/Comment.es.js +2 -2
  34. package/dist/components/CompactNumber.cjs.js +24 -0
  35. package/dist/components/CompactNumber.cjs.js.map +1 -0
  36. package/dist/components/CompactNumber.d.ts +2 -0
  37. package/dist/components/CompactNumber.es.js +20 -0
  38. package/dist/components/CompactNumber.es.js.map +1 -0
  39. package/dist/components/DataCodeSection.cjs.js +1 -1
  40. package/dist/components/DataCodeSection.es.js +1 -1
  41. package/dist/components/DataList.cjs.js +8 -14
  42. package/dist/components/DataList.cjs.js.map +1 -1
  43. package/dist/components/DataList.es.js +8 -14
  44. package/dist/components/DataList.es.js.map +1 -1
  45. package/dist/components/DataPanel.cjs.js +1 -1
  46. package/dist/components/DataPanel.es.js +1 -1
  47. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  48. package/dist/components/DateRangeTimeline.es.js +1 -1
  49. package/dist/components/DateTimePicker.cjs.js +1 -1
  50. package/dist/components/DateTimePicker.es.js +1 -1
  51. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  52. package/dist/components/DateTimeRangePicker.es.js +1 -1
  53. package/dist/components/Entity.cjs.js +1 -1
  54. package/dist/components/Entity.es.js +1 -1
  55. package/dist/components/EntityHeader.cjs.js +1 -1
  56. package/dist/components/EntityHeader.es.js +1 -1
  57. package/dist/components/Entry.cjs.js +1 -1
  58. package/dist/components/Entry.es.js +1 -1
  59. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  60. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  61. package/dist/components/FilterBar.cjs.js +1 -1
  62. package/dist/components/FilterBar.es.js +1 -1
  63. package/dist/components/FormFieldBlocks.cjs.js +4 -4
  64. package/dist/components/FormFieldBlocks.es.js +4 -4
  65. package/dist/components/Header.cjs.js +1 -1
  66. package/dist/components/Header.es.js +1 -1
  67. package/dist/components/InlineCode.cjs.js +10 -0
  68. package/dist/components/InlineCode.cjs.js.map +1 -0
  69. package/dist/components/InlineCode.d.ts +2 -0
  70. package/dist/components/InlineCode.es.js +2 -0
  71. package/dist/components/InlineCode.es.js.map +1 -0
  72. package/dist/components/ItemList.cjs.js +4 -16
  73. package/dist/components/ItemList.cjs.js.map +1 -1
  74. package/dist/components/ItemList.es.js +4 -16
  75. package/dist/components/ItemList.es.js.map +1 -1
  76. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  77. package/dist/components/JSONSchemaForm.es.js +2 -2
  78. package/dist/components/ListSearch.cjs.js +1 -1
  79. package/dist/components/ListSearch.es.js +1 -1
  80. package/dist/components/LogsDataList.cjs.js +2 -2
  81. package/dist/components/LogsDataList.es.js +2 -2
  82. package/dist/components/Message.cjs.js +4 -5
  83. package/dist/components/Message.cjs.js.map +1 -1
  84. package/dist/components/Message.es.js +4 -5
  85. package/dist/components/Message.es.js.map +1 -1
  86. package/dist/components/PageLayout.cjs.js +1 -1
  87. package/dist/components/PageLayout.es.js +1 -1
  88. package/dist/components/PropertyFilter.cjs.js +1 -1
  89. package/dist/components/PropertyFilter.es.js +1 -1
  90. package/dist/components/RelativeTimestamp.cjs.js +119 -0
  91. package/dist/components/RelativeTimestamp.cjs.js.map +1 -0
  92. package/dist/components/RelativeTimestamp.d.ts +2 -0
  93. package/dist/components/RelativeTimestamp.es.js +115 -0
  94. package/dist/components/RelativeTimestamp.es.js.map +1 -0
  95. package/dist/components/Section.cjs.js +1 -1
  96. package/dist/components/Section.es.js +1 -1
  97. package/dist/components/SettingsRow.cjs.js +1 -1
  98. package/dist/components/SettingsRow.es.js +1 -1
  99. package/dist/components/SideDialog.cjs.js +1 -1
  100. package/dist/components/SideDialog.es.js +1 -1
  101. package/dist/components/StatusIndicators.cjs.js +21 -14
  102. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  103. package/dist/components/StatusIndicators.es.js +21 -15
  104. package/dist/components/StatusIndicators.es.js.map +1 -1
  105. package/dist/components/Table.cjs.js +3 -21
  106. package/dist/components/Table.cjs.js.map +1 -1
  107. package/dist/components/Table.es.js +3 -21
  108. package/dist/components/Table.es.js.map +1 -1
  109. package/dist/components/ThreadList.cjs.js +1 -1
  110. package/dist/components/ThreadList.es.js +1 -1
  111. package/dist/components/Truncate.cjs.js +1 -1
  112. package/dist/components/Truncate.es.js +1 -1
  113. package/dist/components/Txt.cjs.js +1 -1
  114. package/dist/components/Txt.es.js +1 -1
  115. package/dist/components/Workflow.cjs.js +8 -12
  116. package/dist/components/Workflow.cjs.js.map +1 -1
  117. package/dist/components/Workflow.es.js +8 -12
  118. package/dist/components/Workflow.es.js.map +1 -1
  119. package/dist/components/ai/ask-user.cjs.js +1 -1
  120. package/dist/components/ai/ask-user.es.js +1 -1
  121. package/dist/components/ai/chat-event.cjs.js +3 -3
  122. package/dist/components/ai/chat-event.es.js +4 -4
  123. package/dist/components/ai/plan.cjs.js +2 -2
  124. package/dist/components/ai/plan.cjs.js.map +1 -1
  125. package/dist/components/ai/plan.es.js +2 -2
  126. package/dist/components/ai/plan.es.js.map +1 -1
  127. package/dist/components/ai/tool-call.cjs.js +7 -9
  128. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  129. package/dist/components/ai/tool-call.es.js +8 -10
  130. package/dist/components/ai/tool-call.es.js.map +1 -1
  131. package/dist/{data-code-section-Cth9zVkj.js → data-code-section-BKrCkj90.js} +2 -2
  132. package/dist/{data-code-section-Cth9zVkj.js.map → data-code-section-BKrCkj90.js.map} +1 -1
  133. package/dist/{data-code-section-DE4AgaTU.cjs → data-code-section-C9z94ytx.cjs} +2 -2
  134. package/dist/{data-code-section-DE4AgaTU.cjs.map → data-code-section-C9z94ytx.cjs.map} +1 -1
  135. package/dist/{data-list-DisTjDHP.js → data-list-5-nRJbEO.js} +3 -3
  136. package/dist/{data-list-DisTjDHP.js.map → data-list-5-nRJbEO.js.map} +1 -1
  137. package/dist/{data-list-PwFpP_mo.cjs → data-list-RI8c32dk.cjs} +3 -3
  138. package/dist/{data-list-PwFpP_mo.cjs.map → data-list-RI8c32dk.cjs.map} +1 -1
  139. package/dist/{data-list-skeleton-DAfM8AjW.js → data-list-skeleton-BrSh9Y_3.js} +2 -2
  140. package/dist/{data-list-skeleton-DAfM8AjW.js.map → data-list-skeleton-BrSh9Y_3.js.map} +1 -1
  141. package/dist/{data-list-skeleton-CjwR0o3w.cjs → data-list-skeleton-CgbWqYky.cjs} +2 -2
  142. package/dist/{data-list-skeleton-CjwR0o3w.cjs.map → data-list-skeleton-CgbWqYky.cjs.map} +1 -1
  143. package/dist/{data-list-spacer-DEcgVGFM.cjs → data-list-spacer-1OqlC7WX.cjs} +2 -2
  144. package/dist/{data-list-spacer-DEcgVGFM.cjs.map → data-list-spacer-1OqlC7WX.cjs.map} +1 -1
  145. package/dist/{data-list-spacer-BmorAN0V.js → data-list-spacer-D3Rn1evn.js} +2 -2
  146. package/dist/{data-list-spacer-BmorAN0V.js.map → data-list-spacer-D3Rn1evn.js.map} +1 -1
  147. package/dist/{data-list-top-DpbOA3uw.js → data-list-top-B-AopfvE.js} +13 -21
  148. package/dist/data-list-top-B-AopfvE.js.map +1 -0
  149. package/dist/{data-list-top-WGUY167p.cjs → data-list-top-DFnudSA_.cjs} +13 -21
  150. package/dist/data-list-top-DFnudSA_.cjs.map +1 -0
  151. package/dist/{data-panel-BQVTKo86.js → data-panel-BWgExbHs.js} +2 -2
  152. package/dist/{data-panel-BQVTKo86.js.map → data-panel-BWgExbHs.js.map} +1 -1
  153. package/dist/{data-panel-XPXrhYJI.cjs → data-panel-C_BqhzeL.cjs} +2 -2
  154. package/dist/{data-panel-XPXrhYJI.cjs.map → data-panel-C_BqhzeL.cjs.map} +1 -1
  155. package/dist/{date-time-range-picker-C-t3Kdpk.js → date-time-range-picker-Bnviv7s-.js} +2 -2
  156. package/dist/{date-time-range-picker-C-t3Kdpk.js.map → date-time-range-picker-Bnviv7s-.js.map} +1 -1
  157. package/dist/{date-time-range-picker-BCzvSYx3.cjs → date-time-range-picker-sT5qAW-_.cjs} +2 -2
  158. package/dist/{date-time-range-picker-BCzvSYx3.cjs.map → date-time-range-picker-sT5qAW-_.cjs.map} +1 -1
  159. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js +16 -0
  160. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js.map +1 -0
  161. package/dist/domains/capabilities/hooks/use-feedback-available.d.ts +2 -0
  162. package/dist/domains/capabilities/hooks/use-feedback-available.es.js +12 -0
  163. package/dist/domains/capabilities/hooks/use-feedback-available.es.js.map +1 -0
  164. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js +20 -0
  165. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js.map +1 -0
  166. package/dist/domains/capabilities/hooks/use-observability-capabilities.d.ts +2 -0
  167. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js +16 -0
  168. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js.map +1 -0
  169. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js +16 -0
  170. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js.map +1 -0
  171. package/dist/domains/capabilities/hooks/use-trace-query-available.d.ts +2 -0
  172. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js +12 -0
  173. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js.map +1 -0
  174. package/dist/domains/capabilities/hooks.cjs.js +14 -0
  175. package/dist/domains/capabilities/hooks.cjs.js.map +1 -0
  176. package/dist/domains/capabilities/hooks.d.ts +2 -0
  177. package/dist/domains/capabilities/hooks.es.js +4 -0
  178. package/dist/domains/capabilities/hooks.es.js.map +1 -0
  179. package/dist/domains/capabilities.cjs.js +14 -0
  180. package/dist/domains/capabilities.cjs.js.map +1 -0
  181. package/dist/domains/capabilities.d.ts +2 -0
  182. package/dist/domains/capabilities.es.js +4 -0
  183. package/dist/domains/capabilities.es.js.map +1 -0
  184. package/dist/domains/chat/attachments/attachment-kind.es.js +1 -1
  185. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  186. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  187. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  188. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  189. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  190. package/dist/domains/chat/components/section-label.es.js +1 -1
  191. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  192. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  193. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +1 -1
  194. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +1 -1
  195. package/dist/domains/chat/messages/reasoning.cjs.js +4 -3
  196. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  197. package/dist/domains/chat/messages/reasoning.es.js +4 -3
  198. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  199. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +2 -2
  200. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
  201. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +2 -2
  202. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
  203. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +1 -1
  204. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  205. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  206. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  207. package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
  208. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  209. package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
  210. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  211. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  212. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  213. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  214. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  215. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  216. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +3 -3
  217. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  218. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +3 -3
  219. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  220. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +5 -3
  221. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  222. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +5 -3
  223. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  224. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +11 -8
  225. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  226. package/dist/domains/chat/tools/badges/observation-renderer.es.js +11 -8
  227. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  228. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -6
  229. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  230. package/dist/domains/logs/components/log-data-panel.es.js +3 -6
  231. package/dist/domains/logs/components/log-data-panel.es.js.map +1 -1
  232. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  233. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  234. package/dist/domains/logs/components/no-logs-info.cjs.js +3 -4
  235. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  236. package/dist/domains/logs/components/no-logs-info.es.js +3 -4
  237. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  238. package/dist/domains/memory/components/flame-graph.cjs.js +7 -5
  239. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  240. package/dist/domains/memory/components/flame-graph.es.js +8 -6
  241. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  242. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  243. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  244. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -5
  245. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  246. package/dist/domains/memory/components/observation-detail-view.es.js +4 -5
  247. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  248. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  249. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  250. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  251. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  252. package/dist/domains/memory/lib/timeline.cjs.js +0 -9
  253. package/dist/domains/memory/lib/timeline.cjs.js.map +1 -1
  254. package/dist/domains/memory/lib/timeline.es.js +1 -9
  255. package/dist/domains/memory/lib/timeline.es.js.map +1 -1
  256. package/dist/domains/metrics/components/bar-list.cjs.js +4 -4
  257. package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
  258. package/dist/domains/metrics/components/bar-list.es.js +4 -4
  259. package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
  260. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  261. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  262. package/dist/domains/metrics/components/kpi-card-view.cjs.js.map +1 -1
  263. package/dist/domains/metrics/components/kpi-card-view.es.js.map +1 -1
  264. package/dist/domains/metrics/components/memory-card-view.cjs.js +6 -5
  265. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  266. package/dist/domains/metrics/components/memory-card-view.es.js +5 -4
  267. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  268. package/dist/domains/metrics/components/metrics-utils.cjs.js +0 -15
  269. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  270. package/dist/domains/metrics/components/metrics-utils.es.js +1 -14
  271. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  272. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +5 -4
  273. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  274. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +3 -2
  275. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  276. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  277. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  278. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -3
  279. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
  280. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -3
  281. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
  282. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +3 -2
  283. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  284. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +3 -2
  285. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  286. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +3 -2
  287. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
  288. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -3
  289. package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
  290. package/dist/domains/metrics/components.cjs.js +0 -2
  291. package/dist/domains/metrics/components.cjs.js.map +1 -1
  292. package/dist/domains/metrics/components.es.js +1 -1
  293. package/dist/domains/metrics/hooks/use-metrics.cjs.js +3 -3
  294. package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -1
  295. package/dist/domains/metrics/hooks/use-metrics.es.js +3 -3
  296. package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -1
  297. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js +5 -5
  298. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js.map +1 -1
  299. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js +5 -5
  300. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js.map +1 -1
  301. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js +6 -7
  302. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js.map +1 -1
  303. package/dist/domains/metrics/hooks/use-scores-metrics.es.js +6 -7
  304. package/dist/domains/metrics/hooks/use-scores-metrics.es.js.map +1 -1
  305. package/dist/domains/metrics/metrics-interval.cjs.js +4 -2
  306. package/dist/domains/metrics/metrics-interval.cjs.js.map +1 -1
  307. package/dist/domains/metrics/metrics-interval.es.js +4 -2
  308. package/dist/domains/metrics/metrics-interval.es.js.map +1 -1
  309. package/dist/domains/metrics.cjs.js +0 -2
  310. package/dist/domains/metrics.cjs.js.map +1 -1
  311. package/dist/domains/metrics.es.js +1 -1
  312. package/dist/domains/traces/components/no-traces-info.cjs.js +3 -4
  313. package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
  314. package/dist/domains/traces/components/no-traces-info.es.js +3 -4
  315. package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
  316. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  317. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  318. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  319. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  320. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  321. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  322. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -2
  323. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  324. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -2
  325. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  326. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  327. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  328. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  329. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  330. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
  331. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
  332. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  333. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  334. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  335. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  336. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  337. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  338. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -2
  339. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -1
  340. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -2
  341. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +1 -1
  342. package/dist/domains/traces/components/span-summary-description.cjs.js +6 -4
  343. package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
  344. package/dist/domains/traces/components/span-summary-description.es.js +7 -5
  345. package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
  346. package/dist/domains/traces/components/span-timeline-row.cjs.js +3 -4
  347. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  348. package/dist/domains/traces/components/span-timeline-row.es.js +3 -4
  349. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  350. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +6 -11
  351. package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
  352. package/dist/domains/traces/components/span-timing-hover-card.es.js +6 -11
  353. package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
  354. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  355. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  356. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  357. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  358. package/dist/domains/traces/components/timeline-timing-col.cjs.js +3 -4
  359. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  360. package/dist/domains/traces/components/timeline-timing-col.es.js +3 -4
  361. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  362. package/dist/domains/traces/components/trace-columns-menu.cjs.js +21 -18
  363. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  364. package/dist/domains/traces/components/trace-columns-menu.es.js +21 -18
  365. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  366. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  367. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  368. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  369. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  370. package/dist/domains/traces/components/trace-span-timeline.cjs.js +10 -4
  371. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  372. package/dist/domains/traces/components/trace-span-timeline.es.js +10 -4
  373. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  374. package/dist/domains/traces/components/trace-span-tree.cjs.js +3 -4
  375. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  376. package/dist/domains/traces/components/trace-span-tree.es.js +3 -4
  377. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  378. package/dist/domains/traces/components/trace-summary-description.cjs.js +13 -10
  379. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  380. package/dist/domains/traces/components/trace-summary-description.es.js +13 -10
  381. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  382. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  383. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  384. package/dist/domains/traces/components/traces-list-view.cjs.js +12 -10
  385. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  386. package/dist/domains/traces/components/traces-list-view.es.js +12 -10
  387. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  388. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  389. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  390. package/dist/domains/traces/hooks/use-branch.cjs.js +0 -1
  391. package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -1
  392. package/dist/domains/traces/hooks/use-branch.es.js +0 -1
  393. package/dist/domains/traces/hooks/use-branch.es.js.map +1 -1
  394. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +0 -1
  395. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +1 -1
  396. package/dist/domains/traces/hooks/use-trace-light-spans.es.js +0 -1
  397. package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +1 -1
  398. package/dist/domains/traces/hooks/use-trace-query.cjs.js +63 -3
  399. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  400. package/dist/domains/traces/hooks/use-trace-query.es.js +61 -4
  401. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  402. package/dist/domains/traces/hooks/use-trace-search.cjs.js +0 -1
  403. package/dist/domains/traces/hooks/use-trace-search.cjs.js.map +1 -1
  404. package/dist/domains/traces/hooks/use-trace-search.es.js +0 -1
  405. package/dist/domains/traces/hooks/use-trace-search.es.js.map +1 -1
  406. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +0 -1
  407. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  408. package/dist/domains/traces/hooks/use-trace-spans.es.js +0 -1
  409. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  410. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +42 -0
  411. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -0
  412. package/dist/domains/traces/hooks/use-traces-list-source.d.ts +2 -0
  413. package/dist/domains/traces/hooks/use-traces-list-source.es.js +38 -0
  414. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -0
  415. package/dist/domains/traces/hooks.cjs.js +2 -0
  416. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  417. package/dist/domains/traces/hooks.es.js +1 -0
  418. package/dist/domains/traces/hooks.es.js.map +1 -1
  419. package/dist/domains/traces/trace-filters.cjs.js +10 -1
  420. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  421. package/dist/domains/traces/trace-filters.es.js +10 -1
  422. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  423. package/dist/domains/traces/utils/span-utils.cjs.js +4 -36
  424. package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
  425. package/dist/domains/traces/utils/span-utils.es.js +4 -32
  426. package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
  427. package/dist/domains/traces/utils.cjs.js +1 -1
  428. package/dist/domains/traces/utils.es.js +1 -1
  429. package/dist/domains/traces.cjs.js +3 -1
  430. package/dist/domains/traces.cjs.js.map +1 -1
  431. package/dist/domains/traces.es.js +2 -1
  432. package/dist/domains/traces.es.js.map +1 -1
  433. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  434. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  435. package/dist/ee/signals/components/entity-index-model.cjs.js +3 -2
  436. package/dist/ee/signals/components/entity-index-model.cjs.js.map +1 -1
  437. package/dist/ee/signals/components/entity-index-model.es.js +3 -2
  438. package/dist/ee/signals/components/entity-index-model.es.js.map +1 -1
  439. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -2
  440. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -2
  441. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  442. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  443. package/dist/ee/signals/signal-formatting.cjs.js +6 -34
  444. package/dist/ee/signals/signal-formatting.cjs.js.map +1 -1
  445. package/dist/ee/signals/signal-formatting.es.js +6 -34
  446. package/dist/ee/signals/signal-formatting.es.js.map +1 -1
  447. package/dist/ee/signals/snapshot-timeline-data.cjs.js +1 -1
  448. package/dist/ee/signals/snapshot-timeline-data.cjs.js.map +1 -1
  449. package/dist/ee/signals/snapshot-timeline-data.es.js +1 -1
  450. package/dist/ee/signals/snapshot-timeline-data.es.js.map +1 -1
  451. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  452. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  453. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  454. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  455. package/dist/field-block-error-msg-Y0fi0HUC.js +22 -0
  456. package/dist/field-block-error-msg-Y0fi0HUC.js.map +1 -0
  457. package/dist/field-block-error-msg-oudJz2Hx.cjs +24 -0
  458. package/dist/field-block-error-msg-oudJz2Hx.cjs.map +1 -0
  459. package/dist/{field-error-id-DyWx33Fu.js → field-error-id-DD7OARLU.js} +2 -13
  460. package/dist/field-error-id-DD7OARLU.js.map +1 -0
  461. package/dist/{field-error-id-6EfqmQ4C.cjs → field-error-id-V_WejsRL.cjs} +4 -15
  462. package/dist/field-error-id-V_WejsRL.cjs.map +1 -0
  463. package/dist/hooks/use-elapsed-time.cjs.js +25 -0
  464. package/dist/hooks/use-elapsed-time.cjs.js.map +1 -0
  465. package/dist/hooks/use-elapsed-time.d.ts +2 -0
  466. package/dist/hooks/use-elapsed-time.es.js +21 -0
  467. package/dist/hooks/use-elapsed-time.es.js.map +1 -0
  468. package/dist/inline-code-BW6W121s.js +13 -0
  469. package/dist/inline-code-BW6W121s.js.map +1 -0
  470. package/dist/inline-code-CSwG-x8D.cjs +15 -0
  471. package/dist/inline-code-CSwG-x8D.cjs.map +1 -0
  472. package/dist/layout/tabbed-container.cjs.js +3 -3
  473. package/dist/layout/tabbed-container.es.js +3 -3
  474. package/dist/{list-search-S1mco9Bl.cjs → list-search-CsYQX8qR.cjs} +2 -2
  475. package/dist/{list-search-S1mco9Bl.cjs.map → list-search-CsYQX8qR.cjs.map} +1 -1
  476. package/dist/{list-search-FJ1O5F3S.js → list-search-D1FD8FCL.js} +2 -2
  477. package/dist/{list-search-FJ1O5F3S.js.map → list-search-D1FD8FCL.js.map} +1 -1
  478. package/dist/{logs-data-list-CgDcNIvS.js → logs-data-list-BKE5vYZR.js} +3 -3
  479. package/dist/{logs-data-list-CgDcNIvS.js.map → logs-data-list-BKE5vYZR.js.map} +1 -1
  480. package/dist/{logs-data-list-BHvJOeec.cjs → logs-data-list-lJK0yGYj.cjs} +3 -3
  481. package/dist/{logs-data-list-BHvJOeec.cjs.map → logs-data-list-lJK0yGYj.cjs.map} +1 -1
  482. package/dist/new/settings.cjs.js +2 -2
  483. package/dist/new/settings.es.js +2 -2
  484. package/dist/{schemes-C9EhSOkB.js → schemes-CGK3gQJ6.js} +2 -2
  485. package/dist/{schemes-C9EhSOkB.js.map → schemes-CGK3gQJ6.js.map} +1 -1
  486. package/dist/{search-field-block-fU3tStmB.js → search-field-block-Dj2KJyjQ.js} +2 -2
  487. package/dist/{search-field-block-fU3tStmB.js.map → search-field-block-Dj2KJyjQ.js.map} +1 -1
  488. package/dist/{search-field-block-7-ufp4uG.cjs → search-field-block-K_e_S9WY.cjs} +2 -2
  489. package/dist/{search-field-block-7-ufp4uG.cjs.map → search-field-block-K_e_S9WY.cjs.map} +1 -1
  490. package/dist/{section-B9OLuEq3.js → section-Bi0g7cn6.js} +2 -2
  491. package/dist/{section-B9OLuEq3.js.map → section-Bi0g7cn6.js.map} +1 -1
  492. package/dist/{section-CTihfzmc.cjs → section-p9vCSmPq.cjs} +2 -2
  493. package/dist/{section-CTihfzmc.cjs.map → section-p9vCSmPq.cjs.map} +1 -1
  494. package/dist/{select-field-block-BfiHq9t6.js → select-field-block-BF8v698d.js} +2 -2
  495. package/dist/{select-field-block-BfiHq9t6.js.map → select-field-block-BF8v698d.js.map} +1 -1
  496. package/dist/{select-field-block-DJo2cX9Y.cjs → select-field-block-CaGjpIKM.cjs} +2 -2
  497. package/dist/{select-field-block-DJo2cX9Y.cjs.map → select-field-block-CaGjpIKM.cjs.map} +1 -1
  498. package/dist/{settings-row-BoAuUUuH.cjs → settings-row-Cr8gaO5a.cjs} +14 -4
  499. package/dist/settings-row-Cr8gaO5a.cjs.map +1 -0
  500. package/dist/{settings-row-B2IekRyH.js → settings-row-Cr9DsBSX.js} +14 -4
  501. package/dist/settings-row-Cr9DsBSX.js.map +1 -0
  502. package/dist/{span-payload-primitives-Buq9V8nK.js → span-payload-primitives-Dmzm3mb2.js} +2 -2
  503. package/dist/{span-payload-primitives-Buq9V8nK.js.map → span-payload-primitives-Dmzm3mb2.js.map} +1 -1
  504. package/dist/{span-payload-primitives-CjlNH9C-.cjs → span-payload-primitives-Dq8WqqNm.cjs} +2 -2
  505. package/dist/{span-payload-primitives-CjlNH9C-.cjs.map → span-payload-primitives-Dq8WqqNm.cjs.map} +1 -1
  506. package/dist/src/domains/capabilities/hooks/index.d.ts +3 -0
  507. package/dist/src/domains/capabilities/hooks/use-feedback-available.d.ts +8 -0
  508. package/dist/src/domains/capabilities/hooks/use-observability-capabilities.d.ts +22 -0
  509. package/dist/src/domains/capabilities/hooks/use-trace-query-available.d.ts +8 -0
  510. package/dist/src/domains/capabilities/index.d.ts +1 -0
  511. package/dist/src/domains/chat/messages/reasoning.d.ts +3 -1
  512. package/dist/src/domains/chat/messages/renderers/reasoning-part-renderer.d.ts +3 -1
  513. package/dist/src/domains/chat/stories/reasoning.stories.d.ts +1 -1
  514. package/dist/src/domains/memory/lib/timeline.d.ts +0 -1
  515. package/dist/src/domains/metrics/components/index.d.ts +1 -1
  516. package/dist/src/domains/metrics/components/kpi-card-view.d.ts +2 -1
  517. package/dist/src/domains/metrics/components/metrics-utils.d.ts +0 -2
  518. package/dist/src/domains/traces/components/trace-columns-menu.d.ts +3 -1
  519. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +1 -1
  520. package/dist/src/domains/traces/hooks/index.d.ts +1 -0
  521. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +19 -2
  522. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +46 -0
  523. package/dist/src/domains/traces/trace-filters.d.ts +6 -1
  524. package/dist/src/domains/traces/utils/index.d.ts +1 -1
  525. package/dist/src/domains/traces/utils/span-utils.d.ts +1 -6
  526. package/dist/src/ds/components/Card/Card.d.ts +2 -2
  527. package/dist/src/ds/components/CompactNumber/compact-number.d.ts +6 -0
  528. package/dist/src/ds/components/CompactNumber/compact-number.stories.d.ts +7 -0
  529. package/dist/src/ds/components/CompactNumber/index.d.ts +1 -0
  530. package/dist/src/ds/components/DataList/data-list-cells.d.ts +4 -3
  531. package/dist/src/ds/components/InlineCode/index.d.ts +1 -0
  532. package/dist/src/ds/components/InlineCode/inline-code.d.ts +3 -0
  533. package/dist/src/ds/components/InlineCode/inline-code.stories.d.ts +13 -0
  534. package/dist/src/ds/components/ItemList/item-list-date-cell.d.ts +3 -2
  535. package/dist/src/ds/components/RelativeTimestamp/index.d.ts +1 -0
  536. package/dist/src/ds/components/RelativeTimestamp/relative-timestamp.d.ts +6 -0
  537. package/dist/src/ds/components/RelativeTimestamp/relative-timestamp.stories.d.ts +7 -0
  538. package/dist/src/ds/components/StatusIndicators/status-dot-styles.d.ts +31 -2
  539. package/dist/src/ds/components/StatusIndicators/status-dot.stories.d.ts +3 -4
  540. package/dist/src/ds/components/StatusIndicators/status.d.ts +2 -3
  541. package/dist/src/ds/components/StatusIndicators/status.stories.d.ts +2 -1
  542. package/dist/src/ds/components/Txt/Txt.d.ts +5 -1
  543. package/dist/src/ds/new/settings/settings-row.d.ts +3 -1
  544. package/dist/src/ds/new/settings/settings.stories.d.ts +1 -0
  545. package/dist/src/hooks/stories/state/use-elapsed-time.stories.d.ts +17 -0
  546. package/dist/src/hooks/use-elapsed-time.d.ts +2 -0
  547. package/dist/src/lib/cost.d.ts +6 -0
  548. package/dist/src/utils/cost.d.ts +1 -0
  549. package/dist/src/utils/date-format.d.ts +28 -0
  550. package/dist/src/utils/duration.d.ts +7 -1
  551. package/dist/src/utils/relative-time.d.ts +7 -0
  552. package/dist/style.css +25 -4
  553. package/dist/{text-field-block-DGIM1i3Z.js → text-field-block-BYPiO9h4.js} +2 -2
  554. package/dist/{text-field-block-DGIM1i3Z.js.map → text-field-block-BYPiO9h4.js.map} +1 -1
  555. package/dist/{text-field-block-DePCgDOh.cjs → text-field-block-CRh8sRXP.cjs} +2 -2
  556. package/dist/{text-field-block-DePCgDOh.cjs.map → text-field-block-CRh8sRXP.cjs.map} +1 -1
  557. package/dist/{tool-call-Bs-9Cah5.js → tool-call-CIeNEYpK.js} +2 -2
  558. package/dist/{tool-call-Bs-9Cah5.js.map → tool-call-CIeNEYpK.js.map} +1 -1
  559. package/dist/{tool-call-C0JeHe8Z.cjs → tool-call-CnEm3eE0.cjs} +2 -2
  560. package/dist/{tool-call-C0JeHe8Z.cjs.map → tool-call-CnEm3eE0.cjs.map} +1 -1
  561. package/dist/{traces-data-list-D3k50j4n.cjs → traces-data-list-C5KZesk6.cjs} +4 -4
  562. package/dist/{traces-data-list-D3k50j4n.cjs.map → traces-data-list-C5KZesk6.cjs.map} +1 -1
  563. package/dist/{traces-data-list-B5MkMMBi.js → traces-data-list-CdWW9J6z.js} +4 -4
  564. package/dist/{traces-data-list-B5MkMMBi.js.map → traces-data-list-CdWW9J6z.js.map} +1 -1
  565. package/dist/utils/cost.cjs.js +40 -0
  566. package/dist/utils/cost.cjs.js.map +1 -0
  567. package/dist/utils/cost.d.ts +2 -0
  568. package/dist/utils/cost.es.js +34 -0
  569. package/dist/utils/cost.es.js.map +1 -0
  570. package/dist/utils/date-format.cjs.js +99 -0
  571. package/dist/utils/date-format.cjs.js.map +1 -0
  572. package/dist/utils/date-format.d.ts +2 -0
  573. package/dist/utils/date-format.es.js +91 -0
  574. package/dist/utils/date-format.es.js.map +1 -0
  575. package/dist/utils/duration.cjs.js +19 -2
  576. package/dist/utils/duration.cjs.js.map +1 -1
  577. package/dist/utils/duration.es.js +18 -3
  578. package/dist/utils/duration.es.js.map +1 -1
  579. package/dist/utils/file.es.js +2 -2
  580. package/dist/utils/relative-time.cjs.js +12 -0
  581. package/dist/utils/relative-time.cjs.js.map +1 -0
  582. package/dist/utils/relative-time.d.ts +2 -0
  583. package/dist/utils/relative-time.es.js +8 -0
  584. package/dist/utils/relative-time.es.js.map +1 -0
  585. package/package.json +8 -8
  586. package/dist/Txt-B4-2nLaI.cjs.map +0 -1
  587. package/dist/Txt-DTh3Pa_a.js.map +0 -1
  588. package/dist/data-list-top-DpbOA3uw.js.map +0 -1
  589. package/dist/data-list-top-WGUY167p.cjs.map +0 -1
  590. package/dist/field-error-id-6EfqmQ4C.cjs.map +0 -1
  591. package/dist/field-error-id-DyWx33Fu.js.map +0 -1
  592. package/dist/settings-row-B2IekRyH.js.map +0 -1
  593. package/dist/settings-row-BoAuUUuH.cjs.map +0 -1
  594. package/dist/src/ds/components/Table/utils.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.es.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { format, isToday } from 'date-fns';\nimport { DataListCell } from '../data-list-cells';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction toDate(value: Date | string): Date | null {\n const date = value instanceof Date ? value : new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell className=\"text-muted-foreground\">\n {date ? (isToday(date) ? 'Today' : format(date, 'MMM dd')) : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">\n {date ? format(date, 'h:mm:ss aaa') : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate font-mono text-body-sm text-muted-foreground\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate text-body-sm\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate font-mono text-body-sm text-muted-foreground\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":[],"mappings":";;;;;;;;;;AAOA,SAAS,OAAO,KAAA,EAAmC;AACjD,EAAA,MAAM,OAAO,KAAA,YAAiB,IAAA,GAAO,KAAA,GAAQ,IAAI,KAAK,KAAK,CAAA;AAC3D,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,IAAI,IAAA,GAAO,IAAA;AACxC;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBACE,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,uBAAA,EACrB,QAAA,EAAA,IAAA,GAAQ,OAAA,CAAQ,IAAI,CAAA,GAAI,OAAA,GAAU,MAAA,CAAO,IAAA,EAAM,QAAQ,IAAK,GAAA,EAC/D,CAAA;AAEJ;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBACE,GAAA,CAAC,gBAAa,SAAA,EAAU,oCAAA,EACrB,iBAAO,MAAA,CAAO,IAAA,EAAM,aAAa,CAAA,GAAI,GAAA,EACxC,CAAA;AAEJ;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,UAAU,KAAA,IAAS,IAAA,GAAO,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,GAAA;AACxD,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gFAAA,EAAiF,KAAA,EAAO,OAAA,EACrG,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAAkC;AACpF,EAAA,MAAM,UAAU,QAAA,IAAY,GAAA;AAC5B,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gDAAA,EAAiD,KAAA,EAAO,OAAA,EACrE,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,OAAA,GAAU,KAAA,IAAS,IAAA,GAAO,GAAA,GAAM,OAAO,KAAA,KAAU,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA;AACtG,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gFAAA,EAAiF,KAAA,EAAO,OAAA,EACrG,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;;ACnFA,SAAS,mBAAmB,KAAA,EAA4C;AACtE,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,MAAA,CAAO,kBAAA,EAAoB;AAAA,EAC9D,GAAA,EAAK,WAAA;AAAA,EACL,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,SAAA,EAAW,iBAAA;AAAA,EACX,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,QAAA,EAAU,sBAAA;AAAA,EACV,QAAA,EAAU,sBAAA;AAAA,EACV,SAAA,EAAW,uBAAA;AAAA,EACX,UAAA,EAAY,wBAAA;AAAA,EACZ,SAAA,EAAW;AACb,CAAC;;;;"}
1
+ {"version":3,"file":"DataList.es.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { DataListCell } from '../data-list-cells';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate font-mono text-body-sm text-muted-foreground\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate text-body-sm\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <span className=\"block max-w-full min-w-0 truncate font-mono text-body-sm text-muted-foreground\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":[],"mappings":";;;;;;;;;;AAeO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,uBAAO,GAAA,CAAC,gBAAa,SAAA,EAAU,uBAAA,EAAyB,qBAAW,SAAA,EAAW,MAAM,KAAK,GAAA,EAAI,CAAA;AAC/F;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,uBACE,GAAA,CAAC,gBAAa,SAAA,EAAU,oCAAA,EAAsC,qBAAW,SAAA,EAAW,MAAM,KAAK,GAAA,EAAI,CAAA;AAEvG;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,UAAU,KAAA,IAAS,IAAA,GAAO,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,GAAA;AACxD,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gFAAA,EAAiF,KAAA,EAAO,OAAA,EACrG,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAAkC;AACpF,EAAA,MAAM,UAAU,QAAA,IAAY,GAAA;AAC5B,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gDAAA,EAAiD,KAAA,EAAO,OAAA,EACrE,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,OAAA,GAAU,KAAA,IAAS,IAAA,GAAO,GAAA,GAAM,OAAO,KAAA,KAAU,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA;AACtG,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gFAAA,EAAiF,KAAA,EAAO,OAAA,EACrG,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;;ACtEA,SAAS,mBAAmB,KAAA,EAA4C;AACtE,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,MAAA,CAAO,kBAAA,EAAoB;AAAA,EAC9D,GAAA,EAAK,WAAA;AAAA,EACL,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,SAAA,EAAW,iBAAA;AAAA,EACX,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,QAAA,EAAU,sBAAA;AAAA,EACV,QAAA,EAAU,sBAAA;AAAA,EACV,SAAA,EAAW,uBAAA;AAAA,EACX,UAAA,EAAY,wBAAA;AAAA,EACZ,SAAA,EAAW;AACb,CAAC;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataPanel = require('../data-panel-XPXrhYJI.cjs');
5
+ const dataPanel = require('../data-panel-C_BqhzeL.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataPanel } from '../data-panel-BQVTKo86.js';
1
+ export { D as DataPanel } from '../data-panel-BWgExbHs.js';
2
2
  //# sourceMappingURL=DataPanel.es.js.map
@@ -9,7 +9,7 @@ const lucideReact = require('lucide-react');
9
9
  const Button = require('../Button-BAMnPqos.cjs');
10
10
  const datePicker = require('../date-picker-dRZF8frf.cjs');
11
11
  const popover = require('../popover-lBqKiPtp.cjs');
12
- const Txt = require('../Txt-B4-2nLaI.cjs');
12
+ const Txt = require('../Txt-DPmEpNbp.cjs');
13
13
  const utils_cn = require('../cn-DG0X1KEP.cjs');
14
14
 
15
15
  const API_DATE_FORMAT = "yyyy-MM-dd";
@@ -5,7 +5,7 @@ import { CalendarDaysIcon } from 'lucide-react';
5
5
  import { B as Button } from '../Button-B8nF87ai.js';
6
6
  import { D as DatePicker } from '../date-picker-DgWTsiJ7.js';
7
7
  import { P as Popover, b as PopoverTrigger, a as PopoverContent } from '../popover-Dg70UGyn.js';
8
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
8
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
9
9
  import { c as cn } from '../cn-65Adrsfj.js';
10
10
 
11
11
  const API_DATE_FORMAT = "yyyy-MM-dd";
@@ -7,7 +7,7 @@ const dateFns = require('date-fns');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
9
  const useDebounce = require('use-debounce');
10
- const textFieldBlock = require('../text-field-block-DePCgDOh.cjs');
10
+ const textFieldBlock = require('../text-field-block-CRh8sRXP.cjs');
11
11
  const datePicker = require('../date-picker-dRZF8frf.cjs');
12
12
  const timePicker = require('../time-picker-BNhe7Zpb.cjs');
13
13
  const Button = require('../Button-BAMnPqos.cjs');
@@ -3,7 +3,7 @@ import { format, isValid, formatDate } from 'date-fns';
3
3
  import { X, Check, CalendarIcon } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { useDebouncedCallback } from 'use-debounce';
6
- import { T as TextFieldBlock } from '../text-field-block-DGIM1i3Z.js';
6
+ import { T as TextFieldBlock } from '../text-field-block-BYPiO9h4.js';
7
7
  import { D as DatePicker } from '../date-picker-DgWTsiJ7.js';
8
8
  import { T as TimePicker } from '../time-picker-kvCsW78V.js';
9
9
  import { B as Button } from '../Button-B8nF87ai.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dateTimeRangePicker = require('../date-time-range-picker-BCzvSYx3.cjs');
5
+ const dateTimeRangePicker = require('../date-time-range-picker-sT5qAW-_.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DateTimeRangePicker } from '../date-time-range-picker-C-t3Kdpk.js';
1
+ export { D as DateTimeRangePicker } from '../date-time-range-picker-Bnviv7s-.js';
2
2
  //# sourceMappingURL=DateTimeRangePicker.es.js.map
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
- const Txt = require('../Txt-B4-2nLaI.cjs');
6
+ const Txt = require('../Txt-DPmEpNbp.cjs');
7
7
  const icons_Icon = require('../icons/Icon.cjs.js');
8
8
  require('lucide-react');
9
9
  const primitives_raisedSurface = require('../primitives/raised-surface.cjs.js');
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
2
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
3
3
  import { Icon } from '../icons/Icon.es.js';
4
4
  import 'lucide-react';
5
5
  import { raisedSurfaceStyle } from '../primitives/raised-surface.es.js';
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const skeleton = require('../skeleton-cXUjPrq9.cjs');
7
- const Txt = require('../Txt-B4-2nLaI.cjs');
7
+ const Txt = require('../Txt-DPmEpNbp.cjs');
8
8
  const icons_Icon = require('../icons/Icon.cjs.js');
9
9
  require('lucide-react');
10
10
 
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { S as Skeleton } from '../skeleton-BsRAXyh5.js';
3
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
3
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
4
4
  import { Icon } from '../icons/Icon.es.js';
5
5
  import 'lucide-react';
6
6
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
- const Txt = require('../Txt-B4-2nLaI.cjs');
6
+ const Txt = require('../Txt-DPmEpNbp.cjs');
7
7
 
8
8
  const Entry = ({ label, children }) => {
9
9
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
2
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
3
3
 
4
4
  const Entry = ({ label, children }) => {
5
5
  return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
@@ -9,10 +9,10 @@ const React = require('react');
9
9
  const Button = require('../Button-BAMnPqos.cjs');
10
10
  const Notice = require('../Notice-AUNd8fqT.cjs');
11
11
  const envFile = require('../env-file-BU2hStkm.cjs');
12
- const Txt = require('../Txt-B4-2nLaI.cjs');
13
- const dataList = require('../data-list-PwFpP_mo.cjs');
12
+ const Txt = require('../Txt-DPmEpNbp.cjs');
13
+ const dataList = require('../data-list-RI8c32dk.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
- const fieldErrorId = require('../field-error-id-6EfqmQ4C.cjs');
15
+ const fieldErrorId = require('../field-error-id-V_WejsRL.cjs');
16
16
  const inputGroup = require('../input-group-BfnJ0RIj.cjs');
17
17
 
18
18
  function EnvironmentVariablesEditorActions({ className, ...props }) {
@@ -5,10 +5,10 @@ import { createContext, use, useState, useMemo } from 'react';
5
5
  import { B as Button } from '../Button-B8nF87ai.js';
6
6
  import { N as Notice } from '../Notice-WT8G4OA6.js';
7
7
  import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowCx.js';
8
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
9
- import { D as DataList } from '../data-list-DisTjDHP.js';
8
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
9
+ import { D as DataList } from '../data-list-5-nRJbEO.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
- import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-DyWx33Fu.js';
11
+ import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-DD7OARLU.js';
12
12
  import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-Jt7lZsN9.js';
13
13
 
14
14
  function EnvironmentVariablesEditorActions({ className, ...props }) {
@@ -12,7 +12,7 @@ const Button = require('../Button-BAMnPqos.cjs');
12
12
  const comboboxStyles = require('../combobox-styles-LHrC0tU0.cjs');
13
13
  const combobox = require('@base-ui/react/combobox');
14
14
  const kbd = require('../kbd-BptPsKP6.cjs');
15
- const Txt = require('../Txt-B4-2nLaI.cjs');
15
+ const Txt = require('../Txt-DPmEpNbp.cjs');
16
16
  const primitives_floating = require('../primitives/floating.cjs.js');
17
17
  const primitives_formElement = require('../primitives/form-element.cjs.js');
18
18
  const primitives_menuItem = require('../primitives/menu-item.cjs.js');
@@ -9,7 +9,7 @@ import { B as Button } from '../Button-B8nF87ai.js';
9
9
  import { a as comboboxTriggerClass, c as comboboxStyles } from '../combobox-styles-BhUqhOvz.js';
10
10
  import { Combobox } from '@base-ui/react/combobox';
11
11
  import { K as Kbd } from '../kbd-BDVTQHD_.js';
12
- import { T as Txt } from '../Txt-DTh3Pa_a.js';
12
+ import { T as Txt } from '../Txt-BP1SRHmL.js';
13
13
  import { FLOATING_POSITION_METHOD } from '../primitives/floating.es.js';
14
14
  import { unstyledFormElementStyle, inputFocusBorderWithin } from '../primitives/form-element.es.js';
15
15
  import { MENU_SIDE_OFFSET } from '../primitives/menu-item.es.js';
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const fieldErrorId = require('../field-error-id-6EfqmQ4C.cjs');
5
+ const fieldErrorId = require('../field-error-id-V_WejsRL.cjs');
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const utils_cn = require('../cn-DG0X1KEP.cjs');
8
- const textFieldBlock = require('../text-field-block-DePCgDOh.cjs');
8
+ const textFieldBlock = require('../text-field-block-CRh8sRXP.cjs');
9
9
  const textarea = require('../textarea-gUBUqpol.cjs');
10
10
  const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
11
- const searchFieldBlock = require('../search-field-block-7-ufp4uG.cjs');
12
- const selectFieldBlock = require('../select-field-block-DJo2cX9Y.cjs');
11
+ const searchFieldBlock = require('../search-field-block-K_e_S9WY.cjs');
12
+ const selectFieldBlock = require('../select-field-block-CaGjpIKM.cjs');
13
13
 
14
14
  function FieldBlocksLayoutColumn({ children, className }) {
15
15
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("grid content-start gap-6", className), children });
@@ -1,11 +1,11 @@
1
- import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-DyWx33Fu.js';
1
+ import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-DD7OARLU.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { c as cn } from '../cn-65Adrsfj.js';
4
- export { T as TextFieldBlock } from '../text-field-block-DGIM1i3Z.js';
4
+ export { T as TextFieldBlock } from '../text-field-block-BYPiO9h4.js';
5
5
  import { T as Textarea } from '../textarea-B6wvS_CQ.js';
6
6
  import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
7
- export { S as SearchFieldBlock } from '../search-field-block-fU3tStmB.js';
8
- export { S as SelectFieldBlock } from '../select-field-block-BfiHq9t6.js';
7
+ export { S as SearchFieldBlock } from '../search-field-block-Dj2KJyjQ.js';
8
+ export { S as SelectFieldBlock } from '../select-field-block-BF8v698d.js';
9
9
 
10
10
  function FieldBlocksLayoutColumn({ children, className }) {
11
11
  return /* @__PURE__ */ jsx("div", { className: cn("grid content-start gap-6", className), children });
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const Header = require('../Header-CGjhJ0nQ.cjs');
5
+ const Header = require('../Header-y51Sfo3G.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { H as Header, a as HeaderAction, b as HeaderGroup, c as HeaderTitle } from '../Header-BVnFQlzE.js';
1
+ export { H as Header, a as HeaderAction, b as HeaderGroup, c as HeaderTitle } from '../Header-hTHhO02b.js';
2
2
  //# sourceMappingURL=Header.es.js.map
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const inlineCode = require('../inline-code-CSwG-x8D.cjs');
6
+
7
+
8
+
9
+ exports.InlineCode = inlineCode.InlineCode;
10
+ //# sourceMappingURL=InlineCode.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineCode.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from '../src/ds/components/InlineCode/index'
2
+ export {}
@@ -0,0 +1,2 @@
1
+ export { I as InlineCode } from '../inline-code-BW6W121s.js';
2
+ //# sourceMappingURL=InlineCode.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineCode.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const utils_cn = require('../cn-DG0X1KEP.cjs');
7
- const dateFns = require('date-fns');
8
- const format = require('date-fns/format');
9
- const isToday = require('date-fns/isToday');
7
+ const utils_dateFormat = require('../utils/date-format.cjs.js');
10
8
  const React = require('react');
11
9
  const tooltip = require('../tooltip-FvWL16Xn.cjs');
12
10
  const primitives_transitions = require('../primitives/transitions.cjs.js');
@@ -17,18 +15,8 @@ function ItemListCell({ children, className }) {
17
15
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("", className), children });
18
16
  }
19
17
 
20
- function ItemListDateCell({ date, className, withTime = false }) {
21
- const isThisYearDate = date ? dateFns.isThisYear(new Date(date)) : false;
22
- const displayDayAndMonth = date ? isToday.isToday(new Date(date)) ? "Today" : format.format(new Date(date), "MMM dd") : "";
23
- const displayYear = date && !isThisYearDate ? format.format(new Date(date), "yyyy") : "";
24
- const displayTime = date && withTime ? `${format.format(new Date(date), "'at' h:mm aaa")}` : "";
25
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("truncate text-body text-placeholder", className), children: [
26
- displayDayAndMonth,
27
- " ",
28
- displayYear,
29
- " ",
30
- displayTime
31
- ] });
18
+ function ItemListDateCell({ date, className, preset = "date" }) {
19
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("truncate text-body text-placeholder", className), children: utils_dateFormat.formatDate(date, preset) });
32
20
  }
33
21
 
34
22
  function getItemListColumnTemplate(columns) {
@@ -319,7 +307,7 @@ function ItemListVersionCell({ version, date, isLatest, isDeleted }) {
319
307
  "v. ",
320
308
  version
321
309
  ] }),
322
- /* @__PURE__ */ jsxRuntime.jsx("em", { className: "text-caption text-placeholder", children: date ? dateFns.format(new Date(date), "MMM d, yyyy HH:mm") : null })
310
+ /* @__PURE__ */ jsxRuntime.jsx("em", { className: "text-caption text-placeholder", children: utils_dateFormat.formatDate(date, "date-time") })
323
311
  ]
324
312
  }
325
313
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"ItemList.cjs.js","sources":["../../src/ds/components/ItemList/item-list-cell.tsx","../../src/ds/components/ItemList/item-list-date-cell.tsx","../../src/ds/components/ItemList/shared.tsx","../../src/ds/components/ItemList/item-list-header.tsx","../../src/ds/components/ItemList/item-list-header-col.tsx","../../src/ds/components/ItemList/item-list-id-cell.tsx","../../src/ds/components/ItemList/item-list-items.tsx","../../src/ds/components/ItemList/item-list-items-scroller.tsx","../../src/ds/components/ItemList/item-list-label-cell.tsx","../../src/ds/components/ItemList/item-list-link-cell.tsx","../../src/ds/components/ItemList/item-list-message.tsx","../../src/ds/components/ItemList/item-list-next-page-loading.tsx","../../src/ds/components/ItemList/item-list-pagination.tsx","../../src/ds/components/ItemList/item-list-root.tsx","../../src/ds/components/ItemList/item-list-row.tsx","../../src/ds/components/ItemList/item-list-row-button.tsx","../../src/ds/components/ItemList/item-list-status-cell.tsx","../../src/ds/components/ItemList/item-list-text-cell.tsx","../../src/ds/components/ItemList/helpers.ts","../../src/ds/components/ItemList/item-list-version-cell.tsx","../../src/ds/components/ItemList/item-list.tsx","../../src/ds/components/ItemList/item-list-items-skeleton.tsx","../../src/ds/components/ItemList/item-list-skeleton.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type ItemListTextCellProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListCell({ children, className }: ItemListTextCellProps) {\n return <div className={cn('', className)}>{children}</div>;\n}\n","import { isThisYear } from 'date-fns';\nimport { format } from 'date-fns/format';\nimport { isToday } from 'date-fns/isToday';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListDateCellProps = {\n date: Date | string | null;\n className?: string;\n withTime?: boolean;\n};\n\nexport function ItemListDateCell({ date, className, withTime = false }: ItemListDateCellProps) {\n const isThisYearDate = date ? isThisYear(new Date(date)) : false;\n\n const displayDayAndMonth = date ? (isToday(new Date(date)) ? 'Today' : format(new Date(date), 'MMM dd')) : '';\n const displayYear = date && !isThisYearDate ? format(new Date(date), 'yyyy') : '';\n const displayTime = date && withTime ? `${format(new Date(date), \"'at' h:mm aaa\")}` : '';\n\n return (\n <div className={cn('truncate text-body text-placeholder', className)}>\n {displayDayAndMonth} {displayYear} {displayTime}\n </div>\n );\n}\n","import type { ItemListColumn } from './types';\n\nexport function getItemListColumnTemplate(columns?: ItemListColumn[]): string {\n if (!columns || columns.length === 0) {\n return '';\n }\n\n return columns\n ?.map(column => {\n return column.size;\n })\n .join(' ');\n}\n","import { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\n\nimport { cn } from '@/lib/utils';\n\nexport type ItemListHeaderProps = {\n columns?: ItemListColumn[];\n isSelectionActive?: boolean;\n children?: React.ReactNode;\n};\n\nexport function ItemListHeader({ columns, isSelectionActive, children }: ItemListHeaderProps) {\n return (\n <div className={cn('sticky top-0 z-10 mb-2 rounded-lg bg-card px-3')}>\n <div\n className={cn('grid items-center gap-3 text-left text-meta tracking-widest text-muted-foreground uppercase', {\n 'pl-12 [&>label]:absolute [&>label]:left-0': isSelectionActive,\n })}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n >\n {children}\n </div>\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListHeaderColProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListHeaderCol({ children, className }: ItemListHeaderColProps) {\n return <span className={cn('py-3', className)}>{children}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListIdCellProps = {\n id: string;\n className?: string;\n isShortened?: boolean;\n};\n\nexport function ItemListIdCell({ id, className, isShortened = true }: ItemListIdCellProps) {\n const displayId = isShortened ? id.slice(0, 8) : id;\n return <div className={cn('truncate py-[0.6rem] text-body text-placeholder', className)}>{displayId}</div>;\n}\n","import React from 'react';\n\nexport type ItemListItemsProps = {\n children?: React.ReactNode;\n};\n\nexport function ItemListItems({ children }: ItemListItemsProps) {\n return <ul className=\"grid content-start\">{children}</ul>;\n}\n","import React, { useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListItemsScroller = {\n children?: React.ReactNode;\n};\n\nexport function ItemListItemsScroller({ children }: ItemListItemsScroller) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n return (\n <div ref={containerRef} className={cn('overflow-y-auto')}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListLabelCellProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListLabelCell({ children, className }: ItemListLabelCellProps) {\n return (\n <label\n className={cn(\n 'flex h-full w-14 items-center justify-center rounded-lg text-caption hover:bg-fill-subtle',\n className,\n )}\n >\n {children}\n </label>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';\nimport { transitions, focusRing } from '@/ds/primitives/transitions';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListLinkCellProps = {\n children?: React.ReactNode;\n className?: string;\n href: string;\n LinkComponent: LinkComponent;\n tooltip?: React.ReactNode;\n};\n\nexport function ItemListLinkCell({ children, href, className, LinkComponent: Link, tooltip }: ItemListLinkCellProps) {\n const link = (\n <Link\n href={href}\n className={cn(\n 'flex w-full items-center justify-center gap-4 rounded-lg px-3 py-2 text-left',\n 'hover:bg-fill-subtle',\n transitions.colors,\n focusRing.visible,\n\n className,\n )}\n >\n {children}\n </Link>\n );\n\n if (tooltip == null) return link;\n\n return (\n <Tooltip>\n <TooltipTrigger render={link} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n","import { InfoIcon, TriangleAlertIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListMessageProps = {\n children?: React.ReactNode;\n message?: string;\n className?: string;\n type?: 'info' | 'error';\n};\n\nexport function ItemListMessage({ children, message, className, type }: ItemListMessageProps) {\n if (!children && !message) {\n return null;\n }\n\n return (\n <div className={cn('grid border-t border-border', className)}>\n {message ? (\n <p\n className={cn(\n 'grid justify-center justify-items-center gap-2 p-5 text-center text-body text-muted-foreground',\n '[&>svg]:size-[1.5em] [&>svg]:opacity-75',\n {\n '[&>svg]:text-red-500': type === 'error',\n },\n )}\n >\n {type === 'error' ? <TriangleAlertIcon /> : <InfoIcon />} {message}\n </p>\n ) : (\n children\n )}\n </div>\n );\n}\n","export type ItemListNextPageLoadingProps = {\n isLoading?: boolean;\n hasMore?: boolean;\n setEndOfListElement?: (element: HTMLDivElement | null) => void;\n loadingText?: string;\n noMoreDataText?: string;\n};\n\nexport function ItemListNextPageLoading({\n isLoading,\n hasMore,\n setEndOfListElement,\n loadingText = 'Loading more data...',\n noMoreDataText = 'No more data to load',\n}: ItemListNextPageLoadingProps) {\n if (!setEndOfListElement) {\n return null;\n }\n\n return (\n <div ref={setEndOfListElement} className=\"mt-4 flex justify-center text-body text-muted-foreground opacity-50\">\n {isLoading && loadingText}\n {!hasMore && !isLoading && noMoreDataText}\n </div>\n );\n}\n","import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nexport type ItemListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function ItemListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: ItemListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className={cn('flex items-center justify-center gap-4 pt-4 text-body text-muted-foreground')}>\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div\n className={cn(\n 'flex gap-4',\n '[&>button]:flex [&>button]:items-center [&>button]:gap-2 [&>button]:rounded-md [&>button]:border [&>button]:border-border [&>button]:p-1 [&>button]:px-2 [&>button]:text-muted-foreground [&>button]:transition-colors [&>button:hover]:text-foreground',\n '[&_svg]:size-[1em] [&_svg]:text-muted-foreground',\n )}\n >\n {typeof currentPage === 'number' && currentPage > 0 && (\n <button onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </button>\n )}\n {hasMore && (\n <button onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRootProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListRoot({ children, className }: ItemListRootProps) {\n return <div className={cn('grid grid-rows-[auto_1fr] overflow-y-auto', className)}>{children}</div>;\n}\n","import { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRowProps = {\n isSelected?: boolean;\n children?: React.ReactNode;\n columns?: ItemListColumn[];\n};\n\nexport function ItemListRow({ isSelected, children, columns }: ItemListRowProps) {\n return (\n <li\n className={cn(\n 'flex overflow-hidden rounded-lg border border-transparent border-t-border py-[3px] pb-[2px] text-body text-foreground first:border-t-transparent',\n '[&:last-child>button]:rounded-b-lg',\n '[&.selected-row]:border [&.selected-row]:border-dashed [&.selected-row]:border-white/50 [&.selected-row]:pr-[3px] [&.selected-row]:first:border-t',\n '[&:has(+.selected-row)]:rounded-b-none [&:has(+.selected-row)]:border-b-transparent',\n '[.selected-row+&]:rounded-t-none',\n transitions.colors,\n {\n 'selected-row': isSelected,\n 'grid gap-3 px-3': columns,\n },\n )}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n >\n {children}\n </li>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';\nimport { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\nimport { transitions, focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRowButtonProps = React.ComponentPropsWithoutRef<'button'> & {\n item?: any;\n isFeatured?: boolean;\n children?: React.ReactNode;\n onClick?: (itemId: string) => void;\n columns?: ItemListColumn[];\n className?: string;\n disabled?: boolean;\n tooltip?: React.ReactNode;\n};\n\nexport function ItemListRowButton({\n item,\n isFeatured,\n onClick,\n children,\n columns,\n className,\n disabled,\n tooltip,\n ...props\n}: ItemListRowButtonProps) {\n const handleClick = () => {\n onClick?.(item?.id);\n };\n\n const button = (\n <button\n {...props}\n onClick={handleClick}\n className={cn(\n 'grid w-full items-center gap-3 rounded-lg px-3 text-left',\n transitions.colors,\n focusRing.visible,\n {\n 'bg-fill-hover': isFeatured,\n 'hover:bg-fill-subtle': item && !isFeatured && !disabled,\n },\n className,\n )}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n disabled={disabled}\n >\n {children}\n </button>\n );\n\n if (tooltip == null) return button;\n\n return (\n <Tooltip>\n <TooltipTrigger render={button} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListStatusCellProps = {\n status?: string;\n};\n\nfunction capitalize(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nexport function ItemListStatusCell({ status }: ItemListStatusCellProps) {\n if (!status) {\n return null;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className={cn('relative flex h-full w-10 items-center justify-center bg-transparent')}>\n <div\n className={cn('size-2 rounded-full', {\n 'bg-green-600': ['success', 'completed'].includes(status),\n 'bg-red-700': ['error', 'failed'].includes(status),\n 'bg-yellow-500': ['pending', 'running'].includes(status),\n })}\n ></div>\n </div>\n </TooltipTrigger>\n <TooltipContent>{capitalize(status)}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListTextCellProps = {\n children: React.ReactNode;\n isLoading?: boolean;\n className?: string;\n};\n\nexport function ItemListTextCell({ children, isLoading, className }: ItemListTextCellProps) {\n return (\n <div className={cn('truncate py-[0.6rem] text-body text-muted-foreground', className)}>\n {isLoading ? (\n <div className=\"h-4 animate-pulse rounded-md bg-muted text-transparent select-none\"></div>\n ) : (\n children\n )}\n </div>\n );\n}\n","type getToItemFnParams = {\n entries: { id: string }[];\n id: string | undefined;\n update: (id: string) => void;\n};\n\nexport const ITEM_LIST_VERSION_STATUS_LABELS = {\n latest: 'Latest version',\n deleted: 'Deleted in this version',\n} as const;\n\nexport function getItemListVersionStatusLabel({\n isLatest,\n isDeleted,\n}: {\n isLatest?: boolean;\n isDeleted?: boolean;\n}): string | undefined {\n const labels: string[] = [];\n if (isLatest) labels.push(ITEM_LIST_VERSION_STATUS_LABELS.latest);\n if (isDeleted) labels.push(ITEM_LIST_VERSION_STATUS_LABELS.deleted);\n return labels.length > 0 ? labels.join(' · ') : undefined;\n}\n\nexport function getToNextItemFn({ entries, id, update }: getToItemFnParams) {\n const currentIndex = entries.findIndex(entry => entry.id === id);\n const thereIsNextItem = currentIndex < entries.length - 1;\n\n if (thereIsNextItem) {\n return () => {\n const nextItem = entries[currentIndex + 1];\n if (!nextItem) return;\n update(nextItem.id);\n };\n }\n\n return undefined;\n}\n\nexport function getToPreviousItemFn({ entries, id, update }: getToItemFnParams) {\n const currentIndex = entries.findIndex(entry => entry.id === id);\n const thereIsPreviousItem = currentIndex > 0;\n\n if (thereIsPreviousItem) {\n return () => {\n const previousItem = entries[currentIndex - 1];\n if (!previousItem) return;\n update(previousItem.id);\n };\n }\n\n return undefined;\n}\n","import { format } from 'date-fns';\nimport { BanIcon, ClockIcon } from 'lucide-react';\nimport { Badge } from '../Badge/Badge';\nimport { ITEM_LIST_VERSION_STATUS_LABELS } from './helpers';\nimport { ItemListCell } from './item-list-cell';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListVersionCellProps = {\n version: string | number;\n date?: Date | string | null;\n isLatest?: boolean;\n isDeleted?: boolean;\n};\n\nexport function ItemListVersionCell({ version, date, isLatest, isDeleted }: ItemListVersionCellProps) {\n return (\n <ItemListCell className={cn('grid grid-cols-[1fr_auto] pl-1')}>\n <div\n className={cn('grid gap-1 leading-none text-muted-foreground', {\n 'text-muted-foreground': isLatest,\n })}\n >\n <strong className=\"text-body-sm\">v. {version}</strong>\n <em className=\"text-caption text-placeholder\">{date ? format(new Date(date), 'MMM d, yyyy HH:mm') : null}</em>\n </div>\n {(isLatest || isDeleted) && (\n <div className=\"flex items-center gap-1\">\n {isLatest && (\n <span className=\"inline-flex\" role=\"img\" aria-label={ITEM_LIST_VERSION_STATUS_LABELS.latest}>\n <Badge variant=\"blue\" size=\"sm\" icon={<ClockIcon />} />\n </span>\n )}\n {isDeleted && (\n <span className=\"inline-flex\" role=\"img\" aria-label={ITEM_LIST_VERSION_STATUS_LABELS.deleted}>\n <Badge variant=\"red\" size=\"sm\" icon={<BanIcon />} />\n </span>\n )}\n </div>\n )}\n </ItemListCell>\n );\n}\n","import { ItemListCell } from './item-list-cell';\nimport { ItemListDateCell } from './item-list-date-cell';\nimport { ItemListHeader } from './item-list-header';\nimport { ItemListHeaderCol } from './item-list-header-col';\nimport { ItemListIdCell } from './item-list-id-cell';\nimport { ItemListItems } from './item-list-items';\nimport { ItemListItemsScroller } from './item-list-items-scroller';\nimport { ItemListLabelCell } from './item-list-label-cell';\nimport { ItemListLinkCell } from './item-list-link-cell';\nimport { ItemListMessage } from './item-list-message';\nimport { ItemListNextPageLoading } from './item-list-next-page-loading';\nimport { ItemListPagination } from './item-list-pagination';\nimport { ItemListRoot } from './item-list-root';\nimport { ItemListRow } from './item-list-row';\nimport { ItemListRowButton } from './item-list-row-button';\nimport { ItemListStatusCell } from './item-list-status-cell';\nimport { ItemListTextCell } from './item-list-text-cell';\nimport { ItemListVersionCell } from './item-list-version-cell';\n\nexport const ItemList = Object.assign(ItemListRoot, {\n Header: ItemListHeader,\n HeaderCol: ItemListHeaderCol,\n Items: ItemListItems,\n Scroller: ItemListItemsScroller,\n Row: ItemListRow,\n RowButton: ItemListRowButton,\n Message: ItemListMessage,\n NextPageLoading: ItemListNextPageLoading,\n Pagination: ItemListPagination,\n Cell: ItemListCell,\n TextCell: ItemListTextCell,\n StatusCell: ItemListStatusCell,\n VersionCell: ItemListVersionCell,\n IdCell: ItemListIdCell,\n DateCell: ItemListDateCell,\n LinkCell: ItemListLinkCell,\n LabelCell: ItemListLabelCell,\n});\n","import { ItemListItems } from './item-list-items';\nimport { ItemListRow } from './item-list-row';\nimport { ItemListRowButton } from './item-list-row-button';\nimport type { ItemListColumn } from './types';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'];\n\nexport type ItemListItemsSkeletonProps = {\n columns?: ItemListColumn[];\n numberOfRows?: number;\n};\n\nexport function ItemListItemsSkeleton({ columns, numberOfRows = 3 }: ItemListItemsSkeletonProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + (columns?.length || 0) + (numberOfRows || 0)) % widths.length;\n return widths[index];\n };\n\n return (\n <ItemListItems>\n {Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <ItemListRow key={rowIdx}>\n <ItemListRowButton columns={columns}>\n {(columns || []).map((col, colIdx) => {\n const key = `${col.name}-${colIdx}`;\n return (\n <div\n key={key}\n className=\"h-4 animate-pulse rounded-md bg-muted text-transparent select-none\"\n style={{ width: `${getPseudoRandomWidth(rowIdx, colIdx)}` }}\n ></div>\n );\n })}\n </ItemListRowButton>\n </ItemListRow>\n ))}\n </ItemListItems>\n );\n}\n","import { ItemList } from './item-list';\nimport { ItemListHeader } from './item-list-header';\nimport { ItemListItemsSkeleton } from './item-list-items-skeleton';\nimport type { ItemListItemsSkeletonProps } from './item-list-items-skeleton';\n\nexport function ItemListSkeleton({ columns, numberOfRows }: ItemListItemsSkeletonProps) {\n return (\n <ItemList>\n <ItemListHeader columns={columns} />\n <ItemListItemsSkeleton columns={columns} numberOfRows={numberOfRows} />\n </ItemList>\n );\n}\n"],"names":["cn","isThisYear","isToday","format","jsx","useRef","tooltip","transitions","focusRing","Tooltip","TooltipTrigger","TooltipContent","jsxs","TriangleAlertIcon","InfoIcon","ArrowLeftIcon","ArrowRightIcon","Badge","ClockIcon","BanIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ItemList.cjs.js","sources":["../../src/ds/components/ItemList/item-list-cell.tsx","../../src/ds/components/ItemList/item-list-date-cell.tsx","../../src/ds/components/ItemList/shared.tsx","../../src/ds/components/ItemList/item-list-header.tsx","../../src/ds/components/ItemList/item-list-header-col.tsx","../../src/ds/components/ItemList/item-list-id-cell.tsx","../../src/ds/components/ItemList/item-list-items.tsx","../../src/ds/components/ItemList/item-list-items-scroller.tsx","../../src/ds/components/ItemList/item-list-label-cell.tsx","../../src/ds/components/ItemList/item-list-link-cell.tsx","../../src/ds/components/ItemList/item-list-message.tsx","../../src/ds/components/ItemList/item-list-next-page-loading.tsx","../../src/ds/components/ItemList/item-list-pagination.tsx","../../src/ds/components/ItemList/item-list-root.tsx","../../src/ds/components/ItemList/item-list-row.tsx","../../src/ds/components/ItemList/item-list-row-button.tsx","../../src/ds/components/ItemList/item-list-status-cell.tsx","../../src/ds/components/ItemList/item-list-text-cell.tsx","../../src/ds/components/ItemList/helpers.ts","../../src/ds/components/ItemList/item-list-version-cell.tsx","../../src/ds/components/ItemList/item-list.tsx","../../src/ds/components/ItemList/item-list-items-skeleton.tsx","../../src/ds/components/ItemList/item-list-skeleton.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type ItemListTextCellProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListCell({ children, className }: ItemListTextCellProps) {\n return <div className={cn('', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\nimport type { DatePreset } from '@/utils/date-format';\n\nexport type ItemListDateCellProps = {\n date: Date | string | null;\n className?: string;\n preset?: DatePreset;\n};\n\nexport function ItemListDateCell({ date, className, preset = 'date' }: ItemListDateCellProps) {\n return <div className={cn('truncate text-body text-placeholder', className)}>{formatDate(date, preset)}</div>;\n}\n","import type { ItemListColumn } from './types';\n\nexport function getItemListColumnTemplate(columns?: ItemListColumn[]): string {\n if (!columns || columns.length === 0) {\n return '';\n }\n\n return columns\n ?.map(column => {\n return column.size;\n })\n .join(' ');\n}\n","import { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\n\nimport { cn } from '@/lib/utils';\n\nexport type ItemListHeaderProps = {\n columns?: ItemListColumn[];\n isSelectionActive?: boolean;\n children?: React.ReactNode;\n};\n\nexport function ItemListHeader({ columns, isSelectionActive, children }: ItemListHeaderProps) {\n return (\n <div className={cn('sticky top-0 z-10 mb-2 rounded-lg bg-card px-3')}>\n <div\n className={cn('grid items-center gap-3 text-left text-meta tracking-widest text-muted-foreground uppercase', {\n 'pl-12 [&>label]:absolute [&>label]:left-0': isSelectionActive,\n })}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n >\n {children}\n </div>\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListHeaderColProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListHeaderCol({ children, className }: ItemListHeaderColProps) {\n return <span className={cn('py-3', className)}>{children}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListIdCellProps = {\n id: string;\n className?: string;\n isShortened?: boolean;\n};\n\nexport function ItemListIdCell({ id, className, isShortened = true }: ItemListIdCellProps) {\n const displayId = isShortened ? id.slice(0, 8) : id;\n return <div className={cn('truncate py-[0.6rem] text-body text-placeholder', className)}>{displayId}</div>;\n}\n","import React from 'react';\n\nexport type ItemListItemsProps = {\n children?: React.ReactNode;\n};\n\nexport function ItemListItems({ children }: ItemListItemsProps) {\n return <ul className=\"grid content-start\">{children}</ul>;\n}\n","import React, { useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListItemsScroller = {\n children?: React.ReactNode;\n};\n\nexport function ItemListItemsScroller({ children }: ItemListItemsScroller) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n return (\n <div ref={containerRef} className={cn('overflow-y-auto')}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListLabelCellProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListLabelCell({ children, className }: ItemListLabelCellProps) {\n return (\n <label\n className={cn(\n 'flex h-full w-14 items-center justify-center rounded-lg text-caption hover:bg-fill-subtle',\n className,\n )}\n >\n {children}\n </label>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';\nimport { transitions, focusRing } from '@/ds/primitives/transitions';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListLinkCellProps = {\n children?: React.ReactNode;\n className?: string;\n href: string;\n LinkComponent: LinkComponent;\n tooltip?: React.ReactNode;\n};\n\nexport function ItemListLinkCell({ children, href, className, LinkComponent: Link, tooltip }: ItemListLinkCellProps) {\n const link = (\n <Link\n href={href}\n className={cn(\n 'flex w-full items-center justify-center gap-4 rounded-lg px-3 py-2 text-left',\n 'hover:bg-fill-subtle',\n transitions.colors,\n focusRing.visible,\n\n className,\n )}\n >\n {children}\n </Link>\n );\n\n if (tooltip == null) return link;\n\n return (\n <Tooltip>\n <TooltipTrigger render={link} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n","import { InfoIcon, TriangleAlertIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListMessageProps = {\n children?: React.ReactNode;\n message?: string;\n className?: string;\n type?: 'info' | 'error';\n};\n\nexport function ItemListMessage({ children, message, className, type }: ItemListMessageProps) {\n if (!children && !message) {\n return null;\n }\n\n return (\n <div className={cn('grid border-t border-border', className)}>\n {message ? (\n <p\n className={cn(\n 'grid justify-center justify-items-center gap-2 p-5 text-center text-body text-muted-foreground',\n '[&>svg]:size-[1.5em] [&>svg]:opacity-75',\n {\n '[&>svg]:text-red-500': type === 'error',\n },\n )}\n >\n {type === 'error' ? <TriangleAlertIcon /> : <InfoIcon />} {message}\n </p>\n ) : (\n children\n )}\n </div>\n );\n}\n","export type ItemListNextPageLoadingProps = {\n isLoading?: boolean;\n hasMore?: boolean;\n setEndOfListElement?: (element: HTMLDivElement | null) => void;\n loadingText?: string;\n noMoreDataText?: string;\n};\n\nexport function ItemListNextPageLoading({\n isLoading,\n hasMore,\n setEndOfListElement,\n loadingText = 'Loading more data...',\n noMoreDataText = 'No more data to load',\n}: ItemListNextPageLoadingProps) {\n if (!setEndOfListElement) {\n return null;\n }\n\n return (\n <div ref={setEndOfListElement} className=\"mt-4 flex justify-center text-body text-muted-foreground opacity-50\">\n {isLoading && loadingText}\n {!hasMore && !isLoading && noMoreDataText}\n </div>\n );\n}\n","import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nexport type ItemListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function ItemListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: ItemListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className={cn('flex items-center justify-center gap-4 pt-4 text-body text-muted-foreground')}>\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div\n className={cn(\n 'flex gap-4',\n '[&>button]:flex [&>button]:items-center [&>button]:gap-2 [&>button]:rounded-md [&>button]:border [&>button]:border-border [&>button]:p-1 [&>button]:px-2 [&>button]:text-muted-foreground [&>button]:transition-colors [&>button:hover]:text-foreground',\n '[&_svg]:size-[1em] [&_svg]:text-muted-foreground',\n )}\n >\n {typeof currentPage === 'number' && currentPage > 0 && (\n <button onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </button>\n )}\n {hasMore && (\n <button onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRootProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nexport function ItemListRoot({ children, className }: ItemListRootProps) {\n return <div className={cn('grid grid-rows-[auto_1fr] overflow-y-auto', className)}>{children}</div>;\n}\n","import { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRowProps = {\n isSelected?: boolean;\n children?: React.ReactNode;\n columns?: ItemListColumn[];\n};\n\nexport function ItemListRow({ isSelected, children, columns }: ItemListRowProps) {\n return (\n <li\n className={cn(\n 'flex overflow-hidden rounded-lg border border-transparent border-t-border py-[3px] pb-[2px] text-body text-foreground first:border-t-transparent',\n '[&:last-child>button]:rounded-b-lg',\n '[&.selected-row]:border [&.selected-row]:border-dashed [&.selected-row]:border-white/50 [&.selected-row]:pr-[3px] [&.selected-row]:first:border-t',\n '[&:has(+.selected-row)]:rounded-b-none [&:has(+.selected-row)]:border-b-transparent',\n '[.selected-row+&]:rounded-t-none',\n transitions.colors,\n {\n 'selected-row': isSelected,\n 'grid gap-3 px-3': columns,\n },\n )}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n >\n {children}\n </li>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';\nimport { getItemListColumnTemplate } from './shared';\nimport type { ItemListColumn } from './types';\nimport { transitions, focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListRowButtonProps = React.ComponentPropsWithoutRef<'button'> & {\n item?: any;\n isFeatured?: boolean;\n children?: React.ReactNode;\n onClick?: (itemId: string) => void;\n columns?: ItemListColumn[];\n className?: string;\n disabled?: boolean;\n tooltip?: React.ReactNode;\n};\n\nexport function ItemListRowButton({\n item,\n isFeatured,\n onClick,\n children,\n columns,\n className,\n disabled,\n tooltip,\n ...props\n}: ItemListRowButtonProps) {\n const handleClick = () => {\n onClick?.(item?.id);\n };\n\n const button = (\n <button\n {...props}\n onClick={handleClick}\n className={cn(\n 'grid w-full items-center gap-3 rounded-lg px-3 text-left',\n transitions.colors,\n focusRing.visible,\n {\n 'bg-fill-hover': isFeatured,\n 'hover:bg-fill-subtle': item && !isFeatured && !disabled,\n },\n className,\n )}\n style={{ gridTemplateColumns: getItemListColumnTemplate(columns) }}\n disabled={disabled}\n >\n {children}\n </button>\n );\n\n if (tooltip == null) return button;\n\n return (\n <Tooltip>\n <TooltipTrigger render={button} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { cn } from '@/lib/utils';\n\nexport type ItemListStatusCellProps = {\n status?: string;\n};\n\nfunction capitalize(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nexport function ItemListStatusCell({ status }: ItemListStatusCellProps) {\n if (!status) {\n return null;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className={cn('relative flex h-full w-10 items-center justify-center bg-transparent')}>\n <div\n className={cn('size-2 rounded-full', {\n 'bg-green-600': ['success', 'completed'].includes(status),\n 'bg-red-700': ['error', 'failed'].includes(status),\n 'bg-yellow-500': ['pending', 'running'].includes(status),\n })}\n ></div>\n </div>\n </TooltipTrigger>\n <TooltipContent>{capitalize(status)}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type ItemListTextCellProps = {\n children: React.ReactNode;\n isLoading?: boolean;\n className?: string;\n};\n\nexport function ItemListTextCell({ children, isLoading, className }: ItemListTextCellProps) {\n return (\n <div className={cn('truncate py-[0.6rem] text-body text-muted-foreground', className)}>\n {isLoading ? (\n <div className=\"h-4 animate-pulse rounded-md bg-muted text-transparent select-none\"></div>\n ) : (\n children\n )}\n </div>\n );\n}\n","type getToItemFnParams = {\n entries: { id: string }[];\n id: string | undefined;\n update: (id: string) => void;\n};\n\nexport const ITEM_LIST_VERSION_STATUS_LABELS = {\n latest: 'Latest version',\n deleted: 'Deleted in this version',\n} as const;\n\nexport function getItemListVersionStatusLabel({\n isLatest,\n isDeleted,\n}: {\n isLatest?: boolean;\n isDeleted?: boolean;\n}): string | undefined {\n const labels: string[] = [];\n if (isLatest) labels.push(ITEM_LIST_VERSION_STATUS_LABELS.latest);\n if (isDeleted) labels.push(ITEM_LIST_VERSION_STATUS_LABELS.deleted);\n return labels.length > 0 ? labels.join(' · ') : undefined;\n}\n\nexport function getToNextItemFn({ entries, id, update }: getToItemFnParams) {\n const currentIndex = entries.findIndex(entry => entry.id === id);\n const thereIsNextItem = currentIndex < entries.length - 1;\n\n if (thereIsNextItem) {\n return () => {\n const nextItem = entries[currentIndex + 1];\n if (!nextItem) return;\n update(nextItem.id);\n };\n }\n\n return undefined;\n}\n\nexport function getToPreviousItemFn({ entries, id, update }: getToItemFnParams) {\n const currentIndex = entries.findIndex(entry => entry.id === id);\n const thereIsPreviousItem = currentIndex > 0;\n\n if (thereIsPreviousItem) {\n return () => {\n const previousItem = entries[currentIndex - 1];\n if (!previousItem) return;\n update(previousItem.id);\n };\n }\n\n return undefined;\n}\n","import { BanIcon, ClockIcon } from 'lucide-react';\nimport { Badge } from '../Badge/Badge';\nimport { ITEM_LIST_VERSION_STATUS_LABELS } from './helpers';\nimport { ItemListCell } from './item-list-cell';\nimport { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\n\nexport type ItemListVersionCellProps = {\n version: string | number;\n date?: Date | string | null;\n isLatest?: boolean;\n isDeleted?: boolean;\n};\n\nexport function ItemListVersionCell({ version, date, isLatest, isDeleted }: ItemListVersionCellProps) {\n return (\n <ItemListCell className={cn('grid grid-cols-[1fr_auto] pl-1')}>\n <div\n className={cn('grid gap-1 leading-none text-muted-foreground', {\n 'text-muted-foreground': isLatest,\n })}\n >\n <strong className=\"text-body-sm\">v. {version}</strong>\n <em className=\"text-caption text-placeholder\">{formatDate(date, 'date-time')}</em>\n </div>\n {(isLatest || isDeleted) && (\n <div className=\"flex items-center gap-1\">\n {isLatest && (\n <span className=\"inline-flex\" role=\"img\" aria-label={ITEM_LIST_VERSION_STATUS_LABELS.latest}>\n <Badge variant=\"blue\" size=\"sm\" icon={<ClockIcon />} />\n </span>\n )}\n {isDeleted && (\n <span className=\"inline-flex\" role=\"img\" aria-label={ITEM_LIST_VERSION_STATUS_LABELS.deleted}>\n <Badge variant=\"red\" size=\"sm\" icon={<BanIcon />} />\n </span>\n )}\n </div>\n )}\n </ItemListCell>\n );\n}\n","import { ItemListCell } from './item-list-cell';\nimport { ItemListDateCell } from './item-list-date-cell';\nimport { ItemListHeader } from './item-list-header';\nimport { ItemListHeaderCol } from './item-list-header-col';\nimport { ItemListIdCell } from './item-list-id-cell';\nimport { ItemListItems } from './item-list-items';\nimport { ItemListItemsScroller } from './item-list-items-scroller';\nimport { ItemListLabelCell } from './item-list-label-cell';\nimport { ItemListLinkCell } from './item-list-link-cell';\nimport { ItemListMessage } from './item-list-message';\nimport { ItemListNextPageLoading } from './item-list-next-page-loading';\nimport { ItemListPagination } from './item-list-pagination';\nimport { ItemListRoot } from './item-list-root';\nimport { ItemListRow } from './item-list-row';\nimport { ItemListRowButton } from './item-list-row-button';\nimport { ItemListStatusCell } from './item-list-status-cell';\nimport { ItemListTextCell } from './item-list-text-cell';\nimport { ItemListVersionCell } from './item-list-version-cell';\n\nexport const ItemList = Object.assign(ItemListRoot, {\n Header: ItemListHeader,\n HeaderCol: ItemListHeaderCol,\n Items: ItemListItems,\n Scroller: ItemListItemsScroller,\n Row: ItemListRow,\n RowButton: ItemListRowButton,\n Message: ItemListMessage,\n NextPageLoading: ItemListNextPageLoading,\n Pagination: ItemListPagination,\n Cell: ItemListCell,\n TextCell: ItemListTextCell,\n StatusCell: ItemListStatusCell,\n VersionCell: ItemListVersionCell,\n IdCell: ItemListIdCell,\n DateCell: ItemListDateCell,\n LinkCell: ItemListLinkCell,\n LabelCell: ItemListLabelCell,\n});\n","import { ItemListItems } from './item-list-items';\nimport { ItemListRow } from './item-list-row';\nimport { ItemListRowButton } from './item-list-row-button';\nimport type { ItemListColumn } from './types';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'];\n\nexport type ItemListItemsSkeletonProps = {\n columns?: ItemListColumn[];\n numberOfRows?: number;\n};\n\nexport function ItemListItemsSkeleton({ columns, numberOfRows = 3 }: ItemListItemsSkeletonProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + (columns?.length || 0) + (numberOfRows || 0)) % widths.length;\n return widths[index];\n };\n\n return (\n <ItemListItems>\n {Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <ItemListRow key={rowIdx}>\n <ItemListRowButton columns={columns}>\n {(columns || []).map((col, colIdx) => {\n const key = `${col.name}-${colIdx}`;\n return (\n <div\n key={key}\n className=\"h-4 animate-pulse rounded-md bg-muted text-transparent select-none\"\n style={{ width: `${getPseudoRandomWidth(rowIdx, colIdx)}` }}\n ></div>\n );\n })}\n </ItemListRowButton>\n </ItemListRow>\n ))}\n </ItemListItems>\n );\n}\n","import { ItemList } from './item-list';\nimport { ItemListHeader } from './item-list-header';\nimport { ItemListItemsSkeleton } from './item-list-items-skeleton';\nimport type { ItemListItemsSkeletonProps } from './item-list-items-skeleton';\n\nexport function ItemListSkeleton({ columns, numberOfRows }: ItemListItemsSkeletonProps) {\n return (\n <ItemList>\n <ItemListHeader columns={columns} />\n <ItemListItemsSkeleton columns={columns} numberOfRows={numberOfRows} />\n </ItemList>\n );\n}\n"],"names":["cn","jsx","formatDate","useRef","tooltip","transitions","focusRing","Tooltip","TooltipTrigger","TooltipContent","jsxs","TriangleAlertIcon","InfoIcon","ArrowLeftIcon","ArrowRightIcon","Badge","ClockIcon","BanIcon"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { c as cn } from '../cn-65Adrsfj.js';
3
- import { isThisYear, format as format$1 } from 'date-fns';
4
- import { format } from 'date-fns/format';
5
- import { isToday } from 'date-fns/isToday';
3
+ import { formatDate } from '../utils/date-format.es.js';
6
4
  import { useRef } from 'react';
7
5
  import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../tooltip-BrDiP0RI.js';
8
6
  import { focusRing, transitions } from '../primitives/transitions.es.js';
@@ -13,18 +11,8 @@ function ItemListCell({ children, className }) {
13
11
  return /* @__PURE__ */ jsx("div", { className: cn("", className), children });
14
12
  }
15
13
 
16
- function ItemListDateCell({ date, className, withTime = false }) {
17
- const isThisYearDate = date ? isThisYear(new Date(date)) : false;
18
- const displayDayAndMonth = date ? isToday(new Date(date)) ? "Today" : format(new Date(date), "MMM dd") : "";
19
- const displayYear = date && !isThisYearDate ? format(new Date(date), "yyyy") : "";
20
- const displayTime = date && withTime ? `${format(new Date(date), "'at' h:mm aaa")}` : "";
21
- return /* @__PURE__ */ jsxs("div", { className: cn("truncate text-body text-placeholder", className), children: [
22
- displayDayAndMonth,
23
- " ",
24
- displayYear,
25
- " ",
26
- displayTime
27
- ] });
14
+ function ItemListDateCell({ date, className, preset = "date" }) {
15
+ return /* @__PURE__ */ jsx("div", { className: cn("truncate text-body text-placeholder", className), children: formatDate(date, preset) });
28
16
  }
29
17
 
30
18
  function getItemListColumnTemplate(columns) {
@@ -315,7 +303,7 @@ function ItemListVersionCell({ version, date, isLatest, isDeleted }) {
315
303
  "v. ",
316
304
  version
317
305
  ] }),
318
- /* @__PURE__ */ jsx("em", { className: "text-caption text-placeholder", children: date ? format$1(new Date(date), "MMM d, yyyy HH:mm") : null })
306
+ /* @__PURE__ */ jsx("em", { className: "text-caption text-placeholder", children: formatDate(date, "date-time") })
319
307
  ]
320
308
  }
321
309
  ),