@xenosystem/blocks 0.12.7 → 0.12.8

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.
@@ -1658,8 +1658,8 @@ interface InspectorViewSection {
1658
1658
  hasAddMenu: boolean;
1659
1659
  hasActions: boolean;
1660
1660
  addLabel: string;
1661
- addOptions: {
1662
- value: string;
1661
+ addItems: {
1662
+ id: string;
1663
1663
  label: string;
1664
1664
  disabled?: boolean;
1665
1665
  group?: string;
@@ -3015,7 +3015,7 @@ function inspectorViewState(c) {
3015
3015
  hasAddMenu: !!s.addMenu && s.addMenu.length > 0,
3016
3016
  hasActions: (s.actions?.length ?? 0) > 0 || !!s.addMenu && s.addMenu.length > 0,
3017
3017
  addLabel: `Add to ${s.title}`,
3018
- addOptions: (s.addMenu ?? []).map((i) => ({ value: i.id, label: i.label, disabled: i.disabled, group: i.group })),
3018
+ addItems: (s.addMenu ?? []).map((i) => ({ id: i.id, label: i.label, disabled: i.disabled, group: i.group })),
3019
3019
  showEmptyHint: p.empty && !!s.emptyHint,
3020
3020
  emptyHint: s.emptyHint,
3021
3021
  labelWidth,
@@ -3177,10 +3177,10 @@ var INSPECTOR_DECLARATION = {
3177
3177
  on: { onClick: ui2("runAction", { sectionId: { item: "sectionId" }, actionId: { item: "id" } }) }
3178
3178
  },
3179
3179
  {
3180
- component: "chrome/Select",
3180
+ component: "chrome/Menu",
3181
3181
  when: { item: "hasAddMenu" },
3182
- props: { size: { value: "sm" }, placeholder: { value: "\uFF0B" }, options: { item: "addOptions" }, value: { value: "" }, label: { item: "addLabel" } },
3183
- on: { onChange: ui2("addItem", { sectionId: { item: "id" }, itemId: { arg: "" } }) }
3182
+ props: { size: { value: "sm" }, trigger: { value: "\uFF0B" }, items: { item: "addItems" }, label: { item: "addLabel" }, align: { value: "end" } },
3183
+ on: { onSelect: ui2("addItem", { sectionId: { item: "id" }, itemId: { arg: "" } }) }
3184
3184
  }
3185
3185
  ]
3186
3186
  }
@@ -3256,7 +3256,7 @@ var INSPECTOR_DECLARATION = {
3256
3256
  };
3257
3257
 
3258
3258
  // src/edit/inspector/react/InspectorPanelView.tsx
3259
- import { Badge as Badge2, Column as Column2, EmptyState as EmptyState2, Field, FieldGroup, IconButton as IconButton3, ScrollArea as ScrollArea2, SearchField as SearchField2, Section, Select as Select2, Stack as Stack2, Text as Text3 } from "@xenosystem/components/chrome";
3259
+ import { Badge as Badge2, Column as Column2, EmptyState as EmptyState2, Field, FieldGroup, IconButton as IconButton3, Menu, ScrollArea as ScrollArea2, SearchField as SearchField2, Section, Select as Select2, Stack as Stack2, Text as Text3 } from "@xenosystem/components/chrome";
3260
3260
 
3261
3261
  // src/edit/inspector/react/icons.tsx
3262
3262
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -3670,7 +3670,7 @@ function SectionView({ section, controller }) {
3670
3670
  badge: section.badge ? /* @__PURE__ */ jsx6(Badge2, { children: section.badge }) : null,
3671
3671
  actions: hasActions ? /* @__PURE__ */ jsxs5(Fragment3, { children: [
3672
3672
  section.actions.map((action) => /* @__PURE__ */ jsx6(IconButton3, { size: "sm", icon: /* @__PURE__ */ jsx6(ActionGlyph, { glyph: action.glyph }), label: action.label, disabled: action.disabled, onClick: () => ui5({ kind: "runAction", sectionId: section.id, actionId: action.id }) }, action.id)),
3673
- section.hasAddMenu ? /* @__PURE__ */ jsx6(Select2, { size: "sm", placeholder: "\uFF0B", options: section.addOptions, value: "", label: section.addLabel, onChange: (id) => ui5({ kind: "addItem", sectionId: section.id, itemId: id }) }) : null
3673
+ section.hasAddMenu ? /* @__PURE__ */ jsx6(Menu, { size: "sm", trigger: "\uFF0B", items: section.addItems, label: section.addLabel, align: "end", onSelect: (id) => ui5({ kind: "addItem", sectionId: section.id, itemId: id }) }) : null
3674
3674
  ] }) : null,
3675
3675
  children: [
3676
3676
  section.showEmptyHint ? /* @__PURE__ */ jsx6(Stack2, { pad: "inset", children: /* @__PURE__ */ jsx6(Text3, { role: "caption", children: section.emptyHint }) }) : null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenosystem/blocks",
3
- "version": "0.12.7",
3
+ "version": "0.12.8",
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",
@@ -60,7 +60,7 @@
60
60
  "peerDependencies": {
61
61
  "@duckdb/duckdb-wasm": ">=1.28.0",
62
62
  "@xenosystem/block-sdk": ">=0.3.3 <1",
63
- "@xenosystem/components": ">=0.16.1 <1",
63
+ "@xenosystem/components": ">=0.17.0 <1",
64
64
  "@xenosystem/data-core": "^0.1.0",
65
65
  "@xenosystem/elements-react": ">=0.0.1",
66
66
  "@xenosystem/time-core": "^0.1.0",
@@ -76,7 +76,7 @@
76
76
  "@types/react": "^19.0.0",
77
77
  "@types/react-dom": "^19.0.0",
78
78
  "@xenosystem/block-sdk": "^0.3.3",
79
- "@xenosystem/components": "^0.16.1",
79
+ "@xenosystem/components": "^0.17.0",
80
80
  "@xenosystem/data-core": "^0.1.0",
81
81
  "@xenosystem/elements-react": "0.0.1",
82
82
  "@xenosystem/time-core": "^0.1.0",