@xenosystem/blocks 0.13.31 → 0.13.32

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.
@@ -7696,7 +7696,7 @@ var curveManifest = {
7696
7696
 
7697
7697
  // src/edit/curve/react/CurvePanelView.tsx
7698
7698
  import { useCallback as useCallback6, useEffect as useEffect5, useRef as useRef6, useSyncExternalStore as useSyncExternalStore5 } from "react";
7699
- import { Column as Column5, EmptyState as EmptyState4, StatusBar as StatusBar3, Text as Text5, TextButton as TextButton3, Toolbar as Toolbar3, ToolbarGroup } from "@xenosystem/components/chrome";
7699
+ import { Column as Column5, DrawnSurface, EmptyState as EmptyState4, StatusBar as StatusBar3, Text as Text5, TextButton as TextButton3, Toolbar as Toolbar3, ToolbarGroup } from "@xenosystem/components/chrome";
7700
7700
 
7701
7701
  // src/edit/curve/declaration.ts
7702
7702
  import { formatTick } from "@xenosystem/time-core";
@@ -7895,13 +7895,10 @@ function CurveSurface({ controller }) {
7895
7895
  const selected = new Set(state.selection.keys.map(keyRefId));
7896
7896
  const channels = state.curves?.channels ?? [];
7897
7897
  return /* @__PURE__ */ jsx7(
7898
- "div",
7898
+ DrawnSurface,
7899
7899
  {
7900
7900
  ref: containerRef,
7901
- tabIndex: 0,
7902
- role: "application",
7903
- "aria-label": "Curve editor",
7904
- style: SURFACE,
7901
+ label: "Curve editor",
7905
7902
  onWheel,
7906
7903
  onPointerDown,
7907
7904
  onPointerMove,
@@ -8026,15 +8023,6 @@ function Handles({
8026
8023
  ] }, side);
8027
8024
  }) });
8028
8025
  }
8029
- var SURFACE = {
8030
- position: "relative",
8031
- flex: 1,
8032
- minHeight: 0,
8033
- overflow: "hidden",
8034
- outline: "none",
8035
- userSelect: "none",
8036
- touchAction: "none"
8037
- };
8038
8026
  var CURVE_RUNTIME_UNITS = ["curve/Surface"];
8039
8027
  function curveRuntimeComponents(controller) {
8040
8028
  return { "curve/Surface": () => /* @__PURE__ */ jsx7(CurveSurface, { controller }) };
@@ -8646,7 +8634,7 @@ var viewportManifest = {
8646
8634
 
8647
8635
  // src/edit/viewport/react/ViewportPanelView.tsx
8648
8636
  import { useEffect as useEffect6, useRef as useRef7, useSyncExternalStore as useSyncExternalStore6 } from "react";
8649
- import { Badge as Badge4, Overlay, StatusBar as StatusBar4 } from "@xenosystem/components/chrome";
8637
+ import { Badge as Badge4, DrawnSurface as DrawnSurface2, Overlay, StatusBar as StatusBar4 } from "@xenosystem/components/chrome";
8650
8638
 
8651
8639
  // src/edit/viewport/declaration.ts
8652
8640
  function viewportViewState(c, options = {}) {
@@ -8730,12 +8718,11 @@ function ViewportSurface({ controller, overlays, background, children }) {
8730
8718
  }, [controller]);
8731
8719
  const hidden = new Set(state.hiddenSlots);
8732
8720
  return /* @__PURE__ */ jsxs7(
8733
- "div",
8721
+ DrawnSurface2,
8734
8722
  {
8735
8723
  ref: containerRef,
8736
- tabIndex: 0,
8737
- role: "application",
8738
- "aria-label": "Viewport",
8724
+ label: "Viewport",
8725
+ focused: state.focused,
8739
8726
  onFocus: () => controller.setFocused(true),
8740
8727
  onBlur: () => controller.setFocused(false),
8741
8728
  onKeyDown: (event) => controller.routeKey("down", event.nativeEvent),
@@ -8756,19 +8743,7 @@ function ViewportSurface({ controller, overlays, background, children }) {
8756
8743
  onPointerLeave: (event) => controller.routePointer("leave", event.nativeEvent),
8757
8744
  onWheel: (event) => controller.routePointer("wheel", event.nativeEvent),
8758
8745
  onContextMenu: (event) => event.preventDefault(),
8759
- style: {
8760
- position: "relative",
8761
- width: "100%",
8762
- height: "100%",
8763
- minHeight: 0,
8764
- overflow: "hidden",
8765
- outline: "none",
8766
- background: background ?? "transparent",
8767
- // A focused viewport must be visibly focused, or the element-scoped keyboard model is
8768
- // invisible to the person using it.
8769
- boxShadow: state.focused ? "inset 0 0 0 1px var(--xeno-control)" : void 0,
8770
- touchAction: "none"
8771
- },
8746
+ style: { width: "100%", height: "100%", background: background ?? "transparent" },
8772
8747
  children: [
8773
8748
  /* @__PURE__ */ jsx8(
8774
8749
  "canvas",
@@ -11893,7 +11868,7 @@ var nodegraphManifest = {
11893
11868
 
11894
11869
  // src/edit/nodegraph/react/NodeGraphPanelView.tsx
11895
11870
  import { useCallback as useCallback7, useEffect as useEffect7, useRef as useRef8, useSyncExternalStore as useSyncExternalStore9 } from "react";
11896
- import { Column as Column8, EmptyState as EmptyState7, StatusBar as StatusBar7, Text as Text8, TextButton as TextButton6, Toolbar as Toolbar6, ToolbarGroup as ToolbarGroup4 } from "@xenosystem/components/chrome";
11871
+ import { Badge as Badge7, Column as Column8, DrawnSurface as DrawnSurface3, EmptyState as EmptyState7, Overlay as Overlay2, StatusBar as StatusBar7, Text as Text8, TextButton as TextButton6, Toolbar as Toolbar6, ToolbarGroup as ToolbarGroup4 } from "@xenosystem/components/chrome";
11897
11872
 
11898
11873
  // src/edit/nodegraph/declaration.ts
11899
11874
  function nodegraphViewState(c, _options = {}) {
@@ -12066,13 +12041,10 @@ function NodeGraphSurface({ controller }) {
12066
12041
  const selectedNodes = new Set(state.selection.nodeIds);
12067
12042
  const selectedEdges = new Set(state.selection.edgeIds);
12068
12043
  return /* @__PURE__ */ jsxs10(
12069
- "div",
12044
+ DrawnSurface3,
12070
12045
  {
12071
12046
  ref: containerRef,
12072
- tabIndex: 0,
12073
- role: "application",
12074
- "aria-label": "Node graph",
12075
- style: SURFACE2,
12047
+ label: "Node graph",
12076
12048
  onWheel,
12077
12049
  onPointerDown,
12078
12050
  onPointerMove,
@@ -12124,7 +12096,7 @@ function NodeGraphSurface({ controller }) {
12124
12096
  ] })
12125
12097
  }
12126
12098
  ),
12127
- preview?.connection && !preview.connection.verdict.ok && preview.connection.target ? /* @__PURE__ */ jsx11("div", { style: REASON, children: preview.connection.verdict.reason }) : null
12099
+ preview?.connection && !preview.connection.verdict.ok && preview.connection.target ? /* @__PURE__ */ jsx11(Overlay2, { anchor: "bottom-left", children: /* @__PURE__ */ jsx11(Badge7, { children: preview.connection.verdict.reason }) }) : null
12128
12100
  ]
12129
12101
  }
12130
12102
  );
@@ -12248,27 +12220,6 @@ function Port({
12248
12220
  )
12249
12221
  ] });
12250
12222
  }
12251
- var SURFACE2 = {
12252
- position: "relative",
12253
- flex: 1,
12254
- minHeight: 0,
12255
- overflow: "hidden",
12256
- outline: "none",
12257
- userSelect: "none",
12258
- touchAction: "none"
12259
- };
12260
- var REASON = {
12261
- position: "absolute",
12262
- left: 8,
12263
- bottom: 8,
12264
- padding: "2px 6px",
12265
- fontSize: 10,
12266
- borderRadius: 2,
12267
- border: "1px solid var(--xeno-control)",
12268
- background: "var(--xeno-elevated)",
12269
- color: "var(--xeno-text)",
12270
- pointerEvents: "none"
12271
- };
12272
12223
  var NODEGRAPH_RUNTIME_UNITS = ["nodegraph/Surface"];
12273
12224
  function nodegraphRuntimeComponents(controller) {
12274
12225
  return { "nodegraph/Surface": () => /* @__PURE__ */ jsx11(NodeGraphSurface, { controller }) };
@@ -13500,7 +13451,7 @@ var treeManifest = {
13500
13451
  // src/edit/tree/react/TreePanelView.tsx
13501
13452
  import { useCallback as useCallback8, useEffect as useEffect8, useRef as useRef9, useSyncExternalStore as useSyncExternalStore10 } from "react";
13502
13453
  import {
13503
- Badge as Badge7,
13454
+ Badge as Badge8,
13504
13455
  Column as Column9,
13505
13456
  EmptyState as EmptyState8,
13506
13457
  ErrorState,
@@ -13850,15 +13801,15 @@ function TreePanelView({ controller, ...options }) {
13850
13801
  ] }),
13851
13802
  meta: /* @__PURE__ */ jsxs11(Fragment8, { children: [
13852
13803
  r.chipLoading ? /* @__PURE__ */ jsx12(Text9, { role: "caption", children: "loading\u2026" }) : null,
13853
- r.chipError ? /* @__PURE__ */ jsx12(Badge7, { tone: "error", children: r.chipErrorText }) : null,
13804
+ r.chipError ? /* @__PURE__ */ jsx12(Badge8, { tone: "error", children: r.chipErrorText }) : null,
13854
13805
  r.chipLoadMore ? /* @__PURE__ */ jsx12(TextButton7, { onClick: () => ui10({ kind: "loadMore", id: r.id }), children: "load more\u2026" }) : null,
13855
- r.chipTruncated ? /* @__PURE__ */ jsx12(Badge7, { tone: "warning", children: r.chipTruncatedText }) : null,
13806
+ r.chipTruncated ? /* @__PURE__ */ jsx12(Badge8, { tone: "warning", children: r.chipTruncatedText }) : null,
13856
13807
  r.chipEmpty ? /* @__PURE__ */ jsx12(Text9, { role: "caption", children: "empty" }) : null
13857
13808
  ] }),
13858
13809
  trailing: /* @__PURE__ */ jsxs11(Fragment8, { children: [
13859
13810
  r.columns.map((c) => /* @__PURE__ */ jsx12(Text9, { role: "number", children: c.text }, c.key)),
13860
13811
  r.glyphs.map((g) => /* @__PURE__ */ jsx12(Text9, { role: "meta", title: g.title, children: icon(g.iconName, g.iconText) }, g.key)),
13861
- r.badges.map((b) => /* @__PURE__ */ jsx12(Badge7, { tone: b.tone, children: b.text }, b.key)),
13812
+ r.badges.map((b) => /* @__PURE__ */ jsx12(Badge8, { tone: b.tone, children: b.text }, b.key)),
13862
13813
  r.actions.map((a) => /* @__PURE__ */ jsx12(IconButton7, { size: "sm", icon: icon(a.iconName, a.iconText), label: a.label, disabled: a.disabled, onClick: () => ui10({ kind: "action", id: a.rowId, actionId: a.actionId }) }, a.key))
13863
13814
  ] }),
13864
13815
  onExpandedChange: () => ui10({ kind: "toggleExpanded", id: r.id }),
@@ -2857,7 +2857,7 @@ var timelineManifest = {
2857
2857
 
2858
2858
  // src/time/timeline/react/TimelinePanelView.tsx
2859
2859
  import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef2, useSyncExternalStore as useSyncExternalStore2 } from "react";
2860
- import { Column as Column2, EmptyState, FilterChip, SegmentedControl, StatusBar, Text, TextButton as TextButton2, Toolbar, ToolbarGroup } from "@xenosystem/components/chrome";
2860
+ import { Column as Column2, DrawnSurface, EmptyState, FilterChip, SegmentedControl, StatusBar, Text, TextButton as TextButton2, Toolbar, ToolbarGroup } from "@xenosystem/components/chrome";
2861
2861
 
2862
2862
  // src/time/timeline/declaration.ts
2863
2863
  import { formatTick as formatTick4 } from "@xenosystem/time-core";
@@ -3069,13 +3069,10 @@ function TimelineSurface({ controller }) {
3069
3069
  const selected = new Set(state.selection.clipIds);
3070
3070
  const preview = state.preview;
3071
3071
  return /* @__PURE__ */ jsxs2(
3072
- "div",
3072
+ DrawnSurface,
3073
3073
  {
3074
3074
  ref: containerRef,
3075
- tabIndex: 0,
3076
- role: "application",
3077
- "aria-label": "Timeline",
3078
- style: SURFACE,
3075
+ label: "Timeline",
3079
3076
  onWheel,
3080
3077
  onPointerDown,
3081
3078
  onPointerMove,
@@ -3197,15 +3194,6 @@ function hitTest(state, x, y) {
3197
3194
  }
3198
3195
  return { target: { kind: "lane" }, trackIndex: -1 };
3199
3196
  }
3200
- var SURFACE = {
3201
- position: "relative",
3202
- flex: 1,
3203
- minHeight: 0,
3204
- overflow: "hidden",
3205
- outline: "none",
3206
- userSelect: "none",
3207
- touchAction: "none"
3208
- };
3209
3197
  var RULER = {
3210
3198
  position: "absolute",
3211
3199
  top: 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenosystem/blocks",
3
- "version": "0.13.31",
3
+ "version": "0.13.32",
4
4
  "description": "XENO Blocks — rung 3 of the front ladder: components composed into a contract-bearing unit (manifest: ports, intents, commands, agent surface), rendered by @xenosystem/workbench. ONE package, one subpath per family (/auth, /edit, /data, /time, /ops, /trust, /agent), one named export per block — XENO PACKAGE NAMING - STANDARD.md.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -64,7 +64,7 @@
64
64
  "peerDependencies": {
65
65
  "@duckdb/duckdb-wasm": ">=1.28.0",
66
66
  "@xenosystem/block-sdk": ">=0.3.4 <1",
67
- "@xenosystem/components": ">=0.31.0 <1",
67
+ "@xenosystem/components": ">=0.32.0 <1",
68
68
  "@xenosystem/data-core": "^0.1.0",
69
69
  "@xenosystem/elements": ">=0.0.1",
70
70
  "@xenosystem/elements-react": ">=0.0.1",
@@ -81,7 +81,7 @@
81
81
  "@types/react": "^19.0.0",
82
82
  "@types/react-dom": "^19.0.0",
83
83
  "@xenosystem/block-sdk": "^0.3.4",
84
- "@xenosystem/components": "^0.31.0",
84
+ "@xenosystem/components": "^0.32.0",
85
85
  "@xenosystem/data-core": "^0.1.0",
86
86
  "@xenosystem/elements": "0.0.1",
87
87
  "@xenosystem/elements-react": "0.0.1",