@mechane-ai/elements 0.0.0-stage → 0.4.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 (169) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +32 -0
  3. package/README.md +116 -2
  4. package/dist/accessibility-C-aIZ1Yx.js +15 -0
  5. package/dist/ai.js +323 -0
  6. package/dist/assets/stylex.css +2664 -0
  7. package/dist/categorical-values-cMX7Mykq.js +58 -0
  8. package/dist/chart-frame-bX0VLC_W.js +152 -0
  9. package/dist/chart-input-qnM44oen.js +21 -0
  10. package/dist/charts/cartesian.js +1040 -0
  11. package/dist/charts/distribution.js +610 -0
  12. package/dist/charts/graph.js +231 -0
  13. package/dist/charts/hierarchy.js +109 -0
  14. package/dist/charts/matrix.js +439 -0
  15. package/dist/charts/timeline.js +198 -0
  16. package/dist/charts.js +1 -0
  17. package/dist/code-block-BiMcfdlB.js +175 -0
  18. package/dist/collections.js +466 -0
  19. package/dist/content/code.js +1 -0
  20. package/dist/content/diff.js +96 -0
  21. package/dist/content/link.js +1 -0
  22. package/dist/content/markdown.js +155 -0
  23. package/dist/content/tree.js +77 -0
  24. package/dist/content-link-Bm-Td5wm.js +26 -0
  25. package/dist/content.js +318 -0
  26. package/dist/feedback.js +1 -0
  27. package/dist/forms/dates.js +168 -0
  28. package/dist/forms.js +1 -0
  29. package/dist/index.js +1 -0
  30. package/dist/layout.js +379 -0
  31. package/dist/navigation/commands.js +80 -0
  32. package/dist/navigation-yxK3iQXo.js +39 -0
  33. package/dist/navigation.js +58 -0
  34. package/dist/overlays.js +1 -0
  35. package/dist/packages/ai/src/approval.d.ts +29 -0
  36. package/dist/packages/ai/src/conversation.d.ts +34 -0
  37. package/dist/packages/ai/src/index.d.ts +10 -0
  38. package/dist/packages/ai/src/message.d.ts +19 -0
  39. package/dist/packages/ai/src/prompt-input.d.ts +25 -0
  40. package/dist/packages/ai/src/sources.d.ts +17 -0
  41. package/dist/packages/charts/src/cartesian/bar-chart.d.ts +24 -0
  42. package/dist/packages/charts/src/cartesian/breakdown-bar.d.ts +12 -0
  43. package/dist/packages/charts/src/cartesian/index.d.ts +12 -0
  44. package/dist/packages/charts/src/cartesian/scatter-plot.d.ts +37 -0
  45. package/dist/packages/charts/src/cartesian/sparkline.d.ts +11 -0
  46. package/dist/packages/charts/src/cartesian/time-series-data.d.ts +54 -0
  47. package/dist/packages/charts/src/cartesian/time-series-line.d.ts +9 -0
  48. package/dist/packages/charts/src/cartesian/time-series.d.ts +29 -0
  49. package/dist/packages/charts/src/categorical-values.d.ts +24 -0
  50. package/dist/packages/charts/src/chart-frame.d.ts +34 -0
  51. package/dist/packages/charts/src/chart-input.d.ts +10 -0
  52. package/dist/packages/charts/src/chart-theme.d.ts +48 -0
  53. package/dist/packages/charts/src/distribution/distribution-input.d.ts +14 -0
  54. package/dist/packages/charts/src/distribution/distribution-plot.d.ts +135 -0
  55. package/dist/packages/charts/src/distribution/ecdf.d.ts +23 -0
  56. package/dist/packages/charts/src/distribution/histogram.d.ts +26 -0
  57. package/dist/packages/charts/src/distribution/index.d.ts +8 -0
  58. package/dist/packages/charts/src/distribution/interval-plot.d.ts +24 -0
  59. package/dist/packages/charts/src/distribution/ranked-bars.d.ts +22 -0
  60. package/dist/packages/charts/src/graph/index.d.ts +2 -0
  61. package/dist/packages/charts/src/graph/relation-graph.d.ts +45 -0
  62. package/dist/packages/charts/src/hierarchy/index.d.ts +2 -0
  63. package/dist/packages/charts/src/hierarchy/treemap.d.ts +12 -0
  64. package/dist/packages/charts/src/index.d.ts +4 -0
  65. package/dist/packages/charts/src/matrix/color-legend.d.ts +7 -0
  66. package/dist/packages/charts/src/matrix/heatmap-scale.d.ts +8 -0
  67. package/dist/packages/charts/src/matrix/index.d.ts +7 -0
  68. package/dist/packages/charts/src/matrix/matrix.d.ts +34 -0
  69. package/dist/packages/charts/src/matrix/token-heatmap.d.ts +20 -0
  70. package/dist/packages/charts/src/plot-width.d.ts +5 -0
  71. package/dist/packages/charts/src/timeline/index.d.ts +2 -0
  72. package/dist/packages/charts/src/timeline/waterfall.d.ts +34 -0
  73. package/dist/packages/collections/src/collection-controls.d.ts +41 -0
  74. package/dist/packages/collections/src/data-table.d.ts +49 -0
  75. package/dist/packages/collections/src/index.d.ts +10 -0
  76. package/dist/packages/collections/src/inspector.d.ts +16 -0
  77. package/dist/packages/collections/src/list-footer.d.ts +6 -0
  78. package/dist/packages/collections/src/metrics.d.ts +9 -0
  79. package/dist/packages/collections/src/table.d.ts +17 -0
  80. package/dist/packages/collections/src/timestamp.d.ts +7 -0
  81. package/dist/packages/content/src/code/code-block.d.ts +22 -0
  82. package/dist/packages/content/src/code/index.d.ts +2 -0
  83. package/dist/packages/content/src/code/use-highlighted-code.d.ts +9 -0
  84. package/dist/packages/content/src/content-link.d.ts +8 -0
  85. package/dist/packages/content/src/diff/diff-source.d.ts +32 -0
  86. package/dist/packages/content/src/diff/diff-viewer.d.ts +3 -0
  87. package/dist/packages/content/src/diff/index.d.ts +2 -0
  88. package/dist/packages/content/src/diff/pierre-diff.d.ts +14 -0
  89. package/dist/packages/content/src/index.d.ts +8 -0
  90. package/dist/packages/content/src/json-viewer.d.ts +11 -0
  91. package/dist/packages/content/src/link.d.ts +2 -0
  92. package/dist/packages/content/src/log-viewer.d.ts +9 -0
  93. package/dist/packages/content/src/markdown/index.d.ts +2 -0
  94. package/dist/packages/content/src/markdown/markdown.d.ts +7 -0
  95. package/dist/packages/content/src/pierre-theme.d.ts +36 -0
  96. package/dist/packages/content/src/stack-trace.d.ts +16 -0
  97. package/dist/packages/content/src/trace.d.ts +35 -0
  98. package/dist/packages/content/src/tree/file-tree-types.d.ts +12 -0
  99. package/dist/packages/content/src/tree/file-tree.d.ts +3 -0
  100. package/dist/packages/content/src/tree/index.d.ts +2 -0
  101. package/dist/packages/content/src/tree/pierre-tree.d.ts +3 -0
  102. package/dist/packages/core/src/actions.d.ts +31 -0
  103. package/dist/packages/core/src/avatar.d.ts +10 -0
  104. package/dist/packages/core/src/copy-value.d.ts +9 -0
  105. package/dist/packages/core/src/disclosure.d.ts +33 -0
  106. package/dist/packages/core/src/index.d.ts +7 -0
  107. package/dist/packages/core/src/surfaces.d.ts +18 -0
  108. package/dist/packages/core/src/text.d.ts +30 -0
  109. package/dist/packages/feedback/src/feedback.d.ts +11 -0
  110. package/dist/packages/feedback/src/index.d.ts +7 -0
  111. package/dist/packages/feedback/src/loading.d.ts +7 -0
  112. package/dist/packages/feedback/src/progress.d.ts +10 -0
  113. package/dist/packages/feedback/src/skeleton.d.ts +18 -0
  114. package/dist/packages/feedback/src/toast.d.ts +28 -0
  115. package/dist/packages/forms/src/combobox.d.ts +81 -0
  116. package/dist/packages/forms/src/dates/calendar.d.ts +32 -0
  117. package/dist/packages/forms/src/dates/date-range-picker.d.ts +16 -0
  118. package/dist/packages/forms/src/dates/index.d.ts +4 -0
  119. package/dist/packages/forms/src/field-styles.d.ts +66 -0
  120. package/dist/packages/forms/src/form-controls.d.ts +81 -0
  121. package/dist/packages/forms/src/forms.d.ts +32 -0
  122. package/dist/packages/forms/src/index.d.ts +7 -0
  123. package/dist/packages/forms/src/select.d.ts +44 -0
  124. package/dist/packages/forms/src/selection-styles.d.ts +110 -0
  125. package/dist/packages/forms/src/selection.d.ts +57 -0
  126. package/dist/packages/forms/src/settings-row.d.ts +8 -0
  127. package/dist/packages/foundations/src/accessibility.d.ts +14 -0
  128. package/dist/packages/foundations/src/control-state.d.ts +67 -0
  129. package/dist/packages/foundations/src/overlay-styles.d.ts +46 -0
  130. package/dist/packages/foundations/src/popup-styles.d.ts +84 -0
  131. package/dist/packages/foundations/src/style-composition.d.ts +22 -0
  132. package/dist/packages/foundations/src/theme.d.ts +16 -0
  133. package/dist/packages/foundations/src/tokens.stylex.d.ts +143 -0
  134. package/dist/packages/layout/src/app-shell.d.ts +9 -0
  135. package/dist/packages/layout/src/detail-page.d.ts +6 -0
  136. package/dist/packages/layout/src/frame.stylex.d.ts +23 -0
  137. package/dist/packages/layout/src/index.d.ts +6 -0
  138. package/dist/packages/layout/src/page-toolbar.d.ts +14 -0
  139. package/dist/packages/layout/src/resizable.d.ts +27 -0
  140. package/dist/packages/layout/src/sidebar.d.ts +46 -0
  141. package/dist/packages/navigation/src/commands/command.d.ts +37 -0
  142. package/dist/packages/navigation/src/commands/index.d.ts +2 -0
  143. package/dist/packages/navigation/src/index.d.ts +3 -0
  144. package/dist/packages/navigation/src/navigation.d.ts +24 -0
  145. package/dist/packages/navigation/src/skip-link.d.ts +6 -0
  146. package/dist/packages/navigation/src/tabs.d.ts +19 -0
  147. package/dist/packages/overlays/src/alert-dialog.d.ts +18 -0
  148. package/dist/packages/overlays/src/dialog.d.ts +27 -0
  149. package/dist/packages/overlays/src/drawer.d.ts +33 -0
  150. package/dist/packages/overlays/src/index.d.ts +7 -0
  151. package/dist/packages/overlays/src/menu.d.ts +51 -0
  152. package/dist/packages/overlays/src/popover.d.ts +24 -0
  153. package/dist/packages/overlays/src/preview.d.ts +17 -0
  154. package/dist/packages/overlays/src/tooltip.d.ts +18 -0
  155. package/dist/pierre-diff-CZdzgiYm.js +66 -0
  156. package/dist/pierre-theme-BpESNIsV.js +96 -0
  157. package/dist/pierre-tree-qZVvI5c1.js +106 -0
  158. package/dist/plot-width--OgdohB5.js +18 -0
  159. package/dist/popup-styles-CvtZDE2t.js +135 -0
  160. package/dist/src-BfvOOeA3.js +272 -0
  161. package/dist/src-CbYaLvhD.js +671 -0
  162. package/dist/src-CfDf8TY8.js +466 -0
  163. package/dist/src-CvpS9XIR.js +1077 -0
  164. package/dist/style-composition-uYlczSsB.js +9 -0
  165. package/dist/theme.js +7 -0
  166. package/dist/tokens.js +138 -0
  167. package/package.json +148 -3
  168. package/packages/foundations/src/tokens.stylex.ts +145 -0
  169. package/styles.css +2 -0
@@ -0,0 +1,231 @@
1
+ import { o as e, r as t, t as n } from "../chart-frame-bX0VLC_W.js";
2
+ import { n as r, t as i } from "../chart-input-qnM44oen.js";
3
+ import * as a from "@stylexjs/stylex";
4
+ import { useId as o } from "react";
5
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ // packages/charts/src/graph/relation-graph.tsx
7
+ var u = {
8
+ kVAEAm: "x1n2onr6",
9
+ $$css: !0
10
+ }, d = {
11
+ canvas: (e, t) => [
12
+ u,
13
+ {
14
+ kzqmXN: e == null ? e : "x5lhr3w",
15
+ kZKoxP: t == null ? t : "x16ye13r",
16
+ $$css: !0
17
+ },
18
+ {
19
+ "--x-width": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(e),
20
+ "--x-height": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(t)
21
+ }
22
+ ],
23
+ node: {
24
+ kVAEAm: "x10l6tqk",
25
+ k1xSpc: "x78zum5",
26
+ kXwgrk: "xdt5ytf",
27
+ kjj79g: "xl56j7k",
28
+ kB7OPa: "x9f619",
29
+ kg3NbH: "x1doqdfy",
30
+ k8WAf4: "xn9t2bk",
31
+ kOIVth: "xfko13i",
32
+ kMzoRj: "xmkeg23",
33
+ ksu8eU: "x1y0btm7",
34
+ kVAM5u: "x1ey3b81",
35
+ kZ1KPB: "x1vo0akb",
36
+ kMwMTN: "xbixft",
37
+ kWkggS: "xpvm0e4",
38
+ k9WMMc: "x1yc453h",
39
+ kMv6JI: "x1hz01jw",
40
+ kAzted: "xaeotn9 xwu7q15",
41
+ $$css: !0
42
+ },
43
+ position: (e, t) => [{
44
+ kbCHJM: e == null ? e : "xgq9j65",
45
+ k87sOh: t == null ? t : "xjbys53",
46
+ $$css: !0
47
+ }, {
48
+ "--x-left": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(e),
49
+ "--x-top": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(t)
50
+ }],
51
+ size: (e, t) => [{
52
+ kzqmXN: e == null ? e : "x5lhr3w",
53
+ kZKoxP: t == null ? t : "x16ye13r",
54
+ $$css: !0
55
+ }, {
56
+ "--x-width": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(e),
57
+ "--x-height": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(t)
58
+ }],
59
+ tone: (e) => [{
60
+ kaZRDh: e == null ? e : "xsb5j7k",
61
+ $$css: !0
62
+ }, { "--x-borderLeftColor": e ?? void 0 }],
63
+ action: {
64
+ kkrTdU: "x1ypdohk",
65
+ kGzVvX: "xzro8vx",
66
+ kPJHz1: "x13qnu6",
67
+ kZs9gx: "x19rmrnh",
68
+ k7shQP: "x9v5kkp",
69
+ kiEn40: "x7s97pk",
70
+ $$css: !0
71
+ },
72
+ selected: {
73
+ kMeerF: "x12ei19c",
74
+ kjBf7l: "xx9gdjd",
75
+ k3XXqK: "xaatb59",
76
+ kInvED: "x1y3gkto",
77
+ $$css: !0
78
+ }
79
+ }, f = 256, p = 1024, m = 256, h = 8192;
80
+ function g({ title: r, description: u, nodes: f, edges: p, groups: m = [], width: h, height: g, selection: y, emptyLabel: b }) {
81
+ let x = o(), S = _({
82
+ nodes: f,
83
+ edges: p,
84
+ groups: m,
85
+ width: h,
86
+ height: g
87
+ });
88
+ if (S !== null) return /* @__PURE__ */ c(i, {
89
+ title: r,
90
+ description: u,
91
+ message: S
92
+ });
93
+ let C = new Map(f.map((e) => [e.id, e])), w = v(p, C);
94
+ return w === null ? /* @__PURE__ */ c(i, {
95
+ title: r,
96
+ description: u,
97
+ message: "Every relationship must refer to two supplied nodes."
98
+ }) : /* @__PURE__ */ l(t, {
99
+ title: r,
100
+ description: u,
101
+ children: [f.length === 0 ? /* @__PURE__ */ c("p", {
102
+ className: "x1ghz6dp x153jb6y",
103
+ children: b
104
+ }) : /* @__PURE__ */ c("div", {
105
+ role: "region",
106
+ "aria-label": `${r} graph`,
107
+ tabIndex: 0,
108
+ className: "xysyzu8 xzuc9lq xmkeg23 x1y0btm7 x1ey3b81 x13qnu6 x19rmrnh x9v5kkp x1bqaal",
109
+ children: /* @__PURE__ */ l("div", {
110
+ ...a.props(d.canvas(h, g)),
111
+ children: [/* @__PURE__ */ l("svg", {
112
+ width: h,
113
+ height: g,
114
+ "aria-hidden": !0,
115
+ className: "x10l6tqk x10a8y8t x1lliihq",
116
+ children: [
117
+ /* @__PURE__ */ c("defs", { children: /* @__PURE__ */ c("marker", {
118
+ id: x,
119
+ markerWidth: 8,
120
+ markerHeight: 8,
121
+ refX: 7,
122
+ refY: 4,
123
+ orient: "auto",
124
+ markerUnits: "userSpaceOnUse",
125
+ children: /* @__PURE__ */ c("path", {
126
+ d: "M0,0 L8,4 L0,8 Z",
127
+ className: "x8futc7"
128
+ })
129
+ }) }),
130
+ m.map((e) => /* @__PURE__ */ l("g", { children: [/* @__PURE__ */ c("rect", {
131
+ x: e.x,
132
+ y: e.y,
133
+ width: e.width,
134
+ height: e.height,
135
+ className: "x2wnxhi x13hfdr1 xnpr05h"
136
+ }), /* @__PURE__ */ c("text", {
137
+ x: e.x + 12,
138
+ y: e.y + 20,
139
+ className: "x1q7gtio x1hz01jw xy8obcc",
140
+ children: e.label
141
+ })] }, e.id)),
142
+ w.map(({ edge: e, source: t, target: n }) => {
143
+ let r = t.x < n.x, i = t.x + (r ? t.width : 0), a = n.x + (r ? 0 : n.width), o = t.y + t.height / 2, s = n.y + n.height / 2, l = (i + a) / 2, u = t.x + t.width / 2, d = t.id === n.id ? `M${u - 12},${t.y} C${u - 48},${t.y - 36} ${u + 48},${t.y - 36} ${u + 12},${t.y}` : `M${i},${o} C${l},${o} ${l},${s} ${a},${s}`;
144
+ return /* @__PURE__ */ c("path", {
145
+ d,
146
+ markerEnd: e.direction === "directed" ? `url(#${x})` : void 0,
147
+ className: "xbh8q5q x1crw9hw xhr4kjn",
148
+ children: /* @__PURE__ */ c("title", { children: e.label })
149
+ }, e.id);
150
+ })
151
+ ]
152
+ }), f.map((t) => {
153
+ let n = [
154
+ ...m.filter((e) => e.nodeIds.includes(t.id)).map((e) => e.label),
155
+ t.label,
156
+ t.description
157
+ ].filter((e) => e !== void 0).join(", "), r = a.props(d.node, d.position(t.x, t.y), d.size(t.width, t.height), d.tone(e[t.tone]), y !== void 0 && d.action, y?.selectedId === t.id && d.selected), i = /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
158
+ className: "xtqrqnz x1778rvt xk50ysn xj0a0fe",
159
+ children: t.label
160
+ }), t.description !== void 0 && /* @__PURE__ */ c("span", {
161
+ className: "xy8obcc xas2l8k x153jb6y xj0a0fe",
162
+ children: t.description
163
+ })] });
164
+ return y === void 0 ? /* @__PURE__ */ c("div", {
165
+ role: "group",
166
+ "aria-label": n,
167
+ ...r,
168
+ children: i
169
+ }, t.id) : /* @__PURE__ */ c("button", {
170
+ type: "button",
171
+ "aria-label": n,
172
+ "aria-pressed": y.selectedId === t.id,
173
+ onClick: () => y.onSelect(t.id),
174
+ ...r,
175
+ children: i
176
+ }, t.id);
177
+ })]
178
+ })
179
+ }), p.length > 0 && /* @__PURE__ */ l(n, {
180
+ label: "Relationships",
181
+ children: [m.length > 0 && /* @__PURE__ */ c("ul", {
182
+ className: "xo02m6d xv06hpe x153jb6y",
183
+ children: m.map((e) => /* @__PURE__ */ l("li", { children: [
184
+ e.label,
185
+ ": ",
186
+ e.nodeIds.map((e) => C.get(e)?.label).join(", ")
187
+ ] }, e.id))
188
+ }), /* @__PURE__ */ c("ul", {
189
+ className: "xo02m6d xv06hpe x153jb6y",
190
+ children: w.map(({ edge: e, source: t, target: n }) => /* @__PURE__ */ l("li", { children: [
191
+ t.label,
192
+ " ",
193
+ e.direction === "directed" ? "→" : "↔",
194
+ " ",
195
+ n.label,
196
+ ": ",
197
+ e.label
198
+ ] }, e.id))
199
+ })]
200
+ })]
201
+ });
202
+ }
203
+ function _({ nodes: e, edges: t, groups: n, width: i, height: a }) {
204
+ if (!Number.isFinite(i) || i <= 0 || i > 8192 || !Number.isFinite(a) || a <= 0 || a > 8192) return `Graph dimensions must be finite, positive, and at most ${h} pixels.`;
205
+ if (e.length > 256 || t.length > 1024 || n.length > 256) return `This graph exceeds the render limit of 256 nodes, ${p} relationships, or 256 groups. Supply a smaller, labelled neighborhood.`;
206
+ let o = new Set(e.map((e) => e.id));
207
+ return !r(e) || !r(t) || !r(n) ? "Graph nodes, relationships, and groups must have unique identifiers." : [...e, ...n].some((e) => {
208
+ if (!Number.isFinite(e.width) || !Number.isFinite(e.height) || e.width <= 0 || e.height <= 0) return !0;
209
+ let t = !Number.isFinite(e.x) || e.x < 0 || e.x + e.width > i, n = !Number.isFinite(e.y) || e.y < 0 || e.y + e.height > a;
210
+ return t || n;
211
+ }) ? "Graph boxes must have finite, positive dimensions and fit inside the supplied canvas." : e.some((e) => e.width < 44 || e.height < 44) ? "Graph node boxes must be at least 44 by 44 pixels." : t.some((t) => t.sourceId === t.targetId && e.some((e) => e.id === t.sourceId && e.y < 36)) ? "A self-relationship needs at least 36 pixels of space above its node." : n.some((e) => new Set(e.nodeIds).size !== e.nodeIds.length || e.nodeIds.some((e) => !o.has(e))) ? "Each group must contain unique references to supplied nodes." : n.some((t) => t.nodeIds.some((n) => {
212
+ let r = e.find((e) => e.id === n);
213
+ if (r === void 0) return !1;
214
+ let i = r.x < t.x || r.x + r.width > t.x + t.width, a = r.y < t.y || r.y + r.height > t.y + t.height;
215
+ return i || a;
216
+ })) ? "A group box must contain the node boxes assigned to it." : null;
217
+ }
218
+ function v(e, t) {
219
+ let n = [];
220
+ for (let r of e) {
221
+ let e = t.get(r.sourceId), i = t.get(r.targetId);
222
+ if (e === void 0 || i === void 0) return null;
223
+ n.push({
224
+ edge: r,
225
+ source: e,
226
+ target: i
227
+ });
228
+ }
229
+ return n;
230
+ }
231
+ export { h as MAX_RELATION_DIMENSION, p as MAX_RELATION_EDGES, m as MAX_RELATION_GROUPS, f as MAX_RELATION_NODES, g as RelationGraph };
@@ -0,0 +1,109 @@
1
+ import { i as e, r as t, t as n } from "../categorical-values-cMX7Mykq.js";
2
+ import { a as r, o as i, r as a } from "../chart-frame-bX0VLC_W.js";
3
+ import { t as o } from "../chart-input-qnM44oen.js";
4
+ import { t as s } from "../plot-width--OgdohB5.js";
5
+ import * as c from "@stylexjs/stylex";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ import { Treemap as d, hierarchy as f } from "@visx/hierarchy";
8
+ // packages/charts/src/hierarchy/treemap.tsx
9
+ var p = { treeRect: {
10
+ kjVXCG: "xaep1og",
11
+ kfJifR: "xnpr05h",
12
+ $$css: !0
13
+ } };
14
+ function m({ title: m, description: h, items: g, formatValue: _, selection: v, height: y = 180 }) {
15
+ let b = e(g), x = g.reduce((e, t) => e + (t.value ?? 0), 0), { ref: S, width: C } = s();
16
+ if (b !== void 0 || !Number.isFinite(y) || y < 48) return /* @__PURE__ */ l(o, {
17
+ title: m,
18
+ description: h,
19
+ message: b ?? "Chart height must be at least 48 pixels."
20
+ });
21
+ let w = g.flatMap((e, n) => e.value === null || e.value === 0 ? [] : [{
22
+ id: e.id,
23
+ label: e.label,
24
+ value: e.value,
25
+ tone: t(e.tone, n)
26
+ }]), T = f({
27
+ id: "root",
28
+ label: m,
29
+ value: 0,
30
+ tone: "neutral",
31
+ children: w
32
+ }, (e) => e.children === void 0 ? void 0 : [...e.children]).sum((e) => e.value);
33
+ return /* @__PURE__ */ u(a, {
34
+ title: m,
35
+ description: h,
36
+ children: [
37
+ /* @__PURE__ */ l("div", {
38
+ ref: S,
39
+ ...c.props(r.plot),
40
+ children: x === 0 ? /* @__PURE__ */ l("p", {
41
+ className: "x153jb6y x1ghz6dp xy8obcc",
42
+ children: "No positive values to size the areas"
43
+ }) : /* @__PURE__ */ l("svg", {
44
+ role: "img",
45
+ "aria-label": `${m}. Areas compare recorded values.`,
46
+ viewBox: `0 0 ${C} ${y}`,
47
+ height: y,
48
+ ...c.props(r.svg),
49
+ children: /* @__PURE__ */ l(d, {
50
+ root: T,
51
+ size: [C, y],
52
+ paddingInner: 2,
53
+ children: (e) => e.leaves().map((e) => {
54
+ let t = e.x1 - e.x0 > 96 && e.y1 - e.y0 > 40;
55
+ return /* @__PURE__ */ u("g", { children: [
56
+ /* @__PURE__ */ l("rect", {
57
+ x: e.x0,
58
+ y: e.y0,
59
+ width: e.x1 - e.x0,
60
+ height: e.y1 - e.y0,
61
+ fill: i[e.data.tone],
62
+ fillOpacity: .18,
63
+ ...c.props(p.treeRect, v?.selectedId === e.data.id && r.selected)
64
+ }),
65
+ /* @__PURE__ */ u("title", { children: [
66
+ e.data.label,
67
+ ": ",
68
+ _(e.data.value)
69
+ ] }),
70
+ t && /* @__PURE__ */ u("svg", {
71
+ x: e.x0,
72
+ y: e.y0,
73
+ width: e.x1 - e.x0,
74
+ height: e.y1 - e.y0,
75
+ overflow: "hidden",
76
+ children: [/* @__PURE__ */ l("text", {
77
+ x: 8,
78
+ y: 18,
79
+ className: "xlrhuyr x1hz01jw xy8obcc",
80
+ children: e.data.label.slice(0, Math.floor((e.x1 - e.x0 - 16) / 7))
81
+ }), _(e.data.value).length * 12 < e.x1 - e.x0 - 16 && /* @__PURE__ */ l("text", {
82
+ x: 8,
83
+ y: 34,
84
+ className: "xlrhuyr x1hz01jw xy8obcc",
85
+ children: _(e.data.value)
86
+ })]
87
+ })
88
+ ] }, e.data.id);
89
+ })
90
+ })
91
+ })
92
+ }),
93
+ /* @__PURE__ */ l(n, {
94
+ items: g.map((e, n) => ({
95
+ id: e.id,
96
+ label: e.label,
97
+ valueLabel: e.value === null ? "Unavailable" : _(e.value),
98
+ tone: t(e.tone, n)
99
+ })),
100
+ selection: v
101
+ }),
102
+ g.some((e) => e.value === null) && /* @__PURE__ */ l("p", {
103
+ className: "x153jb6y x1ghz6dp xy8obcc",
104
+ children: "Unavailable values have no area."
105
+ })
106
+ ]
107
+ });
108
+ }
109
+ export { m as Treemap };