@xenosystem/blocks 0.21.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.
@@ -0,0 +1,454 @@
1
+ import {
2
+ AlignBottomGlyph,
3
+ AlignHCenterGlyph,
4
+ AlignLeftGlyph,
5
+ AlignRightGlyph,
6
+ AlignTopGlyph,
7
+ AlignVCenterGlyph,
8
+ BringToFrontGlyph,
9
+ CancelGlyph,
10
+ CaseGlyph,
11
+ ChevronGlyph,
12
+ ClearGlyph,
13
+ CollapseGlyph,
14
+ CopyGlyph,
15
+ DistributeHGlyph,
16
+ DistributeVGlyph,
17
+ DownloadGlyph,
18
+ ExpandGlyph,
19
+ GroupGlyph,
20
+ MinusGlyph,
21
+ PlugGlyph,
22
+ PlusGlyph,
23
+ RefreshGlyph,
24
+ RegexGlyph,
25
+ RetryGlyph,
26
+ SendToBackGlyph,
27
+ SortAscGlyph,
28
+ SortDescGlyph,
29
+ Svg,
30
+ UngroupGlyph,
31
+ WholeWordGlyph,
32
+ XGlyph,
33
+ fromElement
34
+ } from "./chunk-YSMDUREC.js";
35
+
36
+ // src/icons/named.tsx
37
+ import { jsx } from "react/jsx-runtime";
38
+ function NamedIcon({ name, size }) {
39
+ const Icon = name === "Named" ? void 0 : ICONS[`icons/${name}`];
40
+ return Icon ? /* @__PURE__ */ jsx(Icon, { size }) : /* @__PURE__ */ jsx(Svg, { size, children: /* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" }) });
41
+ }
42
+
43
+ // src/edit/tree/react/icons.tsx
44
+ import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
45
+ var PATHS = {
46
+ folder: /* @__PURE__ */ jsx2("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" }),
47
+ file: /* @__PURE__ */ jsxs(Fragment, { children: [
48
+ /* @__PURE__ */ jsx2("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
49
+ /* @__PURE__ */ jsx2("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" })
50
+ ] }),
51
+ "folder-tree": /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ /* @__PURE__ */ jsx2("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" }),
53
+ /* @__PURE__ */ jsx2("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" }),
54
+ /* @__PURE__ */ jsx2("path", { d: "M3 5a2 2 0 0 0 2 2h3" }),
55
+ /* @__PURE__ */ jsx2("path", { d: "M3 3v13a2 2 0 0 0 2 2h3" })
56
+ ] }),
57
+ box: /* @__PURE__ */ jsxs(Fragment, { children: [
58
+ /* @__PURE__ */ jsx2("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" }),
59
+ /* @__PURE__ */ jsx2("path", { d: "m3.3 7 8.7 5 8.7-5" }),
60
+ /* @__PURE__ */ jsx2("path", { d: "M12 22V12" })
61
+ ] }),
62
+ component: /* @__PURE__ */ jsx2("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" }),
63
+ "file-text": /* @__PURE__ */ jsxs(Fragment, { children: [
64
+ /* @__PURE__ */ jsx2("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
65
+ /* @__PURE__ */ jsx2("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
66
+ /* @__PURE__ */ jsx2("path", { d: "M8 13h8M8 17h5" })
67
+ ] }),
68
+ heading: /* @__PURE__ */ jsx2(Fragment, { children: /* @__PURE__ */ jsx2("path", { d: "M6 4v16M18 4v16M6 12h12" }) }),
69
+ bot: /* @__PURE__ */ jsxs(Fragment, { children: [
70
+ /* @__PURE__ */ jsx2("rect", { x: "3", y: "8", width: "18", height: "12", rx: "2" }),
71
+ /* @__PURE__ */ jsx2("path", { d: "M12 4v4M8 14h.01M16 14h.01" })
72
+ ] }),
73
+ link: /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ /* @__PURE__ */ jsx2("path", { d: "M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.8 1.7" }),
75
+ /* @__PURE__ */ jsx2("path", { d: "M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.8-1.7" })
76
+ ] }),
77
+ "link-2-off": /* @__PURE__ */ jsxs(Fragment, { children: [
78
+ /* @__PURE__ */ jsx2("path", { d: "M9 17H7A5 5 0 0 1 7 7" }),
79
+ /* @__PURE__ */ jsx2("path", { d: "M15 7h2a5 5 0 0 1 4 8" }),
80
+ /* @__PURE__ */ jsx2("path", { d: "M8 12h4" }),
81
+ /* @__PURE__ */ jsx2("path", { d: "m2 2 20 20" })
82
+ ] }),
83
+ "circle-dot": /* @__PURE__ */ jsx2("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
84
+ };
85
+ function TreeIcon({ name, size = 11 }) {
86
+ return /* @__PURE__ */ jsx2(Svg, { size, children: PATHS[name] ?? PATHS["circle-dot"] });
87
+ }
88
+
89
+ // src/edit/color/react/icons.tsx
90
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
91
+ 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 });
92
+ function EyedropperIcon({ size = 11 } = {}) {
93
+ return /* @__PURE__ */ jsxs2("svg", { ...svg(size), children: [
94
+ /* @__PURE__ */ jsx3("path", { d: "m2 22 1-1h3l9-9" }),
95
+ /* @__PURE__ */ jsx3("path", { d: "M3 21v-3l9-9" }),
96
+ /* @__PURE__ */ jsx3("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" })
97
+ ] });
98
+ }
99
+ function SwapIcon({ size = 11 } = {}) {
100
+ return /* @__PURE__ */ jsxs2("svg", { ...svg(size), children: [
101
+ /* @__PURE__ */ jsx3("path", { d: "m16 3 4 4-4 4" }),
102
+ /* @__PURE__ */ jsx3("path", { d: "M20 7H4" }),
103
+ /* @__PURE__ */ jsx3("path", { d: "m8 21-4-4 4-4" }),
104
+ /* @__PURE__ */ jsx3("path", { d: "M4 17h16" })
105
+ ] });
106
+ }
107
+
108
+ // src/edit/history/react/icons.tsx
109
+ import Trash from "@xenosystem/elements/elements/trash";
110
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
111
+ var svgBase = (size) => ({
112
+ width: size,
113
+ height: size,
114
+ viewBox: "0 0 24 24",
115
+ fill: "none",
116
+ stroke: "currentColor",
117
+ strokeWidth: 1.5,
118
+ strokeLinecap: "round",
119
+ strokeLinejoin: "round",
120
+ "aria-hidden": true
121
+ });
122
+ var ENTRY_PATHS = {
123
+ // painting
124
+ 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"],
125
+ 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"],
126
+ 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"],
127
+ // adjustment / effects
128
+ filter: ["M4 6h16", "M7 12h10", "M10 18h4"],
129
+ // geometry
130
+ 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"],
131
+ crop: ["M6 2v14a2 2 0 0 0 2 2h14", "M18 22V8a2 2 0 0 0-2-2H2"],
132
+ // layers
133
+ addLayer: ["M3 3h18v18H3z", "M12 8v8", "M8 12h8"],
134
+ 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"],
135
+ merge: ["m12 2 4 4-4 4", "M4 6h12", "m12 14 4 4-4 4", "M4 18h12"],
136
+ // clipboard / text / selection
137
+ 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"],
138
+ text: ["M4 7V4h16v3", "M9 20h6", "M12 4v16"],
139
+ 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"],
140
+ // ai + snapshots
141
+ ai: ["m12 3 1.9 5.8L20 10l-5.2 2.9L13 19l-2.9-5.2L4 12l6.1-1.9z"],
142
+ 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"],
143
+ // timeline / audio
144
+ keyframe: ["m12 3 6 9-6 9-6-9z"],
145
+ clip: ["M3 5h18v14H3z", "M8 5v14", "M16 5v14"],
146
+ volume: ["M11 5 6 9H2v6h4l5 4V5Z", "M16 9a4 4 0 0 1 0 6"],
147
+ document: ["M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", "M14 2v5h6"],
148
+ // fallbacks / chrome
149
+ generic: ["M5 5h14v14H5z"],
150
+ original: ["M3 12a9 9 0 1 0 9-9", "M3 4v5h5"],
151
+ rotateCcw: ["M3 12a9 9 0 1 0 3-6.7L3 8", "M3 3v5h5"]
152
+ };
153
+ function EntryIcon({ name, size = 11 }) {
154
+ const paths = ENTRY_PATHS[name] ?? ENTRY_PATHS.generic;
155
+ return /* @__PURE__ */ jsx4("svg", { ...svgBase(size), children: paths.map((d, i) => /* @__PURE__ */ jsx4("path", { d }, i)) });
156
+ }
157
+ function XIcon({ size = 10 }) {
158
+ return /* @__PURE__ */ jsx4(XGlyph, { size });
159
+ }
160
+ var TrashIcon = fromElement(Trash);
161
+ function UndoIcon({ size = 11 }) {
162
+ return /* @__PURE__ */ jsxs3("svg", { ...svgBase(size), children: [
163
+ /* @__PURE__ */ jsx4("path", { d: "M9 14 4 9l5-5" }),
164
+ /* @__PURE__ */ jsx4("path", { d: "M4 9h10.5a5.5 5.5 0 0 1 0 11H11" })
165
+ ] });
166
+ }
167
+ function RedoIcon({ size = 11 }) {
168
+ return /* @__PURE__ */ jsxs3("svg", { ...svgBase(size), children: [
169
+ /* @__PURE__ */ jsx4("path", { d: "m15 14 5-5-5-5" }),
170
+ /* @__PURE__ */ jsx4("path", { d: "M20 9H9.5a5.5 5.5 0 0 0 0 11H13" })
171
+ ] });
172
+ }
173
+
174
+ // src/edit/inspector/react/icons.tsx
175
+ import Link from "@xenosystem/elements/elements/link";
176
+ import Copy from "@xenosystem/elements/elements/copy";
177
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
178
+ var base = (size) => ({
179
+ width: size,
180
+ height: size,
181
+ viewBox: "0 0 24 24",
182
+ fill: "none",
183
+ stroke: "currentColor",
184
+ strokeWidth: 1.5,
185
+ strokeLinecap: "round",
186
+ strokeLinejoin: "round",
187
+ "aria-hidden": true
188
+ });
189
+ function StopwatchIcon({ size = 11 }) {
190
+ return /* @__PURE__ */ jsxs4("svg", { ...base(size), children: [
191
+ /* @__PURE__ */ jsx5("path", { d: "M10 2h4" }),
192
+ /* @__PURE__ */ jsx5("path", { d: "M12 14v-4" }),
193
+ /* @__PURE__ */ jsx5("path", { d: "M20 14a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z" })
194
+ ] });
195
+ }
196
+ function DiamondIcon({ size = 9, filled = false }) {
197
+ return /* @__PURE__ */ jsx5("svg", { ...base(size), fill: filled ? "currentColor" : "none", children: /* @__PURE__ */ jsx5("path", { d: "m12 3 7 9-7 9-7-9z" }) });
198
+ }
199
+ function PrevIcon({ size = 9 }) {
200
+ return /* @__PURE__ */ jsx5("svg", { ...base(size), children: /* @__PURE__ */ jsx5("path", { d: "m15 18-6-6 6-6" }) });
201
+ }
202
+ function NextIcon({ size = 9 }) {
203
+ return /* @__PURE__ */ jsx5("svg", { ...base(size), children: /* @__PURE__ */ jsx5("path", { d: "m9 18 6-6-6-6" }) });
204
+ }
205
+ var LinkIcon = fromElement(Link, 10);
206
+ var CopyIcon = fromElement(Copy, 10);
207
+ function ResetIcon({ size = 10 }) {
208
+ return /* @__PURE__ */ jsxs4("svg", { ...base(size), children: [
209
+ /* @__PURE__ */ jsx5("path", { d: "M3 12a9 9 0 1 0 3-6.7L3 8" }),
210
+ /* @__PURE__ */ jsx5("path", { d: "M3 3v5h5" })
211
+ ] });
212
+ }
213
+ function XIcon2({ size = 10 }) {
214
+ return /* @__PURE__ */ jsxs4("svg", { ...base(size), children: [
215
+ /* @__PURE__ */ jsx5("path", { d: "M18 6 6 18" }),
216
+ /* @__PURE__ */ jsx5("path", { d: "m6 6 12 12" })
217
+ ] });
218
+ }
219
+
220
+ // src/edit/layers/react/icons.tsx
221
+ import Eye from "@xenosystem/elements/elements/eye";
222
+ import EyeOff from "@xenosystem/elements/elements/eye-off";
223
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
224
+ var base2 = (size) => ({
225
+ width: size,
226
+ height: size,
227
+ viewBox: "0 0 24 24",
228
+ fill: "none",
229
+ stroke: "currentColor",
230
+ strokeWidth: 1.5,
231
+ strokeLinecap: "round",
232
+ strokeLinejoin: "round",
233
+ "aria-hidden": true
234
+ });
235
+ var EyeIcon = fromElement(Eye, 12);
236
+ var EyeOffIcon = fromElement(EyeOff, 12);
237
+ function LockIcon({ size = 12, className }) {
238
+ return /* @__PURE__ */ jsxs5("svg", { ...base2(size), className, children: [
239
+ /* @__PURE__ */ jsx6("rect", { width: "14", height: "10", x: "5", y: "11", rx: "2" }),
240
+ /* @__PURE__ */ jsx6("path", { d: "M8 11V7a4 4 0 0 1 8 0v4" })
241
+ ] });
242
+ }
243
+ function UnlockIcon({ size = 12, className }) {
244
+ return /* @__PURE__ */ jsxs5("svg", { ...base2(size), className, children: [
245
+ /* @__PURE__ */ jsx6("rect", { width: "14", height: "10", x: "5", y: "11", rx: "2" }),
246
+ /* @__PURE__ */ jsx6("path", { d: "M8 11V7a4 4 0 0 1 7.5-2" })
247
+ ] });
248
+ }
249
+ function KindGlyph({ size = 10 }) {
250
+ return /* @__PURE__ */ jsx6("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__ */ jsx6("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }) });
251
+ }
252
+ function VisibilityIcon({ open, size }) {
253
+ return open ? /* @__PURE__ */ jsx6(EyeIcon, { size }) : /* @__PURE__ */ jsx6(EyeOffIcon, { size });
254
+ }
255
+ function LockStateIcon({ locked, size }) {
256
+ return locked ? /* @__PURE__ */ jsx6(LockIcon, { size }) : /* @__PURE__ */ jsx6(UnlockIcon, { size });
257
+ }
258
+
259
+ // src/time/transport/react/icons.tsx
260
+ import Pause from "@xenosystem/elements/elements/pause";
261
+ import Play from "@xenosystem/elements/elements/play";
262
+ import Stop from "@xenosystem/elements/elements/stop";
263
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
264
+ var base3 = (size) => ({
265
+ width: size,
266
+ height: size,
267
+ viewBox: "0 0 24 24",
268
+ fill: "none",
269
+ stroke: "currentColor",
270
+ strokeWidth: 1.5,
271
+ strokeLinecap: "round",
272
+ strokeLinejoin: "round",
273
+ "aria-hidden": true
274
+ });
275
+ var PlayIcon = fromElement(Play, 12);
276
+ var PauseIcon = fromElement(Pause, 12);
277
+ var StopIcon = fromElement(Stop);
278
+ function RecordIcon({ size = 11 }) {
279
+ return /* @__PURE__ */ jsx7("svg", { ...base3(size), fill: "currentColor", stroke: "none", children: /* @__PURE__ */ jsx7("rect", { x: "6", y: "6", width: "12", height: "12", rx: "3" }) });
280
+ }
281
+ function StartIcon({ size = 11 }) {
282
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
283
+ /* @__PURE__ */ jsx7("path", { d: "M19 20 9 12l10-8z" }),
284
+ /* @__PURE__ */ jsx7("path", { d: "M5 19V5" })
285
+ ] });
286
+ }
287
+ function EndIcon({ size = 11 }) {
288
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
289
+ /* @__PURE__ */ jsx7("path", { d: "m5 4 10 8-10 8z" }),
290
+ /* @__PURE__ */ jsx7("path", { d: "M19 5v14" })
291
+ ] });
292
+ }
293
+ function StepBackIcon({ size = 11 }) {
294
+ return /* @__PURE__ */ jsx7("svg", { ...base3(size), children: /* @__PURE__ */ jsx7("path", { d: "M15 18 9 12l6-6" }) });
295
+ }
296
+ function StepForwardIcon({ size = 11 }) {
297
+ return /* @__PURE__ */ jsx7("svg", { ...base3(size), children: /* @__PURE__ */ jsx7("path", { d: "m9 6 6 6-6 6" }) });
298
+ }
299
+ function ShuttleLeftIcon({ size = 11 }) {
300
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
301
+ /* @__PURE__ */ jsx7("path", { d: "M11 19 2 12l9-7z" }),
302
+ /* @__PURE__ */ jsx7("path", { d: "M22 19l-9-7 9-7z" })
303
+ ] });
304
+ }
305
+ function ShuttleRightIcon({ size = 11 }) {
306
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
307
+ /* @__PURE__ */ jsx7("path", { d: "m13 19 9-7-9-7z" }),
308
+ /* @__PURE__ */ jsx7("path", { d: "m2 19 9-7-9-7z" })
309
+ ] });
310
+ }
311
+ function LoopIcon({ size = 11 }) {
312
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
313
+ /* @__PURE__ */ jsx7("path", { d: "m17 2 4 4-4 4" }),
314
+ /* @__PURE__ */ jsx7("path", { d: "M3 11v-1a4 4 0 0 1 4-4h14" }),
315
+ /* @__PURE__ */ jsx7("path", { d: "m7 22-4-4 4-4" }),
316
+ /* @__PURE__ */ jsx7("path", { d: "M21 13v1a4 4 0 0 1-4 4H3" })
317
+ ] });
318
+ }
319
+ function MetronomeIcon({ size = 11 }) {
320
+ return /* @__PURE__ */ jsxs6("svg", { ...base3(size), children: [
321
+ /* @__PURE__ */ jsx7("path", { d: "M9 3h6l4 18H5z" }),
322
+ /* @__PURE__ */ jsx7("path", { d: "m12 18 4-11" })
323
+ ] });
324
+ }
325
+ function PlayPauseIcon({ playing, size }) {
326
+ return playing ? /* @__PURE__ */ jsx7(PauseIcon, { size }) : /* @__PURE__ */ jsx7(PlayIcon, { size });
327
+ }
328
+ var TRANSPORT_ICONS = {
329
+ "transport/PlayIcon": PlayIcon,
330
+ "transport/PauseIcon": PauseIcon,
331
+ "transport/PlayPauseIcon": PlayPauseIcon,
332
+ "transport/StopIcon": StopIcon,
333
+ "transport/RecordIcon": RecordIcon,
334
+ "transport/StartIcon": StartIcon,
335
+ "transport/EndIcon": EndIcon,
336
+ "transport/StepBackIcon": StepBackIcon,
337
+ "transport/StepForwardIcon": StepForwardIcon,
338
+ "transport/ShuttleLeftIcon": ShuttleLeftIcon,
339
+ "transport/ShuttleRightIcon": ShuttleRightIcon,
340
+ "transport/LoopIcon": LoopIcon,
341
+ "transport/MetronomeIcon": MetronomeIcon
342
+ };
343
+ var TRANSPORT_RUNTIME_UNITS = [];
344
+
345
+ // src/icons/index.ts
346
+ var ICONS = Object.freeze({
347
+ // transport
348
+ "icons/Play": PlayIcon,
349
+ "icons/Pause": PauseIcon,
350
+ "icons/PlayPause": PlayPauseIcon,
351
+ "icons/Stop": StopIcon,
352
+ "icons/Record": RecordIcon,
353
+ "icons/Start": StartIcon,
354
+ "icons/End": EndIcon,
355
+ "icons/StepBack": StepBackIcon,
356
+ "icons/StepForward": StepForwardIcon,
357
+ "icons/ShuttleLeft": ShuttleLeftIcon,
358
+ "icons/ShuttleRight": ShuttleRightIcon,
359
+ "icons/Loop": LoopIcon,
360
+ "icons/Metronome": MetronomeIcon,
361
+ // history
362
+ "icons/Undo": UndoIcon,
363
+ "icons/Redo": RedoIcon,
364
+ "icons/Trash": TrashIcon,
365
+ "icons/HistoryEntry": EntryIcon,
366
+ // inspector
367
+ "icons/Stopwatch": StopwatchIcon,
368
+ "icons/Diamond": DiamondIcon,
369
+ "icons/Prev": PrevIcon,
370
+ "icons/Next": NextIcon,
371
+ "icons/Link": LinkIcon,
372
+ "icons/Reset": ResetIcon,
373
+ // layers
374
+ "icons/Kind": KindGlyph,
375
+ "icons/Visibility": VisibilityIcon,
376
+ "icons/LockState": LockStateIcon,
377
+ // color
378
+ "icons/Swap": SwapIcon,
379
+ "icons/Eyedropper": EyedropperIcon,
380
+ // shared (src/icons/glyphs.tsx — the one source; the data/ops/time blocks re-export these)
381
+ "icons/Refresh": RefreshGlyph,
382
+ "icons/Close": XGlyph,
383
+ "icons/Plus": PlusGlyph,
384
+ "icons/Minus": MinusGlyph,
385
+ "icons/Chevron": ChevronGlyph,
386
+ "icons/Download": DownloadGlyph,
387
+ "icons/Plug": PlugGlyph,
388
+ "icons/SortAsc": SortAscGlyph,
389
+ "icons/SortDesc": SortDescGlyph,
390
+ "icons/Expand": ExpandGlyph,
391
+ "icons/Collapse": CollapseGlyph,
392
+ "icons/Copy": CopyGlyph,
393
+ "icons/Clear": ClearGlyph,
394
+ "icons/Cancel": CancelGlyph,
395
+ "icons/Retry": RetryGlyph,
396
+ "icons/Case": CaseGlyph,
397
+ "icons/WholeWord": WholeWordGlyph,
398
+ "icons/Regex": RegexGlyph,
399
+ "icons/TreeKind": TreeIcon,
400
+ // arrange (glyphs.tsx) — a section action names one by key: `icon: 'AlignLeft'`
401
+ "icons/AlignLeft": AlignLeftGlyph,
402
+ "icons/AlignHCenter": AlignHCenterGlyph,
403
+ "icons/AlignRight": AlignRightGlyph,
404
+ "icons/AlignTop": AlignTopGlyph,
405
+ "icons/AlignVCenter": AlignVCenterGlyph,
406
+ "icons/AlignBottom": AlignBottomGlyph,
407
+ "icons/DistributeH": DistributeHGlyph,
408
+ "icons/DistributeV": DistributeVGlyph,
409
+ "icons/BringToFront": BringToFrontGlyph,
410
+ "icons/SendToBack": SendToBackGlyph,
411
+ "icons/Group": GroupGlyph,
412
+ "icons/Ungroup": UngroupGlyph,
413
+ /** A registry icon by NAME (`name: 'AlignLeft'` -> `icons/AlignLeft`), for data that names an icon. */
414
+ "icons/Named": NamedIcon
415
+ });
416
+ var ICON_UNITS = Object.keys(ICONS);
417
+
418
+ export {
419
+ NamedIcon,
420
+ TreeIcon,
421
+ EyedropperIcon,
422
+ SwapIcon,
423
+ EntryIcon,
424
+ XIcon,
425
+ TrashIcon,
426
+ UndoIcon,
427
+ RedoIcon,
428
+ StopwatchIcon,
429
+ DiamondIcon,
430
+ PrevIcon,
431
+ NextIcon,
432
+ LinkIcon,
433
+ CopyIcon,
434
+ ResetIcon,
435
+ XIcon2,
436
+ KindGlyph,
437
+ VisibilityIcon,
438
+ LockStateIcon,
439
+ StopIcon,
440
+ RecordIcon,
441
+ StartIcon,
442
+ EndIcon,
443
+ StepBackIcon,
444
+ StepForwardIcon,
445
+ ShuttleLeftIcon,
446
+ ShuttleRightIcon,
447
+ LoopIcon,
448
+ MetronomeIcon,
449
+ PlayPauseIcon,
450
+ TRANSPORT_ICONS,
451
+ TRANSPORT_RUNTIME_UNITS,
452
+ ICONS,
453
+ ICON_UNITS
454
+ };