@photon-ai/pho-ui 2.16.0 → 3.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 (105) hide show
  1. package/dist/chunks/IconArrowsMinimize-BfPUGuCB.js +75 -0
  2. package/dist/chunks/IconArrowsMinimize-BfPUGuCB.js.map +1 -0
  3. package/dist/chunks/IconChevronUp-CrpWSgIl.js +11 -0
  4. package/dist/chunks/IconChevronUp-CrpWSgIl.js.map +1 -0
  5. package/dist/chunks/{bar-chart-BJfr3eyd.js → bar-chart-DIALC2_z.js} +2 -2
  6. package/dist/chunks/bar-chart-DIALC2_z.js.map +1 -0
  7. package/dist/chunks/basic-page-CYDwfVjO.js +1749 -0
  8. package/dist/chunks/basic-page-CYDwfVjO.js.map +1 -0
  9. package/dist/chunks/calendar-4OFiCLAv.js +292 -0
  10. package/dist/chunks/calendar-4OFiCLAv.js.map +1 -0
  11. package/dist/chunks/card-DhDwtSi9.js +56 -0
  12. package/dist/chunks/card-DhDwtSi9.js.map +1 -0
  13. package/dist/chunks/code-block-BuDIo8Q0.js +197 -0
  14. package/dist/chunks/code-block-BuDIo8Q0.js.map +1 -0
  15. package/dist/chunks/collapsible-if7ncPbI.js +28 -0
  16. package/dist/chunks/collapsible-if7ncPbI.js.map +1 -0
  17. package/dist/chunks/{command-Ck8IAgV7.js → command-CTYrSz9a.js} +2 -2
  18. package/dist/chunks/{command-Ck8IAgV7.js.map → command-CTYrSz9a.js.map} +1 -1
  19. package/dist/chunks/data-table-DcwCgXJU.js +293 -0
  20. package/dist/chunks/data-table-DcwCgXJU.js.map +1 -0
  21. package/dist/chunks/date-picker-Bwa6J4ik.js +381 -0
  22. package/dist/chunks/date-picker-Bwa6J4ik.js.map +1 -0
  23. package/dist/chunks/{dialog-BxKACOj5.js → dialog-BwfUFn6B.js} +2 -2
  24. package/dist/chunks/{dialog-BxKACOj5.js.map → dialog-BwfUFn6B.js.map} +1 -1
  25. package/dist/chunks/{error-D0yoFxCv.js → error-BAQgnde7.js} +2 -2
  26. package/dist/chunks/{error-D0yoFxCv.js.map → error-BAQgnde7.js.map} +1 -1
  27. package/dist/chunks/{filter-bar-Cjjq38xo.js → filter-bar-D9lBBr4z.js} +3 -3
  28. package/dist/chunks/{filter-bar-Cjjq38xo.js.map → filter-bar-D9lBBr4z.js.map} +1 -1
  29. package/dist/chunks/ghost-search-BvBFa9su.js +25 -0
  30. package/dist/chunks/ghost-search-BvBFa9su.js.map +1 -0
  31. package/dist/chunks/{line-chart-CUR3AxrR.js → line-chart-VuMYKzW3.js} +2 -2
  32. package/dist/chunks/{line-chart-CUR3AxrR.js.map → line-chart-VuMYKzW3.js.map} +1 -1
  33. package/dist/chunks/{log-list-0AXnjFrk.js → log-list-BERiO4UJ.js} +2 -2
  34. package/dist/chunks/{log-list-0AXnjFrk.js.map → log-list-BERiO4UJ.js.map} +1 -1
  35. package/dist/chunks/scroll-area-Zik8t1Mk.js +168 -0
  36. package/dist/chunks/scroll-area-Zik8t1Mk.js.map +1 -0
  37. package/dist/chunks/sidebar-DRPe5CAh.js +306 -0
  38. package/dist/chunks/sidebar-DRPe5CAh.js.map +1 -0
  39. package/dist/chunks/{toast-iSf6NuAS.js → toast-72Wwlzg9.js} +2 -2
  40. package/dist/chunks/{toast-iSf6NuAS.js.map → toast-72Wwlzg9.js.map} +1 -1
  41. package/dist/chunks/trace-Ba1RMBfk.js +1645 -0
  42. package/dist/chunks/trace-Ba1RMBfk.js.map +1 -0
  43. package/dist/chunks/use-measure-C-i54AC6.js +629 -0
  44. package/dist/chunks/use-measure-C-i54AC6.js.map +1 -0
  45. package/dist/components/bar-chart.js +1 -1
  46. package/dist/components/calendar.js +5 -0
  47. package/dist/components/card.js +1 -1
  48. package/dist/components/code-block.js +1 -1
  49. package/dist/components/collapsible.js +2 -25
  50. package/dist/components/command.js +1 -1
  51. package/dist/components/data-table.js +9 -8
  52. package/dist/components/date-picker.js +6 -0
  53. package/dist/components/dialog.js +1 -1
  54. package/dist/components/error.js +1 -1
  55. package/dist/components/filter-bar.js +1 -1
  56. package/dist/components/line-chart.js +1 -1
  57. package/dist/components/log-list.js +1 -1
  58. package/dist/components/scroll-area.js +1 -1
  59. package/dist/components/toast.js +1 -1
  60. package/dist/components/trace.js +41 -6
  61. package/dist/index.js +164 -121
  62. package/dist/primitives.js +3 -3
  63. package/dist/sections/basic-page.js +5 -5
  64. package/dist/sections/sidebar.js +9 -6
  65. package/dist/src/components/calendar/calendar.d.ts +36 -0
  66. package/dist/src/components/calendar/index.d.ts +2 -0
  67. package/dist/src/components/card/card.d.ts +5 -1
  68. package/dist/src/components/chart/scale.d.ts +6 -1
  69. package/dist/src/components/code-block/code-block.d.ts +24 -5
  70. package/dist/src/components/code-block/index.d.ts +1 -1
  71. package/dist/src/components/data-table/data-table.d.ts +54 -13
  72. package/dist/src/components/date-picker/date-picker.d.ts +97 -0
  73. package/dist/src/components/date-picker/index.d.ts +2 -0
  74. package/dist/src/components/scroll-area/scroll-area.d.ts +9 -1
  75. package/dist/src/components/trace/decorations.d.ts +32 -0
  76. package/dist/src/components/trace/index.d.ts +5 -2
  77. package/dist/src/components/trace/layout.d.ts +57 -29
  78. package/dist/src/components/trace/span-primitive.d.ts +168 -0
  79. package/dist/src/components/trace/span-tree.d.ts +148 -0
  80. package/dist/src/components/trace/trace.d.ts +98 -16
  81. package/dist/src/index.d.ts +2 -0
  82. package/dist/src/sections/basic-page/basic-page.d.ts +95 -7
  83. package/dist/src/sections/basic-page/index.d.ts +1 -1
  84. package/dist/src/sections/sidebar/index.d.ts +1 -1
  85. package/dist/src/sections/sidebar/sidebar.d.ts +72 -0
  86. package/dist/src/utils/ghost-search.d.ts +11 -0
  87. package/package.json +10 -1
  88. package/dist/chunks/bar-chart-BJfr3eyd.js.map +0 -1
  89. package/dist/chunks/basic-page-CMJuM5iA.js +0 -1650
  90. package/dist/chunks/basic-page-CMJuM5iA.js.map +0 -1
  91. package/dist/chunks/card-DSW3Uhag.js +0 -56
  92. package/dist/chunks/card-DSW3Uhag.js.map +0 -1
  93. package/dist/chunks/code-block-CdozzaHM.js +0 -139
  94. package/dist/chunks/code-block-CdozzaHM.js.map +0 -1
  95. package/dist/chunks/data-table-CHLJfGkS.js +0 -279
  96. package/dist/chunks/data-table-CHLJfGkS.js.map +0 -1
  97. package/dist/chunks/scroll-area-BO-9PMM7.js +0 -167
  98. package/dist/chunks/scroll-area-BO-9PMM7.js.map +0 -1
  99. package/dist/chunks/sidebar-DVzZsCts.js +0 -223
  100. package/dist/chunks/sidebar-DVzZsCts.js.map +0 -1
  101. package/dist/chunks/trace-CbH0IohX.js +0 -314
  102. package/dist/chunks/trace-CbH0IohX.js.map +0 -1
  103. package/dist/chunks/use-measure-CMVgLouO.js +0 -616
  104. package/dist/chunks/use-measure-CMVgLouO.js.map +0 -1
  105. package/dist/components/collapsible.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,140 +1,183 @@
1
1
  "use client";
2
2
  import { t as s } from "./chunks/cn-ChIgwEl3.js";
3
3
  import { t as r } from "./chunks/is-react-component-DSnjtBmo.js";
4
- import { t as E } from "./chunks/resolve-variant-CcD8iG5l.js";
5
- import { n as _, t as i } from "./chunks/link-provider-DXzDQ08N.js";
6
- import { BAR_RISE_PX as e, BLUR_PX as A, EASE_POP as n, EASE_STACK as T, FADE_ENTRANCE as R, FADE_SWAP as I, PRESS_SCALE as p, PRESS_SCALE_ROW as C, RISE_PX as P, SPRING_ENTRANCE as f, SPRING_PRESS as B, SPRING_PRESS_INLINE as N, SPRING_PRESS_QUICK as u, SPRING_SETTLE as O, TRAVEL_LINEAR as L, fadeThroughBlur as l, riseIn as D } from "./motion.js";
7
- import { n as V, r as G, t as U } from "./chunks/use-press-pulse-IbNstUT0.js";
8
- import { n as h, t as F } from "./chunks/use-copy-D6JwKUll.js";
4
+ import { t as e } from "./chunks/resolve-variant-CcD8iG5l.js";
5
+ import { n as E, t as S } from "./chunks/link-provider-DXzDQ08N.js";
6
+ import { BAR_RISE_PX as n, BLUR_PX as m, EASE_POP as I, EASE_STACK as T, FADE_ENTRANCE as p, FADE_SWAP as A, PRESS_SCALE as R, PRESS_SCALE_ROW as l, RISE_PX as C, SPRING_ENTRANCE as B, SPRING_PRESS as f, SPRING_PRESS_INLINE as N, SPRING_PRESS_QUICK as P, SPRING_SETTLE as u, TRAVEL_LINEAR as L, fadeThroughBlur as D, riseIn as c } from "./motion.js";
7
+ import { n as V, r as d, t as U } from "./chunks/use-press-pulse-IbNstUT0.js";
8
+ import { n as F, t as b } from "./chunks/use-copy-D6JwKUll.js";
9
9
  import "./utils.js";
10
- import { a as k, c as b, d as W, i as X, l as Y, n as Z, o as v, r as w, s as y, t as H, u as K } from "./chunks/button-CdqS_t5a.js";
11
- import { a as z, c as J, i as Q, l as j, n as q, o as $, r as aa, s as sa, t as ta } from "./chunks/error-D0yoFxCv.js";
12
- import { o as oa } from "./chunks/data-table-CHLJfGkS.js";
13
- import { n as Sa, t as _a } from "./chunks/copy-button-B_B15mEi.js";
14
- import { a as ma, c as ea, i as Aa, n as na, o as Ta, r as Ra, s as Ia, t as pa } from "./chunks/sidebar-DVzZsCts.js";
15
- import { t as Pa } from "./chunks/input-DjvZoF8v.js";
16
- import { i as Ba, n as Na, r as ua, t as Oa } from "./chunks/filter-bar-Cjjq38xo.js";
17
- import { n as la, t as Da } from "./chunks/code-block-CdozzaHM.js";
18
- import { n as Va, t as Ga } from "./chunks/stat-hnNqjWVG.js";
19
- import { t as da } from "./chunks/close-button-GvqWbLl0.js";
20
- import { t as Fa } from "./chunks/input-group-fc9_jD4d.js";
21
- import { n as Ma, t as ka } from "./chunks/card-DSW3Uhag.js";
22
- import { n as Wa, t as Xa } from "./chunks/dialog-BxKACOj5.js";
23
- import { i as Za, n as va, r as wa, t as ya } from "./chunks/status-view-C8tabjDu.js";
24
- import { a as Ka, c as xa, d as za, f as Ja, i as Qa, l as ja, m as qa, n as $a, o as as, p as ss, r as ts, s as rs, t as os, u as Es } from "./chunks/basic-page-CMJuM5iA.js";
25
- import { i as _s, n as is, r as ms, t as es } from "./chunks/legend-C0mU7dqd.js";
10
+ import { a as h, c as v, d as k, i as w, l as W, n as x, o as H, r as z, s as K, t as y, u as X } from "./chunks/button-CdqS_t5a.js";
11
+ import { a as Z, c as j, i as J, l as Q, n as q, o as $, r as aa, s as sa, t as ta } from "./chunks/error-BAQgnde7.js";
12
+ import { A as oa, B as ea, C as ia, D as Ea, E as Sa, F as _a, I as na, L as ma, M as Ia, N as Ta, O as pa, P as Aa, R as Ra, S as la, T as Ca, _ as Ba, a as fa, b as Na, c as Pa, d as ua, f as La, g as Da, h as ca, i as Oa, j as Va, k as da, l as Ua, m as Ga, n as Fa, o as ba, p as Ma, r as ga, s as ha, t as va, u as ka, v as wa, w as Wa, x as xa, y as Ha, z as za } from "./chunks/trace-Ba1RMBfk.js";
13
+ import { n as ya, t as Xa } from "./chunks/date-picker-Bwa6J4ik.js";
14
+ import { n as Za, t as ja } from "./chunks/copy-button-B_B15mEi.js";
15
+ import { a as Qa, c as qa, d as $a, i as as, l as ss, n as ts, o as rs, r as os, s as es, t as is, u as Es } from "./chunks/sidebar-DRPe5CAh.js";
16
+ import { t as _s } from "./chunks/input-DjvZoF8v.js";
17
+ import { i as ms, n as Is, r as Ts, t as ps } from "./chunks/filter-bar-D9lBBr4z.js";
18
+ import { a as Rs } from "./chunks/data-table-DcwCgXJU.js";
19
+ import { n as Cs, t as Bs } from "./chunks/code-block-BuDIo8Q0.js";
20
+ import { n as Ns, t as Ps } from "./chunks/stat-hnNqjWVG.js";
21
+ import { t as Ls } from "./chunks/calendar-4OFiCLAv.js";
22
+ import { t as cs } from "./chunks/close-button-GvqWbLl0.js";
23
+ import { t as Vs } from "./chunks/input-group-fc9_jD4d.js";
24
+ import { n as Us, t as Gs } from "./chunks/card-DhDwtSi9.js";
25
+ import { n as bs, t as Ms } from "./chunks/dialog-BwfUFn6B.js";
26
+ import { i as hs, n as vs, r as ks, t as ws } from "./chunks/status-view-C8tabjDu.js";
27
+ import { a as xs, c as Hs, d as zs, f as Ks, i as ys, l as Xs, m as Ys, n as Zs, o as js, p as Js, r as Qs, s as qs, t as $s, u as at } from "./chunks/basic-page-CYDwfVjO.js";
28
+ import { i as tt, n as rt, r as ot, t as et } from "./chunks/legend-C0mU7dqd.js";
26
29
  import "./components/chart.js";
27
- import { t as Ts } from "./chunks/bar-chart-BJfr3eyd.js";
28
- import { t as Is } from "./chunks/line-chart-CUR3AxrR.js";
29
- import { i as Cs, n as Ps, r as fs, t as Bs } from "./chunks/log-list-0AXnjFrk.js";
30
- import { t as us } from "./chunks/description-list-C-mwe4ki.js";
31
- import { a as Ls, i as ls, n as Ds, r as cs, t as Vs } from "./chunks/trace-CbH0IohX.js";
30
+ import { t as St } from "./chunks/bar-chart-DIALC2_z.js";
31
+ import { t as nt } from "./chunks/line-chart-VuMYKzW3.js";
32
+ import { i as It, n as Tt, r as pt, t as At } from "./chunks/log-list-BERiO4UJ.js";
33
+ import { t as lt } from "./chunks/description-list-C-mwe4ki.js";
32
34
  export {
33
- os as AUTO_SAVE_DELAY_MS,
34
- e as BAR_RISE_PX,
35
- $a as BASIC_PAGE_CALLOUT,
36
- ts as BASIC_PAGE_CARD,
37
- Qa as BASIC_PAGE_ITEM,
38
- Ka as BASIC_PAGE_ITEM_PANEL,
39
- as as BASIC_PAGE_ITEM_PANEL_DIVIDED,
40
- rs as BASIC_PAGE_ROW,
41
- A as BLUR_PX,
42
- H as BUTTON_COLORS,
43
- Z as BUTTON_SHAPES,
44
- w as BUTTON_SIZES,
45
- X as BUTTON_VARIANTS,
46
- Ts as BarChart,
47
- xa as BasicPage,
48
- k as Button,
49
- v as ButtonLink,
50
- ka as CARD_SURFACE,
51
- ms as CHART_SLOTS,
52
- ja as CONDENSE_BAR_ENTER,
53
- Es as CONDENSE_BAR_RISE_PX,
54
- za as CONDENSE_BAR_TRAVEL,
35
+ $s as AUTO_SAVE_DELAY_MS,
36
+ n as BAR_RISE_PX,
37
+ Zs as BASIC_PAGE_CALLOUT,
38
+ Qs as BASIC_PAGE_CARD,
39
+ ys as BASIC_PAGE_ITEM,
40
+ xs as BASIC_PAGE_ITEM_PANEL,
41
+ js as BASIC_PAGE_ITEM_PANEL_DIVIDED,
42
+ qs as BASIC_PAGE_ROW,
43
+ m as BLUR_PX,
44
+ y as BUTTON_COLORS,
45
+ x as BUTTON_SHAPES,
46
+ z as BUTTON_SIZES,
47
+ w as BUTTON_VARIANTS,
48
+ St as BarChart,
49
+ Hs as BasicPage,
50
+ h as Button,
51
+ H as ButtonLink,
52
+ Gs as CARD_SURFACE,
53
+ ot as CHART_SLOTS,
54
+ Xs as CONDENSE_BAR_ENTER,
55
+ at as CONDENSE_BAR_RISE_PX,
56
+ zs as CONDENSE_BAR_TRAVEL,
55
57
  U as CONTROL_PRESS_SCALE,
56
58
  V as CONTROL_PRESS_SPRING,
57
- _a as COPY_BUTTON_SIZES,
58
- F as COPY_FEEDBACK_MS,
59
- Ma as Card,
60
- es as ChartLegend,
61
- is as ChartSwatch,
62
- da as CloseButton,
63
- Da as CodeBlock,
64
- Sa as CopyButton,
65
- us as DescriptionList,
66
- Xa as Dialog,
67
- n as EASE_POP,
59
+ ja as COPY_BUTTON_SIZES,
60
+ b as COPY_FEEDBACK_MS,
61
+ Ls as Calendar,
62
+ Us as Card,
63
+ et as ChartLegend,
64
+ rt as ChartSwatch,
65
+ cs as CloseButton,
66
+ Bs as CodeBlock,
67
+ Za as CopyButton,
68
+ Xa as DatePicker,
69
+ lt as DescriptionList,
70
+ Ms as Dialog,
71
+ I as EASE_POP,
68
72
  T as EASE_STACK,
69
- y as EFFECT_BUTTON_SIZES,
70
- b as EffectButton,
71
- Y as EffectButtonLink,
73
+ K as EFFECT_BUTTON_SIZES,
74
+ v as EffectButton,
75
+ W as EffectButtonLink,
72
76
  ta as Error,
73
77
  q as ErrorView,
74
- R as FADE_ENTRANCE,
75
- I as FADE_SWAP,
76
- Oa as FILTER_DATE_PRESETS,
77
- Na as FilterBar,
78
+ p as FADE_ENTRANCE,
79
+ A as FADE_SWAP,
80
+ ps as FILTER_DATE_PRESETS,
81
+ la as FULL_VIEW,
82
+ Is as FilterBar,
78
83
  aa as GENERIC_ERROR_TITLE,
79
- Pa as Input,
80
- Fa as InputGroup,
81
- Is as LineChart,
82
- i as LinkProvider,
83
- Bs as LogList,
84
- p as PRESS_SCALE,
85
- C as PRESS_SCALE_ROW,
86
- P as RISE_PX,
87
- pa as SIDEBAR_HEADER_INSET,
88
- na as SIDEBAR_ITEM,
89
- Ra as SIDEBAR_ITEM_ACTIVE,
90
- Aa as SIDEBAR_ITEM_INACTIVE,
91
- ma as SIDEBAR_ROOT,
92
- Ta as SIDEBAR_ROOT_BASE,
93
- Ia as SIDEBAR_ROOT_INSET,
94
- f as SPRING_ENTRANCE,
95
- B as SPRING_PRESS,
84
+ La as GEN_AI_KINDS,
85
+ _s as Input,
86
+ Vs as InputGroup,
87
+ nt as LineChart,
88
+ S as LinkProvider,
89
+ At as LogList,
90
+ ia as MIN_VIEW_WIDTH,
91
+ R as PRESS_SCALE,
92
+ l as PRESS_SCALE_ROW,
93
+ C as RISE_PX,
94
+ is as SIDEBAR_HEADER_INSET,
95
+ ts as SIDEBAR_ITEM,
96
+ os as SIDEBAR_ITEM_ACTIVE,
97
+ as as SIDEBAR_ITEM_INACTIVE,
98
+ Qa as SIDEBAR_ROOT,
99
+ rs as SIDEBAR_ROOT_BASE,
100
+ es as SIDEBAR_ROOT_INSET,
101
+ qa as SIDEBAR_SUBMENU_CHEVRON,
102
+ ss as SIDEBAR_SUBMENU_LIST_INDENT,
103
+ Es as SIDEBAR_SUBMENU_TRIGGER_CHILD_ACTIVE,
104
+ B as SPRING_ENTRANCE,
105
+ f as SPRING_PRESS,
96
106
  N as SPRING_PRESS_INLINE,
97
- u as SPRING_PRESS_QUICK,
98
- O as SPRING_SETTLE,
99
- ya as STATUS_VIEW,
100
- va as STATUS_VIEW_COPY,
101
- wa as STATUS_VIEW_SIZES,
102
- ea as Sidebar,
103
- Ga as Stat,
104
- Va as StatGroup,
105
- Za as StatusView,
107
+ P as SPRING_PRESS_QUICK,
108
+ u as SPRING_SETTLE,
109
+ ws as STATUS_VIEW,
110
+ vs as STATUS_VIEW_COPY,
111
+ ks as STATUS_VIEW_SIZES,
112
+ $a as Sidebar,
113
+ Ha as SpanPrimitive,
114
+ Ps as Stat,
115
+ Ns as StatGroup,
116
+ hs as StatusView,
106
117
  L as TRAVEL_LINEAR,
107
- Vs as Trace,
108
- K as buttonVariants,
109
- Q as capitalizeFirst,
110
- _s as chartColor,
118
+ va as Trace,
119
+ Wa as allCollapsed,
120
+ Ca as ancestorIds,
121
+ Ma as attribute,
122
+ Ga as attributeText,
123
+ Oa as axisTicks,
124
+ fa as barGeometry,
125
+ Sa as buildSpanTree,
126
+ X as buttonVariants,
127
+ J as capitalizeFirst,
128
+ tt as chartColor,
129
+ Ea as clampView,
111
130
  s as cn,
112
- oa as createColumns,
113
- z as describeError,
114
- W as effectButtonVariants,
115
- l as fadeThroughBlur,
116
- Ja as formToasts,
117
- Ds as formatDuration,
118
- ua as formatFilterValue,
119
- cs as formatTick,
131
+ pa as collapseAllIds,
132
+ da as collapseOneLevel,
133
+ Rs as createColumns,
134
+ oa as deriveSpanTree,
135
+ Z as describeError,
136
+ k as effectButtonVariants,
137
+ Va as expandOneLevel,
138
+ D as fadeThroughBlur,
139
+ Ia as filterSpans,
140
+ Fa as footerTotals,
141
+ Ks as formToasts,
142
+ ya as formatDateLabel,
143
+ ba as formatDuration,
144
+ Ts as formatFilterValue,
145
+ ha as formatTick,
146
+ ca as genAIKind,
120
147
  $ as httpReasonPhrase,
121
148
  sa as httpStatusExplanation,
122
- Ba as isFilterSet,
123
- J as isProblem,
149
+ ms as isFilterSet,
150
+ Ta as isFullView,
151
+ j as isProblem,
124
152
  r as isReactComponent,
125
- ls as layoutTrace,
126
- Ps as logStatusColor,
127
- fs as logStatusLabel,
128
- Ls as niceStep,
129
- j as parseProblem,
130
- E as resolveVariant,
131
- D as riseIn,
132
- la as tokenizeJson,
133
- Cs as truncateMiddle,
134
- ss as useAutoSave,
135
- qa as useCondense,
136
- h as useCopy,
137
- Wa as useDialogPending,
138
- _ as useLinkComponent,
139
- G as usePressPulse
153
+ Pa as labeledTicks,
154
+ Tt as logStatusColor,
155
+ pt as logStatusLabel,
156
+ Ua as niceStep,
157
+ ka as normalizeSpans,
158
+ Aa as panView,
159
+ Q as parseProblem,
160
+ Da as peerService,
161
+ e as resolveVariant,
162
+ c as riseIn,
163
+ Ba as spanDecorationIcon,
164
+ ua as spanDuration,
165
+ wa as spanPills,
166
+ _a as spanTimelineBarVars,
167
+ Cs as tokenizeJson,
168
+ ga as traceBulletInset,
169
+ na as traceRange,
170
+ It as truncateMiddle,
171
+ Js as useAutoSave,
172
+ Ys as useCondense,
173
+ F as useCopy,
174
+ bs as useDialogPending,
175
+ E as useLinkComponent,
176
+ d as usePressPulse,
177
+ Na as useSpan,
178
+ xa as useSpanTree,
179
+ ma as viewFraction,
180
+ Ra as viewToRange,
181
+ za as visibleSpans,
182
+ ea as zoomView
140
183
  };
@@ -40,24 +40,24 @@ import "./primitives/toggle.js";
40
40
  import "./primitives/toggle-group.js";
41
41
  import "./primitives/toolbar.js";
42
42
  import "./primitives/tooltip.js";
43
+ export * from "@base-ui/react/popover";
43
44
  export * from "@base-ui/react/field";
44
45
  export * from "@base-ui/react/separator";
45
46
  export * from "@base-ui/react/dialog";
46
47
  export * from "@base-ui/react/scroll-area";
47
- export * from "@base-ui/react/popover";
48
+ export * from "@base-ui/react/collapsible";
48
49
  export * from "@base-ui/react/avatar";
49
50
  export * from "@base-ui/react/form";
50
51
  export * from "@base-ui/react/menu";
51
52
  export * from "@base-ui/react/checkbox";
52
53
  export * from "@base-ui/react/checkbox-group";
53
- export * from "@base-ui/react/toast";
54
54
  export * from "@base-ui/react/tooltip";
55
+ export * from "@base-ui/react/toast";
55
56
  export * from "@base-ui/react/toggle";
56
57
  export * from "@base-ui/react/accordion";
57
58
  export * from "@base-ui/react/alert-dialog";
58
59
  export * from "@base-ui/react/autocomplete";
59
60
  export * from "@base-ui/react/button";
60
- export * from "@base-ui/react/collapsible";
61
61
  export * from "@base-ui/react/combobox";
62
62
  export * from "@base-ui/react/context-menu";
63
63
  export * from "@base-ui/react/csp-provider";
@@ -1,20 +1,20 @@
1
1
  "use client";
2
- import { o as s } from "../chunks/data-table-CHLJfGkS.js";
3
- import { a as E, c as a, d as C, f as S, i as o, l as I, m as e, n as B, o as P, p as N, r, s as t, t as D, u as R } from "../chunks/basic-page-CMJuM5iA.js";
2
+ import { a as s } from "../chunks/data-table-DcwCgXJU.js";
3
+ import { a as E, c as a, d as C, f as S, i as I, l as e, m as o, n as B, o as P, p as N, r, s as t, t as D, u as R } from "../chunks/basic-page-CYDwfVjO.js";
4
4
  export {
5
5
  D as AUTO_SAVE_DELAY_MS,
6
6
  B as BASIC_PAGE_CALLOUT,
7
7
  r as BASIC_PAGE_CARD,
8
- o as BASIC_PAGE_ITEM,
8
+ I as BASIC_PAGE_ITEM,
9
9
  E as BASIC_PAGE_ITEM_PANEL,
10
10
  P as BASIC_PAGE_ITEM_PANEL_DIVIDED,
11
11
  t as BASIC_PAGE_ROW,
12
12
  a as BasicPage,
13
- I as CONDENSE_BAR_ENTER,
13
+ e as CONDENSE_BAR_ENTER,
14
14
  R as CONDENSE_BAR_RISE_PX,
15
15
  C as CONDENSE_BAR_TRAVEL,
16
16
  s as createColumns,
17
17
  S as formToasts,
18
18
  N as useAutoSave,
19
- e as useCondense
19
+ o as useCondense
20
20
  };
@@ -1,12 +1,15 @@
1
1
  "use client";
2
- import { a as I, c as _, i as A, n as R, o as S, r as a, s, t as T } from "../chunks/sidebar-DVzZsCts.js";
2
+ import { a as I, c as _, d as S, i as R, l as A, n as B, o as T, r as a, s, t as D, u as N } from "../chunks/sidebar-DRPe5CAh.js";
3
3
  export {
4
- T as SIDEBAR_HEADER_INSET,
5
- R as SIDEBAR_ITEM,
4
+ D as SIDEBAR_HEADER_INSET,
5
+ B as SIDEBAR_ITEM,
6
6
  a as SIDEBAR_ITEM_ACTIVE,
7
- A as SIDEBAR_ITEM_INACTIVE,
7
+ R as SIDEBAR_ITEM_INACTIVE,
8
8
  I as SIDEBAR_ROOT,
9
- S as SIDEBAR_ROOT_BASE,
9
+ T as SIDEBAR_ROOT_BASE,
10
10
  s as SIDEBAR_ROOT_INSET,
11
- _ as Sidebar
11
+ _ as SIDEBAR_SUBMENU_CHEVRON,
12
+ A as SIDEBAR_SUBMENU_LIST_INDENT,
13
+ N as SIDEBAR_SUBMENU_TRIGGER_CHILD_ACTIVE,
14
+ S as Sidebar
12
15
  };
@@ -0,0 +1,36 @@
1
+ import { DayPickerProps } from 'react-day-picker';
2
+ export type CalendarProps = DayPickerProps & {
3
+ /**
4
+ * The word on the button back to today, used as its label and its tooltip.
5
+ * @default "Today"
6
+ */
7
+ todayLabel?: string;
8
+ };
9
+ /**
10
+ * Calendar built on React DayPicker — a month of days to read or to choose
11
+ * from. Pass `mode` to make it selectable (`single`, `multiple`, `range`);
12
+ * without one it is a static month. Every DayPicker prop passes through, so
13
+ * `numberOfMonths`, `disabled`, `startMonth` / `endMonth`, `captionLayout`,
14
+ * and the locale props all work as documented upstream.
15
+ *
16
+ * Pho supplies the whole class map, so the library's stylesheet is neither
17
+ * imported nor needed. `classNames` and `components` merge over Pho's,
18
+ * element by element.
19
+ *
20
+ * The caption is clickable: month and year each open a jump list, so a date
21
+ * two years out is two taps rather than twenty-four. Pass
22
+ * `captionLayout="label"` for a caption that only reads, and `startMonth` /
23
+ * `endMonth` to say how far the year list should reach. Between the month
24
+ * arrows sits a way back to today's month.
25
+ *
26
+ * Selection follows DayPicker's own contract: hand it `onSelect` and the
27
+ * calendar is controlled, so `selected` has to come with it. Leave both off
28
+ * and it keeps the selection itself.
29
+ *
30
+ * For a calendar behind a field — a trigger that shows the chosen date and
31
+ * opens this in a popover — use `DatePicker`.
32
+ */
33
+ export declare function Calendar({ className, classNames, components, showOutsideDays, captionLayout, startMonth, endMonth, todayLabel, ...props }: CalendarProps): import("react").JSX.Element;
34
+ export declare namespace Calendar {
35
+ var displayName: string;
36
+ }
@@ -0,0 +1,2 @@
1
+ export { Calendar, type CalendarProps } from './calendar';
2
+ export type { DateRange, Matcher } from 'react-day-picker';
@@ -9,7 +9,11 @@ import { ComponentProps, Ref } from 'react';
9
9
  * than the control default (`base`).
10
10
  * - Vertical rhythm: `pt-5` / `pb-4`, `gap-4` between parts. Parts carry
11
11
  * `px-5`, so a child without padding (an image, a table, a `Separator`)
12
- * runs edge-to-edge on its own.
12
+ * runs edge-to-edge on its own. A `Stat` / `Stat.Group` already pads
13
+ * its tiles — when it is the first or last child the matching inset
14
+ * drops so the row sits flush on the card edge. A chart as the first
15
+ * child drops the top inset the same way; the plot keeps its own
16
+ * bottom band.
13
17
  * - No size or color axes. A card is chrome, not a signal — content sets the
14
18
  * tone. Sizing belongs to the layout that places the card.
15
19
  */
@@ -5,8 +5,13 @@ export declare function linearScale(domain: readonly [number, number], range: re
5
5
  /**
6
6
  * A y domain on round numbers with three to five ticks, the last tick on
7
7
  * or above the data's high end so the top of the plot is labelled.
8
+ *
9
+ * When `integer` is set — or when both ends are whole numbers — the step
10
+ * stays ≥ 1 so a count axis never labels 0.5 / 1.5.
8
11
  */
9
- export declare function niceLinearDomain(min: number, max: number): {
12
+ export declare function niceLinearDomain(min: number, max: number, options?: {
13
+ integer?: boolean;
14
+ }): {
10
15
  domain: [number, number];
11
16
  ticks: number[];
12
17
  };
@@ -1,9 +1,10 @@
1
1
  import { ComponentProps, ReactNode, Ref } from 'react';
2
2
  /**
3
3
  * Code Block — a read-only panel for a request body, a response, an
4
- * event's JSON. Mono text on the code surface, a title row with a wrap
5
- * toggle and a copy control, and past `maxLines` a fold that shows the
6
- * first lines with a button for the rest.
4
+ * event's JSON. Mono text on the code surface, a title row with expand,
5
+ * wrap, and copy controls. Past `maxLines` the body either scrolls
6
+ * inside that height (`overflow="scroll"`, the default) or folds with a
7
+ * footer button (`overflow="expand"`).
7
8
  *
8
9
  * Design notes:
9
10
  * - Wide lines scroll sideways inside the panel; the page never does.
@@ -15,6 +16,7 @@ import { ComponentProps, ReactNode, Ref } from 'react';
15
16
  * - A body that isn't a string (an object) is pretty-printed as JSON.
16
17
  */
17
18
  export type CodeBlockLanguage = "json" | "text";
19
+ export type CodeBlockOverflow = "scroll" | "expand";
18
20
  export interface CodeBlockProps extends Omit<ComponentProps<"div">, "title" | "children"> {
19
21
  /** The text. An object is pretty-printed as JSON (two-space indent). */
20
22
  code?: string | object | null;
@@ -22,13 +24,30 @@ export interface CodeBlockProps extends Omit<ComponentProps<"div">, "title" | "c
22
24
  language?: CodeBlockLanguage;
23
25
  /** The title row's words — "Request body", "Response". */
24
26
  title?: ReactNode;
25
- /** Past this many lines the panel folds. @default 30 */
27
+ /** Past this many lines the panel folds or clips. @default 30 */
26
28
  maxLines?: number;
29
+ /**
30
+ * How a long body is shown past `maxLines`. `scroll` clips to that
31
+ * height and scrolls inside, with an expand toggle in the title row.
32
+ * `expand` folds and shows a footer button.
33
+ * @default "scroll"
34
+ */
35
+ overflow?: CodeBlockOverflow;
27
36
  /** Wrap long lines (controlled). */
28
37
  wrap?: boolean;
29
38
  /** Wrap long lines at first (uncontrolled). @default false */
30
39
  defaultWrap?: boolean;
31
40
  onWrapChange?: (wrap: boolean) => void;
41
+ /** The expand toggle in the title row when `overflow` is `scroll`. @default true */
42
+ expandToggle?: boolean;
43
+ /** The wrap toggle in the title row. @default true */
44
+ wrapToggle?: boolean;
45
+ /**
46
+ * A gutter of line numbers. Off by default; turn on for a long
47
+ * payload (about twenty lines or more).
48
+ * @default false
49
+ */
50
+ lineNumbers?: boolean;
32
51
  /** The copy control in the title row. @default true */
33
52
  copy?: boolean;
34
53
  /** What the panel says with no code. @default "Nothing to show." */
@@ -37,7 +56,7 @@ export interface CodeBlockProps extends Omit<ComponentProps<"div">, "title" | "c
37
56
  actions?: ReactNode;
38
57
  ref?: Ref<HTMLDivElement>;
39
58
  }
40
- export declare function CodeBlock({ code, language, title, maxLines, wrap: wrapProp, defaultWrap, onWrapChange, copy, empty, actions, className, ...props }: CodeBlockProps): import("react").JSX.Element;
59
+ export declare function CodeBlock({ code, language, title, maxLines, overflow, wrap: wrapProp, defaultWrap, onWrapChange, expandToggle, wrapToggle, lineNumbers, copy, empty, actions, className, ...props }: CodeBlockProps): import("react").JSX.Element;
41
60
  export declare namespace CodeBlock {
42
61
  var displayName: string;
43
62
  }
@@ -1,2 +1,2 @@
1
- export { CodeBlock, type CodeBlockProps, type CodeBlockLanguage, } from './code-block';
1
+ export { CodeBlock, type CodeBlockProps, type CodeBlockLanguage, type CodeBlockOverflow, } from './code-block';
2
2
  export { tokenizeJson, type JsonToken, type JsonTokenType, } from './tokenize-json';
@@ -1,4 +1,4 @@
1
- import { ComponentProps, ReactNode, Ref } from 'react';
1
+ import { ComponentProps, KeyboardEvent, MouseEvent, ReactNode, Ref } from 'react';
2
2
  import { ColumnDef, RowData, SortingState } from '@tanstack/react-table';
3
3
  /**
4
4
  * DataTable — a table of records with column semantics: sortable headers,
@@ -32,6 +32,10 @@ import { ColumnDef, RowData, SortingState } from '@tanstack/react-table';
32
32
  * `contain: inline-size` keeps the table's intrinsic width out of the
33
33
  * page's — a host that sizes to content (a scroll area's fit-content
34
34
  * pane, a grid's auto column) would otherwise grow to the widest row.
35
+ * Left with no width of its own, the frame takes its container's
36
+ * (`w-full`); a shrink-to-fit host (a flex row) would collapse it.
37
+ * `layout="fixed"` is the other way out: columns size from the frame,
38
+ * and a long cell truncates instead of stretching the table.
35
39
  *
36
40
  * Reach for it when a list needs column semantics — sorting, aligned
37
41
  * figures, several fields side by side. A list where each row is one
@@ -41,6 +45,13 @@ import { ColumnDef, RowData, SortingState } from '@tanstack/react-table';
41
45
  export interface DataTableColumnMeta {
42
46
  /** Cell alignment — `end` for figures (right-aligned, tabular). */
43
47
  align?: "start" | "end";
48
+ /**
49
+ * Extra classes on every `th` and `td` in this column. With
50
+ * `layout="fixed"`, size a short column here (`w-24`) and leave the
51
+ * flexible ones unsaid — they share what remains. Prefer this over
52
+ * `nth-child` width hacks on the table's `className`.
53
+ */
54
+ className?: string;
44
55
  }
45
56
  /**
46
57
  * The feature set every `DataTable` runs on — sorting with the stock sort
@@ -66,6 +77,22 @@ declare const features: {
66
77
  columnMeta: DataTableColumnMeta;
67
78
  };
68
79
  export type DataTableFeatures = typeof features;
80
+ /** Body row height — header stays `h-10` on every size. */
81
+ export declare const DATA_TABLE_SIZES: {
82
+ sm: {
83
+ classes: string;
84
+ description: string;
85
+ };
86
+ md: {
87
+ classes: string;
88
+ description: string;
89
+ };
90
+ lg: {
91
+ classes: string;
92
+ description: string;
93
+ };
94
+ };
95
+ export type DataTableSize = keyof typeof DATA_TABLE_SIZES;
69
96
  /** A column definition for a `DataTable` of `TData` rows. */
70
97
  export type DataTableColumn<TData extends RowData, TValue = unknown> = ColumnDef<DataTableFeatures, TData, TValue>;
71
98
  /**
@@ -114,6 +141,12 @@ export interface DataTableProps<TData extends RowData> extends Omit<ComponentPro
114
141
  * still in flight) and that row stays plain.
115
142
  */
116
143
  rowHref?: (row: TData) => string | null | undefined;
144
+ /**
145
+ * A click on the row (not on a link, button, or other control). The
146
+ * table still activates `rowHref` unless the handler calls
147
+ * `preventDefault`.
148
+ */
149
+ onRowClick?: (row: TData, event: MouseEvent<HTMLTableRowElement> | KeyboardEvent<HTMLTableRowElement>) => void;
117
150
  /** The row whose page is open (its id) — it keeps the wash. */
118
151
  current?: string | null;
119
152
  /**
@@ -173,6 +206,24 @@ export interface DataTableProps<TData extends RowData> extends Omit<ComponentPro
173
206
  loading?: boolean | number;
174
207
  /** What the body says when there are no rows. */
175
208
  empty?: ReactNode;
209
+ /**
210
+ * How columns take width. `auto` (the default) sizes them from their
211
+ * content — a long cell grows the table and the frame scrolls sideways.
212
+ * `fixed` sizes them from the table's width (`table-layout: fixed`):
213
+ * short columns take a width hint on `meta.className`, the rest share
214
+ * what remains, and cells get `min-w-0` so an inner `truncate` can
215
+ * shrink. `width: 0` (`w-0`) is not a content-size hint here — fixed
216
+ * layout treats it as a real zero — so give a short column a real
217
+ * width (`w-24`) rather than the auto-layout shrink-wrap trick.
218
+ */
219
+ layout?: "auto" | "fixed";
220
+ /**
221
+ * Body row height. `md` (the default) is 48px — one line of body type.
222
+ * `sm` is 40px, the header's own height, for a dense list scanned more
223
+ * than read. `lg` is 56px, for a two-line cell (a number and a caption)
224
+ * that would crowd `md`. The header row stays 40px on every size.
225
+ */
226
+ size?: DataTableSize;
176
227
  ref?: Ref<HTMLDivElement>;
177
228
  }
178
229
  /**
@@ -211,18 +262,8 @@ export interface TableSearchStore {
211
262
  }
212
263
  export declare function createTableSearchStore(): TableSearchStore;
213
264
  export declare const TableSearchContext: import('react').Context<TableSearchStore | null>;
214
- export interface GhostSearchProps extends Omit<ComponentProps<"input">, "value" | "onChange" | "type" | "children"> {
215
- value: string;
216
- onChange: (value: string) => void;
217
- }
218
- /**
219
- * The search's ghost face — a magnifier and a bare field, quiet ink on a
220
- * text line, no box around it. What a table wears in its own toolbar
221
- * band; `BasicPage.Search variant="ghost"` is the same face wherever a
222
- * page wants it. Presentational: hand it the value and the setter.
223
- */
224
- export declare function GhostSearch({ value, onChange, className, ...props }: GhostSearchProps): import("react").JSX.Element;
265
+ export { GhostSearch, type GhostSearchProps } from '../../utils/ghost-search';
225
266
  /** Same chrome as `BasicPage.Card`, minus its dividers — rows draw their own. */
226
267
  declare const DATA_TABLE_SURFACE = "rounded-base border border-pho-secondary bg-pho-primary";
227
- declare function DataTable<TData extends RowData>({ columns, data, getRowId, rowHref, current, selected, onSelectedChange, defaultSort, sort, onSortChange, search, toolbar, group, animateHeight, loading, empty, className, ...props }: DataTableProps<TData>): import("react").JSX.Element;
268
+ declare function DataTable<TData extends RowData>({ columns, data, getRowId, rowHref, onRowClick, current, selected, onSelectedChange, defaultSort, sort, onSortChange, search, toolbar, group, animateHeight, loading, empty, layout, size, className, ...props }: DataTableProps<TData>): import("react").JSX.Element;
228
269
  export { DataTable, DATA_TABLE_SURFACE };