@xenosystem/blocks 0.13.4 → 0.13.5
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.
- package/dist/auth/index.d.ts +2 -2
- package/dist/{chunk-SFSCCISX.js → chunk-UGA6G7IN.js} +11 -28
- package/dist/chunk-YTSBYJVH.js +115 -0
- package/dist/{chunk-BP4EYOCQ.js → chunk-YZYFDQIY.js} +10 -12
- package/dist/data/index.js +1 -1
- package/dist/edit/index.d.ts +5 -5
- package/dist/edit/index.js +2 -2
- package/dist/icons/index.d.ts +0 -12
- package/dist/icons/index.js +3 -3
- package/dist/ops/index.js +1 -1
- package/dist/time/index.d.ts +28 -17
- package/dist/time/index.js +2 -2
- package/package.json +3 -1
- package/dist/chunk-GQWAIPDF.js +0 -125
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { PanelModule, PanelManifest, BlockDeclaration } from '@xenosystem/block-sdk';
|
|
4
4
|
import { PanelTone } from '@xenosystem/components/chrome';
|
|
@@ -314,7 +314,7 @@ interface AuthGateViewProps {
|
|
|
314
314
|
heroSrc?: string;
|
|
315
315
|
now?: () => number;
|
|
316
316
|
}
|
|
317
|
-
declare function AuthGateView$1({ controller, productName, children, heroSrc, now }: AuthGateViewProps):
|
|
317
|
+
declare function AuthGateView$1({ controller, productName, children, heroSrc, now }: AuthGateViewProps): react.JSX.Element;
|
|
318
318
|
|
|
319
319
|
/**
|
|
320
320
|
* The auth gate AS A DECLARATION — the first block written the way `xeno-apps/SPEC.md` §8d says every
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Svg,
|
|
3
|
-
XGlyph
|
|
4
|
-
|
|
3
|
+
XGlyph,
|
|
4
|
+
fromElement
|
|
5
|
+
} from "./chunk-YTSBYJVH.js";
|
|
5
6
|
|
|
6
7
|
// src/edit/layers/react/icons.tsx
|
|
8
|
+
import Eye from "@xenosystem/elements/elements/eye";
|
|
9
|
+
import EyeOff from "@xenosystem/elements/elements/eye-off";
|
|
7
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
11
|
var base = (size) => ({
|
|
9
12
|
width: size,
|
|
@@ -16,19 +19,8 @@ var base = (size) => ({
|
|
|
16
19
|
strokeLinejoin: "round",
|
|
17
20
|
"aria-hidden": true
|
|
18
21
|
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/* @__PURE__ */ jsx("path", { d: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z" }),
|
|
22
|
-
/* @__PURE__ */ jsx("path", { d: "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" })
|
|
23
|
-
] });
|
|
24
|
-
}
|
|
25
|
-
function EyeOffIcon({ size = 12, className }) {
|
|
26
|
-
return /* @__PURE__ */ jsxs("svg", { ...base(size), className, children: [
|
|
27
|
-
/* @__PURE__ */ jsx("path", { d: "M10.7 5.1A11 11 0 0 1 12 5c6.5 0 10 7 10 7a18 18 0 0 1-2.4 3.4M6.6 6.6A18 18 0 0 0 2 12s3.5 7 10 7a10.9 10.9 0 0 0 5.4-1.4" }),
|
|
28
|
-
/* @__PURE__ */ jsx("path", { d: "M14.1 14.1a3 3 0 1 1-4.2-4.2" }),
|
|
29
|
-
/* @__PURE__ */ jsx("path", { d: "m2 2 20 20" })
|
|
30
|
-
] });
|
|
31
|
-
}
|
|
22
|
+
var EyeIcon = fromElement(Eye, 12);
|
|
23
|
+
var EyeOffIcon = fromElement(EyeOff, 12);
|
|
32
24
|
function LockIcon({ size = 12, className }) {
|
|
33
25
|
return /* @__PURE__ */ jsxs("svg", { ...base(size), className, children: [
|
|
34
26
|
/* @__PURE__ */ jsx("rect", { width: "14", height: "10", x: "5", y: "11", rx: "2" }),
|
|
@@ -52,6 +44,7 @@ function LockStateIcon({ locked, size }) {
|
|
|
52
44
|
}
|
|
53
45
|
|
|
54
46
|
// src/edit/inspector/react/icons.tsx
|
|
47
|
+
import Link from "@xenosystem/elements/elements/link";
|
|
55
48
|
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
56
49
|
var base2 = (size) => ({
|
|
57
50
|
width: size,
|
|
@@ -80,12 +73,7 @@ function PrevIcon({ size = 9 }) {
|
|
|
80
73
|
function NextIcon({ size = 9 }) {
|
|
81
74
|
return /* @__PURE__ */ jsx2("svg", { ...base2(size), children: /* @__PURE__ */ jsx2("path", { d: "m9 18 6-6-6-6" }) });
|
|
82
75
|
}
|
|
83
|
-
|
|
84
|
-
return /* @__PURE__ */ jsxs2("svg", { ...base2(size), children: [
|
|
85
|
-
/* @__PURE__ */ jsx2("path", { d: "M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.8 1.7" }),
|
|
86
|
-
/* @__PURE__ */ jsx2("path", { d: "M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.8-1.7" })
|
|
87
|
-
] });
|
|
88
|
-
}
|
|
76
|
+
var LinkIcon = fromElement(Link, 10);
|
|
89
77
|
function ResetIcon({ size = 10 }) {
|
|
90
78
|
return /* @__PURE__ */ jsxs2("svg", { ...base2(size), children: [
|
|
91
79
|
/* @__PURE__ */ jsx2("path", { d: "M3 12a9 9 0 1 0 3-6.7L3 8" }),
|
|
@@ -100,6 +88,7 @@ function XIcon({ size = 10 }) {
|
|
|
100
88
|
}
|
|
101
89
|
|
|
102
90
|
// src/edit/history/react/icons.tsx
|
|
91
|
+
import Trash from "@xenosystem/elements/elements/trash";
|
|
103
92
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
104
93
|
var svgBase = (size) => ({
|
|
105
94
|
width: size,
|
|
@@ -150,13 +139,7 @@ function EntryIcon({ name, size = 11 }) {
|
|
|
150
139
|
function XIcon2({ size = 10 }) {
|
|
151
140
|
return /* @__PURE__ */ jsx3(XGlyph, { size });
|
|
152
141
|
}
|
|
153
|
-
|
|
154
|
-
return /* @__PURE__ */ jsxs3("svg", { ...svgBase(size), children: [
|
|
155
|
-
/* @__PURE__ */ jsx3("path", { d: "M3 6h18" }),
|
|
156
|
-
/* @__PURE__ */ jsx3("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }),
|
|
157
|
-
/* @__PURE__ */ jsx3("path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
|
|
158
|
-
] });
|
|
159
|
-
}
|
|
142
|
+
var TrashIcon = fromElement(Trash);
|
|
160
143
|
function UndoIcon({ size = 11 }) {
|
|
161
144
|
return /* @__PURE__ */ jsxs3("svg", { ...svgBase(size), children: [
|
|
162
145
|
/* @__PURE__ */ jsx3("path", { d: "M9 14 4 9l5-5" }),
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// src/icons/glyphs.tsx
|
|
2
|
+
import Copy from "@xenosystem/elements/elements/copy";
|
|
3
|
+
import Download from "@xenosystem/elements/elements/download";
|
|
4
|
+
import Plus from "@xenosystem/elements/elements/plus";
|
|
5
|
+
import Refresh from "@xenosystem/elements/elements/refresh";
|
|
6
|
+
import X from "@xenosystem/elements/elements/x";
|
|
7
|
+
|
|
8
|
+
// src/icons/elements.tsx
|
|
9
|
+
import { XenoElement } from "@xenosystem/elements-react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var GLYPH_STROKE_WIDTH = 1.5;
|
|
12
|
+
function fromElement(decl, defaultSize = 11, state) {
|
|
13
|
+
const Glyph = ({ size = defaultSize, className }) => /* @__PURE__ */ jsx(XenoElement, { decl, state, size, strokeWidth: GLYPH_STROKE_WIDTH, className, "aria-hidden": "true", role: void 0, "aria-label": void 0 });
|
|
14
|
+
Glyph.displayName = `Element(${decl.id})`;
|
|
15
|
+
return Glyph;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/icons/glyphs.tsx
|
|
19
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
20
|
+
function Svg({ children, size = 11 }) {
|
|
21
|
+
return /* @__PURE__ */ jsx2("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children });
|
|
22
|
+
}
|
|
23
|
+
var RefreshGlyph = fromElement(Refresh);
|
|
24
|
+
var XGlyph = fromElement(X);
|
|
25
|
+
var PlusGlyph = fromElement(Plus);
|
|
26
|
+
function ChevronGlyph({ direction = "right", size } = {}) {
|
|
27
|
+
const d = direction === "left" ? "m15 18-6-6 6-6" : direction === "up" ? "m18 15-6-6-6 6" : direction === "down" ? "m6 9 6 6 6-6" : "m9 18 6-6-6-6";
|
|
28
|
+
return /* @__PURE__ */ jsx2(Svg, { size, children: /* @__PURE__ */ jsx2("path", { d }) });
|
|
29
|
+
}
|
|
30
|
+
var DownloadGlyph = fromElement(Download);
|
|
31
|
+
function PlugGlyph({ size } = {}) {
|
|
32
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
33
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 22v-5" }),
|
|
34
|
+
/* @__PURE__ */ jsx2("path", { d: "M9 8V2M15 8V2" }),
|
|
35
|
+
/* @__PURE__ */ jsx2("path", { d: "M18 8v3a6 6 0 0 1-12 0V8Z" })
|
|
36
|
+
] });
|
|
37
|
+
}
|
|
38
|
+
function SortAscGlyph({ size = 9 } = {}) {
|
|
39
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
40
|
+
/* @__PURE__ */ jsx2("path", { d: "m5 12 7-7 7 7" }),
|
|
41
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 19V5" })
|
|
42
|
+
] });
|
|
43
|
+
}
|
|
44
|
+
function SortDescGlyph({ size = 9 } = {}) {
|
|
45
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
46
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 5v14" }),
|
|
47
|
+
/* @__PURE__ */ jsx2("path", { d: "m19 12-7 7-7-7" })
|
|
48
|
+
] });
|
|
49
|
+
}
|
|
50
|
+
function ExpandGlyph({ size } = {}) {
|
|
51
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
52
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 22v-6" }),
|
|
53
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 8V2" }),
|
|
54
|
+
/* @__PURE__ */ jsx2("path", { d: "m9 5 3-3 3 3" }),
|
|
55
|
+
/* @__PURE__ */ jsx2("path", { d: "m9 19 3 3 3-3" }),
|
|
56
|
+
/* @__PURE__ */ jsx2("path", { d: "M4 12H2" }),
|
|
57
|
+
/* @__PURE__ */ jsx2("path", { d: "M10 12H8" }),
|
|
58
|
+
/* @__PURE__ */ jsx2("path", { d: "M16 12h-2" }),
|
|
59
|
+
/* @__PURE__ */ jsx2("path", { d: "M22 12h-2" })
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
function CollapseGlyph({ size } = {}) {
|
|
63
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
64
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 22v-6" }),
|
|
65
|
+
/* @__PURE__ */ jsx2("path", { d: "M12 8V2" }),
|
|
66
|
+
/* @__PURE__ */ jsx2("path", { d: "m9 13 3 3 3-3" }),
|
|
67
|
+
/* @__PURE__ */ jsx2("path", { d: "m9 11 3-3 3 3" }),
|
|
68
|
+
/* @__PURE__ */ jsx2("path", { d: "M4 12H2" }),
|
|
69
|
+
/* @__PURE__ */ jsx2("path", { d: "M22 12h-2" })
|
|
70
|
+
] });
|
|
71
|
+
}
|
|
72
|
+
var CopyGlyph = fromElement(Copy);
|
|
73
|
+
function ClearGlyph({ size } = {}) {
|
|
74
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
75
|
+
/* @__PURE__ */ jsx2("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
|
|
76
|
+
/* @__PURE__ */ jsx2("path", { d: "m6 6 12 12" })
|
|
77
|
+
] });
|
|
78
|
+
}
|
|
79
|
+
function CancelGlyph({ size } = {}) {
|
|
80
|
+
return /* @__PURE__ */ jsx2(Svg, { size, children: /* @__PURE__ */ jsx2("rect", { x: "5", y: "5", width: "14", height: "14", rx: "2" }) });
|
|
81
|
+
}
|
|
82
|
+
function RetryGlyph({ size } = {}) {
|
|
83
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
84
|
+
/* @__PURE__ */ jsx2("path", { d: "M21 12a9 9 0 1 1-3.36-7" }),
|
|
85
|
+
/* @__PURE__ */ jsx2("path", { d: "M21 3v6h-6" })
|
|
86
|
+
] });
|
|
87
|
+
}
|
|
88
|
+
function CaseGlyph({ size = 12 } = {}) {
|
|
89
|
+
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
90
|
+
/* @__PURE__ */ jsx2("path", { d: "m3 15 4-8 4 8" }),
|
|
91
|
+
/* @__PURE__ */ jsx2("path", { d: "M4 13h6" }),
|
|
92
|
+
/* @__PURE__ */ jsx2("rect", { x: "15", y: "9", width: "6", height: "6", rx: "1.5" }),
|
|
93
|
+
/* @__PURE__ */ jsx2("path", { d: "M21 9v6" })
|
|
94
|
+
] });
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export {
|
|
98
|
+
fromElement,
|
|
99
|
+
Svg,
|
|
100
|
+
RefreshGlyph,
|
|
101
|
+
XGlyph,
|
|
102
|
+
PlusGlyph,
|
|
103
|
+
ChevronGlyph,
|
|
104
|
+
DownloadGlyph,
|
|
105
|
+
PlugGlyph,
|
|
106
|
+
SortAscGlyph,
|
|
107
|
+
SortDescGlyph,
|
|
108
|
+
ExpandGlyph,
|
|
109
|
+
CollapseGlyph,
|
|
110
|
+
CopyGlyph,
|
|
111
|
+
ClearGlyph,
|
|
112
|
+
CancelGlyph,
|
|
113
|
+
RetryGlyph,
|
|
114
|
+
CaseGlyph
|
|
115
|
+
};
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fromElement
|
|
3
|
+
} from "./chunk-YTSBYJVH.js";
|
|
4
|
+
|
|
1
5
|
// src/time/transport/react/icons.tsx
|
|
6
|
+
import Pause from "@xenosystem/elements/elements/pause";
|
|
7
|
+
import Play from "@xenosystem/elements/elements/play";
|
|
8
|
+
import Stop from "@xenosystem/elements/elements/stop";
|
|
2
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
10
|
var base = (size) => ({
|
|
4
11
|
width: size,
|
|
@@ -11,18 +18,9 @@ var base = (size) => ({
|
|
|
11
18
|
strokeLinejoin: "round",
|
|
12
19
|
"aria-hidden": true
|
|
13
20
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
function PauseIcon({ size = 12 }) {
|
|
18
|
-
return /* @__PURE__ */ jsxs("svg", { ...base(size), fill: "currentColor", stroke: "none", children: [
|
|
19
|
-
/* @__PURE__ */ jsx("rect", { x: "6", y: "4", width: "4", height: "16", rx: "1" }),
|
|
20
|
-
/* @__PURE__ */ jsx("rect", { x: "14", y: "4", width: "4", height: "16", rx: "1" })
|
|
21
|
-
] });
|
|
22
|
-
}
|
|
23
|
-
function StopIcon({ size = 11 }) {
|
|
24
|
-
return /* @__PURE__ */ jsx("svg", { ...base(size), fill: "currentColor", stroke: "none", children: /* @__PURE__ */ jsx("rect", { x: "5", y: "5", width: "14", height: "14", rx: "2" }) });
|
|
25
|
-
}
|
|
21
|
+
var PlayIcon = fromElement(Play, 12);
|
|
22
|
+
var PauseIcon = fromElement(Pause, 12);
|
|
23
|
+
var StopIcon = fromElement(Stop);
|
|
26
24
|
function RecordIcon({ size = 11 }) {
|
|
27
25
|
return /* @__PURE__ */ jsx("svg", { ...base(size), fill: "currentColor", stroke: "none", children: /* @__PURE__ */ jsx("rect", { x: "6", y: "6", width: "12", height: "12", rx: "3" }) });
|
|
28
26
|
}
|
package/dist/data/index.js
CHANGED
package/dist/edit/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PanelHost, PanelModule, PanelManifest, BlockDeclaration } from '@xenosystem/block-sdk';
|
|
2
2
|
import { FlatRow as FlatRow$1, DropTarget, ThrottleClock, VirtualWindow, DropPosition } from '@xenosystem/tree-core';
|
|
3
3
|
export { DropPosition, DropTarget } from '@xenosystem/tree-core';
|
|
4
|
-
import * as
|
|
4
|
+
import * as react from 'react';
|
|
5
5
|
import { ReactElement, ReactNode } from 'react';
|
|
6
6
|
import { XenoTimebase, XenoTick } from '@xenosystem/time-core';
|
|
7
7
|
|
|
@@ -735,7 +735,7 @@ declare function LayersPanelView({ controller }: LayersPanelViewProps): ReactEle
|
|
|
735
735
|
*/
|
|
736
736
|
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
737
737
|
declare const LAYERS_RUNTIME_UNITS: readonly ["layers/Scroller", "layers/RenameField", "layers/Thumbnail"];
|
|
738
|
-
declare function layersRuntimeComponents(controller: LayersPanelController): Record<(typeof LAYERS_RUNTIME_UNITS)[number],
|
|
738
|
+
declare function layersRuntimeComponents(controller: LayersPanelController): Record<(typeof LAYERS_RUNTIME_UNITS)[number], react.ComponentType<any>>;
|
|
739
739
|
|
|
740
740
|
/**
|
|
741
741
|
* The layers panel AS A DECLARATION — the seventh block written the §8d way (auth gate, agent,
|
|
@@ -1755,7 +1755,7 @@ declare function InspectorPanelView({ controller }: InspectorPanelViewProps): Re
|
|
|
1755
1755
|
*/
|
|
1756
1756
|
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
1757
1757
|
declare const INSPECTOR_RUNTIME_UNITS: readonly ["inspector/FieldWidget", "inspector/Properties", "inspector/ActionGlyph"];
|
|
1758
|
-
declare function inspectorRuntimeComponents(controller: InspectorPanelController): Record<(typeof INSPECTOR_RUNTIME_UNITS)[number],
|
|
1758
|
+
declare function inspectorRuntimeComponents(controller: InspectorPanelController): Record<(typeof INSPECTOR_RUNTIME_UNITS)[number], react.ComponentType<any>>;
|
|
1759
1759
|
|
|
1760
1760
|
/**
|
|
1761
1761
|
* The canonical History wire contract (union spec §3): `XenoHistoryState` in,
|
|
@@ -2241,7 +2241,7 @@ declare function HistoryPanelView({ controller }: HistoryPanelViewProps): ReactE
|
|
|
2241
2241
|
*/
|
|
2242
2242
|
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
2243
2243
|
declare const HISTORY_RUNTIME_UNITS: readonly ["history/Scroller", "history/CancelButton"];
|
|
2244
|
-
declare function historyRuntimeComponents(controller: HistoryPanelController): Record<(typeof HISTORY_RUNTIME_UNITS)[number],
|
|
2244
|
+
declare function historyRuntimeComponents(controller: HistoryPanelController): Record<(typeof HISTORY_RUNTIME_UNITS)[number], react.ComponentType<any>>;
|
|
2245
2245
|
|
|
2246
2246
|
/**
|
|
2247
2247
|
* The history panel AS A DECLARATION — the sixth block written the §8d way (auth gate, agent, account,
|
|
@@ -2803,7 +2803,7 @@ declare function ColorPanelView({ controller }: ColorPanelViewProps): ReactEleme
|
|
|
2803
2803
|
/** The units the runtime registers for `COLOR_DECLARATION`, bound to ITS controller: the picker and the glyphs. */
|
|
2804
2804
|
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
2805
2805
|
declare const COLOR_RUNTIME_UNITS: readonly ["color/Picker"];
|
|
2806
|
-
declare function colorRuntimeComponents(controller: ColorPanelController): Record<(typeof COLOR_RUNTIME_UNITS)[number],
|
|
2806
|
+
declare function colorRuntimeComponents(controller: ColorPanelController): Record<(typeof COLOR_RUNTIME_UNITS)[number], react.ComponentType<any>>;
|
|
2807
2807
|
|
|
2808
2808
|
/**
|
|
2809
2809
|
* The color panel AS A DECLARATION — the eighth block written the §8d way (auth gate, agent, account,
|
package/dist/edit/index.js
CHANGED
|
@@ -17,14 +17,14 @@ import {
|
|
|
17
17
|
VisibilityIcon,
|
|
18
18
|
XIcon,
|
|
19
19
|
XIcon2
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-UGA6G7IN.js";
|
|
21
21
|
import {
|
|
22
22
|
CaseGlyph,
|
|
23
23
|
ChevronGlyph,
|
|
24
24
|
CollapseGlyph,
|
|
25
25
|
ExpandGlyph,
|
|
26
26
|
RefreshGlyph
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-YTSBYJVH.js";
|
|
28
28
|
import "../chunk-2KG3PWR4.js";
|
|
29
29
|
|
|
30
30
|
// src/edit/layers/panel.ts
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
import { ReactNode, ComponentType } from 'react';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* The shared glyphs — ONE source for the strokes that used to be copied per block (`Refresh` was
|
|
5
|
-
* byte-identical in three files, `X` in three, `Plus` in two). Lucide geometry at strokeWidth 1.5,
|
|
6
|
-
* rectangles and lines only: no circles anywhere (DESIGN_SYSTEM §3). Every block-local `icons.tsx`
|
|
7
|
-
* re-exports from here under its own name, so no view changed when the copies collapsed.
|
|
8
|
-
*
|
|
9
|
-
* Interim, like the registry beside it: when `@xenosystem/elements-react` ships the icon set, this
|
|
10
|
-
* file becomes re-exports and the blocks are untouched.
|
|
11
|
-
*
|
|
12
|
-
* @module
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
3
|
/** The frame every glyph draws in. */
|
|
16
4
|
declare function Svg({ children, size }: {
|
|
17
5
|
children: ReactNode;
|
package/dist/icons/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
StepBackIcon,
|
|
13
13
|
StepForwardIcon,
|
|
14
14
|
StopIcon
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-YZYFDQIY.js";
|
|
16
16
|
import {
|
|
17
17
|
DiamondIcon,
|
|
18
18
|
EntryIcon,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
TreeIcon,
|
|
31
31
|
UndoIcon,
|
|
32
32
|
VisibilityIcon
|
|
33
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-UGA6G7IN.js";
|
|
34
34
|
import {
|
|
35
35
|
CancelGlyph,
|
|
36
36
|
CaseGlyph,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
SortDescGlyph,
|
|
49
49
|
Svg,
|
|
50
50
|
XGlyph
|
|
51
|
-
} from "../chunk-
|
|
51
|
+
} from "../chunk-YTSBYJVH.js";
|
|
52
52
|
import "../chunk-2KG3PWR4.js";
|
|
53
53
|
|
|
54
54
|
// src/icons/index.ts
|
package/dist/ops/index.js
CHANGED
package/dist/time/index.d.ts
CHANGED
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
import { PanelHost, PanelModule, PanelManifest, BlockDeclaration } from '@xenosystem/block-sdk';
|
|
2
2
|
import { ThrottleClock, XenoPlayheadClock, XenoTimebase, XenoTransportState, XenoTick, XenoStepUnit, XenoLoopRange } from '@xenosystem/time-core';
|
|
3
3
|
export { BAR_SUBDIVISION, BarsBeats, DEFAULT_TIMEBASE, DISPLAY_CYCLE, ExtrapolateInput, IDLE_CLOCK, ThrottleClock, Throttled, XenoLoopRange, XenoPlayheadClock, XenoStepUnit, XenoTempoEntry, XenoTick, XenoTimeDisplay, XenoTimeSignature, XenoTimebase, XenoTransportIntent, XenoTransportState, clampTick, clockAt, createThrottle, displayLabel, effectiveFps, extrapolateTick, formatBars, formatFrames, formatSeconds, formatTick, formatTimecode, frameToTick, isAnimating, nextDisplay, normalizeClock, normalizeTimebase, secondsToTicks, tickToFrame, ticksToBarsBeats, ticksToSeconds, toTick, wrapIntoLoop } from '@xenosystem/time-core';
|
|
4
|
+
import * as react from 'react';
|
|
4
5
|
import { ReactElement, ReactNode } from 'react';
|
|
5
6
|
import { XenoValue, XenoRow, XenoResultSet, XenoColumn } from '@xenosystem/data-core';
|
|
6
7
|
|
|
8
|
+
/**
|
|
9
|
+
* THE SWAP POINT, in use — a glyph drawn by `@xenosystem/elements` (rung 1), rendered by
|
|
10
|
+
* `@xenosystem/elements-react`, wearing the family's glyph contract (`test/icons.contract.test.tsx`).
|
|
11
|
+
*
|
|
12
|
+
* `@xenosystem/elements@0.0.1` ships 101 element declarations and ONE renderer parameterised by data
|
|
13
|
+
* (`<XenoElement decl>`; no barrel, imported per id). Every `icons/*` name whose meaning the set
|
|
14
|
+
* already carries resolves here; the rest stay hand-drawn in `glyphs.tsx` and the block files until
|
|
15
|
+
* the set names them. The contract does not care which — that is the point of having written it.
|
|
16
|
+
*
|
|
17
|
+
* Two deliberate adaptations, both measured on 2026-09-18:
|
|
18
|
+
* - `strokeWidth` is pinned to **1.5**: the renderer's `regular` weight is 1.75 (its own comment:
|
|
19
|
+
* "the value the foundry workbench shipped and the design approved") while `DESIGN_SYSTEM.md`
|
|
20
|
+
* §6 still says 1.5 and every hand-drawn glyph beside these draws 1.5. Two weights in one toolbar
|
|
21
|
+
* is the visible defect; which number is right is the design owner's call
|
|
22
|
+
* (`orchestrator/briefs/2026-09-18-icon-stroke-weight-1.5-vs-1.75.md`) and flips in ONE place.
|
|
23
|
+
* - `role`/`aria-label` are removed and `aria-hidden` set: a glyph is never a name; the unit that
|
|
24
|
+
* mounts it (`IconButton.label`, a Row's label) is.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
interface ElementGlyphProps {
|
|
28
|
+
size?: number;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
7
32
|
/**
|
|
8
33
|
* `TransportPanelController` — the framework-free brain of the Transport panel.
|
|
9
34
|
*
|
|
@@ -260,23 +285,9 @@ interface TransportPanelViewProps {
|
|
|
260
285
|
}
|
|
261
286
|
declare function TransportPanelView({ controller }: TransportPanelViewProps): ReactElement;
|
|
262
287
|
|
|
263
|
-
/**
|
|
264
|
-
* Inline transport glyphs at lucide geometry, **strokeWidth 1.5** (DESIGN_SYSTEM §6). Zero runtime
|
|
265
|
-
* dependencies — no `lucide-react` import. Shapes are rectangles and triangles only; the record
|
|
266
|
-
* glyph is a rounded SQUARE, never a circle (§3 "no circles anywhere").
|
|
267
|
-
*
|
|
268
|
-
* @module
|
|
269
|
-
*/
|
|
270
|
-
|
|
271
288
|
interface IconProps {
|
|
272
289
|
size?: number;
|
|
273
290
|
}
|
|
274
|
-
/** lucide `play` (filled for weight at small sizes). */
|
|
275
|
-
declare function PlayIcon({ size }: IconProps): ReactElement;
|
|
276
|
-
/** lucide `pause`. */
|
|
277
|
-
declare function PauseIcon({ size }: IconProps): ReactElement;
|
|
278
|
-
/** lucide `square` — stop. */
|
|
279
|
-
declare function StopIcon({ size }: IconProps): ReactElement;
|
|
280
291
|
/** Record — a rounded SQUARE (the XENO shape language has no circles). */
|
|
281
292
|
declare function RecordIcon({ size }: IconProps): ReactElement;
|
|
282
293
|
/** lucide `skip-back` — go to start. */
|
|
@@ -305,10 +316,10 @@ declare function PlayPauseIcon({ playing, size }: {
|
|
|
305
316
|
* elements icon set lands, then these resolve to `icons/*` and this map goes.
|
|
306
317
|
*/
|
|
307
318
|
declare const TRANSPORT_ICONS: {
|
|
308
|
-
'transport/PlayIcon':
|
|
309
|
-
'transport/PauseIcon':
|
|
319
|
+
'transport/PlayIcon': react.ComponentType<ElementGlyphProps>;
|
|
320
|
+
'transport/PauseIcon': react.ComponentType<ElementGlyphProps>;
|
|
310
321
|
'transport/PlayPauseIcon': typeof PlayPauseIcon;
|
|
311
|
-
'transport/StopIcon':
|
|
322
|
+
'transport/StopIcon': react.ComponentType<ElementGlyphProps>;
|
|
312
323
|
'transport/RecordIcon': typeof RecordIcon;
|
|
313
324
|
'transport/StartIcon': typeof StartIcon;
|
|
314
325
|
'transport/EndIcon': typeof EndIcon;
|
package/dist/time/index.js
CHANGED
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
StopIcon,
|
|
13
13
|
TRANSPORT_ICONS,
|
|
14
14
|
TRANSPORT_RUNTIME_UNITS
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-YZYFDQIY.js";
|
|
16
16
|
import {
|
|
17
17
|
ChevronGlyph
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-YTSBYJVH.js";
|
|
19
19
|
import {
|
|
20
20
|
__reExport
|
|
21
21
|
} from "../chunk-2KG3PWR4.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/blocks",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.5",
|
|
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",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"@xenosystem/block-sdk": ">=0.3.4 <1",
|
|
67
67
|
"@xenosystem/components": ">=0.18.0 <1",
|
|
68
68
|
"@xenosystem/data-core": "^0.1.0",
|
|
69
|
+
"@xenosystem/elements": ">=0.0.1",
|
|
69
70
|
"@xenosystem/elements-react": ">=0.0.1",
|
|
70
71
|
"@xenosystem/time-core": "^0.1.0",
|
|
71
72
|
"@xenosystem/tree-core": "^0.1.0",
|
|
@@ -82,6 +83,7 @@
|
|
|
82
83
|
"@xenosystem/block-sdk": "^0.3.4",
|
|
83
84
|
"@xenosystem/components": "^0.18.0",
|
|
84
85
|
"@xenosystem/data-core": "^0.1.0",
|
|
86
|
+
"@xenosystem/elements": "0.0.1",
|
|
85
87
|
"@xenosystem/elements-react": "0.0.1",
|
|
86
88
|
"@xenosystem/time-core": "^0.1.0",
|
|
87
89
|
"@xenosystem/tree-core": "^0.1.0",
|
package/dist/chunk-GQWAIPDF.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
// src/icons/glyphs.tsx
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
function Svg({ children, size = 11 }) {
|
|
4
|
-
return /* @__PURE__ */ jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children });
|
|
5
|
-
}
|
|
6
|
-
function RefreshGlyph({ size } = {}) {
|
|
7
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
8
|
-
/* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
|
|
9
|
-
/* @__PURE__ */ jsx("path", { d: "M3 3v5h5" }),
|
|
10
|
-
/* @__PURE__ */ jsx("path", { d: "M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16" }),
|
|
11
|
-
/* @__PURE__ */ jsx("path", { d: "M16 16h5v5" })
|
|
12
|
-
] });
|
|
13
|
-
}
|
|
14
|
-
function XGlyph({ size } = {}) {
|
|
15
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
16
|
-
/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
|
|
17
|
-
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|
|
18
|
-
] });
|
|
19
|
-
}
|
|
20
|
-
function PlusGlyph({ size } = {}) {
|
|
21
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
22
|
-
/* @__PURE__ */ jsx("path", { d: "M12 5v14" }),
|
|
23
|
-
/* @__PURE__ */ jsx("path", { d: "M5 12h14" })
|
|
24
|
-
] });
|
|
25
|
-
}
|
|
26
|
-
function ChevronGlyph({ direction = "right", size } = {}) {
|
|
27
|
-
const d = direction === "left" ? "m15 18-6-6 6-6" : direction === "up" ? "m18 15-6-6-6 6" : direction === "down" ? "m6 9 6 6 6-6" : "m9 18 6-6-6-6";
|
|
28
|
-
return /* @__PURE__ */ jsx(Svg, { size, children: /* @__PURE__ */ jsx("path", { d }) });
|
|
29
|
-
}
|
|
30
|
-
function DownloadGlyph({ size } = {}) {
|
|
31
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
32
|
-
/* @__PURE__ */ jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
33
|
-
/* @__PURE__ */ jsx("path", { d: "M7 10l5 5 5-5" }),
|
|
34
|
-
/* @__PURE__ */ jsx("path", { d: "M12 15V3" })
|
|
35
|
-
] });
|
|
36
|
-
}
|
|
37
|
-
function PlugGlyph({ size } = {}) {
|
|
38
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
39
|
-
/* @__PURE__ */ jsx("path", { d: "M12 22v-5" }),
|
|
40
|
-
/* @__PURE__ */ jsx("path", { d: "M9 8V2M15 8V2" }),
|
|
41
|
-
/* @__PURE__ */ jsx("path", { d: "M18 8v3a6 6 0 0 1-12 0V8Z" })
|
|
42
|
-
] });
|
|
43
|
-
}
|
|
44
|
-
function SortAscGlyph({ size = 9 } = {}) {
|
|
45
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
46
|
-
/* @__PURE__ */ jsx("path", { d: "m5 12 7-7 7 7" }),
|
|
47
|
-
/* @__PURE__ */ jsx("path", { d: "M12 19V5" })
|
|
48
|
-
] });
|
|
49
|
-
}
|
|
50
|
-
function SortDescGlyph({ size = 9 } = {}) {
|
|
51
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
52
|
-
/* @__PURE__ */ jsx("path", { d: "M12 5v14" }),
|
|
53
|
-
/* @__PURE__ */ jsx("path", { d: "m19 12-7 7-7-7" })
|
|
54
|
-
] });
|
|
55
|
-
}
|
|
56
|
-
function ExpandGlyph({ size } = {}) {
|
|
57
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
58
|
-
/* @__PURE__ */ jsx("path", { d: "M12 22v-6" }),
|
|
59
|
-
/* @__PURE__ */ jsx("path", { d: "M12 8V2" }),
|
|
60
|
-
/* @__PURE__ */ jsx("path", { d: "m9 5 3-3 3 3" }),
|
|
61
|
-
/* @__PURE__ */ jsx("path", { d: "m9 19 3 3 3-3" }),
|
|
62
|
-
/* @__PURE__ */ jsx("path", { d: "M4 12H2" }),
|
|
63
|
-
/* @__PURE__ */ jsx("path", { d: "M10 12H8" }),
|
|
64
|
-
/* @__PURE__ */ jsx("path", { d: "M16 12h-2" }),
|
|
65
|
-
/* @__PURE__ */ jsx("path", { d: "M22 12h-2" })
|
|
66
|
-
] });
|
|
67
|
-
}
|
|
68
|
-
function CollapseGlyph({ size } = {}) {
|
|
69
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
70
|
-
/* @__PURE__ */ jsx("path", { d: "M12 22v-6" }),
|
|
71
|
-
/* @__PURE__ */ jsx("path", { d: "M12 8V2" }),
|
|
72
|
-
/* @__PURE__ */ jsx("path", { d: "m9 13 3 3 3-3" }),
|
|
73
|
-
/* @__PURE__ */ jsx("path", { d: "m9 11 3-3 3 3" }),
|
|
74
|
-
/* @__PURE__ */ jsx("path", { d: "M4 12H2" }),
|
|
75
|
-
/* @__PURE__ */ jsx("path", { d: "M22 12h-2" })
|
|
76
|
-
] });
|
|
77
|
-
}
|
|
78
|
-
function CopyGlyph({ size } = {}) {
|
|
79
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
80
|
-
/* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "12", height: "12", rx: "2" }),
|
|
81
|
-
/* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
|
|
82
|
-
] });
|
|
83
|
-
}
|
|
84
|
-
function ClearGlyph({ size } = {}) {
|
|
85
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
86
|
-
/* @__PURE__ */ jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
|
|
87
|
-
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|
|
88
|
-
] });
|
|
89
|
-
}
|
|
90
|
-
function CancelGlyph({ size } = {}) {
|
|
91
|
-
return /* @__PURE__ */ jsx(Svg, { size, children: /* @__PURE__ */ jsx("rect", { x: "5", y: "5", width: "14", height: "14", rx: "2" }) });
|
|
92
|
-
}
|
|
93
|
-
function RetryGlyph({ size } = {}) {
|
|
94
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
95
|
-
/* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-3.36-7" }),
|
|
96
|
-
/* @__PURE__ */ jsx("path", { d: "M21 3v6h-6" })
|
|
97
|
-
] });
|
|
98
|
-
}
|
|
99
|
-
function CaseGlyph({ size = 12 } = {}) {
|
|
100
|
-
return /* @__PURE__ */ jsxs(Svg, { size, children: [
|
|
101
|
-
/* @__PURE__ */ jsx("path", { d: "m3 15 4-8 4 8" }),
|
|
102
|
-
/* @__PURE__ */ jsx("path", { d: "M4 13h6" }),
|
|
103
|
-
/* @__PURE__ */ jsx("rect", { x: "15", y: "9", width: "6", height: "6", rx: "1.5" }),
|
|
104
|
-
/* @__PURE__ */ jsx("path", { d: "M21 9v6" })
|
|
105
|
-
] });
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export {
|
|
109
|
-
Svg,
|
|
110
|
-
RefreshGlyph,
|
|
111
|
-
XGlyph,
|
|
112
|
-
PlusGlyph,
|
|
113
|
-
ChevronGlyph,
|
|
114
|
-
DownloadGlyph,
|
|
115
|
-
PlugGlyph,
|
|
116
|
-
SortAscGlyph,
|
|
117
|
-
SortDescGlyph,
|
|
118
|
-
ExpandGlyph,
|
|
119
|
-
CollapseGlyph,
|
|
120
|
-
CopyGlyph,
|
|
121
|
-
ClearGlyph,
|
|
122
|
-
CancelGlyph,
|
|
123
|
-
RetryGlyph,
|
|
124
|
-
CaseGlyph
|
|
125
|
-
};
|