@xenosystem/blocks 0.22.0 → 0.23.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.
@@ -1,629 +0,0 @@
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
- function WholeWordGlyph({ size = 12 } = {}) {
97
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
98
- /* @__PURE__ */ jsx2("path", { d: "M7 12h10" }),
99
- /* @__PURE__ */ jsx2("path", { d: "M3 7v10" }),
100
- /* @__PURE__ */ jsx2("path", { d: "M21 7v10" })
101
- ] });
102
- }
103
- function RegexGlyph({ size = 12 } = {}) {
104
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
105
- /* @__PURE__ */ jsx2("path", { d: "M12 4v8" }),
106
- /* @__PURE__ */ jsx2("path", { d: "m8.5 6 7 4" }),
107
- /* @__PURE__ */ jsx2("path", { d: "m8.5 10 7-4" }),
108
- /* @__PURE__ */ jsx2("path", { d: "M5 18h2" })
109
- ] });
110
- }
111
- function AlignLeftGlyph({ size } = {}) {
112
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
113
- /* @__PURE__ */ jsx2("rect", { x: "6", y: "14", width: "9", height: "6", rx: "2" }),
114
- /* @__PURE__ */ jsx2("rect", { x: "6", y: "4", width: "16", height: "6", rx: "2" }),
115
- /* @__PURE__ */ jsx2("path", { d: "M2 2v20" })
116
- ] });
117
- }
118
- function AlignHCenterGlyph({ size } = {}) {
119
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
120
- /* @__PURE__ */ jsx2("path", { d: "M12 2v20" }),
121
- /* @__PURE__ */ jsx2("path", { d: "M8 10H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4" }),
122
- /* @__PURE__ */ jsx2("path", { d: "M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4" }),
123
- /* @__PURE__ */ jsx2("path", { d: "M8 20H7a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2h1" }),
124
- /* @__PURE__ */ jsx2("path", { d: "M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1" })
125
- ] });
126
- }
127
- function AlignRightGlyph({ size } = {}) {
128
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
129
- /* @__PURE__ */ jsx2("rect", { x: "2", y: "4", width: "16", height: "6", rx: "2" }),
130
- /* @__PURE__ */ jsx2("rect", { x: "9", y: "14", width: "9", height: "6", rx: "2" }),
131
- /* @__PURE__ */ jsx2("path", { d: "M22 22V2" })
132
- ] });
133
- }
134
- function AlignTopGlyph({ size } = {}) {
135
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
136
- /* @__PURE__ */ jsx2("rect", { x: "4", y: "6", width: "6", height: "16", rx: "2" }),
137
- /* @__PURE__ */ jsx2("rect", { x: "14", y: "6", width: "6", height: "9", rx: "2" }),
138
- /* @__PURE__ */ jsx2("path", { d: "M22 2H2" })
139
- ] });
140
- }
141
- function AlignVCenterGlyph({ size } = {}) {
142
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
143
- /* @__PURE__ */ jsx2("path", { d: "M2 12h20" }),
144
- /* @__PURE__ */ jsx2("path", { d: "M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4" }),
145
- /* @__PURE__ */ jsx2("path", { d: "M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4" }),
146
- /* @__PURE__ */ jsx2("path", { d: "M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1" }),
147
- /* @__PURE__ */ jsx2("path", { d: "M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1" })
148
- ] });
149
- }
150
- function AlignBottomGlyph({ size } = {}) {
151
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
152
- /* @__PURE__ */ jsx2("rect", { x: "4", y: "2", width: "6", height: "16", rx: "2" }),
153
- /* @__PURE__ */ jsx2("rect", { x: "14", y: "9", width: "6", height: "9", rx: "2" }),
154
- /* @__PURE__ */ jsx2("path", { d: "M22 22H2" })
155
- ] });
156
- }
157
- function DistributeHGlyph({ size } = {}) {
158
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
159
- /* @__PURE__ */ jsx2("rect", { x: "9", y: "9", width: "6", height: "6", rx: "2" }),
160
- /* @__PURE__ */ jsx2("path", { d: "M4 22V2" }),
161
- /* @__PURE__ */ jsx2("path", { d: "M20 22V2" })
162
- ] });
163
- }
164
- function DistributeVGlyph({ size } = {}) {
165
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
166
- /* @__PURE__ */ jsx2("rect", { x: "9", y: "9", width: "6", height: "6", rx: "2" }),
167
- /* @__PURE__ */ jsx2("path", { d: "M22 20H2" }),
168
- /* @__PURE__ */ jsx2("path", { d: "M22 4H2" })
169
- ] });
170
- }
171
- function BringToFrontGlyph({ size } = {}) {
172
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
173
- /* @__PURE__ */ jsx2("rect", { x: "8", y: "8", width: "8", height: "8", rx: "2" }),
174
- /* @__PURE__ */ jsx2("path", { d: "M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2" }),
175
- /* @__PURE__ */ jsx2("path", { d: "M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2" })
176
- ] });
177
- }
178
- function SendToBackGlyph({ size } = {}) {
179
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
180
- /* @__PURE__ */ jsx2("rect", { x: "14", y: "14", width: "8", height: "8", rx: "2" }),
181
- /* @__PURE__ */ jsx2("rect", { x: "2", y: "2", width: "8", height: "8", rx: "2" }),
182
- /* @__PURE__ */ jsx2("path", { d: "M7 14v1a2 2 0 0 0 2 2h1" }),
183
- /* @__PURE__ */ jsx2("path", { d: "M14 7h1a2 2 0 0 1 2 2v1" })
184
- ] });
185
- }
186
- function GroupGlyph({ size } = {}) {
187
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
188
- /* @__PURE__ */ jsx2("path", { d: "M3 7V5a2 2 0 0 1 2-2h2" }),
189
- /* @__PURE__ */ jsx2("path", { d: "M17 3h2a2 2 0 0 1 2 2v2" }),
190
- /* @__PURE__ */ jsx2("path", { d: "M21 17v2a2 2 0 0 1-2 2h-2" }),
191
- /* @__PURE__ */ jsx2("path", { d: "M7 21H5a2 2 0 0 1-2-2v-2" }),
192
- /* @__PURE__ */ jsx2("rect", { x: "7", y: "7", width: "5", height: "5", rx: "1" }),
193
- /* @__PURE__ */ jsx2("rect", { x: "12", y: "12", width: "5", height: "5", rx: "1" })
194
- ] });
195
- }
196
- function UngroupGlyph({ size } = {}) {
197
- return /* @__PURE__ */ jsxs(Svg, { size, children: [
198
- /* @__PURE__ */ jsx2("rect", { x: "2", y: "4", width: "8", height: "6", rx: "1" }),
199
- /* @__PURE__ */ jsx2("rect", { x: "14", y: "14", width: "8", height: "6", rx: "1" })
200
- ] });
201
- }
202
-
203
- // src/icons/named.tsx
204
- import { jsx as jsx3 } from "react/jsx-runtime";
205
- function NamedIcon({ name, size }) {
206
- const Icon = name === "Named" ? void 0 : ICONS[`icons/${name}`];
207
- return Icon ? /* @__PURE__ */ jsx3(Icon, { size }) : /* @__PURE__ */ jsx3(Svg, { size, children: /* @__PURE__ */ jsx3("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" }) });
208
- }
209
-
210
- // src/edit/tree/react/icons.tsx
211
- import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
212
- var PATHS = {
213
- folder: /* @__PURE__ */ jsx4("path", { d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }),
214
- file: /* @__PURE__ */ jsxs2(Fragment, { children: [
215
- /* @__PURE__ */ jsx4("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
216
- /* @__PURE__ */ jsx4("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" })
217
- ] }),
218
- "folder-tree": /* @__PURE__ */ jsxs2(Fragment, { children: [
219
- /* @__PURE__ */ jsx4("path", { d: "M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z" }),
220
- /* @__PURE__ */ jsx4("path", { d: "M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2a1 1 0 0 0-.8-.4h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z" }),
221
- /* @__PURE__ */ jsx4("path", { d: "M3 5a2 2 0 0 0 2 2h3" }),
222
- /* @__PURE__ */ jsx4("path", { d: "M3 3v13a2 2 0 0 0 2 2h3" })
223
- ] }),
224
- box: /* @__PURE__ */ jsxs2(Fragment, { children: [
225
- /* @__PURE__ */ jsx4("path", { d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z" }),
226
- /* @__PURE__ */ jsx4("path", { d: "m3.3 7 8.7 5 8.7-5" }),
227
- /* @__PURE__ */ jsx4("path", { d: "M12 22V12" })
228
- ] }),
229
- component: /* @__PURE__ */ jsx4("path", { d: "m12 2 4 4-4 4-4-4Zm0 12 4 4-4 4-4-4ZM2 12l4-4 4 4-4 4Zm12 0 4-4 4 4-4 4Z" }),
230
- "file-text": /* @__PURE__ */ jsxs2(Fragment, { children: [
231
- /* @__PURE__ */ jsx4("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
232
- /* @__PURE__ */ jsx4("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
233
- /* @__PURE__ */ jsx4("path", { d: "M8 13h8M8 17h5" })
234
- ] }),
235
- heading: /* @__PURE__ */ jsx4(Fragment, { children: /* @__PURE__ */ jsx4("path", { d: "M6 4v16M18 4v16M6 12h12" }) }),
236
- bot: /* @__PURE__ */ jsxs2(Fragment, { children: [
237
- /* @__PURE__ */ jsx4("rect", { x: "3", y: "8", width: "18", height: "12", rx: "2" }),
238
- /* @__PURE__ */ jsx4("path", { d: "M12 4v4M8 14h.01M16 14h.01" })
239
- ] }),
240
- link: /* @__PURE__ */ jsxs2(Fragment, { children: [
241
- /* @__PURE__ */ jsx4("path", { d: "M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.8 1.7" }),
242
- /* @__PURE__ */ jsx4("path", { d: "M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.8-1.7" })
243
- ] }),
244
- "link-2-off": /* @__PURE__ */ jsxs2(Fragment, { children: [
245
- /* @__PURE__ */ jsx4("path", { d: "M9 17H7A5 5 0 0 1 7 7" }),
246
- /* @__PURE__ */ jsx4("path", { d: "M15 7h2a5 5 0 0 1 4 8" }),
247
- /* @__PURE__ */ jsx4("path", { d: "M8 12h4" }),
248
- /* @__PURE__ */ jsx4("path", { d: "m2 2 20 20" })
249
- ] }),
250
- "circle-dot": /* @__PURE__ */ jsx4("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
251
- };
252
- function TreeIcon({ name, size = 11 }) {
253
- return /* @__PURE__ */ jsx4(Svg, { size, children: PATHS[name] ?? PATHS["circle-dot"] });
254
- }
255
-
256
- // src/edit/color/react/icons.tsx
257
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
258
- var svg = (size) => ({ width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true });
259
- function EyedropperIcon({ size = 11 } = {}) {
260
- return /* @__PURE__ */ jsxs3("svg", { ...svg(size), children: [
261
- /* @__PURE__ */ jsx5("path", { d: "m2 22 1-1h3l9-9" }),
262
- /* @__PURE__ */ jsx5("path", { d: "M3 21v-3l9-9" }),
263
- /* @__PURE__ */ jsx5("path", { d: "m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z" })
264
- ] });
265
- }
266
- function SwapIcon({ size = 11 } = {}) {
267
- return /* @__PURE__ */ jsxs3("svg", { ...svg(size), children: [
268
- /* @__PURE__ */ jsx5("path", { d: "m16 3 4 4-4 4" }),
269
- /* @__PURE__ */ jsx5("path", { d: "M20 7H4" }),
270
- /* @__PURE__ */ jsx5("path", { d: "m8 21-4-4 4-4" }),
271
- /* @__PURE__ */ jsx5("path", { d: "M4 17h16" })
272
- ] });
273
- }
274
-
275
- // src/edit/history/react/icons.tsx
276
- import Trash from "@xenosystem/elements/elements/trash";
277
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
278
- var svgBase = (size) => ({
279
- width: size,
280
- height: size,
281
- viewBox: "0 0 24 24",
282
- fill: "none",
283
- stroke: "currentColor",
284
- strokeWidth: 1.5,
285
- strokeLinecap: "round",
286
- strokeLinejoin: "round",
287
- "aria-hidden": true
288
- });
289
- var ENTRY_PATHS = {
290
- // painting
291
- brush: ["M9.06 11.9l8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08", "M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z"],
292
- eraser: ["m7 21-4.3-4.3a1 1 0 0 1 0-1.4l10-10a1 1 0 0 1 1.4 0l5.6 5.6a1 1 0 0 1 0 1.4L13 21", "M22 21H7"],
293
- fill: ["m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2a2 2 0 0 0 2.8 0L19 11Z", "m5 2 5 5", "M2 13h15"],
294
- // adjustment / effects
295
- filter: ["M4 6h16", "M7 12h10", "M10 18h4"],
296
- // geometry
297
- transform: ["M5 9 2 12l3 3", "M9 5l3-3 3 3", "M15 19l-3 3-3-3", "M19 9l3 3-3 3", "M2 12h20", "M12 2v20"],
298
- crop: ["M6 2v14a2 2 0 0 0 2 2h14", "M18 22V8a2 2 0 0 0-2-2H2"],
299
- // layers
300
- addLayer: ["M3 3h18v18H3z", "M12 8v8", "M8 12h8"],
301
- deleteLayer: ["M3 6h18", "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"],
302
- merge: ["m12 2 4 4-4 4", "M4 6h12", "m12 14 4 4-4 4", "M4 18h12"],
303
- // clipboard / text / selection
304
- paste: ["M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", "M9 2h6v4H9z"],
305
- text: ["M4 7V4h16v3", "M9 20h6", "M12 4v16"],
306
- selection: ["M4 8V6a2 2 0 0 1 2-2h2", "M16 4h2a2 2 0 0 1 2 2v2", "M20 16v2a2 2 0 0 1-2 2h-2", "M8 20H6a2 2 0 0 1-2-2v-2"],
307
- // ai + snapshots
308
- ai: ["m12 3 1.9 5.8L20 10l-5.2 2.9L13 19l-2.9-5.2L4 12l6.1-1.9z"],
309
- snapshot: ["M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3Z", "M15 13a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"],
310
- // timeline / audio
311
- keyframe: ["m12 3 6 9-6 9-6-9z"],
312
- clip: ["M3 5h18v14H3z", "M8 5v14", "M16 5v14"],
313
- volume: ["M11 5 6 9H2v6h4l5 4V5Z", "M16 9a4 4 0 0 1 0 6"],
314
- document: ["M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", "M14 2v5h6"],
315
- // fallbacks / chrome
316
- generic: ["M5 5h14v14H5z"],
317
- original: ["M3 12a9 9 0 1 0 9-9", "M3 4v5h5"],
318
- rotateCcw: ["M3 12a9 9 0 1 0 3-6.7L3 8", "M3 3v5h5"]
319
- };
320
- function EntryIcon({ name, size = 11 }) {
321
- const paths = ENTRY_PATHS[name] ?? ENTRY_PATHS.generic;
322
- return /* @__PURE__ */ jsx6("svg", { ...svgBase(size), children: paths.map((d, i) => /* @__PURE__ */ jsx6("path", { d }, i)) });
323
- }
324
- function XIcon({ size = 10 }) {
325
- return /* @__PURE__ */ jsx6(XGlyph, { size });
326
- }
327
- var TrashIcon = fromElement(Trash);
328
- function UndoIcon({ size = 11 }) {
329
- return /* @__PURE__ */ jsxs4("svg", { ...svgBase(size), children: [
330
- /* @__PURE__ */ jsx6("path", { d: "M9 14 4 9l5-5" }),
331
- /* @__PURE__ */ jsx6("path", { d: "M4 9h10.5a5.5 5.5 0 0 1 0 11H11" })
332
- ] });
333
- }
334
- function RedoIcon({ size = 11 }) {
335
- return /* @__PURE__ */ jsxs4("svg", { ...svgBase(size), children: [
336
- /* @__PURE__ */ jsx6("path", { d: "m15 14 5-5-5-5" }),
337
- /* @__PURE__ */ jsx6("path", { d: "M20 9H9.5a5.5 5.5 0 0 0 0 11H13" })
338
- ] });
339
- }
340
-
341
- // src/edit/inspector/react/icons.tsx
342
- import Link from "@xenosystem/elements/elements/link";
343
- import Copy2 from "@xenosystem/elements/elements/copy";
344
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
345
- var base = (size) => ({
346
- width: size,
347
- height: size,
348
- viewBox: "0 0 24 24",
349
- fill: "none",
350
- stroke: "currentColor",
351
- strokeWidth: 1.5,
352
- strokeLinecap: "round",
353
- strokeLinejoin: "round",
354
- "aria-hidden": true
355
- });
356
- function StopwatchIcon({ size = 11 }) {
357
- return /* @__PURE__ */ jsxs5("svg", { ...base(size), children: [
358
- /* @__PURE__ */ jsx7("path", { d: "M10 2h4" }),
359
- /* @__PURE__ */ jsx7("path", { d: "M12 14v-4" }),
360
- /* @__PURE__ */ jsx7("path", { d: "M20 14a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z" })
361
- ] });
362
- }
363
- function DiamondIcon({ size = 9, filled = false }) {
364
- return /* @__PURE__ */ jsx7("svg", { ...base(size), fill: filled ? "currentColor" : "none", children: /* @__PURE__ */ jsx7("path", { d: "m12 3 7 9-7 9-7-9z" }) });
365
- }
366
- function PrevIcon({ size = 9 }) {
367
- return /* @__PURE__ */ jsx7("svg", { ...base(size), children: /* @__PURE__ */ jsx7("path", { d: "m15 18-6-6 6-6" }) });
368
- }
369
- function NextIcon({ size = 9 }) {
370
- return /* @__PURE__ */ jsx7("svg", { ...base(size), children: /* @__PURE__ */ jsx7("path", { d: "m9 18 6-6-6-6" }) });
371
- }
372
- var LinkIcon = fromElement(Link, 10);
373
- var CopyIcon = fromElement(Copy2, 10);
374
- function ResetIcon({ size = 10 }) {
375
- return /* @__PURE__ */ jsxs5("svg", { ...base(size), children: [
376
- /* @__PURE__ */ jsx7("path", { d: "M3 12a9 9 0 1 0 3-6.7L3 8" }),
377
- /* @__PURE__ */ jsx7("path", { d: "M3 3v5h5" })
378
- ] });
379
- }
380
- function XIcon2({ size = 10 }) {
381
- return /* @__PURE__ */ jsxs5("svg", { ...base(size), children: [
382
- /* @__PURE__ */ jsx7("path", { d: "M18 6 6 18" }),
383
- /* @__PURE__ */ jsx7("path", { d: "m6 6 12 12" })
384
- ] });
385
- }
386
-
387
- // src/edit/layers/react/icons.tsx
388
- import Eye from "@xenosystem/elements/elements/eye";
389
- import EyeOff from "@xenosystem/elements/elements/eye-off";
390
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
391
- var base2 = (size) => ({
392
- width: size,
393
- height: size,
394
- viewBox: "0 0 24 24",
395
- fill: "none",
396
- stroke: "currentColor",
397
- strokeWidth: 1.5,
398
- strokeLinecap: "round",
399
- strokeLinejoin: "round",
400
- "aria-hidden": true
401
- });
402
- var EyeIcon = fromElement(Eye, 12);
403
- var EyeOffIcon = fromElement(EyeOff, 12);
404
- function LockIcon({ size = 12, className }) {
405
- return /* @__PURE__ */ jsxs6("svg", { ...base2(size), className, children: [
406
- /* @__PURE__ */ jsx8("rect", { width: "14", height: "10", x: "5", y: "11", rx: "2" }),
407
- /* @__PURE__ */ jsx8("path", { d: "M8 11V7a4 4 0 0 1 8 0v4" })
408
- ] });
409
- }
410
- function UnlockIcon({ size = 12, className }) {
411
- return /* @__PURE__ */ jsxs6("svg", { ...base2(size), className, children: [
412
- /* @__PURE__ */ jsx8("rect", { width: "14", height: "10", x: "5", y: "11", rx: "2" }),
413
- /* @__PURE__ */ jsx8("path", { d: "M8 11V7a4 4 0 0 1 7.5-2" })
414
- ] });
415
- }
416
- function KindGlyph({ size = 10 }) {
417
- return /* @__PURE__ */ jsx8("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: /* @__PURE__ */ jsx8("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }) });
418
- }
419
- function VisibilityIcon({ open, size }) {
420
- return open ? /* @__PURE__ */ jsx8(EyeIcon, { size }) : /* @__PURE__ */ jsx8(EyeOffIcon, { size });
421
- }
422
- function LockStateIcon({ locked, size }) {
423
- return locked ? /* @__PURE__ */ jsx8(LockIcon, { size }) : /* @__PURE__ */ jsx8(UnlockIcon, { size });
424
- }
425
-
426
- // src/time/transport/react/icons.tsx
427
- import Pause from "@xenosystem/elements/elements/pause";
428
- import Play from "@xenosystem/elements/elements/play";
429
- import Stop from "@xenosystem/elements/elements/stop";
430
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
431
- var base3 = (size) => ({
432
- width: size,
433
- height: size,
434
- viewBox: "0 0 24 24",
435
- fill: "none",
436
- stroke: "currentColor",
437
- strokeWidth: 1.5,
438
- strokeLinecap: "round",
439
- strokeLinejoin: "round",
440
- "aria-hidden": true
441
- });
442
- var PlayIcon = fromElement(Play, 12);
443
- var PauseIcon = fromElement(Pause, 12);
444
- var StopIcon = fromElement(Stop);
445
- function RecordIcon({ size = 11 }) {
446
- return /* @__PURE__ */ jsx9("svg", { ...base3(size), fill: "currentColor", stroke: "none", children: /* @__PURE__ */ jsx9("rect", { x: "6", y: "6", width: "12", height: "12", rx: "3" }) });
447
- }
448
- function StartIcon({ size = 11 }) {
449
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
450
- /* @__PURE__ */ jsx9("path", { d: "M19 20 9 12l10-8z" }),
451
- /* @__PURE__ */ jsx9("path", { d: "M5 19V5" })
452
- ] });
453
- }
454
- function EndIcon({ size = 11 }) {
455
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
456
- /* @__PURE__ */ jsx9("path", { d: "m5 4 10 8-10 8z" }),
457
- /* @__PURE__ */ jsx9("path", { d: "M19 5v14" })
458
- ] });
459
- }
460
- function StepBackIcon({ size = 11 }) {
461
- return /* @__PURE__ */ jsx9("svg", { ...base3(size), children: /* @__PURE__ */ jsx9("path", { d: "M15 18 9 12l6-6" }) });
462
- }
463
- function StepForwardIcon({ size = 11 }) {
464
- return /* @__PURE__ */ jsx9("svg", { ...base3(size), children: /* @__PURE__ */ jsx9("path", { d: "m9 6 6 6-6 6" }) });
465
- }
466
- function ShuttleLeftIcon({ size = 11 }) {
467
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
468
- /* @__PURE__ */ jsx9("path", { d: "M11 19 2 12l9-7z" }),
469
- /* @__PURE__ */ jsx9("path", { d: "M22 19l-9-7 9-7z" })
470
- ] });
471
- }
472
- function ShuttleRightIcon({ size = 11 }) {
473
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
474
- /* @__PURE__ */ jsx9("path", { d: "m13 19 9-7-9-7z" }),
475
- /* @__PURE__ */ jsx9("path", { d: "m2 19 9-7-9-7z" })
476
- ] });
477
- }
478
- function LoopIcon({ size = 11 }) {
479
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
480
- /* @__PURE__ */ jsx9("path", { d: "m17 2 4 4-4 4" }),
481
- /* @__PURE__ */ jsx9("path", { d: "M3 11v-1a4 4 0 0 1 4-4h14" }),
482
- /* @__PURE__ */ jsx9("path", { d: "m7 22-4-4 4-4" }),
483
- /* @__PURE__ */ jsx9("path", { d: "M21 13v1a4 4 0 0 1-4 4H3" })
484
- ] });
485
- }
486
- function MetronomeIcon({ size = 11 }) {
487
- return /* @__PURE__ */ jsxs7("svg", { ...base3(size), children: [
488
- /* @__PURE__ */ jsx9("path", { d: "M9 3h6l4 18H5z" }),
489
- /* @__PURE__ */ jsx9("path", { d: "m12 18 4-11" })
490
- ] });
491
- }
492
- function PlayPauseIcon({ playing, size }) {
493
- return playing ? /* @__PURE__ */ jsx9(PauseIcon, { size }) : /* @__PURE__ */ jsx9(PlayIcon, { size });
494
- }
495
- var TRANSPORT_ICONS = {
496
- "transport/PlayIcon": PlayIcon,
497
- "transport/PauseIcon": PauseIcon,
498
- "transport/PlayPauseIcon": PlayPauseIcon,
499
- "transport/StopIcon": StopIcon,
500
- "transport/RecordIcon": RecordIcon,
501
- "transport/StartIcon": StartIcon,
502
- "transport/EndIcon": EndIcon,
503
- "transport/StepBackIcon": StepBackIcon,
504
- "transport/StepForwardIcon": StepForwardIcon,
505
- "transport/ShuttleLeftIcon": ShuttleLeftIcon,
506
- "transport/ShuttleRightIcon": ShuttleRightIcon,
507
- "transport/LoopIcon": LoopIcon,
508
- "transport/MetronomeIcon": MetronomeIcon
509
- };
510
- var TRANSPORT_RUNTIME_UNITS = [];
511
-
512
- // src/icons/index.ts
513
- var ICONS = Object.freeze({
514
- // transport
515
- "icons/Play": PlayIcon,
516
- "icons/Pause": PauseIcon,
517
- "icons/PlayPause": PlayPauseIcon,
518
- "icons/Stop": StopIcon,
519
- "icons/Record": RecordIcon,
520
- "icons/Start": StartIcon,
521
- "icons/End": EndIcon,
522
- "icons/StepBack": StepBackIcon,
523
- "icons/StepForward": StepForwardIcon,
524
- "icons/ShuttleLeft": ShuttleLeftIcon,
525
- "icons/ShuttleRight": ShuttleRightIcon,
526
- "icons/Loop": LoopIcon,
527
- "icons/Metronome": MetronomeIcon,
528
- // history
529
- "icons/Undo": UndoIcon,
530
- "icons/Redo": RedoIcon,
531
- "icons/Trash": TrashIcon,
532
- "icons/HistoryEntry": EntryIcon,
533
- // inspector
534
- "icons/Stopwatch": StopwatchIcon,
535
- "icons/Diamond": DiamondIcon,
536
- "icons/Prev": PrevIcon,
537
- "icons/Next": NextIcon,
538
- "icons/Link": LinkIcon,
539
- "icons/Reset": ResetIcon,
540
- // layers
541
- "icons/Kind": KindGlyph,
542
- "icons/Visibility": VisibilityIcon,
543
- "icons/LockState": LockStateIcon,
544
- // color
545
- "icons/Swap": SwapIcon,
546
- "icons/Eyedropper": EyedropperIcon,
547
- // shared (src/icons/glyphs.tsx — the one source; the data/ops/time blocks re-export these)
548
- "icons/Refresh": RefreshGlyph,
549
- "icons/Close": XGlyph,
550
- "icons/Plus": PlusGlyph,
551
- "icons/Chevron": ChevronGlyph,
552
- "icons/Download": DownloadGlyph,
553
- "icons/Plug": PlugGlyph,
554
- "icons/SortAsc": SortAscGlyph,
555
- "icons/SortDesc": SortDescGlyph,
556
- "icons/Expand": ExpandGlyph,
557
- "icons/Collapse": CollapseGlyph,
558
- "icons/Copy": CopyGlyph,
559
- "icons/Clear": ClearGlyph,
560
- "icons/Cancel": CancelGlyph,
561
- "icons/Retry": RetryGlyph,
562
- "icons/Case": CaseGlyph,
563
- "icons/WholeWord": WholeWordGlyph,
564
- "icons/Regex": RegexGlyph,
565
- "icons/TreeKind": TreeIcon,
566
- // arrange (glyphs.tsx) — a section action names one by key: `icon: 'AlignLeft'`
567
- "icons/AlignLeft": AlignLeftGlyph,
568
- "icons/AlignHCenter": AlignHCenterGlyph,
569
- "icons/AlignRight": AlignRightGlyph,
570
- "icons/AlignTop": AlignTopGlyph,
571
- "icons/AlignVCenter": AlignVCenterGlyph,
572
- "icons/AlignBottom": AlignBottomGlyph,
573
- "icons/DistributeH": DistributeHGlyph,
574
- "icons/DistributeV": DistributeVGlyph,
575
- "icons/BringToFront": BringToFrontGlyph,
576
- "icons/SendToBack": SendToBackGlyph,
577
- "icons/Group": GroupGlyph,
578
- "icons/Ungroup": UngroupGlyph,
579
- /** A registry icon by NAME (`name: 'AlignLeft'` -> `icons/AlignLeft`), for data that names an icon. */
580
- "icons/Named": NamedIcon
581
- });
582
- var ICON_UNITS = Object.keys(ICONS);
583
-
584
- export {
585
- Svg,
586
- RefreshGlyph,
587
- XGlyph,
588
- PlusGlyph,
589
- ChevronGlyph,
590
- SortAscGlyph,
591
- SortDescGlyph,
592
- ExpandGlyph,
593
- CollapseGlyph,
594
- NamedIcon,
595
- TreeIcon,
596
- EyedropperIcon,
597
- SwapIcon,
598
- EntryIcon,
599
- XIcon,
600
- TrashIcon,
601
- UndoIcon,
602
- RedoIcon,
603
- StopwatchIcon,
604
- DiamondIcon,
605
- PrevIcon,
606
- NextIcon,
607
- LinkIcon,
608
- CopyIcon,
609
- ResetIcon,
610
- XIcon2,
611
- KindGlyph,
612
- VisibilityIcon,
613
- LockStateIcon,
614
- StopIcon,
615
- RecordIcon,
616
- StartIcon,
617
- EndIcon,
618
- StepBackIcon,
619
- StepForwardIcon,
620
- ShuttleLeftIcon,
621
- ShuttleRightIcon,
622
- LoopIcon,
623
- MetronomeIcon,
624
- PlayPauseIcon,
625
- TRANSPORT_ICONS,
626
- TRANSPORT_RUNTIME_UNITS,
627
- ICONS,
628
- ICON_UNITS
629
- };