@synnaxlabs/pluto 0.44.8 → 0.45.1

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 (277) hide show
  1. package/dist/Animated-BT-w0cPF.cjs +1 -0
  2. package/dist/{Animated-fJsLX-Tt.js → Animated-B_xTpw9g.js} +2 -2
  3. package/dist/LinePlot-De-VLJHL.cjs +53 -0
  4. package/dist/{LinePlot-BIZ1E3Rb.js → LinePlot-mRCOU5PM.js} +833 -793
  5. package/dist/{Toggle-BsP_WecR.js → Toggle-CzRMXK-K.js} +2 -2
  6. package/dist/Toggle-DY4PmA0_.cjs +1 -0
  7. package/dist/{Video-CMuBiBcp.js → Video-B4UWip-3.js} +1 -1
  8. package/dist/{Video-CbaEeyGH.cjs → Video-CgaO8bTm.cjs} +1 -1
  9. package/dist/button.cjs +1 -1
  10. package/dist/button.js +1 -1
  11. package/dist/color.cjs +1 -1
  12. package/dist/color.js +1 -1
  13. package/dist/{css-BlHGoCgb.js → css-BUXMI9PB.js} +1082 -990
  14. package/dist/css-CmXY6iPo.cjs +8 -0
  15. package/dist/css.cjs +1 -1
  16. package/dist/css.js +2 -2
  17. package/dist/dialog.cjs +1 -1
  18. package/dist/dialog.js +1 -1
  19. package/dist/{eraser-BstNvEkO.js → eraser-BcLVtorx.js} +3470 -3017
  20. package/dist/eraser-h8NIswGM.cjs +63 -0
  21. package/dist/ether.cjs +1 -1
  22. package/dist/ether.js +9 -9
  23. package/dist/{external-CuYkHdQ-.js → external-BA4cUJmi.js} +2 -2
  24. package/dist/external-BBGCooyz.cjs +1 -0
  25. package/dist/{external-YHSSoyM9.js → external-BF3OTViJ.js} +3 -3
  26. package/dist/{external-B5vTtpm8.js → external-BNitHfU5.js} +2 -2
  27. package/dist/{external-C1_CUNeZ.js → external-BY99QanC.js} +3 -3
  28. package/dist/external-ByxpHVEA.js +84 -0
  29. package/dist/{external-NISlPgIR.js → external-C-0pnmB4.js} +3 -3
  30. package/dist/{external-BWwSCjxj.js → external-CBLyUVI_.js} +4 -4
  31. package/dist/external-CGbANgXa.cjs +1 -0
  32. package/dist/{external-Poa7jfNM.js → external-CJrxLSWV.js} +2 -2
  33. package/dist/external-CMtT44YA.cjs +1 -0
  34. package/dist/external-CNbPkF53.cjs +1 -0
  35. package/dist/external-CbHzHgtw.js +92 -0
  36. package/dist/external-CiJ7RsGt.cjs +1 -0
  37. package/dist/external-D2VXaXzu.cjs +1 -0
  38. package/dist/{external-BhMf86-b.js → external-DNwQ_1PT.js} +43 -45
  39. package/dist/external-DYC1EK6G.cjs +1 -0
  40. package/dist/{external-DVsTr26y.js → external-D_PgcvDj.js} +13 -10
  41. package/dist/external-Dl5JyJaH.cjs +1 -0
  42. package/dist/external-Du8Z1FRh.js +380 -0
  43. package/dist/{external-lcuUe52o.cjs → external-DynvKrxv.cjs} +2 -2
  44. package/dist/{external-CzyQFMzI.js → external-DzuRmcYi.js} +5 -4
  45. package/dist/external-ETemCKjS.cjs +1 -0
  46. package/dist/external-S6GiiOBy.cjs +1 -0
  47. package/dist/external-aXmXhGMj.cjs +1 -0
  48. package/dist/external-zzhrikgD.cjs +1 -0
  49. package/dist/flex.cjs +1 -1
  50. package/dist/flex.js +1 -1
  51. package/dist/{fontString-Ca1-oixk.js → fontString-B3WuZ-o6.js} +2 -2
  52. package/dist/{fontString-Cp4X6CqQ.cjs → fontString-C4QgiFXy.cjs} +1 -1
  53. package/dist/header.cjs +1 -1
  54. package/dist/header.js +1 -1
  55. package/dist/index.cjs +7 -7
  56. package/dist/index.js +13247 -12503
  57. package/dist/input.cjs +1 -1
  58. package/dist/input.js +1 -1
  59. package/dist/list.cjs +1 -1
  60. package/dist/list.js +1 -1
  61. package/dist/main-DCvw0wt3.cjs +92 -0
  62. package/dist/{Editable-MR16HLlJ.js → main-mGfIFfsW.js} +9355 -9184
  63. package/dist/menu.cjs +1 -1
  64. package/dist/menu.js +1 -1
  65. package/dist/pluto.css +1 -1
  66. package/dist/src/button/Button.d.ts +3 -2
  67. package/dist/src/button/Button.d.ts.map +1 -1
  68. package/dist/src/color/BaseSwatch.d.ts.map +1 -1
  69. package/dist/src/dialog/Frame.d.ts.map +1 -1
  70. package/dist/src/flex/Box.d.ts +4 -4
  71. package/dist/src/flux/core/store.d.ts +38 -27
  72. package/dist/src/flux/core/store.d.ts.map +1 -1
  73. package/dist/src/flux/form.d.ts.map +1 -1
  74. package/dist/src/flux/form.spec.d.ts.map +1 -1
  75. package/dist/src/flux/list.d.ts +3 -1
  76. package/dist/src/flux/list.d.ts.map +1 -1
  77. package/dist/src/flux/list.spec.d.ts.map +1 -1
  78. package/dist/src/flux/result.spec.d.ts.map +1 -1
  79. package/dist/src/flux/retrieve.spec.d.ts.map +1 -1
  80. package/dist/src/flux/update.d.ts +3 -5
  81. package/dist/src/flux/update.d.ts.map +1 -1
  82. package/dist/src/flux/update.spec.d.ts.map +1 -1
  83. package/dist/src/form/Context.d.ts +1 -0
  84. package/dist/src/form/Context.d.ts.map +1 -1
  85. package/dist/src/form/state.d.ts +5 -1
  86. package/dist/src/form/state.d.ts.map +1 -1
  87. package/dist/src/form/use.d.ts.map +1 -1
  88. package/dist/src/form/useField.d.ts +3 -2
  89. package/dist/src/form/useField.d.ts.map +1 -1
  90. package/dist/src/generic/Generic.d.ts.map +1 -1
  91. package/dist/src/group/queries.d.ts +4 -3
  92. package/dist/src/group/queries.d.ts.map +1 -1
  93. package/dist/src/hardware/task/queries.d.ts +2 -1
  94. package/dist/src/hardware/task/queries.d.ts.map +1 -1
  95. package/dist/src/header/Header.d.ts +2 -1
  96. package/dist/src/header/Header.d.ts.map +1 -1
  97. package/dist/src/hooks/index.d.ts +1 -0
  98. package/dist/src/hooks/index.d.ts.map +1 -1
  99. package/dist/src/hooks/useCursorDrag/useCursorDrag.d.ts.map +1 -1
  100. package/dist/src/hooks/useCursorDrag/useVirtualCursorDragWebKit.d.ts.map +1 -1
  101. package/dist/src/hooks/useCursorDrag/useVirtualCursorDragWebView.d.ts.map +1 -1
  102. package/dist/src/icon/Fitting.d.ts +2 -0
  103. package/dist/src/icon/Fitting.d.ts.map +1 -0
  104. package/dist/src/icon/LabJack.d.ts +3 -0
  105. package/dist/src/icon/LabJack.d.ts.map +1 -0
  106. package/dist/src/icon/NI.d.ts +2 -0
  107. package/dist/src/icon/NI.d.ts.map +1 -0
  108. package/dist/src/icon/OPC.d.ts +2 -0
  109. package/dist/src/icon/OPC.d.ts.map +1 -0
  110. package/dist/src/icon/Process.d.ts +2 -0
  111. package/dist/src/icon/Process.d.ts.map +1 -0
  112. package/dist/src/icon/Pump.d.ts +2 -0
  113. package/dist/src/icon/Pump.d.ts.map +1 -0
  114. package/dist/src/icon/Tank.d.ts +2 -0
  115. package/dist/src/icon/Tank.d.ts.map +1 -0
  116. package/dist/src/icon/Valve.d.ts +2 -0
  117. package/dist/src/icon/Valve.d.ts.map +1 -0
  118. package/dist/src/icon/external.d.ts +5 -0
  119. package/dist/src/icon/external.d.ts.map +1 -1
  120. package/dist/src/icon/registry.d.ts +8 -2
  121. package/dist/src/icon/registry.d.ts.map +1 -1
  122. package/dist/src/index.d.ts +2 -1
  123. package/dist/src/index.d.ts.map +1 -1
  124. package/dist/src/input/DateTime.d.ts.map +1 -1
  125. package/dist/src/input/HelpText.d.ts.map +1 -1
  126. package/dist/src/label/queries.d.ts +1 -1
  127. package/dist/src/label/queries.d.ts.map +1 -1
  128. package/dist/src/list/Frame.d.ts.map +1 -1
  129. package/dist/src/list/Items.d.ts +1 -1
  130. package/dist/src/list/Items.d.ts.map +1 -1
  131. package/dist/src/list/external.d.ts +1 -0
  132. package/dist/src/list/external.d.ts.map +1 -1
  133. package/dist/src/list/pager.spec.d.ts.map +1 -1
  134. package/dist/src/list/useCombinedData.d.ts +8 -0
  135. package/dist/src/list/useCombinedData.d.ts.map +1 -0
  136. package/dist/src/list/useCombinedData.spec.d.ts +2 -0
  137. package/dist/src/list/useCombinedData.spec.d.ts.map +1 -0
  138. package/dist/src/mosaic/use.d.ts.map +1 -1
  139. package/dist/src/ontology/queries.d.ts +2 -2
  140. package/dist/src/pluto/Pluto.d.ts +2 -0
  141. package/dist/src/pluto/Pluto.d.ts.map +1 -1
  142. package/dist/src/ranger/queries.d.ts +3 -2
  143. package/dist/src/ranger/queries.d.ts.map +1 -1
  144. package/dist/src/schematic/external.d.ts +3 -0
  145. package/dist/src/schematic/external.d.ts.map +1 -0
  146. package/dist/src/schematic/index.d.ts.map +1 -0
  147. package/dist/src/schematic/symbol/Custom.d.ts +15 -0
  148. package/dist/src/schematic/symbol/Custom.d.ts.map +1 -0
  149. package/dist/src/schematic/symbol/Custom.spec.d.ts +2 -0
  150. package/dist/src/schematic/symbol/Custom.spec.d.ts.map +1 -0
  151. package/dist/src/{vis/schematic → schematic/symbol}/Forms.d.ts +7 -5
  152. package/dist/src/schematic/symbol/Forms.d.ts.map +1 -0
  153. package/dist/src/schematic/symbol/Grid.d.ts.map +1 -0
  154. package/dist/src/{vis/schematic/primitives → schematic/symbol}/Primitives.d.ts +18 -7
  155. package/dist/src/schematic/symbol/Primitives.d.ts.map +1 -0
  156. package/dist/src/schematic/symbol/SelectOrientation.d.ts.map +1 -0
  157. package/dist/src/{vis/schematic → schematic/symbol}/Symbols.d.ts +18 -8
  158. package/dist/src/schematic/symbol/Symbols.d.ts.map +1 -0
  159. package/dist/src/schematic/symbol/external.d.ts +6 -0
  160. package/dist/src/schematic/symbol/external.d.ts.map +1 -0
  161. package/dist/src/schematic/symbol/extractRegions.d.ts +3 -0
  162. package/dist/src/schematic/symbol/extractRegions.d.ts.map +1 -0
  163. package/dist/src/schematic/symbol/extractRegions.spec.d.ts +2 -0
  164. package/dist/src/schematic/symbol/extractRegions.spec.d.ts.map +1 -0
  165. package/dist/src/schematic/symbol/index.d.ts +2 -0
  166. package/dist/src/schematic/symbol/index.d.ts.map +1 -0
  167. package/dist/src/schematic/symbol/queries.d.ts +179 -0
  168. package/dist/src/schematic/symbol/queries.d.ts.map +1 -0
  169. package/dist/src/schematic/symbol/queries.spec.d.ts +2 -0
  170. package/dist/src/schematic/symbol/queries.spec.d.ts.map +1 -0
  171. package/dist/src/{vis/schematic → schematic/symbol}/registry.d.ts +15 -6
  172. package/dist/src/schematic/symbol/registry.d.ts.map +1 -0
  173. package/dist/src/select/use.d.ts.map +1 -1
  174. package/dist/src/showcase/InputShowcase.d.ts +3 -0
  175. package/dist/src/showcase/InputShowcase.d.ts.map +1 -1
  176. package/dist/src/status/aether/aggregator.d.ts +2 -2
  177. package/dist/src/table/aether/Table.d.ts +4 -0
  178. package/dist/src/table/aether/Table.d.ts.map +1 -1
  179. package/dist/src/table/cells/Cells.d.ts +7 -1
  180. package/dist/src/table/cells/Cells.d.ts.map +1 -1
  181. package/dist/src/table/cells/registry.d.ts.map +1 -1
  182. package/dist/src/tabs/Selector.d.ts +3 -2
  183. package/dist/src/tabs/Selector.d.ts.map +1 -1
  184. package/dist/src/tabs/Tabs.d.ts +2 -2
  185. package/dist/src/tabs/Tabs.d.ts.map +1 -1
  186. package/dist/src/telem/aether/transformers.d.ts.map +1 -1
  187. package/dist/src/telem/client/streamer.d.ts.map +1 -1
  188. package/dist/src/telem/control/aether/chip.d.ts +2 -2
  189. package/dist/src/telem/control/aether/controller.d.ts +1 -1
  190. package/dist/src/telem/control/aether/indicator.d.ts +7 -7
  191. package/dist/src/telem/control/aether/legend.d.ts +2 -2
  192. package/dist/src/telem/control/aether/state.d.ts +1 -1
  193. package/dist/src/theming/Provider.d.ts +2 -1
  194. package/dist/src/theming/Provider.d.ts.map +1 -1
  195. package/dist/src/theming/aether/provider.d.ts +129 -129
  196. package/dist/src/theming/core/theme.d.ts +131 -131
  197. package/dist/src/tree/Tree.d.ts.map +1 -1
  198. package/dist/src/triggers/Text.d.ts.map +1 -1
  199. package/dist/src/triggers/hooks.d.ts.map +1 -1
  200. package/dist/src/triggers/triggers.d.ts +11 -11
  201. package/dist/src/vis/axis/axis.d.ts +2 -2
  202. package/dist/src/vis/diagram/aether/Diagram.d.ts +4 -0
  203. package/dist/src/vis/diagram/aether/Diagram.d.ts.map +1 -1
  204. package/dist/src/vis/line/Line.d.ts.map +1 -1
  205. package/dist/src/vis/line/aether/line.d.ts +1 -1
  206. package/dist/src/vis/line/aether/line.d.ts.map +1 -1
  207. package/dist/src/vis/lineplot/aether/XAxis.d.ts +4 -4
  208. package/dist/src/vis/lineplot/aether/YAxis.d.ts +4 -4
  209. package/dist/src/vis/lineplot/aether/axis.d.ts +2 -2
  210. package/dist/src/vis/lineplot/range/Annotation.d.ts.map +1 -1
  211. package/dist/src/vis/lineplot/range/aether/annotation.d.ts +4 -4
  212. package/dist/src/vis/lineplot/tooltip/aether/tooltip.d.ts +8 -8
  213. package/dist/src/vis/lineplot/useBoundQuerier.d.ts.map +1 -1
  214. package/dist/src/vis/log/aether/Log.d.ts +3 -3
  215. package/dist/src/vis/measure/aether/measure.d.ts +8 -8
  216. package/dist/src/vis/rule/aether/aether.d.ts +2 -2
  217. package/dist/src/vis/setpoint/aether/setpoint.d.ts +3 -3
  218. package/dist/src/vis/setpoint/aether/setpoint.d.ts.map +1 -1
  219. package/dist/src/vis/setpoint/use.d.ts +2 -2
  220. package/dist/src/vis/setpoint/use.d.ts.map +1 -1
  221. package/dist/src/vis/value/RedlineForm.d.ts.map +1 -1
  222. package/dist/src/vis/value/TelemForm.d.ts.map +1 -1
  223. package/dist/src/vis/value/aether/value.d.ts +23 -3
  224. package/dist/src/vis/value/aether/value.d.ts.map +1 -1
  225. package/dist/src/vis/value/use.d.ts +8 -2
  226. package/dist/src/vis/value/use.d.ts.map +1 -1
  227. package/dist/tabs.cjs +1 -1
  228. package/dist/tabs.js +1 -1
  229. package/dist/text.cjs +1 -1
  230. package/dist/text.js +2 -2
  231. package/dist/theming.cjs +1 -1
  232. package/dist/theming.js +2 -2
  233. package/dist/tree.cjs +1 -1
  234. package/dist/tree.js +1 -1
  235. package/dist/triggers.cjs +1 -1
  236. package/dist/triggers.js +1 -1
  237. package/dist/{units-D8blpqyN.js → units-BPvO622s.js} +3 -3
  238. package/dist/units-DkdMPsxa.cjs +1 -0
  239. package/dist/video.cjs +1 -1
  240. package/dist/video.js +1 -1
  241. package/package.json +7 -7
  242. package/dist/Animated-CyK_c82a.cjs +0 -1
  243. package/dist/Editable-B8pvBXQS.cjs +0 -92
  244. package/dist/LinePlot-DslwDvAo.cjs +0 -53
  245. package/dist/Toggle-Bqp97ujd.cjs +0 -1
  246. package/dist/css-CZ_XGkIB.cjs +0 -8
  247. package/dist/eraser-DiJNbabo.cjs +0 -63
  248. package/dist/external-0zUBjsWc.cjs +0 -1
  249. package/dist/external-1ebWGBIY.cjs +0 -1
  250. package/dist/external-B4A9qxs2.cjs +0 -1
  251. package/dist/external-BNagUgId.cjs +0 -1
  252. package/dist/external-Bbrq8Uh2.cjs +0 -1
  253. package/dist/external-BoI3SDJy.cjs +0 -1
  254. package/dist/external-CbHi1R5M.cjs +0 -1
  255. package/dist/external-Cd_bzIsx.cjs +0 -1
  256. package/dist/external-Cw9nrwGS.cjs +0 -1
  257. package/dist/external-D0FRmOeg.cjs +0 -1
  258. package/dist/external-D4Cbm19R.js +0 -69
  259. package/dist/external-DHgpDWNu.cjs +0 -1
  260. package/dist/external-DpjNdrhL.js +0 -374
  261. package/dist/external-H1IGckxo.cjs +0 -1
  262. package/dist/external-IBOALZ2N.js +0 -82
  263. package/dist/src/vis/schematic/Forms.d.ts.map +0 -1
  264. package/dist/src/vis/schematic/Grid.d.ts.map +0 -1
  265. package/dist/src/vis/schematic/SelectOrientation.d.ts.map +0 -1
  266. package/dist/src/vis/schematic/Symbols.d.ts.map +0 -1
  267. package/dist/src/vis/schematic/external.d.ts +0 -4
  268. package/dist/src/vis/schematic/external.d.ts.map +0 -1
  269. package/dist/src/vis/schematic/index.d.ts.map +0 -1
  270. package/dist/src/vis/schematic/primitives/Primitives.d.ts.map +0 -1
  271. package/dist/src/vis/schematic/primitives/index.d.ts +0 -2
  272. package/dist/src/vis/schematic/primitives/index.d.ts.map +0 -1
  273. package/dist/src/vis/schematic/registry.d.ts.map +0 -1
  274. package/dist/units-Cqxg-SBx.cjs +0 -1
  275. /package/dist/src/{vis/schematic → schematic}/index.d.ts +0 -0
  276. /package/dist/src/{vis/schematic → schematic/symbol}/Grid.d.ts +0 -0
  277. /package/dist/src/{vis/schematic → schematic/symbol}/SelectOrientation.d.ts +0 -0
@@ -0,0 +1,380 @@
1
+ import { j as l } from "./jsx-runtime-C5mzlN2N.js";
2
+ import { C as o, H as L, K as $, a as G, p as U } from "./css-BUXMI9PB.js";
3
+ import { createContext as q, use as z, useState as I, useCallback as C } from "react";
4
+ import { m as J, j as Q, v as B, B as w, av as W, h as Y, g as K, aw as ee, T as te, E as ne, ax as se, ay as le, as as oe, au as re } from "./main-mGfIFfsW.js";
5
+ import { C as k, y as ae } from "./eraser-BcLVtorx.js";
6
+ import "react-dom";
7
+ import { z as f } from "zod";
8
+ const A = q({ tabs: [] }), R = A, M = () => z(A), _ = "tabs-selector", V = ({
9
+ className: s,
10
+ altColor: t = !1,
11
+ size: e = "medium",
12
+ direction: r = "x",
13
+ contextMenu: n,
14
+ addTooltip: a,
15
+ actions: c,
16
+ ...d
17
+ }) => {
18
+ const {
19
+ tabs: p,
20
+ selected: j,
21
+ onSelect: E,
22
+ onClose: h,
23
+ closable: S,
24
+ onDragEnd: T,
25
+ onDragStart: D,
26
+ onDrop: x,
27
+ onRename: b,
28
+ onCreate: m
29
+ } = M(), v = J(), [O, g] = I(!1);
30
+ return /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
31
+ n != null && /* @__PURE__ */ l.jsx(
32
+ Q,
33
+ {
34
+ style: { height: "fit-content" },
35
+ ...v,
36
+ menu: n
37
+ }
38
+ ),
39
+ /* @__PURE__ */ l.jsxs(
40
+ B,
41
+ {
42
+ className: o(
43
+ o.B(_),
44
+ s,
45
+ v.className,
46
+ O && o.M("drag-over")
47
+ ),
48
+ size: e,
49
+ align: "center",
50
+ justify: "between",
51
+ empty: !0,
52
+ direction: r,
53
+ onContextMenu: v.open,
54
+ onDrop: x,
55
+ ...d,
56
+ children: [
57
+ /* @__PURE__ */ l.jsxs(B, { direction: r, className: o.BE(_, "tabs"), empty: !0, children: [
58
+ p.map((i) => /* @__PURE__ */ l.jsx(
59
+ de,
60
+ {
61
+ selected: j,
62
+ altColor: t,
63
+ onSelect: E,
64
+ onClose: h,
65
+ onDragStart: D,
66
+ onDragEnd: T,
67
+ onRename: b,
68
+ closable: i.closable ?? S,
69
+ size: e,
70
+ ...i
71
+ },
72
+ i.tabKey
73
+ )),
74
+ x != null && /* @__PURE__ */ l.jsx(
75
+ B,
76
+ {
77
+ onDragOver: () => g(!0),
78
+ onDragLeave: () => g(!1),
79
+ onDragEnd: () => g(!1),
80
+ onDrop: () => g(!1),
81
+ grow: !0
82
+ }
83
+ )
84
+ ] }),
85
+ (c != null || m != null) && /* @__PURE__ */ l.jsxs(B, { className: o.BE(_, "actions"), children: [
86
+ m != null && /* @__PURE__ */ l.jsx(
87
+ w,
88
+ {
89
+ size: e,
90
+ sharp: !0,
91
+ onClick: m,
92
+ tooltip: a,
93
+ variant: "text",
94
+ children: /* @__PURE__ */ l.jsx(W, {})
95
+ }
96
+ ),
97
+ c
98
+ ] })
99
+ ]
100
+ }
101
+ )
102
+ ] });
103
+ }, ce = ({ unsavedChanges: s, ...t }) => {
104
+ const e = /* @__PURE__ */ l.jsx(se, { ...t });
105
+ return s ? /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
106
+ /* @__PURE__ */ l.jsx(le, {}),
107
+ e
108
+ ] }) : e;
109
+ }, H = o.BE("tabs-selector", "btn"), ie = (s) => {
110
+ if (!(s.target instanceof HTMLElement)) return "right";
111
+ const t = L.construct(s.target.closest(`.${H}`)), e = $.construct(s);
112
+ return G.Scale.scale(L.left(t), L.right(t)).scale(0, 1).pos(e.x) < 0.5 ? "left" : "right";
113
+ }, ue = ({ loading: s, icon: t, level: e = "p" }) => (s && (t = /* @__PURE__ */ l.jsx(oe, {})), ee(t, {
114
+ className: o.BE(_, "icon"),
115
+ style: {
116
+ color: o.colorVar(9),
117
+ height: o.levelSizeVar(e),
118
+ width: o.levelSizeVar(e)
119
+ }
120
+ })), de = ({
121
+ selected: s,
122
+ altColor: t = !1,
123
+ onSelect: e,
124
+ onClose: r,
125
+ tabKey: n,
126
+ name: a,
127
+ onDragStart: c,
128
+ onDragEnd: d,
129
+ onRename: p,
130
+ closable: j = !0,
131
+ icon: E,
132
+ size: h,
133
+ editable: S = !0,
134
+ unsavedChanges: T = !1,
135
+ loading: D = !1,
136
+ onDrop: x
137
+ }) => {
138
+ const b = C(
139
+ (u) => c?.(u, { tabKey: n, name: a }),
140
+ [c, n, a]
141
+ ), m = C(
142
+ (u) => d?.(u, { tabKey: n, name: a }),
143
+ [d, n, a]
144
+ ), v = C(
145
+ (u) => {
146
+ u.preventDefault(), u.stopPropagation(), r?.(n);
147
+ },
148
+ [r, n]
149
+ ), O = C(() => e?.(n), [e, n]), [g, i] = I(null), y = C(
150
+ (u) => {
151
+ i(ie(u));
152
+ },
153
+ [i, x]
154
+ ), P = C(
155
+ (u) => {
156
+ x?.(u), i(null);
157
+ },
158
+ [x, i]
159
+ ), N = s === n, X = k[h];
160
+ return /* @__PURE__ */ l.jsxs(
161
+ w,
162
+ {
163
+ el: "div",
164
+ size: h,
165
+ id: n,
166
+ variant: "text",
167
+ sharp: !0,
168
+ className: o(
169
+ Y,
170
+ H,
171
+ N && K,
172
+ o.selected(N),
173
+ o.altColor(t),
174
+ j && r != null && o.M("closable"),
175
+ o.editable(S && p != null),
176
+ g != null && o.M("drag-over"),
177
+ g != null && o.loc(g)
178
+ ),
179
+ draggable: !0,
180
+ justify: "center",
181
+ align: "center",
182
+ empty: !0,
183
+ tabIndex: 0,
184
+ preventClick: N,
185
+ onClick: O,
186
+ onDragOver: y,
187
+ onDrop: P,
188
+ onDragLeave: () => i(null),
189
+ onDragStart: b,
190
+ onDragEnd: (u) => {
191
+ i(null), m(u);
192
+ },
193
+ bordered: !1,
194
+ rounded: !1,
195
+ children: [
196
+ /* @__PURE__ */ l.jsx(ue, { loading: D, icon: E, level: X }),
197
+ /* @__PURE__ */ l.jsx(
198
+ ge,
199
+ {
200
+ name: a,
201
+ tabKey: n,
202
+ onRename: p,
203
+ editable: S,
204
+ level: k[h]
205
+ }
206
+ ),
207
+ j && r != null && /* @__PURE__ */ l.jsx(
208
+ w,
209
+ {
210
+ "aria-label": "pluto-tabs__close",
211
+ onClick: v,
212
+ className: o.E("close"),
213
+ variant: "text",
214
+ sharp: !0,
215
+ children: /* @__PURE__ */ l.jsx(ce, { unsavedChanges: T })
216
+ }
217
+ )
218
+ ]
219
+ }
220
+ );
221
+ }, ge = ({
222
+ onRename: s,
223
+ name: t,
224
+ tabKey: e,
225
+ editable: r = !0,
226
+ level: n
227
+ }) => s == null || !r ? /* @__PURE__ */ l.jsx(te, { overflow: "ellipsis", level: n, children: t }) : /* @__PURE__ */ l.jsx(
228
+ ne,
229
+ {
230
+ level: n,
231
+ id: o.B(`tab-${e}`),
232
+ onChange: (a) => s?.(e, a),
233
+ value: t,
234
+ overflow: "ellipsis"
235
+ }
236
+ ), fe = (s = "", t = []) => {
237
+ if (t.length !== 0)
238
+ return t.find((e) => e.tabKey === s) != null ? s : t[t.length - 1]?.tabKey;
239
+ }, pe = (s, t, e) => {
240
+ if (t = t.trim(), t.length === 0) return e;
241
+ const r = e.find((n) => n.tabKey === s);
242
+ return r == null || r.name === t ? e : e.map((n) => n.tabKey === s ? { ...n, name: t } : n);
243
+ }, xe = ({
244
+ tabs: s,
245
+ content: t,
246
+ selected: e,
247
+ onSelect: r
248
+ }) => {
249
+ const [n, a] = ae({
250
+ initial: e ?? s[0]?.tabKey ?? "",
251
+ value: e,
252
+ onChange: r
253
+ }), c = re(e ?? n), d = C(
254
+ (p) => {
255
+ a(p), c.current == null && r?.(p);
256
+ },
257
+ [n, r]
258
+ );
259
+ return {
260
+ tabs: s,
261
+ selected: n,
262
+ content: t,
263
+ onSelect: d
264
+ };
265
+ }, he = ({
266
+ id: s,
267
+ content: t,
268
+ children: e,
269
+ onSelect: r,
270
+ selected: n,
271
+ selectedAltColor: a,
272
+ closable: c,
273
+ tabs: d,
274
+ onClose: p,
275
+ onDragStart: j,
276
+ onDragEnd: E,
277
+ onCreate: h,
278
+ onRename: S,
279
+ emptyContent: T,
280
+ className: D,
281
+ onDragOver: x,
282
+ onDrop: b,
283
+ contextMenu: m,
284
+ actions: v,
285
+ addTooltip: O,
286
+ size: g = "medium",
287
+ direction: i = "y",
288
+ x: y,
289
+ y: P,
290
+ ...N
291
+ }) => /* @__PURE__ */ l.jsx(
292
+ B,
293
+ {
294
+ id: s,
295
+ empty: !0,
296
+ className: o(o.B("tabs"), D),
297
+ direction: i,
298
+ x: y,
299
+ y: P,
300
+ onDragOver: x,
301
+ onDrop: b,
302
+ ...N,
303
+ children: /* @__PURE__ */ l.jsxs(
304
+ R,
305
+ {
306
+ value: {
307
+ tabs: d,
308
+ emptyContent: T,
309
+ selected: n,
310
+ closable: c,
311
+ content: e ?? t,
312
+ onSelect: r,
313
+ onClose: p,
314
+ onDragStart: j,
315
+ onDragEnd: E,
316
+ onRename: S,
317
+ onCreate: h,
318
+ onDrop: b
319
+ },
320
+ children: [
321
+ /* @__PURE__ */ l.jsx(
322
+ V,
323
+ {
324
+ size: g,
325
+ direction: U.swap(i),
326
+ altColor: a,
327
+ contextMenu: m,
328
+ addTooltip: O,
329
+ actions: v
330
+ }
331
+ ),
332
+ /* @__PURE__ */ l.jsx(Z, {})
333
+ ]
334
+ }
335
+ )
336
+ }
337
+ ), Z = () => {
338
+ const { tabs: s, selected: t, content: e, emptyContent: r, onSelect: n } = M();
339
+ let a = null;
340
+ const c = s.find((d) => d.tabKey === t);
341
+ return t == null || c == null ? a = r ?? null : e != null ? typeof e == "function" ? a = e(c) : a = e : c.content != null && (a = c.content), /* @__PURE__ */ l.jsx(
342
+ "div",
343
+ {
344
+ className: o.B("tabs-content"),
345
+ onClick: () => t != null && n?.(t),
346
+ children: a
347
+ }
348
+ );
349
+ }, F = f.object({
350
+ tabKey: f.string(),
351
+ name: f.string(),
352
+ closable: f.boolean().optional(),
353
+ icon: f.unknown().optional(),
354
+ editable: f.boolean().optional(),
355
+ visible: f.boolean().optional(),
356
+ unsavedChanges: f.boolean().optional(),
357
+ loading: f.boolean().optional()
358
+ }), me = F.extend({
359
+ content: f.unknown().optional()
360
+ }), De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
361
+ __proto__: null,
362
+ Content: Z,
363
+ Provider: R,
364
+ Selector: V,
365
+ Tabs: he,
366
+ rename: pe,
367
+ resetSelection: fe,
368
+ specZ: F,
369
+ tabZ: me,
370
+ useContext: M,
371
+ useStatic: xe
372
+ }, Symbol.toStringTag, { value: "Module" }));
373
+ export {
374
+ he as T,
375
+ pe as a,
376
+ De as e,
377
+ fe as r,
378
+ me as t,
379
+ xe as u
380
+ };