@mastra/playground-ui 47.0.1-alpha.0 → 48.0.0-alpha.10

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 (103) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/dist/components/Breadcrumb.cjs.js +10 -3
  3. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  4. package/dist/components/Breadcrumb.es.js +10 -3
  5. package/dist/components/Breadcrumb.es.js.map +1 -1
  6. package/dist/components/DataList.cjs.js +4 -4
  7. package/dist/components/DataList.es.js +4 -4
  8. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  9. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  10. package/dist/components/LogsDataList.cjs.js +2 -2
  11. package/dist/components/LogsDataList.es.js +2 -2
  12. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  13. package/dist/components/MarkdownRenderer.es.js +1 -1
  14. package/dist/components/ai/plan.cjs.js +1 -1
  15. package/dist/components/ai/plan.es.js +1 -1
  16. package/dist/{data-list-B3P5IlxV.cjs → data-list-Cb-piK4z.cjs} +2 -2
  17. package/dist/{data-list-B3P5IlxV.cjs.map → data-list-Cb-piK4z.cjs.map} +1 -1
  18. package/dist/{data-list-CZC8N3I4.js → data-list-CnQRIUyN.js} +2 -2
  19. package/dist/{data-list-CZC8N3I4.js.map → data-list-CnQRIUyN.js.map} +1 -1
  20. package/dist/{data-list-skeleton-ClGPuUja.cjs → data-list-skeleton--tiF5mjH.cjs} +4 -4
  21. package/dist/data-list-skeleton--tiF5mjH.cjs.map +1 -0
  22. package/dist/{data-list-skeleton-BDQEjCWH.js → data-list-skeleton-DeEqsrIz.js} +4 -4
  23. package/dist/data-list-skeleton-DeEqsrIz.js.map +1 -0
  24. package/dist/{data-list-top-cell-Dfg0AKmr.cjs → data-list-top-cell-CU8KoWys.cjs} +8 -3
  25. package/dist/data-list-top-cell-CU8KoWys.cjs.map +1 -0
  26. package/dist/{data-list-top-cell-S98SdRsx.js → data-list-top-cell-D9VTy6Sk.js} +8 -3
  27. package/dist/data-list-top-cell-D9VTy6Sk.js.map +1 -0
  28. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  29. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  30. package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
  31. package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
  32. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  33. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  34. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  35. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  36. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  37. package/dist/domains/metrics/drilldown.cjs.js.map +1 -1
  38. package/dist/domains/metrics/drilldown.es.js +1 -1
  39. package/dist/domains/metrics/drilldown.es.js.map +1 -1
  40. package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -1
  41. package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -1
  42. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  43. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  44. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  45. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  46. package/dist/domains/traces/components/traces-list-view.cjs.js +6 -6
  47. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  48. package/dist/domains/traces/components/traces-list-view.es.js +6 -6
  49. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  50. package/dist/domains/traces/hooks/use-traces.cjs.js +61 -19
  51. package/dist/domains/traces/hooks/use-traces.cjs.js.map +1 -1
  52. package/dist/domains/traces/hooks/use-traces.es.js +61 -20
  53. package/dist/domains/traces/hooks/use-traces.es.js.map +1 -1
  54. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  55. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  56. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  57. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  58. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  59. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  60. package/dist/icons/GithubIcon.cjs.js +7 -10
  61. package/dist/icons/GithubIcon.cjs.js.map +1 -1
  62. package/dist/icons/GithubIcon.es.js +8 -11
  63. package/dist/icons/GithubIcon.es.js.map +1 -1
  64. package/dist/icons/LinearIcon.cjs.js +10 -0
  65. package/dist/icons/LinearIcon.cjs.js.map +1 -0
  66. package/dist/icons/LinearIcon.d.ts +2 -0
  67. package/dist/icons/LinearIcon.es.js +6 -0
  68. package/dist/icons/LinearIcon.es.js.map +1 -0
  69. package/dist/icons/SlackIcon.cjs.js +39 -0
  70. package/dist/icons/SlackIcon.cjs.js.map +1 -0
  71. package/dist/icons/SlackIcon.d.ts +2 -0
  72. package/dist/icons/SlackIcon.es.js +35 -0
  73. package/dist/icons/SlackIcon.es.js.map +1 -0
  74. package/dist/{logs-data-list-C9Q9MHsz.js → logs-data-list-CAa2nwZC.js} +2 -2
  75. package/dist/{logs-data-list-C9Q9MHsz.js.map → logs-data-list-CAa2nwZC.js.map} +1 -1
  76. package/dist/{logs-data-list-DTt_DmNk.cjs → logs-data-list-DWf9fEtC.cjs} +2 -2
  77. package/dist/{logs-data-list-DTt_DmNk.cjs.map → logs-data-list-DWf9fEtC.cjs.map} +1 -1
  78. package/dist/{markdown-renderer-CqAR8lve.js → markdown-renderer-Bi2fWeoF.js} +15 -2
  79. package/dist/markdown-renderer-Bi2fWeoF.js.map +1 -0
  80. package/dist/{markdown-renderer-CfWz5SWN.cjs → markdown-renderer-DwfNrhEH.cjs} +15 -2
  81. package/dist/markdown-renderer-DwfNrhEH.cjs.map +1 -0
  82. package/dist/src/domains/metrics/drilldown.d.ts +1 -1
  83. package/dist/src/domains/metrics/hooks/use-metrics.d.ts +1 -1
  84. package/dist/src/domains/traces/components/traces-list-view.d.ts +2 -9
  85. package/dist/src/domains/traces/hooks/use-traces.d.ts +11 -7
  86. package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  87. package/dist/src/ds/components/Breadcrumb/breadcrumb.stories.d.ts +2 -0
  88. package/dist/src/ds/components/DataList/data-list-root.d.ts +13 -1
  89. package/dist/src/ds/components/DataList/data-list-skeleton.d.ts +3 -1
  90. package/dist/src/ds/icons/LinearIcon.d.ts +2 -0
  91. package/dist/src/ds/icons/SlackIcon.d.ts +2 -0
  92. package/dist/src/ds/icons/index.d.ts +2 -0
  93. package/dist/{traces-data-list-a3sYTxch.js → traces-data-list-DtuaCDES.js} +3 -3
  94. package/dist/{traces-data-list-a3sYTxch.js.map → traces-data-list-DtuaCDES.js.map} +1 -1
  95. package/dist/{traces-data-list-D3TOjHkm.cjs → traces-data-list-vsvvvEiP.cjs} +3 -3
  96. package/dist/{traces-data-list-D3TOjHkm.cjs.map → traces-data-list-vsvvvEiP.cjs.map} +1 -1
  97. package/package.json +7 -7
  98. package/dist/data-list-skeleton-BDQEjCWH.js.map +0 -1
  99. package/dist/data-list-skeleton-ClGPuUja.cjs.map +0 -1
  100. package/dist/data-list-top-cell-Dfg0AKmr.cjs.map +0 -1
  101. package/dist/data-list-top-cell-S98SdRsx.js.map +0 -1
  102. package/dist/markdown-renderer-CfWz5SWN.cjs.map +0 -1
  103. package/dist/markdown-renderer-CqAR8lve.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,158 @@
1
1
  # @mastra/playground-ui
2
2
 
3
+ ## 48.0.0-alpha.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`86b7b77`](https://github.com/mastra-ai/mastra/commit/86b7b777980d30f66e1fd134a37d2af4c22e54cc), [`80a3324`](https://github.com/mastra-ai/mastra/commit/80a33245d3110204de6f56d61211523ffe338692), [`d9d2881`](https://github.com/mastra-ai/mastra/commit/d9d2881ede6dd6c023d144215fc812062aed0890), [`82e3365`](https://github.com/mastra-ai/mastra/commit/82e3365ef7c9bf7bee2e7a7029035ea262d68895), [`1b482c2`](https://github.com/mastra-ai/mastra/commit/1b482c2d89244dd758c41e5f927a2b44041388d2), [`e6a2860`](https://github.com/mastra-ai/mastra/commit/e6a2860649cc51f87d32d78b766ae2126446ba07), [`7bd85ea`](https://github.com/mastra-ai/mastra/commit/7bd85ea7588b71c25ce9f4019c88f8539be5dcbc)]:
8
+ - @mastra/core@1.58.0-alpha.9
9
+ - @mastra/client-js@1.39.0-alpha.9
10
+ - @mastra/react@1.4.2-alpha.9
11
+
12
+ ## 48.0.0-alpha.9
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [[`1c75e32`](https://github.com/mastra-ai/mastra/commit/1c75e32f7fc0b9fb6f548b4407feaec8a1440212), [`c47165c`](https://github.com/mastra-ai/mastra/commit/c47165c983c87594c6952f1fd2fa51a90205034c), [`e08e789`](https://github.com/mastra-ai/mastra/commit/e08e789c1bf4cd2fe46363f7a4728536ceccc9bd), [`35cc901`](https://github.com/mastra-ai/mastra/commit/35cc90102cf834a84827acaf9eee0b6d6d1e2a3b), [`a8b4cf0`](https://github.com/mastra-ai/mastra/commit/a8b4cf02823cffebc4751a53337dfacf097c1ae1), [`a53f19b`](https://github.com/mastra-ai/mastra/commit/a53f19b9badb8bd349fe2f885814e9db6b7d3c4b), [`f33264f`](https://github.com/mastra-ai/mastra/commit/f33264f517ae603279afd5c4251e2b40f6dd3618), [`689f2c4`](https://github.com/mastra-ai/mastra/commit/689f2c4b6c0835fe455702b01d21daa8abcd9331), [`eeae63e`](https://github.com/mastra-ai/mastra/commit/eeae63e7fbe8e1f237adc69bca6e2ac13c5ca907), [`4c186a0`](https://github.com/mastra-ai/mastra/commit/4c186a017275f45e6ed4c09de0f89550e2d09e8c), [`b0fa077`](https://github.com/mastra-ai/mastra/commit/b0fa077bcbc9b08551846fe372a0d3d15b71ed72)]:
17
+ - @mastra/core@1.58.0-alpha.8
18
+ - @mastra/memory@1.26.1-alpha.4
19
+ - @mastra/client-js@1.39.0-alpha.8
20
+ - @mastra/react@1.4.2-alpha.8
21
+
22
+ ## 48.0.0-alpha.8
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [[`7fb580a`](https://github.com/mastra-ai/mastra/commit/7fb580ac73fbcacf2ff00872a3395f73ae1b9fa5), [`333785c`](https://github.com/mastra-ai/mastra/commit/333785c93cbb01e42c60167e995457c28897ddbf), [`2eabc09`](https://github.com/mastra-ai/mastra/commit/2eabc097d86d52fbd0123da36a7c874154cc384f), [`83fa004`](https://github.com/mastra-ai/mastra/commit/83fa0044bfda8b703a83883dbd8bef204844d13f)]:
27
+ - @mastra/core@1.58.0-alpha.7
28
+ - @mastra/client-js@1.39.0-alpha.7
29
+ - @mastra/react@1.4.2-alpha.7
30
+
31
+ ## 48.0.0-alpha.7
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [[`f59032a`](https://github.com/mastra-ai/mastra/commit/f59032a73699443555a08a479e7ac578975784f2), [`bf936e2`](https://github.com/mastra-ai/mastra/commit/bf936e2c89b2ff0dad5695b873ddc009ba96d41e)]:
36
+ - @mastra/core@1.58.0-alpha.6
37
+ - @mastra/client-js@1.39.0-alpha.6
38
+ - @mastra/react@1.4.2-alpha.6
39
+
40
+ ## 48.0.0-alpha.6
41
+
42
+ ### Patch Changes
43
+
44
+ - Fixed external Markdown links to open in a new tab. ([#21004](https://github.com/mastra-ai/mastra/pull/21004))
45
+
46
+ ## 48.0.0-alpha.5
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies [[`6445eba`](https://github.com/mastra-ai/mastra/commit/6445eba6020abac681aba1cc9289f446cb400cbe), [`deaf0c4`](https://github.com/mastra-ai/mastra/commit/deaf0c4c38fe2e988a094c63bbd8899436f4e579), [`df31eb0`](https://github.com/mastra-ai/mastra/commit/df31eb0c7087d782a0d9346e467f9a4af4b0eef6), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`bab06b1`](https://github.com/mastra-ai/mastra/commit/bab06b18923873a584bdfc71a6b4ec7fb4727fb7)]:
51
+ - @mastra/core@1.58.0-alpha.5
52
+ - @mastra/memory@1.26.1-alpha.3
53
+ - @mastra/client-js@1.39.0-alpha.5
54
+ - @mastra/react@1.4.2-alpha.5
55
+
56
+ ## 48.0.0-alpha.4
57
+
58
+ ### Patch Changes
59
+
60
+ - Updated dependencies [[`76e5132`](https://github.com/mastra-ai/mastra/commit/76e51328dbc0749c8304e6b3f21e4401f451b081), [`0282e16`](https://github.com/mastra-ai/mastra/commit/0282e16115538c8e9b248b90f0748eb01cb5dc98)]:
61
+ - @mastra/core@1.58.0-alpha.4
62
+ - @mastra/client-js@1.39.0-alpha.4
63
+ - @mastra/react@1.4.2-alpha.4
64
+
65
+ ## 48.0.0-alpha.3
66
+
67
+ ### Minor Changes
68
+
69
+ - Added a `fit` prop to `DataList` to control horizontal sizing. The default `fit="content"` keeps the existing behavior: the grid grows with its widest content and the list scrolls horizontally. The new `fit="container"` makes the list fill its container so flexible columns truncate instead of overflowing — useful for tables that must stay within the viewport. `DataListSkeleton` accepts the same prop. ([#18925](https://github.com/mastra-ai/mastra/pull/18925))
70
+
71
+ ```tsx
72
+ // Before: wide content always forced horizontal scrolling
73
+ <DataList columns="auto 1fr auto">…</DataList>
74
+
75
+ // After: opt in to viewport-fitting behavior
76
+ <DataList columns="auto minmax(0, 1fr) auto" fit="container">…</DataList>
77
+ ```
78
+
79
+ ### Patch Changes
80
+
81
+ - Pointed the metrics drilldown links and the Trace Intelligence empty state at `/traces` instead of `/observability`, matching Studio's traces route. Apps that pass their own `tracesBasePath` to the metrics provider are unaffected. ([#20958](https://github.com/mastra-ai/mastra/pull/20958))
82
+
83
+ - Fixed span links such as `/traces/<traceId>?spanId=<spanId>`. Opening or reloading one used to drop the span: the span panel stayed closed and `spanId` disappeared from the URL. The span now opens and the timeline scrolls to it. ([#20958](https://github.com/mastra-ai/mastra/pull/20958))
84
+
85
+ - Updated dependencies [[`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`d7cf7fa`](https://github.com/mastra-ai/mastra/commit/d7cf7fafc1ae1b50bd8462dd0e6c671a8606db93), [`0f9a448`](https://github.com/mastra-ai/mastra/commit/0f9a448502157e59f7b76f24360ad497168f5ef8), [`289f4ce`](https://github.com/mastra-ai/mastra/commit/289f4ce16e3293370440172132c52ee787cbc09f), [`4f16ff8`](https://github.com/mastra-ai/mastra/commit/4f16ff824bf2f9b0ddc93f210477c10c8a4fb1ab), [`1c67d85`](https://github.com/mastra-ai/mastra/commit/1c67d85e9da8285662f4dbbf47e0378c3fee0747), [`ba24be6`](https://github.com/mastra-ai/mastra/commit/ba24be662439c331ab23a600041f93803c89eca8), [`842b5fe`](https://github.com/mastra-ai/mastra/commit/842b5fe22b6a7fa811bd14e48eb9af523ac989f2), [`80bdf3a`](https://github.com/mastra-ai/mastra/commit/80bdf3ae16ade6ff63bde0cb16fa2df8ab7dd4dd), [`195e83c`](https://github.com/mastra-ai/mastra/commit/195e83c077687f6016fd8090324975c8d8cea50b), [`9ba1247`](https://github.com/mastra-ai/mastra/commit/9ba12470c77f1c03642d720ce67e517e878f666e), [`fd96298`](https://github.com/mastra-ai/mastra/commit/fd96298a8367622f4ebfcaa97b5b6c1fbbd14564), [`6a84954`](https://github.com/mastra-ai/mastra/commit/6a84954a2667f85b6d59da652dab1bbff007ccb0), [`52d8ef0`](https://github.com/mastra-ai/mastra/commit/52d8ef03801f1deb7ee48532fc4190dd4a33916c), [`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`87db0e4`](https://github.com/mastra-ai/mastra/commit/87db0e49a8c04030eb74fff7f051fac330678839), [`edfe906`](https://github.com/mastra-ai/mastra/commit/edfe906f7926faf8c63c21b3c87e797985557feb), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a), [`efd5c81`](https://github.com/mastra-ai/mastra/commit/efd5c81cc25fde3c2ddd86fc1178deb4ec176e19), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`43ea2a1`](https://github.com/mastra-ai/mastra/commit/43ea2a1f5c5867d0f41254047a786e96cd00798b), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`242b945`](https://github.com/mastra-ai/mastra/commit/242b94558777bfbdeb42cbfea84afff0b6ad0633), [`fea5cae`](https://github.com/mastra-ai/mastra/commit/fea5caedc7e2cfea51784a15e015952692027abf), [`4b59f78`](https://github.com/mastra-ai/mastra/commit/4b59f786cbc9a7d1ef07a07517dbd4b96865e99d), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a), [`6b5fe46`](https://github.com/mastra-ai/mastra/commit/6b5fe464a97ac4845ce26475f347811fc7fb9684), [`683c04c`](https://github.com/mastra-ai/mastra/commit/683c04c930f026c5a77259d05ae8d88c637a3162)]:
86
+ - @mastra/core@1.58.0-alpha.3
87
+ - @mastra/memory@1.26.1-alpha.2
88
+ - @mastra/client-js@1.39.0-alpha.3
89
+ - @mastra/react@1.4.2-alpha.3
90
+
91
+ ## 48.0.0-alpha.2
92
+
93
+ ### Minor Changes
94
+
95
+ - Added `LinearIcon` and `SlackIcon` to the design system icon set, so apps can render the Linear and Slack brand marks without hand-rolling their own SVG. ([#20632](https://github.com/mastra-ai/mastra/pull/20632))
96
+
97
+ ```tsx
98
+ import { LinearIcon } from '@mastra/playground-ui/icons/LinearIcon';
99
+ import { SlackIcon } from '@mastra/playground-ui/icons/SlackIcon';
100
+
101
+ <LinearIcon className="text-icon3 size-4" />;
102
+ <SlackIcon className="size-4" />;
103
+ ```
104
+
105
+ Both take the same props as the other brand icons (`SVGProps<SVGSVGElement>`) and are sized with a class rather than a `size` prop. `GithubIcon` no longer emits a duplicate element id when the same page renders it many times.
106
+
107
+ ### Patch Changes
108
+
109
+ - Updated dependencies [[`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`b4c89b4`](https://github.com/mastra-ai/mastra/commit/b4c89b4371b0c86da57403ad1a3b3ef0681f3128), [`e44e8f3`](https://github.com/mastra-ai/mastra/commit/e44e8f370b66c339ddcaba946d33da6d3c3f06cd), [`c967a5e`](https://github.com/mastra-ai/mastra/commit/c967a5eec150c5dc5418c4a4388982d1fb7ad27c), [`f53d5bd`](https://github.com/mastra-ai/mastra/commit/f53d5bd4885b29e4ac29a428a6044088ea8d6aa3), [`bda2235`](https://github.com/mastra-ai/mastra/commit/bda22353ee28f2df0eaea555f7cae1549f979c0b), [`a7eb4a1`](https://github.com/mastra-ai/mastra/commit/a7eb4a11450f6170274ed5141bffe821d4fdd5a6), [`2f9ef3f`](https://github.com/mastra-ai/mastra/commit/2f9ef3f4ca06fc2dcdd5088c26b7f4da6a016791), [`e7eefcb`](https://github.com/mastra-ai/mastra/commit/e7eefcb162cda7c493e8c3bf43050ead0efbcb2c), [`4d7aca2`](https://github.com/mastra-ai/mastra/commit/4d7aca2fe75f225c83d1502d63079568e6ec163f), [`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`9be8878`](https://github.com/mastra-ai/mastra/commit/9be8878dcf0388e84fc4873e0eec27bd49b881a4)]:
110
+ - @mastra/client-js@1.39.0-alpha.2
111
+ - @mastra/core@1.58.0-alpha.2
112
+ - @mastra/react@1.4.2-alpha.2
113
+ - @mastra/memory@1.26.1-alpha.1
114
+
115
+ ## 48.0.0-alpha.1
116
+
117
+ ### Minor Changes
118
+
119
+ - Removed the `attributes` field and the `TraceAttributes` type from `TracesListViewTrace`. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
120
+
121
+ The traces list used to fall back to `attributes.agentId`/`attributes.workflowId` for the entity column and to `attributes.status` for the status column. Rows now carry `entityName`/`entityId` and a computed `status` directly, and the lightweight rows the list fetches never carried `attributes` at all, so both fallbacks were dead code reading a field nothing produced.
122
+
123
+ Rows that relied on those fallbacks must set `status` and the entity fields directly:
124
+
125
+ ```tsx
126
+ // Before
127
+ <TracesListView traces={[{ traceId, name, createdAt, attributes: { status: 'completed' } }]} />
128
+
129
+ // After
130
+ <TracesListView traces={[{ traceId, name, createdAt, status: 'success', entityName: 'weatherAgent' }]} />
131
+ ```
132
+
133
+ `TraceAttributes` was reachable as `import type { TraceAttributes } from '@mastra/playground-ui/domains/traces/components/traces-list-view'` and no longer exists. There is no replacement — read `status`, `entityType`, `entityName` and `entityId` off the row instead.
134
+
135
+ ### Patch Changes
136
+
137
+ - Fix Crumb truncating labels without an ellipsis and clipping their descenders ([#20816](https://github.com/mastra-ai/mastra/pull/20816))
138
+
139
+ `truncate` sat on Crumb's flex root, where `text-overflow` cannot apply — a
140
+ clamped label was hard-cut mid-glyph instead of ellipsized, and the accompanying
141
+ `overflow-hidden` sheared the descenders off the line box. Text children now get
142
+ their own truncating box while icons stay flex siblings.
143
+
144
+ - Improved the Observability traces list, which was downloading every trace's full prompt and response just to render a 100-character preview. The list now transfers only what it renders, so it loads far less data before a trace is opened and stays fast as traces grow. Measured against ClickHouse with 400 agent-run traces, one 25-row page dropped from 506 KB to 10.6 KB. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
145
+
146
+ - Fixed the Observability traces list permanently falling back to the heavier trace endpoint after a passing server error. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
147
+
148
+ The list asks the server for lightweight trace rows and falls back to the full ones when a server is too old to serve them. A `500` was treated as that signal, so one transient fault — a database hiccup, a request timeout — pinned the tab to the heavier endpoint for the rest of the session, silently undoing the bandwidth savings until a reload. A `500` now falls back for that request only; the session switches for good once the errors have lasted more than ten seconds, which no longer looks like a hiccup. A `404` still switches immediately, since a server without the route will never grow one mid-session.
149
+
150
+ - Updated dependencies [[`e7109ee`](https://github.com/mastra-ai/mastra/commit/e7109ee6f731bacc79c885906f3c7dca8d8f013a), [`697d059`](https://github.com/mastra-ai/mastra/commit/697d05953049bf6d09e89646c137b76f8ed472ad), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`578bf2e`](https://github.com/mastra-ai/mastra/commit/578bf2e6a88e9d5b8bf502204e15a95dfbb679ae), [`3ae7303`](https://github.com/mastra-ai/mastra/commit/3ae7303508ee497c97d280208df68ffad4ffd368), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`ac01d63`](https://github.com/mastra-ai/mastra/commit/ac01d6355974aec73fdb8781449ed12bac582094), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`a810a05`](https://github.com/mastra-ai/mastra/commit/a810a058f62ad407cfc1701e0be36ae91145d7cf), [`f8da216`](https://github.com/mastra-ai/mastra/commit/f8da21633e7eb0e31c9ce0fc30567870d19416d3), [`a4f6806`](https://github.com/mastra-ai/mastra/commit/a4f68065d082af57770e7ee3d34996fdc914dbd1), [`6104347`](https://github.com/mastra-ai/mastra/commit/61043473ba6bfd0a25156824e853e13165562e6c), [`ffdfa25`](https://github.com/mastra-ai/mastra/commit/ffdfa25b5cdf3ecfd0c5a2e96363c3ba50995ce9), [`45bfb88`](https://github.com/mastra-ai/mastra/commit/45bfb88fd52f1dd3be20e2a38905777c96499c90), [`e3b9307`](https://github.com/mastra-ai/mastra/commit/e3b9307098daefbfae2a52ae2ef51bc9fc701190), [`d6834c5`](https://github.com/mastra-ai/mastra/commit/d6834c5a7866b16734d23900163c2414ed70d791), [`d382d57`](https://github.com/mastra-ai/mastra/commit/d382d57d072de142c4db113adc35b8b6d0bd49bf), [`c52d346`](https://github.com/mastra-ai/mastra/commit/c52d3462ec831a5d95926ecd3d3373f5928ad2e5), [`0023e79`](https://github.com/mastra-ai/mastra/commit/0023e7919431078280abd11c89d1edeae35fcc69), [`c2ad51e`](https://github.com/mastra-ai/mastra/commit/c2ad51e2467f901eecba8c9f4a45e22a50bd7c18), [`3dc97ea`](https://github.com/mastra-ai/mastra/commit/3dc97ea415fad353b48a13095fad1835933cc12a), [`3d01cd3`](https://github.com/mastra-ai/mastra/commit/3d01cd387321b6f9c5cac31d487c84bf51b19c78), [`7bf3086`](https://github.com/mastra-ai/mastra/commit/7bf308663f0115ca74ad20554ade740f06640859), [`a8dd139`](https://github.com/mastra-ai/mastra/commit/a8dd1391a9fe9a6632c25809ef236980afa9a020), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`2093fbd`](https://github.com/mastra-ai/mastra/commit/2093fbd53bb744bae19ec89f6d73db9a66fbe8a7), [`e7a5da4`](https://github.com/mastra-ai/mastra/commit/e7a5da4ef8e4dd452d2f232961b4e682a85ffe43), [`7b4393d`](https://github.com/mastra-ai/mastra/commit/7b4393d557411fdcf07b0e30e5acaf7cc85154ae)]:
151
+ - @mastra/core@1.58.0-alpha.1
152
+ - @mastra/client-js@1.39.0-alpha.1
153
+ - @mastra/react@1.4.2-alpha.1
154
+ - @mastra/memory@1.26.1-alpha.0
155
+
3
156
  ## 47.0.1-alpha.0
4
157
 
5
158
  ### Patch Changes
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
+ const React = require('react');
6
7
  const icons_Icon = require('../icons/Icon.cjs.js');
7
8
  const icons_SlashIcon = require('../icons/SlashIcon.cjs.js');
8
9
  const primitives_transitions = require('../primitives/transitions.cjs.js');
@@ -11,7 +12,12 @@ const utils_cn = require('../cn-vA5sWo9W.cjs');
11
12
  const Breadcrumb = ({ children, label, className, listClassName }) => {
12
13
  return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": label, className, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: utils_cn.cn("flex items-center gap-0.5", listClassName), children }) });
13
14
  };
14
- const Crumb = ({ className, as, isCurrent, action, ...props }) => {
15
+ const crumbTextTruncateStyles = "min-w-0 flex-1 truncate";
16
+ const truncateTextChildren = (children) => React.Children.map(
17
+ children,
18
+ (child) => typeof child === "string" || typeof child === "number" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: crumbTextTruncateStyles, children: child }) : child
19
+ );
20
+ const Crumb = ({ className, as, isCurrent, action, children, ...props }) => {
15
21
  const Root = as || "span";
16
22
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17
23
  /* @__PURE__ */ jsxRuntime.jsxs("li", { className: utils_cn.cn("flex h-full min-w-0 items-center gap-1", isCurrent ? "shrink" : "shrink-0"), children: [
@@ -20,12 +26,13 @@ const Crumb = ({ className, as, isCurrent, action, ...props }) => {
20
26
  {
21
27
  "aria-current": isCurrent ? "page" : void 0,
22
28
  className: utils_cn.cn(
23
- "flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md",
29
+ "flex min-w-0 items-center gap-2 overflow-hidden rounded-md px-1 py-0.5 text-ui-md leading-ui-md",
24
30
  primitives_transitions.transitions.colors,
25
31
  isCurrent ? "font-medium text-neutral6" : "cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10",
26
32
  className
27
33
  ),
28
- ...props
34
+ ...props,
35
+ children: truncateTextChildren(children)
29
36
  }
30
37
  ),
31
38
  action
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.cjs.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n />\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":["jsx","cn","jsxs","Fragment","transitions","Icon","SlashIcon"],"mappings":";;;;;;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAAA,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWC,WAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAaO,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,IAAI,SAAA,EAAW,MAAA,EAAQ,GAAG,KAAA,EAAM,KAAkB;AACnF,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,eAAA,CAAC,QAAG,SAAA,EAAWD,WAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAAD,cAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAWC,WAAA;AAAA,YACT,mFAAA;AAAA,YACAG,kCAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACAJ,cAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAAA,cAAA,CAACK,mBAAK,SAAA,EAAWJ,WAAA,CAAG,iBAAiBG,kCAAA,CAAY,MAAM,GACrD,QAAA,kBAAAJ,cAAA,CAACM,yBAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"Breadcrumb.cjs.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n// `text-overflow` needs a block container, so the label truncates in its own\n// box rather than on the flex Root. Icons stay siblings to keep `gap-2`.\nconst crumbTextTruncateStyles = 'min-w-0 flex-1 truncate';\n\nconst truncateTextChildren = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className={crumbTextTruncateStyles}>{child}</span>\n ) : (\n child\n ),\n );\n\nexport const Crumb = ({ className, as, isCurrent, action, children, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 overflow-hidden rounded-md px-1 py-0.5 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n >\n {truncateTextChildren(children)}\n </Root>\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":["jsx","cn","jsxs","Fragment","transitions","Icon","SlashIcon"],"mappings":";;;;;;;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAAA,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWC,WAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAeA,MAAM,uBAAA,GAA0B,yBAAA;AAEhC,MAAM,oBAAA,GAAuB,CAAC,QAAA,KAC5B,KAAA,CAAM,QAAA,CAAS,GAAA;AAAA,EAAI,QAAA;AAAA,EAAU,CAAA,KAAA,KAC3B,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,KAAA,KAAU,QAAA,mBAC5CD,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,uBAAA,EAA0B,QAAA,EAAA,KAAA,EAAM,CAAA,GAEjD;AAEJ,CAAA;AAEK,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,EAAA,EAAI,WAAW,MAAA,EAAQ,QAAA,EAAU,GAAG,KAAA,EAAM,KAAkB;AAC7F,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACEE,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAD,eAAA,CAAC,QAAG,SAAA,EAAWD,WAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAAD,cAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAWC,WAAA;AAAA,YACT,iGAAA;AAAA,YACAG,kCAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH,+BAAqB,QAAQ;AAAA;AAAA,OAChC;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACAJ,cAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAAA,cAAA,CAACK,mBAAK,SAAA,EAAWJ,WAAA,CAAG,iBAAiBG,kCAAA,CAAY,MAAM,GACrD,QAAA,kBAAAJ,cAAA,CAACM,yBAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import React__default from 'react';
2
3
  import { Icon } from '../icons/Icon.es.js';
3
4
  import { SlashIcon } from '../icons/SlashIcon.es.js';
4
5
  import { transitions } from '../primitives/transitions.es.js';
@@ -7,7 +8,12 @@ import { c as cn } from '../cn-BakJzhuv.js';
7
8
  const Breadcrumb = ({ children, label, className, listClassName }) => {
8
9
  return /* @__PURE__ */ jsx("nav", { "aria-label": label, className, children: /* @__PURE__ */ jsx("ol", { className: cn("flex items-center gap-0.5", listClassName), children }) });
9
10
  };
10
- const Crumb = ({ className, as, isCurrent, action, ...props }) => {
11
+ const crumbTextTruncateStyles = "min-w-0 flex-1 truncate";
12
+ const truncateTextChildren = (children) => React__default.Children.map(
13
+ children,
14
+ (child) => typeof child === "string" || typeof child === "number" ? /* @__PURE__ */ jsx("span", { className: crumbTextTruncateStyles, children: child }) : child
15
+ );
16
+ const Crumb = ({ className, as, isCurrent, action, children, ...props }) => {
11
17
  const Root = as || "span";
12
18
  return /* @__PURE__ */ jsxs(Fragment, { children: [
13
19
  /* @__PURE__ */ jsxs("li", { className: cn("flex h-full min-w-0 items-center gap-1", isCurrent ? "shrink" : "shrink-0"), children: [
@@ -16,12 +22,13 @@ const Crumb = ({ className, as, isCurrent, action, ...props }) => {
16
22
  {
17
23
  "aria-current": isCurrent ? "page" : void 0,
18
24
  className: cn(
19
- "flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md",
25
+ "flex min-w-0 items-center gap-2 overflow-hidden rounded-md px-1 py-0.5 text-ui-md leading-ui-md",
20
26
  transitions.colors,
21
27
  isCurrent ? "font-medium text-neutral6" : "cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10",
22
28
  className
23
29
  ),
24
- ...props
30
+ ...props,
31
+ children: truncateTextChildren(children)
25
32
  }
26
33
  ),
27
34
  action
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.es.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport const Crumb = ({ className, as, isCurrent, action, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 truncate rounded-md px-1 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n />\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAaO,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,IAAI,SAAA,EAAW,MAAA,EAAQ,GAAG,KAAA,EAAM,KAAkB;AACnF,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,QAAG,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAW,EAAA;AAAA,YACT,mFAAA;AAAA,YACA,WAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACA,GAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAA,GAAA,CAAC,QAAK,SAAA,EAAW,EAAA,CAAG,iBAAiB,WAAA,CAAY,MAAM,GACrD,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Breadcrumb.es.js","sources":["../../src/ds/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { SlashIcon } from '../../icons/SlashIcon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface BreadcrumbProps {\n children?: React.ReactNode;\n label?: string;\n className?: string;\n listClassName?: string;\n}\n\nexport const Breadcrumb = ({ children, label, className, listClassName }: BreadcrumbProps) => {\n return (\n <nav aria-label={label} className={className}>\n <ol className={cn('flex items-center gap-0.5', listClassName)}>{children}</ol>\n </nav>\n );\n};\n\nexport interface CrumbProps {\n isCurrent?: boolean;\n as: React.ElementType;\n className?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n action?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n// `text-overflow` needs a block container, so the label truncates in its own\n// box rather than on the flex Root. Icons stay siblings to keep `gap-2`.\nconst crumbTextTruncateStyles = 'min-w-0 flex-1 truncate';\n\nconst truncateTextChildren = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className={crumbTextTruncateStyles}>{child}</span>\n ) : (\n child\n ),\n );\n\nexport const Crumb = ({ className, as, isCurrent, action, children, ...props }: CrumbProps) => {\n const Root = as || 'span';\n\n return (\n <>\n <li className={cn('flex h-full min-w-0 items-center gap-1', isCurrent ? 'shrink' : 'shrink-0')}>\n <Root\n aria-current={isCurrent ? 'page' : undefined}\n className={cn(\n 'flex min-w-0 items-center gap-2 overflow-hidden rounded-md px-1 py-0.5 text-ui-md leading-ui-md',\n transitions.colors,\n isCurrent\n ? 'font-medium text-neutral6'\n : 'cursor-pointer text-neutral3 hover:bg-neutral6/5 hover:text-neutral5 active:bg-neutral6/10',\n className,\n )}\n {...props}\n >\n {truncateTextChildren(children)}\n </Root>\n {action}\n </li>\n {!isCurrent && (\n <li role=\"separator\" className=\"flex h-full items-center\">\n <Icon className={cn('text-neutral2', transitions.colors)}>\n <SlashIcon />\n </Icon>\n </li>\n )}\n </>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;AAcO,MAAM,aAAa,CAAC,EAAE,UAAU,KAAA,EAAO,SAAA,EAAW,eAAc,KAAuB;AAC5F,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAY,KAAA,EAAO,SAAA,EACtB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,aAAa,CAAA,EAAI,UAAS,CAAA,EAC3E,CAAA;AAEJ;AAeA,MAAM,uBAAA,GAA0B,yBAAA;AAEhC,MAAM,oBAAA,GAAuB,CAAC,QAAA,KAC5BA,cAAA,CAAM,QAAA,CAAS,GAAA;AAAA,EAAI,QAAA;AAAA,EAAU,CAAA,KAAA,KAC3B,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,KAAA,KAAU,QAAA,mBAC5C,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,uBAAA,EAA0B,QAAA,EAAA,KAAA,EAAM,CAAA,GAEjD;AAEJ,CAAA;AAEK,MAAM,KAAA,GAAQ,CAAC,EAAE,SAAA,EAAW,EAAA,EAAI,WAAW,MAAA,EAAQ,QAAA,EAAU,GAAG,KAAA,EAAM,KAAkB;AAC7F,EAAA,MAAM,OAAO,EAAA,IAAM,MAAA;AAEnB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,QAAG,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAA,GAAY,QAAA,GAAW,UAAU,CAAA,EAC3F,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,YAAY,MAAA,GAAS,MAAA;AAAA,UACnC,SAAA,EAAW,EAAA;AAAA,YACT,iGAAA;AAAA,YACA,WAAA,CAAY,MAAA;AAAA,YACZ,YACI,2BAAA,GACA,4FAAA;AAAA,YACJ;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH,+BAAqB,QAAQ;AAAA;AAAA,OAChC;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,IACC,CAAC,SAAA,oBACA,GAAA,CAAC,QAAG,IAAA,EAAK,WAAA,EAAY,WAAU,0BAAA,EAC7B,QAAA,kBAAA,GAAA,CAAC,QAAK,SAAA,EAAW,EAAA,CAAG,iBAAiB,WAAA,CAAY,MAAM,GACrD,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,GACb,CAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataList = require('../data-list-B3P5IlxV.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-ClGPuUja.cjs');
5
+ const dataList = require('../data-list-Cb-piK4z.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton--tiF5mjH.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
- const dataListTopCell = require('../data-list-top-cell-Dfg0AKmr.cjs');
8
+ const dataListTopCell = require('../data-list-top-cell-CU8KoWys.cjs');
9
9
  const dateFns = require('date-fns');
10
- const tracesDataList = require('../traces-data-list-D3TOjHkm.cjs');
10
+ const tracesDataList = require('../traces-data-list-vsvvvEiP.cjs');
11
11
 
12
12
  function toDate(value) {
13
13
  const date = value instanceof Date ? value : new Date(value);
@@ -1,9 +1,9 @@
1
- export { D as DataList } from '../data-list-CZC8N3I4.js';
2
- export { D as DataListSkeleton } from '../data-list-skeleton-BDQEjCWH.js';
1
+ export { D as DataList } from '../data-list-CnQRIUyN.js';
2
+ export { D as DataListSkeleton } from '../data-list-skeleton-DeEqsrIz.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import { a as DataListCell, c as DataListNextPageLoading, f as DataListNoMatch, i as DataListRowButton, m as DataListTopCell, n as DataListTop, D as DataListRoot } from '../data-list-top-cell-S98SdRsx.js';
4
+ import { a as DataListCell, c as DataListNextPageLoading, f as DataListNoMatch, i as DataListRowButton, m as DataListTopCell, n as DataListTop, D as DataListRoot } from '../data-list-top-cell-D9VTy6Sk.js';
5
5
  import { format, isToday } from 'date-fns';
6
- export { T as TracesDataList } from '../traces-data-list-a3sYTxch.js';
6
+ export { T as TracesDataList } from '../traces-data-list-DtuaCDES.js';
7
7
 
8
8
  function toDate(value) {
9
9
  const date = value instanceof Date ? value : new Date(value);
@@ -10,7 +10,7 @@ const Button = require('../Button-Bm94fEF2.cjs');
10
10
  const Notice = require('../Notice-B9cdEg8R.cjs');
11
11
  const envFile = require('../env-file-BU2hStkm.cjs');
12
12
  const Txt = require('../Txt-I5lK8zy7.cjs');
13
- const dataList = require('../data-list-B3P5IlxV.cjs');
13
+ const dataList = require('../data-list-Cb-piK4z.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
15
  const fieldBlock = require('../field-block-BcTR08I7.cjs');
16
16
  const inputGroup = require('../input-group-CH72YUVL.cjs');
@@ -6,7 +6,7 @@ import { B as Button } from '../Button-Bx2lFdqb.js';
6
6
  import { N as Notice } from '../Notice-DIK9IZsq.js';
7
7
  import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowCx.js';
8
8
  import { T as Txt } from '../Txt-Df42XG5p.js';
9
- import { D as DataList } from '../data-list-CZC8N3I4.js';
9
+ import { D as DataList } from '../data-list-CnQRIUyN.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
11
  import { F as FieldBlock } from '../field-block-B63CpA4d.js';
12
12
  import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-Dzs-ai0n.js';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const logsDataList = require('../logs-data-list-DTt_DmNk.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-ClGPuUja.cjs');
5
+ const logsDataList = require('../logs-data-list-DWf9fEtC.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton--tiF5mjH.cjs');
7
7
 
8
8
 
9
9
 
@@ -1,3 +1,3 @@
1
- export { L as LogsDataList } from '../logs-data-list-C9Q9MHsz.js';
2
- export { D as LogsDataListSkeleton } from '../data-list-skeleton-BDQEjCWH.js';
1
+ export { L as LogsDataList } from '../logs-data-list-CAa2nwZC.js';
2
+ export { D as LogsDataListSkeleton } from '../data-list-skeleton-DeEqsrIz.js';
3
3
  //# sourceMappingURL=LogsDataList.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const markdownRenderer = require('../markdown-renderer-CfWz5SWN.cjs');
5
+ const markdownRenderer = require('../markdown-renderer-DwfNrhEH.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { M as MarkdownRenderer } from '../markdown-renderer-CqAR8lve.js';
1
+ export { M as MarkdownRenderer } from '../markdown-renderer-Bi2fWeoF.js';
2
2
  //# sourceMappingURL=MarkdownRenderer.es.js.map
@@ -7,7 +7,7 @@ const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const Badge = require('../../Badge-BlJpI3fY.cjs');
9
9
  const Button = require('../../Button-Bm94fEF2.cjs');
10
- const markdownRenderer = require('../../markdown-renderer-CfWz5SWN.cjs');
10
+ const markdownRenderer = require('../../markdown-renderer-DwfNrhEH.cjs');
11
11
  const Txt = require('../../Txt-I5lK8zy7.cjs');
12
12
  const icons_Icon = require('../../icons/Icon.cjs.js');
13
13
  const hooks_useCopyToClipboard = require('../../hooks/use-copy-to-clipboard.cjs.js');
@@ -3,7 +3,7 @@ import { CheckIcon, CopyIcon, Minimize2, Maximize2, ClipboardList } from 'lucide
3
3
  import { useState, createContext, useContext } from 'react';
4
4
  import { B as Badge } from '../../Badge-woV6OD8k.js';
5
5
  import { B as Button } from '../../Button-Bx2lFdqb.js';
6
- import { M as MarkdownRenderer } from '../../markdown-renderer-CqAR8lve.js';
6
+ import { M as MarkdownRenderer } from '../../markdown-renderer-Bi2fWeoF.js';
7
7
  import { T as Txt } from '../../Txt-Df42XG5p.js';
8
8
  import { Icon } from '../../icons/Icon.es.js';
9
9
  import { useCopyToClipboard } from '../../hooks/use-copy-to-clipboard.es.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const dataListTopCell = require('./data-list-top-cell-Dfg0AKmr.cjs');
3
+ const dataListTopCell = require('./data-list-top-cell-CU8KoWys.cjs');
4
4
  const jsxRuntime = require('react/jsx-runtime');
5
5
  const lucideReact = require('lucide-react');
6
6
  const Button = require('./Button-Bm94fEF2.cjs');
@@ -132,4 +132,4 @@ const DataList = Object.assign(dataListTopCell.DataListRoot, {
132
132
  exports.DataList = DataList;
133
133
  exports.DataListSubHeading = DataListSubHeading;
134
134
  exports.DataListSubheader = DataListSubheader;
135
- //# sourceMappingURL=data-list-B3P5IlxV.cjs.map
135
+ //# sourceMappingURL=data-list-Cb-piK4z.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-list-B3P5IlxV.cjs","sources":["../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"text-ui-md text-neutral3 col-span-full flex items-center justify-center gap-8 py-4\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles, dataListRowVariants } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, flushLeft, flushRight, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(\n isWrapped\n ? 'grid grid-cols-subgrid gap-8 rounded-lg px-5 transition-colors duration-200'\n : dataListRowStaticStyles,\n !isWrapped && flushLeft && 'ml-0!',\n !isWrapped && flushRight && 'mr-0!',\n // `!` so the selection fill wins over borderless table root styling\n // (higher-specificity descendant rules); same color in `default`.\n featured && 'bg-surface4!',\n dataListRowVariants({ variant }),\n className,\n )}\n style={resolvedStyle}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full mx-1 border-none px-4 py-3 text-ui-md font-medium text-neutral4',\n 'before:absolute before:inset-x-0 before:inset-y-1 before:-z-1 before:rounded-md before:bg-surface4',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return <span className={cn('text-ui-sm font-normal text-neutral2', className)}>{children}</span>;\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-8 px-5 [&>*]:pointer-events-auto',\n !colStart && 'col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListMonoCell,\n DataListDateCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListStickyHeaderBackground, DataListVariant } from './data-list-root';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n MonoCell: DataListMonoCell,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":["jsxs","jsx","Button","ArrowLeftIcon","ArrowRightIcon","forwardRef","useDataListRowWrapperContext","cn","dataListRowStaticStyles","dataListRowVariants","DataListRoot","DataListTop","DataListTopCell","DataListTopCellWithTooltip","DataListTopCellSmart","DataListRowWrapper","DataListRowButton","DataListRowLink","DataListCell","DataListTextCell","DataListNameCell","DataListDescriptionCell","DataListIdCell","DataListRowHeaderCell","DataListNumberCell","DataListMonoCell","DataListDateCell","DataListTimeCell","DataListSelectCell","DataListTopSelectCell","DataListNoMatch","DataListSpacer","DataListNextPageLoading"],"mappings":"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"}
1
+ {"version":3,"file":"data-list-Cb-piK4z.cjs","sources":["../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"text-ui-md text-neutral3 col-span-full flex items-center justify-center gap-8 py-4\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles, dataListRowVariants } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, flushLeft, flushRight, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(\n isWrapped\n ? 'grid grid-cols-subgrid gap-8 rounded-lg px-5 transition-colors duration-200'\n : dataListRowStaticStyles,\n !isWrapped && flushLeft && 'ml-0!',\n !isWrapped && flushRight && 'mr-0!',\n // `!` so the selection fill wins over borderless table root styling\n // (higher-specificity descendant rules); same color in `default`.\n featured && 'bg-surface4!',\n dataListRowVariants({ variant }),\n className,\n )}\n style={resolvedStyle}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full mx-1 border-none px-4 py-3 text-ui-md font-medium text-neutral4',\n 'before:absolute before:inset-x-0 before:inset-y-1 before:-z-1 before:rounded-md before:bg-surface4',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return <span className={cn('text-ui-sm font-normal text-neutral2', className)}>{children}</span>;\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-8 px-5 [&>*]:pointer-events-auto',\n !colStart && 'col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListMonoCell,\n DataListDateCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListStickyHeaderBackground, DataListVariant } from './data-list-root';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n MonoCell: DataListMonoCell,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":["jsxs","jsx","Button","ArrowLeftIcon","ArrowRightIcon","forwardRef","useDataListRowWrapperContext","cn","dataListRowStaticStyles","dataListRowVariants","DataListRoot","DataListTop","DataListTopCell","DataListTopCellWithTooltip","DataListTopCellSmart","DataListRowWrapper","DataListRowButton","DataListRowLink","DataListCell","DataListTextCell","DataListNameCell","DataListDescriptionCell","DataListIdCell","DataListRowHeaderCell","DataListNumberCell","DataListMonoCell","DataListDateCell","DataListTimeCell","DataListSelectCell","DataListTopSelectCell","DataListNoMatch","DataListSpacer","DataListNextPageLoading"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { u as useDataListRowWrapperContext, p as dataListRowVariants, q as dataListRowStaticStyles, D as DataListRoot, c as DataListNextPageLoading, g as DataListSpacer, f as DataListNoMatch, r as DataListTopSelectCell, s as DataListSelectCell, d as DataListTimeCell, e as DataListDateCell, b as DataListMonoCell, t as DataListNumberCell, v as DataListRowHeaderCell, o as DataListIdCell, w as DataListDescriptionCell, x as DataListNameCell, y as DataListTextCell, a as DataListCell, h as DataListRowLink, i as DataListRowButton, j as DataListRowWrapper, k as DataListTopCellSmart, l as DataListTopCellWithTooltip, m as DataListTopCell, n as DataListTop } from './data-list-top-cell-S98SdRsx.js';
1
+ import { u as useDataListRowWrapperContext, p as dataListRowVariants, q as dataListRowStaticStyles, D as DataListRoot, c as DataListNextPageLoading, g as DataListSpacer, f as DataListNoMatch, r as DataListTopSelectCell, s as DataListSelectCell, d as DataListTimeCell, e as DataListDateCell, b as DataListMonoCell, t as DataListNumberCell, v as DataListRowHeaderCell, o as DataListIdCell, w as DataListDescriptionCell, x as DataListNameCell, y as DataListTextCell, a as DataListCell, h as DataListRowLink, i as DataListRowButton, j as DataListRowWrapper, k as DataListTopCellSmart, l as DataListTopCellWithTooltip, m as DataListTopCell, n as DataListTop } from './data-list-top-cell-D9VTy6Sk.js';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';
4
4
  import { B as Button } from './Button-Bx2lFdqb.js';
@@ -128,4 +128,4 @@ const DataList = Object.assign(DataListRoot, {
128
128
  });
129
129
 
130
130
  export { DataList as D, DataListSubHeading as a, DataListSubheader as b };
131
- //# sourceMappingURL=data-list-CZC8N3I4.js.map
131
+ //# sourceMappingURL=data-list-CnQRIUyN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-list-CZC8N3I4.js","sources":["../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"text-ui-md text-neutral3 col-span-full flex items-center justify-center gap-8 py-4\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles, dataListRowVariants } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, flushLeft, flushRight, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(\n isWrapped\n ? 'grid grid-cols-subgrid gap-8 rounded-lg px-5 transition-colors duration-200'\n : dataListRowStaticStyles,\n !isWrapped && flushLeft && 'ml-0!',\n !isWrapped && flushRight && 'mr-0!',\n // `!` so the selection fill wins over borderless table root styling\n // (higher-specificity descendant rules); same color in `default`.\n featured && 'bg-surface4!',\n dataListRowVariants({ variant }),\n className,\n )}\n style={resolvedStyle}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full mx-1 border-none px-4 py-3 text-ui-md font-medium text-neutral4',\n 'before:absolute before:inset-x-0 before:inset-y-1 before:-z-1 before:rounded-md before:bg-surface4',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return <span className={cn('text-ui-sm font-normal text-neutral2', className)}>{children}</span>;\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-8 px-5 [&>*]:pointer-events-auto',\n !colStart && 'col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListMonoCell,\n DataListDateCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListStickyHeaderBackground, DataListVariant } from './data-list-root';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n MonoCell: DataListMonoCell,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-list-CnQRIUyN.js","sources":["../src/ds/components/DataList/data-list-pagination.tsx","../src/ds/components/DataList/data-list-row-static.tsx","../src/ds/components/DataList/data-list-subheader.tsx","../src/ds/components/DataList/data-list-subheading.tsx","../src/ds/components/DataList/data-list-top-cells.tsx","../src/ds/components/DataList/data-list.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport type DataListPaginationProps = {\n currentPage?: number;\n hasMore?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n};\n\nexport function DataListPagination({ currentPage, hasMore, onNextPage, onPrevPage }: DataListPaginationProps) {\n const showNavigation = (typeof currentPage === 'number' && currentPage > 0) || hasMore;\n\n return (\n <div className=\"text-ui-md text-neutral3 col-span-full flex items-center justify-center gap-8 py-4\">\n <span>\n Page <b>{currentPage ? currentPage + 1 : '1'}</b>\n </span>\n {showNavigation && (\n <div className=\"flex gap-4\">\n {typeof currentPage === 'number' && currentPage > 0 && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onPrevPage}>\n <ArrowLeftIcon />\n Previous\n </Button>\n )}\n {hasMore && (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onNextPage}>\n Next\n <ArrowRightIcon />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useDataListRowWrapperContext } from './data-list-row-wrapper-context';\nimport { dataListRowStaticStyles, dataListRowVariants } from './shared';\nimport type { DataListRowSharedProps } from './shared';\nimport { cn } from '@/lib/utils';\n\nexport type DataListRowStaticProps = ComponentPropsWithoutRef<'div'> & DataListRowSharedProps;\n\n/**\n * Non-interactive row. Use when a row should *display* like a regular row but\n * has no link target or click handler\n */\nexport const DataListRowStatic = forwardRef<HTMLDivElement, DataListRowStaticProps>(\n ({ children, className, flushLeft, flushRight, colStart, colEnd, featured, variant, style, ...rest }, ref) => {\n const isWrapped = useDataListRowWrapperContext();\n const hasColumnOverride = colStart !== undefined || colEnd !== undefined;\n const resolvedStyle = hasColumnOverride ? { ...style, gridColumn: `${colStart ?? 1} / ${colEnd ?? -1}` } : style;\n return (\n <div\n ref={ref}\n className={cn(\n isWrapped\n ? 'grid grid-cols-subgrid gap-8 rounded-lg px-5 transition-colors duration-200'\n : dataListRowStaticStyles,\n !isWrapped && flushLeft && 'ml-0!',\n !isWrapped && flushRight && 'mr-0!',\n // `!` so the selection fill wins over borderless table root styling\n // (higher-specificity descendant rules); same color in `default`.\n featured && 'bg-surface4!',\n dataListRowVariants({ variant }),\n className,\n )}\n style={resolvedStyle}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListRowStatic.displayName = 'DataListRowStatic';\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubheaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const DataListSubheader = forwardRef<HTMLDivElement, DataListSubheaderProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'data-list-subheader relative isolate col-span-full mx-1 border-none px-4 py-3 text-ui-md font-medium text-neutral4',\n 'before:absolute before:inset-x-0 before:inset-y-1 before:-z-1 before:rounded-md before:bg-surface4',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListSubheader.displayName = 'DataListSubheader';\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListSubHeadingProps = {\n children: ReactNode;\n className?: string;\n};\n\nexport function DataListSubHeading({ children, className }: DataListSubHeadingProps) {\n return <span className={cn('text-ui-sm font-normal text-neutral2', className)}>{children}</span>;\n}\n","import { forwardRef } from 'react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type DataListTopCellsProps = ComponentPropsWithoutRef<'div'> & {\n /**\n * Drop the group's default left margin. Use when this sits as the second\n * child of a gap-0 `DataList.Top`, beside a `DataList.TopSelectCell` that\n * owns the leading column.\n */\n flushLeft?: boolean;\n /**\n * Place the group starting at this column line, spanning through to the\n * last column. Defaults to the full grid (`col-span-full`). Use when this\n * sits beside a leading cell that owns column 1.\n */\n colStart?: number;\n};\n\n/**\n * Non-interactive header equivalent of `DataList.RowButton`. Groups a set of\n * `DataList.TopCell`s with the same horizontal layout (gap, mx, px) as\n * `RowButton`, so columns inside a wrapped `Top` line up cell-for-cell with the\n * columns inside a wrapped `Row`.\n */\nexport const DataListTopCells = forwardRef<HTMLDivElement, DataListTopCellsProps>(\n ({ children, className, flushLeft, colStart, style, ...rest }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'pointer-events-none grid grid-cols-subgrid gap-8 px-5 [&>*]:pointer-events-auto',\n !colStart && 'col-span-full',\n flushLeft && 'pl-0!',\n className,\n )}\n style={colStart ? { ...style, gridColumn: `${colStart} / -1` } : style}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDataListTopCells.displayName = 'DataListTopCells';\n","import {\n DataListCell,\n DataListTextCell,\n DataListNameCell,\n DataListDescriptionCell,\n DataListIdCell,\n DataListRowHeaderCell,\n DataListNumberCell,\n DataListSelectCell,\n DataListMonoCell,\n DataListDateCell,\n DataListTimeCell,\n} from './data-list-cells';\nimport { DataListNextPageLoading } from './data-list-next-page-loading';\nimport { DataListNoMatch } from './data-list-no-match';\nimport { DataListPagination } from './data-list-pagination';\nimport { DataListRoot } from './data-list-root';\nimport { DataListRowButton } from './data-list-row-button';\nimport { DataListRowLink } from './data-list-row-link';\nimport { DataListRowStatic } from './data-list-row-static';\nimport { DataListRowWrapper } from './data-list-row-wrapper';\nimport { DataListSpacer } from './data-list-spacer';\nimport { DataListSubheader } from './data-list-subheader';\nimport { DataListSubHeading } from './data-list-subheading';\nimport { DataListTop } from './data-list-top';\nimport {\n DataListTopCell,\n DataListTopCellWithTooltip,\n DataListTopCellSmart,\n DataListTopSelectCell,\n} from './data-list-top-cell';\nimport { DataListTopCells } from './data-list-top-cells';\n\nexport type { DataListRootProps, DataListStickyHeaderBackground, DataListVariant } from './data-list-root';\n\nexport const DataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCells: DataListTopCells,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n RowStatic: DataListRowStatic,\n Cell: DataListCell,\n TextCell: DataListTextCell,\n NameCell: DataListNameCell,\n DescriptionCell: DataListDescriptionCell,\n IdCell: DataListIdCell,\n RowHeaderCell: DataListRowHeaderCell,\n NumberCell: DataListNumberCell,\n MonoCell: DataListMonoCell,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n SelectCell: DataListSelectCell,\n TopSelectCell: DataListTopSelectCell,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n NextPageLoading: DataListNextPageLoading,\n Pagination: DataListPagination,\n});\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const dataListTopCell = require('./data-list-top-cell-Dfg0AKmr.cjs');
4
+ const dataListTopCell = require('./data-list-top-cell-CU8KoWys.cjs');
5
5
 
6
6
  const widths = ["75%", "50%", "65%", "90%", "60%", "80%"];
7
- function DataListSkeleton({ columns = "auto 1fr auto auto", numberOfRows = 3 }) {
7
+ function DataListSkeleton({ columns = "auto 1fr auto auto", numberOfRows = 3, fit }) {
8
8
  const columnParts = columns.trim().split(/\s+/);
9
9
  const columnCount = columnParts.length;
10
10
  const skeletonColumns = columnParts.map((col) => col === "auto" ? "minmax(6rem, auto)" : col).join(" ");
@@ -12,7 +12,7 @@ function DataListSkeleton({ columns = "auto 1fr auto auto", numberOfRows = 3 })
12
12
  const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;
13
13
  return widths[index];
14
14
  };
15
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListRoot, { columns: skeletonColumns, children: Array.from({ length: numberOfRows }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(
15
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListRoot, { columns: skeletonColumns, fit, children: Array.from({ length: numberOfRows }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(
16
16
  "div",
17
17
  {
18
18
  className: "data-list-row border-b-border1 3xl:gap-14 col-span-full grid grid-cols-subgrid gap-6 rounded-lg border-y border-t-transparent px-5 transition-colors duration-200 lg:gap-8 xl:gap-10 2xl:gap-12",
@@ -29,4 +29,4 @@ function DataListSkeleton({ columns = "auto 1fr auto auto", numberOfRows = 3 })
29
29
  }
30
30
 
31
31
  exports.DataListSkeleton = DataListSkeleton;
32
- //# sourceMappingURL=data-list-skeleton-ClGPuUja.cjs.map
32
+ //# sourceMappingURL=data-list-skeleton--tiF5mjH.cjs.map